From 16c2ed4362bde4502698f1768b884d81ea11abcb Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Mon, 27 Jul 2020 22:27:14 +0100 Subject: [PATCH] Revert "lavc/vaapi_encode: add EQUAL_MULTI_ROWS support for slice structure" This reverts commit 489c5db0791f39518775b12eef6d48276c17f96f. Treating EQUAL_MULTI_ROWS in the same way as the arbitrary-size cases is just wrong. Consider 9 rows, 4 slices - we pick 4 slices with sizes { 3, 2, 2, 2 }, which EQUAL_MULTI_ROWS does not allow. It isn't possible to split the frame into 4 slices at all with the EQUAL_MULTI_ROWS structure - the closest options are 3 slices with sizes { 3, 3, 3 } or 5 slices with sizes { 2, 2, 2, 2, 1 }. --- libavcodec/vaapi_encode.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c index 6766641ac7..4544090bcc 100644 --- a/libavcodec/vaapi_encode.c +++ b/libavcodec/vaapi_encode.c @@ -1908,9 +1908,6 @@ static av_cold int vaapi_encode_init_row_slice_structure(AVCodecContext *avctx, req_slices = avctx->slices; } if (slice_structure & VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS || -#if VA_CHECK_VERSION(1, 8, 0) - slice_structure & VA_ENC_SLICE_STRUCTURE_EQUAL_MULTI_ROWS || -#endif slice_structure & VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS) { ctx->nb_slices = req_slices; ctx->slice_size = ctx->slice_block_rows / ctx->nb_slices;