LiVES 3.2.0
resample.h
Go to the documentation of this file.
1// resample.h
2// LiVES
3// (c) G. Finch 2004 - 2016 <salsaman@gmail.com>
4// released under the GNU GPL 3 or later
5// see file ../COPYING or www.gnu.org for licensing details
6
7
8// functions/structs for reordering, resampling video and audio
9
10#ifndef HAS_LIVES_RESAMPLE_H
11#define HAS_LIVES_RESAMPLE_H
12
13#define RESIZE_ALL_NEEDS_CONVERT 0
14#define LETTERBOX_NEEDS_COMPOSITE 1
15#define LETTERBOX_NEEDS_CONVERT 1
16
18typedef struct __resaudw {
19 LiVESWidget *dialog;
20 LiVESWidget *entry_arate;
21 LiVESWidget *entry_achans;
22 LiVESWidget *entry_asamps;
23 LiVESWidget *rb_signed;
24 LiVESWidget *rb_unsigned;
25 LiVESWidget *rb_bigend;
26 LiVESWidget *rb_littleend;
27 LiVESWidget *unlim_radiobutton;
28 LiVESWidget *hour_spinbutton;
29 LiVESWidget *minute_spinbutton;
30 LiVESWidget *second_spinbutton;
31 LiVESWidget *fps_spinbutton;
32 LiVESWidget *aud_checkbutton;
33 LiVESWidget *aud_hbox;
34 LiVESWidget *vbox;
35} _resaudw;
36
37
39
40ticks_t q_gint64(ticks_t in, double fps);
41ticks_t q_gint64_floor(ticks_t in, double fps);
42ticks_t q_dbl(double in, double fps);
43
44void reorder_leave_back_set(boolean val);
45
46size_t quant_asamps(double seek, int arate);
47double quant_aseek(double seek, int arate);
48off_t quant_abytes(double seek, int arate, int achans, int asampsize);
49
50#define SKJUMP_THRESH_RATIO 1.025
51#define SKJUMP_THRESH_SECS 0.25
52
53weed_plant_t *quantise_events(weed_plant_t *in_list, double new_fps,
54 boolean allow_gap) WARN_UNUSED;
55
57int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
58
60
61// GUI functions
62
67_resaudw *create_resaudw(short type, render_details *, LiVESWidget *top_vbox);
68
69void on_change_speed_activate(LiVESMenuItem *, livespointer);
70void on_change_speed_ok_clicked(LiVESButton *, livespointer);
71
72boolean auto_resample_resize(int width, int height, double fps, int fps_num,
73 int fps_denom, int arate, int asigned, boolean swap_endian);
74int reorder_frames(int rwidth, int rheight);
75int deorder_frames(int old_framecount, boolean leave_bak);
76
77boolean resample_clipboard(double new_fps);
78
79#endif
#define WARN_UNUSED
Definition: main.h:77
int64_t ticks_t
Definition: main.h:97
_resaudw * create_resaudw(short type, render_details *, LiVESWidget *top_vbox)
resample audio window
Definition: resample.c:1521
void on_change_speed_activate(LiVESMenuItem *, livespointer)
Definition: resample.c:2017
int reorder_frames(int rwidth, int rheight)
Definition: resample.c:2106
void on_change_speed_ok_clicked(LiVESButton *, livespointer)
Definition: resample.c:2025
ticks_t q_dbl(double in, double fps)
Definition: resample.c:41
double quant_aseek(double seek, int arate)
convert seek time (secs) to an (almost) integer number of samples
Definition: resample.c:58
_resaudw * resaudw
Definition: resample.h:38
int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps)
Definition: resample.c:72
weed_plant_t * quantise_events(weed_plant_t *in_list, double new_fps, boolean allow_gap) WARN_UNUSED
quantise frame events for a single clip
Definition: resample.c:456
size_t quant_asamps(double seek, int arate)
convert seek time to an integer number of samples
Definition: resample.c:52
off_t quant_abytes(double seek, int arate, int achans, int asampsize)
Definition: resample.c:66
boolean auto_resample_resize(int width, int height, double fps, int fps_num, int fps_denom, int arate, int asigned, boolean swap_endian)
Definition: resample.c:80
ticks_t q_gint64_floor(ticks_t in, double fps)
Definition: resample.c:35
int deorder_frames(int old_framecount, boolean leave_bak)
leave_bak is a special mode for the clipboard
Definition: resample.c:2208
boolean resample_clipboard(double new_fps)
call this to resample clipboard video
Definition: resample.c:2250
void reorder_leave_back_set(boolean val)
Definition: resample.c:21
ticks_t q_gint64(ticks_t in, double fps)
Definition: resample.c:25
resample audio window
Definition: resample.h:18
LiVESWidget * aud_checkbutton
Definition: resample.h:32
LiVESWidget * minute_spinbutton
Definition: resample.h:29
LiVESWidget * hour_spinbutton
Definition: resample.h:28
LiVESWidget * rb_signed
Definition: resample.h:23
LiVESWidget * vbox
Definition: resample.h:34
LiVESWidget * entry_asamps
Definition: resample.h:22
LiVESWidget * second_spinbutton
Definition: resample.h:30
LiVESWidget * rb_littleend
Definition: resample.h:26
LiVESWidget * fps_spinbutton
Definition: resample.h:31
LiVESWidget * rb_unsigned
Definition: resample.h:24
LiVESWidget * unlim_radiobutton
Definition: resample.h:27
LiVESWidget * rb_bigend
Definition: resample.h:25
LiVESWidget * aud_hbox
Definition: resample.h:33
LiVESWidget * entry_arate
Definition: resample.h:20
LiVESWidget * entry_achans
Definition: resample.h:21
LiVESWidget * dialog
Definition: resample.h:19