Previously, the callback was only called on init. This makes it get called on every frame. We should switch to VK_KHR_video_maintenance2 and provide all params upfront, but almost nothing supports it yet.
Showing the changes to libavcodec (1 of 1 file). Show all
Unified · Split
| @@ -1329,6 +1329,15 @@ static int av1_receive_frame_internal(AVCodecContext *avctx, AVFrame *frame) · 1328 unmodified lines | ||
| 1329 | 1329 | |
| 1330 | 1330 | s->pix_fmt = AV_PIX_FMT_NONE; |
| 1331 | 1331 | |
| 1332 | + if (FF_HW_HAS_CB(avctx, decode_params)) { | |
| 1333 | + ret = FF_HW_CALL(avctx, decode_params, AV1_OBU_SEQUENCE_HEADER, | |
| 1334 | + s->seq_data_ref->data, s->seq_data_ref->size); | |
| 1335 | + if (ret < 0) { | |
| 1336 | + av_log(avctx, AV_LOG_ERROR, "HW accel decode params fail.\n"); | |
| 1337 | + return ret; | |
| 1338 | + } | |
| 1339 | + } | |
| 1340 | + | |
| 1332 | 1341 | break; |
| 1333 | 1342 | case AV1_OBU_REDUNDANT_FRAME_HEADER: |
| 1334 | 1343 | if (s->raw_frame_header) |