mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-19 14:00:43 +00:00
lavc: Add an internal wrapper around get_format()
It will be useful in the following commits.
This commit is contained in:
parent
9880a0d4b1
commit
632ad2248e
@ -159,7 +159,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
||||
c->planemap[0] = 0; // 1st plane is palette indexes
|
||||
break;
|
||||
case 24:
|
||||
avctx->pix_fmt = avctx->get_format(avctx, pixfmt_rgb24);
|
||||
avctx->pix_fmt = ff_get_format(avctx, pixfmt_rgb24);
|
||||
c->planes = 3;
|
||||
c->planemap[0] = 2; // 1st plane is red
|
||||
c->planemap[1] = 1; // 2nd plane is green
|
||||
|
@ -57,7 +57,7 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx)
|
||||
if (avctx->codec->id == AV_CODEC_ID_MSS2)
|
||||
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||
else
|
||||
avctx->pix_fmt = avctx->get_format(avctx, avctx->codec->pix_fmts);
|
||||
avctx->pix_fmt = ff_get_format(avctx, avctx->codec->pix_fmts);
|
||||
s->unrestricted_mv = 1;
|
||||
|
||||
/* select sub codec */
|
||||
|
@ -1008,7 +1008,7 @@ static enum AVPixelFormat get_pixel_format(H264Context *h)
|
||||
return h->avctx->color_range == AVCOL_RANGE_JPEG ? AV_PIX_FMT_YUVJ422P
|
||||
: AV_PIX_FMT_YUV422P;
|
||||
} else {
|
||||
return h->avctx->get_format(h->avctx, h->avctx->codec->pix_fmts ?
|
||||
return ff_get_format(h->avctx, h->avctx->codec->pix_fmts ?
|
||||
h->avctx->codec->pix_fmts :
|
||||
h->avctx->color_range == AVCOL_RANGE_JPEG ?
|
||||
h264_hwaccel_pixfmt_list_jpeg_420 :
|
||||
|
@ -186,6 +186,13 @@ int ff_set_dimensions(AVCodecContext *s, int width, int height);
|
||||
int ff_side_data_update_matrix_encoding(AVFrame *frame,
|
||||
enum AVMatrixEncoding matrix_encoding);
|
||||
|
||||
/**
|
||||
* Select the (possibly hardware accelerated) pixel format.
|
||||
* This is a wrapper around AVCodecContext.get_format() and should be used
|
||||
* instead of calling get_format() directly.
|
||||
*/
|
||||
int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt);
|
||||
|
||||
/**
|
||||
* Set various frame properties from the codec context / packet data.
|
||||
*/
|
||||
|
@ -1188,12 +1188,12 @@ static enum AVPixelFormat mpeg_get_pixelformat(AVCodecContext *avctx)
|
||||
#if FF_API_XVMC
|
||||
FF_DISABLE_DEPRECATION_WARNINGS
|
||||
if (avctx->xvmc_acceleration)
|
||||
return avctx->get_format(avctx, pixfmt_xvmc_mpg2_420);
|
||||
return ff_get_format(avctx, pixfmt_xvmc_mpg2_420);
|
||||
FF_ENABLE_DEPRECATION_WARNINGS
|
||||
#endif /* FF_API_XVMC */
|
||||
|
||||
if (s->chroma_format < 2)
|
||||
return avctx->get_format(avctx, mpeg12_hwaccel_pixfmt_list_420);
|
||||
return ff_get_format(avctx, mpeg12_hwaccel_pixfmt_list_420);
|
||||
else if (s->chroma_format == 2)
|
||||
return AV_PIX_FMT_YUV422P;
|
||||
else
|
||||
|
@ -864,6 +864,11 @@ enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const en
|
||||
return fmt[0];
|
||||
}
|
||||
|
||||
int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
|
||||
{
|
||||
return avctx->get_format(avctx, fmt);
|
||||
}
|
||||
|
||||
#if FF_API_AVFRAME_LAVC
|
||||
void avcodec_get_frame_defaults(AVFrame *frame)
|
||||
{
|
||||
|
@ -5595,7 +5595,7 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
|
||||
if (!avctx->extradata_size || !avctx->extradata)
|
||||
return -1;
|
||||
if (!(avctx->flags & CODEC_FLAG_GRAY))
|
||||
avctx->pix_fmt = avctx->get_format(avctx, avctx->codec->pix_fmts);
|
||||
avctx->pix_fmt = ff_get_format(avctx, avctx->codec->pix_fmts);
|
||||
else
|
||||
avctx->pix_fmt = AV_PIX_FMT_GRAY8;
|
||||
avctx->hwaccel = ff_find_hwaccel(avctx);
|
||||
|
Loading…
Reference in New Issue
Block a user