lavc/hevcdec: do not pass a pixel format to set_sps()
It is merely copied to AVCodecContext.pix_fmt, which serves no useful purpose. set_sps() is called from two places: * when a new SPS becomes active - then the pixel format is overridden immediately after the set_sps() call by the result from ff_get_format(); * when a new SPS is propagated across frame threads - then the AVCodecContext value is already set to the same value by the generic code.
This commit is contained in:
@@ -526,8 +526,7 @@ static enum AVPixelFormat get_format(HEVCContext *s, const HEVCSPS *sps)
|
|||||||
return ff_get_format(s->avctx, pix_fmts);
|
return ff_get_format(s->avctx, pix_fmts);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int set_sps(HEVCContext *s, const HEVCSPS *sps,
|
static int set_sps(HEVCContext *s, const HEVCSPS *sps)
|
||||||
enum AVPixelFormat pix_fmt)
|
|
||||||
{
|
{
|
||||||
int ret, i;
|
int ret, i;
|
||||||
|
|
||||||
@@ -544,8 +543,6 @@ static int set_sps(HEVCContext *s, const HEVCSPS *sps,
|
|||||||
|
|
||||||
export_stream_params(s, sps);
|
export_stream_params(s, sps);
|
||||||
|
|
||||||
s->avctx->pix_fmt = pix_fmt;
|
|
||||||
|
|
||||||
ff_hevc_pred_init(&s->hpc, sps->bit_depth);
|
ff_hevc_pred_init(&s->hpc, sps->bit_depth);
|
||||||
ff_hevc_dsp_init (&s->hevcdsp, sps->bit_depth);
|
ff_hevc_dsp_init (&s->hevcdsp, sps->bit_depth);
|
||||||
ff_videodsp_init (&s->vdsp, sps->bit_depth);
|
ff_videodsp_init (&s->vdsp, sps->bit_depth);
|
||||||
@@ -2918,7 +2915,7 @@ static int hevc_frame_start(HEVCContext *s)
|
|||||||
|
|
||||||
ff_hevc_clear_refs(s);
|
ff_hevc_clear_refs(s);
|
||||||
|
|
||||||
ret = set_sps(s, sps, sps->pix_fmt);
|
ret = set_sps(s, sps);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
@@ -3592,7 +3589,7 @@ static int hevc_update_thread_context(AVCodecContext *dst,
|
|||||||
ff_refstruct_unref(&s->pps);
|
ff_refstruct_unref(&s->pps);
|
||||||
|
|
||||||
if (s->ps.sps != s0->ps.sps)
|
if (s->ps.sps != s0->ps.sps)
|
||||||
if ((ret = set_sps(s, s0->ps.sps, src->pix_fmt)) < 0)
|
if ((ret = set_sps(s, s0->ps.sps)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
s->seq_decode = s0->seq_decode;
|
s->seq_decode = s0->seq_decode;
|
||||||
|
Reference in New Issue
Block a user