Revert "lavc/vaapi_encode: add EQUAL_MULTI_ROWS support for slice structure"

This reverts commit 489c5db079.

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 }.
This commit is contained in:
Mark Thompson 2020-07-27 22:27:14 +01:00
parent fa3da243e6
commit 16c2ed4362

View File

@ -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;