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;