s->quant_precision=5;
s->decode_mb= ff_h263_decode_mb;
s->low_delay= 1;
- avctx->pix_fmt= PIX_FMT_YUV420P;
+ avctx->pix_fmt= avctx->get_format(avctx, avctx->codec->pix_fmts);
s->unrestricted_mv= 1;
/* select sub codec */
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
.flush= ff_mpeg_flush,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec h263_decoder = {
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
.flush= ff_mpeg_flush,
.long_name= NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec msmpeg4v1_decoder = {
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec msmpeg4v2_decoder = {
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec msmpeg4v3_decoder = {
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec wmv1_decoder = {
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name= NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec h263i_decoder = {
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec flv_decoder = {
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name= NULL_IF_CONFIG_SMALL("Flash Video"),
+ .pix_fmts= ff_pixfmt_list_420,
};
s->quarter_sample = 1;
s->low_delay= 1;
- if(avctx->codec_id == CODEC_ID_SVQ3)
- avctx->pix_fmt= PIX_FMT_YUVJ420P;
- else if(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
+ if(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
avctx->pix_fmt= PIX_FMT_VDPAU_H264;
else
- avctx->pix_fmt= PIX_FMT_YUV420P;
+ avctx->pix_fmt= avctx->get_format(avctx, avctx->codec->pix_fmts);
decode_init_vlc();
/*CODEC_CAP_DRAW_HORIZ_BAND |*/ CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.flush= flush_dpb,
.long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
+ .pix_fmts= ff_pixfmt_list_420,
};
#if CONFIG_H264_VDPAU_DECODER
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
};
+const enum PixelFormat ff_pixfmt_list_420[] = {
+ PIX_FMT_YUV420P,
+ PIX_FMT_NONE
+};
const uint8_t *ff_find_start_code(const uint8_t * restrict p, const uint8_t *end, uint32_t * restrict state){
int i;
void ff_init_block_index(MpegEncContext *s);
void ff_copy_picture(Picture *dst, Picture *src);
+extern const enum PixelFormat ff_pixfmt_list_420[];
+
static inline void ff_update_block_index(MpegEncContext *s){
const int block_size= 8>>s->avctx->lowres;
rv10_decode_frame,
CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
+ .pix_fmts= ff_pixfmt_list_420,
};
AVCodec rv20_decoder = {
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.flush= ff_mpeg_flush,
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
+ .pix_fmts= ff_pixfmt_list_420,
};
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.flush = ff_mpeg_flush,
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
+ .pix_fmts= ff_pixfmt_list_420,
};
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.flush = ff_mpeg_flush,
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
+ .pix_fmts= ff_pixfmt_list_420,
};
svq3_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3"),
+ .pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV410P, PIX_FMT_NONE},
};
ff_h263_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
+ .pix_fmts= ff_pixfmt_list_420,
};