From bc58d1f58eeb7f80049b18395256f2a8cb039f64 Mon Sep 17 00:00:00 2001 From: Mark Thompson Date: Tue, 28 Jul 2020 23:50:21 +0100 Subject: [PATCH] vaapi_encode_h265: Fix ordering of tile dimensions Dimensions are normally specified as width x height, and this will match the same option to libaom-av1. Remove the indirection through the private context at the same time. --- doc/encoders.texi | 2 +- libavcodec/vaapi_encode.h | 2 +- libavcodec/vaapi_encode_h265.c | 13 +++---------- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index 78b3be96052..de0472e2258 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -3264,7 +3264,7 @@ messages). @end table @item tiles -Set the number of tiles to encode the input video with, as rows x columns. +Set the number of tiles to encode the input video with, as columns x rows. Larger numbers allow greater parallelism in both encoding and decoding, but may decrease coding efficiency. diff --git a/libavcodec/vaapi_encode.h b/libavcodec/vaapi_encode.h index 6487a996049..2d71eb0199f 100644 --- a/libavcodec/vaapi_encode.h +++ b/libavcodec/vaapi_encode.h @@ -307,8 +307,8 @@ typedef struct VAAPIEncodeContext { int slice_size; // Tile encoding. - int tile_rows; int tile_cols; + int tile_rows; // Tile width of the i-th column. int col_width[MAX_TILE_COLS]; // Tile height of i-th row. diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index 511218f6595..04bd2bef1de 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -63,9 +63,6 @@ typedef struct VAAPIEncodeH265Context { int level; int sei; - int trows; - int tcols; - // Derived settings. int fixed_qp_idr; int fixed_qp_p; @@ -1208,11 +1205,6 @@ static av_cold int vaapi_encode_h265_init(AVCodecContext *avctx) if (priv->qp > 0) ctx->explicit_qp = priv->qp; - if (priv->trows && priv->tcols) { - ctx->tile_rows = priv->trows; - ctx->tile_cols = priv->tcols; - } - return ff_vaapi_encode_init(avctx); } @@ -1289,8 +1281,9 @@ static const AVOption vaapi_encode_h265_options[] = { { .i64 = SEI_MASTERING_DISPLAY | SEI_CONTENT_LIGHT_LEVEL }, INT_MIN, INT_MAX, FLAGS, "sei" }, - { "tiles", "Tile rows x cols", - OFFSET(trows), AV_OPT_TYPE_IMAGE_SIZE, { .str = NULL }, 0, 0, FLAGS }, + { "tiles", "Tile columns x rows", + OFFSET(common.tile_cols), AV_OPT_TYPE_IMAGE_SIZE, + { .str = NULL }, 0, 0, FLAGS }, { NULL }, }; -- 2.39.5