You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
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:
@@ -1908,9 +1908,6 @@ static av_cold int vaapi_encode_init_row_slice_structure(AVCodecContext *avctx,
|
|||||||
req_slices = avctx->slices;
|
req_slices = avctx->slices;
|
||||||
}
|
}
|
||||||
if (slice_structure & VA_ENC_SLICE_STRUCTURE_ARBITRARY_ROWS ||
|
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) {
|
slice_structure & VA_ENC_SLICE_STRUCTURE_ARBITRARY_MACROBLOCKS) {
|
||||||
ctx->nb_slices = req_slices;
|
ctx->nb_slices = req_slices;
|
||||||
ctx->slice_size = ctx->slice_block_rows / ctx->nb_slices;
|
ctx->slice_size = ctx->slice_block_rows / ctx->nb_slices;
|
||||||
|
Reference in New Issue
Block a user