Add and use ff_pixfmt_list_420.
Originally committed as revision 17564 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c0aec489a6
commit
09a9b45e4f
@ -52,7 +52,7 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx)
|
|||||||
s->quant_precision=5;
|
s->quant_precision=5;
|
||||||
s->decode_mb= ff_h263_decode_mb;
|
s->decode_mb= ff_h263_decode_mb;
|
||||||
s->low_delay= 1;
|
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;
|
s->unrestricted_mv= 1;
|
||||||
|
|
||||||
/* select sub codec */
|
/* select sub codec */
|
||||||
@ -725,6 +725,7 @@ AVCodec mpeg4_decoder = {
|
|||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
|
||||||
.flush= ff_mpeg_flush,
|
.flush= ff_mpeg_flush,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
|
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec h263_decoder = {
|
AVCodec h263_decoder = {
|
||||||
@ -739,6 +740,7 @@ AVCodec h263_decoder = {
|
|||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_TRUNCATED | CODEC_CAP_DELAY,
|
||||||
.flush= ff_mpeg_flush,
|
.flush= ff_mpeg_flush,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998"),
|
.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 = {
|
AVCodec msmpeg4v1_decoder = {
|
||||||
@ -752,6 +754,7 @@ AVCodec msmpeg4v1_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
|
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 1"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec msmpeg4v2_decoder = {
|
AVCodec msmpeg4v2_decoder = {
|
||||||
@ -765,6 +768,7 @@ AVCodec msmpeg4v2_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
|
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 2"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec msmpeg4v3_decoder = {
|
AVCodec msmpeg4v3_decoder = {
|
||||||
@ -778,6 +782,7 @@ AVCodec msmpeg4v3_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
|
.long_name= NULL_IF_CONFIG_SMALL("MPEG-4 part 2 Microsoft variant version 3"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec wmv1_decoder = {
|
AVCodec wmv1_decoder = {
|
||||||
@ -791,6 +796,7 @@ AVCodec wmv1_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
|
.long_name= NULL_IF_CONFIG_SMALL("Windows Media Video 7"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec h263i_decoder = {
|
AVCodec h263i_decoder = {
|
||||||
@ -804,6 +810,7 @@ AVCodec h263i_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
|
.long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec flv_decoder = {
|
AVCodec flv_decoder = {
|
||||||
@ -817,4 +824,5 @@ AVCodec flv_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name= NULL_IF_CONFIG_SMALL("Flash Video"),
|
.long_name= NULL_IF_CONFIG_SMALL("Flash Video"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
@ -2178,12 +2178,10 @@ static av_cold int decode_init(AVCodecContext *avctx){
|
|||||||
s->quarter_sample = 1;
|
s->quarter_sample = 1;
|
||||||
s->low_delay= 1;
|
s->low_delay= 1;
|
||||||
|
|
||||||
if(avctx->codec_id == CODEC_ID_SVQ3)
|
if(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
|
||||||
avctx->pix_fmt= PIX_FMT_YUVJ420P;
|
|
||||||
else if(s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)
|
|
||||||
avctx->pix_fmt= PIX_FMT_VDPAU_H264;
|
avctx->pix_fmt= PIX_FMT_VDPAU_H264;
|
||||||
else
|
else
|
||||||
avctx->pix_fmt= PIX_FMT_YUV420P;
|
avctx->pix_fmt= avctx->get_format(avctx, avctx->codec->pix_fmts);
|
||||||
|
|
||||||
decode_init_vlc();
|
decode_init_vlc();
|
||||||
|
|
||||||
@ -8097,6 +8095,7 @@ AVCodec h264_decoder = {
|
|||||||
/*CODEC_CAP_DRAW_HORIZ_BAND |*/ CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
/*CODEC_CAP_DRAW_HORIZ_BAND |*/ CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
||||||
.flush= flush_dpb,
|
.flush= flush_dpb,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
|
.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
|
#if CONFIG_H264_VDPAU_DECODER
|
||||||
|
@ -75,6 +75,10 @@ const uint8_t ff_mpeg1_dc_scale_table[128]={
|
|||||||
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,
|
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){
|
const uint8_t *ff_find_start_code(const uint8_t * restrict p, const uint8_t *end, uint32_t * restrict state){
|
||||||
int i;
|
int i;
|
||||||
|
@ -708,6 +708,8 @@ void ff_convert_matrix(DSPContext *dsp, int (*qmat)[64], uint16_t (*qmat16)[2][6
|
|||||||
void ff_init_block_index(MpegEncContext *s);
|
void ff_init_block_index(MpegEncContext *s);
|
||||||
void ff_copy_picture(Picture *dst, Picture *src);
|
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){
|
static inline void ff_update_block_index(MpegEncContext *s){
|
||||||
const int block_size= 8>>s->avctx->lowres;
|
const int block_size= 8>>s->avctx->lowres;
|
||||||
|
|
||||||
|
@ -794,6 +794,7 @@ AVCodec rv10_decoder = {
|
|||||||
rv10_decode_frame,
|
rv10_decode_frame,
|
||||||
CODEC_CAP_DR1,
|
CODEC_CAP_DR1,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
|
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 1.0"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
AVCodec rv20_decoder = {
|
AVCodec rv20_decoder = {
|
||||||
@ -808,5 +809,6 @@ AVCodec rv20_decoder = {
|
|||||||
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
||||||
.flush= ff_mpeg_flush,
|
.flush= ff_mpeg_flush,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
|
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -278,4 +278,5 @@ AVCodec rv30_decoder = {
|
|||||||
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
||||||
.flush = ff_mpeg_flush,
|
.flush = ff_mpeg_flush,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
|
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
@ -656,4 +656,5 @@ AVCodec rv40_decoder = {
|
|||||||
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
||||||
.flush = ff_mpeg_flush,
|
.flush = ff_mpeg_flush,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
|
.long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
@ -1050,4 +1050,5 @@ AVCodec svq3_decoder = {
|
|||||||
svq3_decode_frame,
|
svq3_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3"),
|
.long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3"),
|
||||||
|
.pix_fmts= (enum PixelFormat[]){PIX_FMT_YUV410P, PIX_FMT_NONE},
|
||||||
};
|
};
|
||||||
|
@ -494,4 +494,5 @@ AVCodec wmv2_decoder = {
|
|||||||
ff_h263_decode_frame,
|
ff_h263_decode_frame,
|
||||||
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1,
|
||||||
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
|
.long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 8"),
|
||||||
|
.pix_fmts= ff_pixfmt_list_420,
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user