mirror of https://git.ffmpeg.org/ffmpeg.git
h264: avoid calling get_format() multiple times
Some applications do not like that. Fixes VDA Reduces noise for VDPAU Tested-by: Guillaume POIRIER <poirierg@gmail.com> Tested-by: Carl Eugen Hoyos <cehoyos@ag.or.at> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
8d0757e107
commit
dece584a63
|
@ -2931,11 +2931,17 @@ static enum PixelFormat get_pixel_format(H264Context *h)
|
||||||
return h->avctx->color_range == AVCOL_RANGE_JPEG ? AV_PIX_FMT_YUVJ422P
|
return h->avctx->color_range == AVCOL_RANGE_JPEG ? AV_PIX_FMT_YUVJ422P
|
||||||
: AV_PIX_FMT_YUV422P;
|
: AV_PIX_FMT_YUV422P;
|
||||||
} else {
|
} else {
|
||||||
return h->avctx->get_format(h->avctx, h->avctx->codec->pix_fmts ?
|
int i;
|
||||||
|
const enum AVPixelFormat * fmt = h->avctx->codec->pix_fmts ?
|
||||||
h->avctx->codec->pix_fmts :
|
h->avctx->codec->pix_fmts :
|
||||||
h->avctx->color_range == AVCOL_RANGE_JPEG ?
|
h->avctx->color_range == AVCOL_RANGE_JPEG ?
|
||||||
hwaccel_pixfmt_list_h264_jpeg_420 :
|
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] == h->avctx->pix_fmt)
|
||||||
|
return fmt[i];
|
||||||
|
return h->avctx->get_format(h->avctx, fmt);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
Loading…
Reference in New Issue