Browse Source

mpeg12: Always invoke the get_format() callback

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
tags/n2.4.2
Rémi Denis-Courmont Luca Barbato 11 years ago
parent
commit
ce0972ecdd
1 changed files with 16 additions and 3 deletions
  1. +16
    -3
      libavcodec/mpeg12dec.c

+ 16
- 3
libavcodec/mpeg12dec.c View File

@@ -1181,10 +1181,21 @@ static const enum AVPixelFormat mpeg12_hwaccel_pixfmt_list_420[] = {
AV_PIX_FMT_NONE
};

static const enum AVPixelFormat mpeg12_pixfmt_list_422[] = {
AV_PIX_FMT_YUV422P,
AV_PIX_FMT_NONE
};

static const enum AVPixelFormat mpeg12_pixfmt_list_444[] = {
AV_PIX_FMT_YUV444P,
AV_PIX_FMT_NONE
};

static enum AVPixelFormat mpeg_get_pixelformat(AVCodecContext *avctx)
{
Mpeg1Context *s1 = avctx->priv_data;
MpegEncContext *s = &s1->mpeg_enc_ctx;
const enum AVPixelFormat *pix_fmts;

#if FF_API_XVMC
FF_DISABLE_DEPRECATION_WARNINGS
@@ -1194,11 +1205,13 @@ FF_ENABLE_DEPRECATION_WARNINGS
#endif /* FF_API_XVMC */

if (s->chroma_format < 2)
return ff_get_format(avctx, mpeg12_hwaccel_pixfmt_list_420);
pix_fmts = mpeg12_hwaccel_pixfmt_list_420;
else if (s->chroma_format == 2)
return AV_PIX_FMT_YUV422P;
pix_fmts = mpeg12_pixfmt_list_422;
else
return AV_PIX_FMT_YUV444P;
pix_fmts = mpeg12_pixfmt_list_444;

return ff_get_format(avctx, pix_fmts);
}

/* Call this function when we know all parameters.


Loading…
Cancel
Save