[FFmpeg-cvslog] Revert "lavc/vaapi_encode: add EQUAL_MULTI_ROWS support for slice structure"

Mark Thompson git at videolan.org
Tue Jul 28 00:44:35 EEST 2020


ffmpeg | branch: master | Mark Thompson <sw at jkqxz.net> | Mon Jul 27 22:27:14 2020 +0100| [16c2ed4362bde4502698f1768b884d81ea11abcb] | committer: Mark Thompson

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 }.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=16c2ed4362bde4502698f1768b884d81ea11abcb
---

 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;



More information about the ffmpeg-cvslog mailing list