smooth lines, motion51, opengl pbuffer bit typo, misc fixes
[goodguy/history.git] / cinelerra-5.1 / cinelerra / fileffmpeg.h
index a9ce7d9cf458bd3d90efeb85a4611aeafa9ea3b0..63de93c7a3b2867770fa3070a72f69eac84b4136 100644 (file)
@@ -1,10 +1,10 @@
 #ifndef __FILEFFMPEG_H__
 #define __FILEFFMPEG_H__
 
-#include "asset.inc" 
+#include "asset.inc"
 #include "bcdialog.h"
 #include "bcwindowbase.inc"
-#include "bitspopup.inc" 
+#include "bitspopup.inc"
 #include "ffmpeg.h"
 #include "filebase.h"
 #include "fileffmpeg.inc"
@@ -31,6 +31,7 @@ public:
        static void ff_lock(const char *cp=0);
        static void ff_unlock();
 
+       static void set_parameters(char *cp, int len, const char *bp);
        static void get_parameters(BC_WindowBase *parent_window,Asset *asset,
           BC_WindowBase *&format_window,int audio_options,int video_options);
        static int check_sig(Asset *asset);
@@ -38,6 +39,7 @@ public:
                int &width, int &height, char *title=0);
        int get_audio_for_video(int vstream, int astream, int64_t &channel_mask);
        static void get_info(char *path,char *text,int len);
+       static int get_ff_option(const char *nm, const char *options, char *value);
        int open_file(int rd,int wr);
        int get_index(IndexFile *index_file, MainProgressBar *progress_bar);
        int close_file(void);
@@ -60,6 +62,7 @@ public:
         ~FFMpegConfigNum();
 
         void create_objects();
+        int update_text(const char *text);
         int handle_event();
         int *output;
         BC_Window *window;
@@ -117,7 +120,6 @@ public:
        ~FFMPEGConfigAudio();
 
        void create_objects();
-       void update_options();
        int close_event();
 
        ArrayList<BC_ListBoxItem*> presets;
@@ -134,7 +136,6 @@ class FFAudioOptions : public BC_ScrollTextBox
 public:
        FFAudioOptions(FFMPEGConfigAudio *audio_popup,
                int x, int y, int w, int rows, int size, char *text);
-       int handle_event();
 
        FFMPEGConfigAudio *audio_popup;
 };
@@ -166,7 +167,6 @@ public:
        ~FFMPEGConfigVideo();
 
        void create_objects();
-       void update_options();
        int close_event();
 
        ArrayList<BC_ListBoxItem*> presets;
@@ -184,7 +184,6 @@ class FFVideoOptions : public BC_ScrollTextBox
 public:
        FFVideoOptions(FFMPEGConfigVideo *video_popup,
                int x, int y, int w, int rows, int size, char *text);
-       int handle_event();
 
        FFMPEGConfigVideo *video_popup;
 };
@@ -288,9 +287,11 @@ public:
        ArrayList<BC_ListBoxItem*> items[2];
        ArrayList<BC_ListBoxItem*> &opts;
        ArrayList<BC_ListBoxItem*> &vals;
+       char tip_text[BCTEXTLEN];
 
        int selection_changed();
        int update();
+       void show_tip(const char *tip);
 };
 
 class FFOptionsKindItem : public BC_MenuItem
@@ -377,27 +378,27 @@ class FFOptionsDialog : public BC_DialogThread
 public:
        FFOptionsDialog();
        ~FFOptionsDialog();
-       virtual void update_options() = 0;
+       virtual void update_options(const char *options) = 0;
 
-       void load_options();
-       void store_options();
-       void start(const char *codec_name, AVCodec *codec, char *ff_options, int ff_len);
+       void load_options(const char *bp, int len);
+       void store_options(char *cp, int len);
+       void start(const char *format_name, const char *codec_name,
+               AVCodec *codec, const char *options, int len);
        BC_Window* new_gui();
        void handle_done_event(int result);
 
        FFOptionsWindow *options_window;
-       const char *codec_name;
+       const char *format_name, *codec_name;
        AVCodec *codec;
-       char *ff_options;
-       int ff_len;
        AVDictionary *ff_opts;
+       int ff_len;
 };
 
 class FFOptionsAudioDialog : public FFOptionsDialog
 {
 public:
        FFMPEGConfigAudio *aud_config;
-       void update_options();
+       void update_options(const char *options);
 
        FFOptionsAudioDialog(FFMPEGConfigAudio *aud_config);
        ~FFOptionsAudioDialog();
@@ -407,7 +408,7 @@ class FFOptionsVideoDialog : public FFOptionsDialog
 {
 public:
        FFMPEGConfigVideo *vid_config;
-       void update_options();
+       void update_options(const char *options);
 
        FFOptionsVideoDialog(FFMPEGConfigVideo *vid_config);
        ~FFOptionsVideoDialog();