X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavcodec%2Fh264.c;h=da749a241d5647751cb5a961429abb6657a79a00;hp=56ef1092bd4509697f11b76ae97757bbc03aef14;hb=c6f59b95c529baf2ea6729ab9089fddce3ddd86a;hpb=6407800521d26b103db4c22d9de709e957381e4b diff --git a/libavcodec/h264.c b/libavcodec/h264.c index 56ef109..da749a2 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -2537,11 +2537,17 @@ static enum PixelFormat get_pixel_format(H264Context *h) return s->avctx->color_range == AVCOL_RANGE_JPEG ? AV_PIX_FMT_YUVJ422P : AV_PIX_FMT_YUV422P; } else { - return s->avctx->get_format(s->avctx, s->avctx->codec->pix_fmts ? + int i; + const enum AVPixelFormat * fmt = s->avctx->codec->pix_fmts ? s->avctx->codec->pix_fmts : s->avctx->color_range == AVCOL_RANGE_JPEG ? hwaccel_pixfmt_list_h264_jpeg_420 : - ff_hwaccel_pixfmt_list_420); + ff_hwaccel_pixfmt_list_420; + + for (i=0; fmt[i] != AV_PIX_FMT_NONE; i++) + if (fmt[i] == s->avctx->pix_fmt) + return fmt[i]; + return s->avctx->get_format(s->avctx, fmt); } break; default: