LiVES  3.0.2
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 #if HAVE_SYSTEM_WEED
14 #include <weed/weed.h>
15 #else
16 #include "../libweed/weed.h"
17 #endif
18 
19 
20 #define RESIZE_ALL_NEEDS_CONVERT 1
21 #define LETTERBOX_NEEDS_COMPOSITE 1
22 #define LETTERBOX_NEEDS_CONVERT 1
23 
25 typedef struct __resaudw {
26  LiVESWidget *dialog;
27  LiVESWidget *entry_arate;
28  LiVESWidget *entry_achans;
29  LiVESWidget *entry_asamps;
30  LiVESWidget *rb_signed;
31  LiVESWidget *rb_unsigned;
32  LiVESWidget *rb_bigend;
33  LiVESWidget *rb_littleend;
34  LiVESWidget *unlim_radiobutton;
35  LiVESWidget *hour_spinbutton;
36  LiVESWidget *minute_spinbutton;
37  LiVESWidget *second_spinbutton;
38  LiVESWidget *fps_spinbutton;
39  LiVESWidget *aud_checkbutton;
40  LiVESWidget *aud_hbox;
41 } _resaudw;
42 
43 
45 
46 weed_timecode_t q_gint64(weed_timecode_t in, double fps);
47 weed_timecode_t q_gint64_floor(weed_timecode_t in, double fps);
48 weed_timecode_t q_dbl(double in, double fps);
49 
50 
51 weed_plant_t *quantise_events(weed_plant_t *in_list, double new_fps,
52  boolean allow_gap) WARN_UNUSED;
53 
55 int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps);
56 
58 
59 // GUI functions
61 void create_new_pb_speed(short type);
62 
67 _resaudw *create_resaudw(short type, render_details *, LiVESWidget *top_vbox);
68 
69 void on_change_speed_activate(LiVESMenuItem *, livespointer);
70 void on_change_speed_ok_clicked(LiVESButton *, livespointer);
71 
72 boolean auto_resample_resize(int width, int height, double fps, int fps_num,
73  int fps_denom, int arate, int asigned, boolean swap_endian);
74 int reorder_frames(int rwidth, int rheight);
75 int deorder_frames(int old_framecount, boolean leave_bak);
76 
77 boolean resample_clipboard(double new_fps);
78 
79 #endif
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:67
Definition: events.h:164
LiVESWidget * minute_spinbutton
Definition: resample.h:36
int reorder_frames(int rwidth, int rheight)
Definition: resample.c:1907
int count_resampled_frames(int in_frames, double orig_fps, double resampled_fps)
Definition: resample.c:59
LiVESWidget * fps_spinbutton
Definition: resample.h:38
boolean resample_clipboard(double new_fps)
call this to resample clipboard video
Definition: resample.c:2053
void create_new_pb_speed(short type)
window change speed from Tools menu
Definition: resample.c:1595
LiVESWidget * entry_arate
Definition: resample.h:27
LiVESWidget * rb_signed
Definition: resample.h:30
LiVESWidget * entry_asamps
Definition: resample.h:29
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:453
LiVESWidget * dialog
Definition: resample.h:26
LiVESWidget * rb_unsigned
Definition: resample.h:31
weed_timecode_t q_dbl(double in, double fps)
Definition: resample.c:49
LiVESWidget * aud_hbox
Definition: resample.h:40
LiVESWidget * unlim_radiobutton
Definition: resample.h:34
_resaudw * resaudw
Definition: resample.h:44
int deorder_frames(int old_framecount, boolean leave_bak)
leave_bak is a special mode for the clipboard
Definition: resample.c:2010
void on_change_speed_activate(LiVESMenuItem *, livespointer)
Definition: resample.c:1754
resample audio window
Definition: resample.h:25
LiVESWidget * entry_achans
Definition: resample.h:28
weed_timecode_t q_gint64_floor(weed_timecode_t in, double fps)
Definition: resample.c:42
LiVESWidget * aud_checkbutton
Definition: resample.h:39
LiVESWidget * second_spinbutton
Definition: resample.h:37
_resaudw * create_resaudw(short type, render_details *, LiVESWidget *top_vbox)
Definition: resample.c:1094
LiVESWidget * rb_bigend
Definition: resample.h:32
void on_change_speed_ok_clicked(LiVESButton *, livespointer)
Definition: resample.c:1762
LiVESWidget * rb_littleend
Definition: resample.h:33
weed_timecode_t q_gint64(weed_timecode_t in, double fps)
Definition: resample.c:31
#define WARN_UNUSED
Definition: main.h:262
LiVESWidget * hour_spinbutton
Definition: resample.h:35