static AVPixelFormat color_model_to_pix_fmt(int color_model);
static int pix_fmt_to_color_model(AVPixelFormat pix_fmt);
- int convert_picture_vframe(VFrame *frame,
- AVFrame *ip, AVPixelFormat ifmt, int iw, int ih);
- int convert_cmodel(VFrame *frame_out,
- AVFrame *ip, AVPixelFormat ifmt, int iw, int ih);
- int transfer_cmodel(VFrame *frame_in, //defaults->metadata
- AVFrame *ifp, AVPixelFormat ifmt, int iw, int ih);
- int convert_vframe_picture(VFrame *frame,
- AVFrame *op, AVPixelFormat ofmt, int ow, int oh);
- int convert_pixfmt(VFrame *frame_in,
- AVFrame *op, AVPixelFormat ofmt, int ow, int oh);
- int transfer_pixfmt(VFrame *frame_in, //metadata->defaults
- AVFrame *ofp, AVPixelFormat ofmt, int ow, int oh);
+ int convert_picture_vframe(VFrame *frame, AVFrame *ip);
+ int convert_picture_vframe(VFrame *frame, AVFrame *ip, AVFrame *ipic);
+ int convert_cmodel(VFrame *frame, AVFrame *ip);
+ int transfer_cmodel(VFrame *frame, AVFrame *ifp);
+ int convert_vframe_picture(VFrame *frame, AVFrame *op);
+ int convert_vframe_picture(VFrame *frame, AVFrame *op, AVFrame *opic);
+ int convert_pixfmt(VFrame *frame, AVFrame *op);
+ int transfer_pixfmt(VFrame *frame, AVFrame *ofp);
};
class FFVideoStream : public FFStream, public FFVideoConvert {
int64_t length;
float aspect_ratio;
- uint8_t *pkt_bfr;
- int pkt_bfr_sz;
- int64_t start_pts;
+ int interlaced;
+ int top_field_first;
};
class FFMPEG : public Thread {
char *format, char *codec, char *bsfilter, char *bsargs);
int get_encoder(FILE *fp,
char *format, char *codec, char *bsfilter, char *bsargs);
- int read_options(const char *options, AVDictionary *&opts);
+ int read_options(const char *options, AVDictionary *&opts, int skip=0);
int scan_options(const char *options, AVDictionary *&opts, AVStream *st);
int read_options(FILE *fp, const char *options, AVDictionary *&opts);
int load_options(const char *options, AVDictionary *&opts);
Condition *mux_lock;
Condition *flow_lock;
int done, flow;
-
+
void start_muxer();
void stop_muxer();
void flow_off();