mirror of https://git.ffmpeg.org/ffmpeg.git
avcodec/hevc: implement new decode_params callback for VideoToolbox
Signed-off-by: Aman Gupta <aman@tmm1.net>
This commit is contained in:
parent
bd2d70c0b8
commit
3a91b3ae74
|
@ -2824,23 +2824,55 @@ static int decode_nal_unit(HEVCContext *s, const H2645NAL *nal)
|
|||
|
||||
switch (s->nal_unit_type) {
|
||||
case HEVC_NAL_VPS:
|
||||
if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) {
|
||||
ret = s->avctx->hwaccel->decode_params(s->avctx,
|
||||
nal->type,
|
||||
nal->raw_data,
|
||||
nal->raw_size);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
}
|
||||
ret = ff_hevc_decode_nal_vps(gb, s->avctx, &s->ps);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
break;
|
||||
case HEVC_NAL_SPS:
|
||||
if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) {
|
||||
ret = s->avctx->hwaccel->decode_params(s->avctx,
|
||||
nal->type,
|
||||
nal->raw_data,
|
||||
nal->raw_size);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
}
|
||||
ret = ff_hevc_decode_nal_sps(gb, s->avctx, &s->ps,
|
||||
s->apply_defdispwin);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
break;
|
||||
case HEVC_NAL_PPS:
|
||||
if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) {
|
||||
ret = s->avctx->hwaccel->decode_params(s->avctx,
|
||||
nal->type,
|
||||
nal->raw_data,
|
||||
nal->raw_size);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
}
|
||||
ret = ff_hevc_decode_nal_pps(gb, s->avctx, &s->ps);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
break;
|
||||
case HEVC_NAL_SEI_PREFIX:
|
||||
case HEVC_NAL_SEI_SUFFIX:
|
||||
if (s->avctx->hwaccel && s->avctx->hwaccel->decode_params) {
|
||||
ret = s->avctx->hwaccel->decode_params(s->avctx,
|
||||
nal->type,
|
||||
nal->raw_data,
|
||||
nal->raw_size);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
}
|
||||
ret = ff_hevc_decode_nal_sei(gb, s->avctx, &s->sei, &s->ps, s->nal_unit_type);
|
||||
if (ret < 0)
|
||||
goto fail;
|
||||
|
|
Loading…
Reference in New Issue