remove whitespace at eol
[goodguy/history.git] / cinelerra-5.1 / cinelerra / ffmpeg.h
index d9ca7836bbe0a2eb1776a3fbc4dda042805b2c3b..c4b9c3c2fb0f595f1ccced42462c020a595b6427 100644 (file)
@@ -40,12 +40,14 @@ extern "C" {
 class FFPacket  {
        AVPacket pkt;
 public:
-       FFPacket();
-       ~FFPacket();
-       void init();
        operator AVPacket*() { return &pkt; }
        operator AVPacket&() { return pkt; }
        AVPacket *operator ->() { return &pkt; }
+
+       void init();
+       void finit();
+       FFPacket() { init(); }
+       ~FFPacket() { finit(); }
 };
 
 class FFrame : public ListItem<FFrame> {
@@ -93,6 +95,7 @@ public:
        virtual int create_filter(const char *filter_spec,
                AVCodecContext *src_ctx, AVCodecContext *sink_ctx) = 0;
        virtual void load_markers() = 0;
+       virtual IndexMarks *get_markers() = 0;
        int create_filter(const char *filter_spec);
        int load_filter(AVFrame *frame);
        int read_filter(AVFrame *frame);
@@ -130,7 +133,6 @@ public:
        int frm_count;
        List<FFrame> frms;
        Mutex *frm_lock;
-       IndexMarks *index_markers;
 
        int64_t nudge;
        int64_t seek_pos, curr_pos;
@@ -171,6 +173,7 @@ public:
        int create_filter(const char *filter_spec,
                AVCodecContext *src_ctx, AVCodecContext *sink_ctx);
        void load_markers();
+       IndexMarks *get_markers();
 
        int encode_activate();
        int nb_samples();
@@ -231,6 +234,7 @@ public:
        int create_filter(const char *filter_spec,
                AVCodecContext *src_ctx, AVCodecContext *sink_ctx);
        void load_markers();
+       IndexMarks *get_markers();
 
        int init_frame(AVFrame *picture);
        int load(VFrame *vframe, int64_t pos);
@@ -261,8 +265,12 @@ public:
 
        static void set_option_path(char *path, const char *fmt, ...);
        static void get_option_path(char *path, const char *type, const char *spec);
-       static int get_format(char *format, const char *path, char *spec);
+       static int get_format(char *format, const char *path, const char *spec);
+       static int get_codec(char *codec, const char *path, const char *spec);
        static int scan_option_line(char *cp,char *tag,char *val);
+       static int load_defaults(const char *path, const char *type,
+                char *codec, char *codec_options, int len);
+       static void set_asset_format(Asset *asset, const char *text);
        int get_file_format();
        int get_encoder(const char *options,
                char *format, char *codec, char *bsfilter, char *bsargs);
@@ -321,7 +329,7 @@ public:
        Condition *mux_lock;
        Condition *flow_lock;
        int done, flow;
-       
+
        void start_muxer();
        void stop_muxer();
        void flow_off();