Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'
* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425': lavc: Add an internal wrapper around get_format() Conflicts: libavcodec/h264_slice.c libavcodec/mpeg12dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
@@ -150,7 +150,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
|||||||
c->planemap[0] = 0; // 1st plane is palette indexes
|
c->planemap[0] = 0; // 1st plane is palette indexes
|
||||||
break;
|
break;
|
||||||
case 24:
|
case 24:
|
||||||
avctx->pix_fmt = avctx->get_format(avctx, pixfmt_rgb24);
|
avctx->pix_fmt = ff_get_format(avctx, pixfmt_rgb24);
|
||||||
c->planes = 3;
|
c->planes = 3;
|
||||||
c->planemap[0] = 2; // 1st plane is red
|
c->planemap[0] = 2; // 1st plane is red
|
||||||
c->planemap[1] = 1; // 2nd plane is green
|
c->planemap[1] = 1; // 2nd plane is green
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx)
|
|||||||
if (avctx->codec->id == AV_CODEC_ID_MSS2)
|
if (avctx->codec->id == AV_CODEC_ID_MSS2)
|
||||||
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
|
avctx->pix_fmt = AV_PIX_FMT_YUV420P;
|
||||||
else
|
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;
|
s->unrestricted_mv = 1;
|
||||||
|
|
||||||
/* select sub codec */
|
/* select sub codec */
|
||||||
|
|||||||
@@ -253,6 +253,13 @@ int ff_set_dimensions(AVCodecContext *s, int width, int height);
|
|||||||
int ff_side_data_update_matrix_encoding(AVFrame *frame,
|
int ff_side_data_update_matrix_encoding(AVFrame *frame,
|
||||||
enum AVMatrixEncoding matrix_encoding);
|
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.
|
* Set various frame properties from the codec context / packet data.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -832,7 +832,7 @@ enum AVPixelFormat ff_thread_get_format(AVCodecContext *avctx, const enum AVPixe
|
|||||||
PerThreadContext *p = avctx->internal->thread_ctx;
|
PerThreadContext *p = avctx->internal->thread_ctx;
|
||||||
if (!(avctx->active_thread_type & FF_THREAD_FRAME) || avctx->thread_safe_callbacks ||
|
if (!(avctx->active_thread_type & FF_THREAD_FRAME) || avctx->thread_safe_callbacks ||
|
||||||
avctx->get_format == avcodec_default_get_format)
|
avctx->get_format == avcodec_default_get_format)
|
||||||
return avctx->get_format(avctx, fmt);
|
return ff_get_format(avctx, fmt);
|
||||||
if (p->state != STATE_SETTING_UP) {
|
if (p->state != STATE_SETTING_UP) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "get_format() cannot be called after ff_thread_finish_setup()\n");
|
av_log(avctx, AV_LOG_ERROR, "get_format() cannot be called after ff_thread_finish_setup()\n");
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
@@ -1117,6 +1117,11 @@ enum AVPixelFormat avcodec_default_get_format(struct AVCodecContext *s, const en
|
|||||||
return fmt[0];
|
return fmt[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ff_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
|
||||||
|
{
|
||||||
|
return avctx->get_format(avctx, fmt);
|
||||||
|
}
|
||||||
|
|
||||||
#if FF_API_AVFRAME_LAVC
|
#if FF_API_AVFRAME_LAVC
|
||||||
void avcodec_get_frame_defaults(AVFrame *frame)
|
void avcodec_get_frame_defaults(AVFrame *frame)
|
||||||
{
|
{
|
||||||
@@ -3424,7 +3429,7 @@ int ff_thread_ref_frame(ThreadFrame *dst, ThreadFrame *src)
|
|||||||
|
|
||||||
enum AVPixelFormat ff_thread_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
|
enum AVPixelFormat ff_thread_get_format(AVCodecContext *avctx, const enum AVPixelFormat *fmt)
|
||||||
{
|
{
|
||||||
return avctx->get_format(avctx, fmt);
|
return ff_get_format(avctx, fmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_thread_get_buffer(AVCodecContext *avctx, ThreadFrame *f, int flags)
|
int ff_thread_get_buffer(AVCodecContext *avctx, ThreadFrame *f, int flags)
|
||||||
|
|||||||
@@ -5606,7 +5606,7 @@ static av_cold int vc1_decode_init(AVCodecContext *avctx)
|
|||||||
if (!avctx->extradata_size || !avctx->extradata)
|
if (!avctx->extradata_size || !avctx->extradata)
|
||||||
return -1;
|
return -1;
|
||||||
if (!(avctx->flags & CODEC_FLAG_GRAY))
|
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
|
else
|
||||||
avctx->pix_fmt = AV_PIX_FMT_GRAY8;
|
avctx->pix_fmt = AV_PIX_FMT_GRAY8;
|
||||||
avctx->hwaccel = ff_find_hwaccel(avctx);
|
avctx->hwaccel = ff_find_hwaccel(avctx);
|
||||||
|
|||||||
Reference in New Issue
Block a user