[FFmpeg-devel] [PATCH v2 1/3] libaomenc: Add support for tiles
Mark Thompson
sw at jkqxz.net
Wed Sep 19 01:55:49 EEST 2018
On 18/09/18 01:12, James Almer wrote:
> On 9/17/2018 8:47 PM, Mark Thompson wrote:
>> Adds an option to specify the number of tile rows and columns, then uses
>> equal-sized tiles to fill the frame.
>> ---
>> libavcodec/libaomenc.c | 54 ++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 54 insertions(+)
>>
>> diff --git a/libavcodec/libaomenc.c b/libavcodec/libaomenc.c
>> index 6a79d9b873..3ccff0e0fb 100644
>> --- a/libavcodec/libaomenc.c
>> +++ b/libavcodec/libaomenc.c
>> ...
>> @@ -742,6 +795,7 @@ static const AVOption options[] = {
>> { "static-thresh", "A change threshold on blocks below which they will be skipped by the encoder", OFFSET(static_thresh), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE },
>> { "drop-threshold", "Frame drop threshold", offsetof(AOMContext, drop_threshold), AV_OPT_TYPE_INT, {.i64 = 0 }, INT_MIN, INT_MAX, VE },
>> { "noise-sensitivity", "Noise sensitivity", OFFSET(noise_sensitivity), AV_OPT_TYPE_INT, {.i64 = 0 }, 0, 4, VE},
>> + { "tiles", "Tile rows x columns", OFFSET(tile_cols), AV_OPT_TYPE_IMAGE_SIZE, { .str = NULL }, 0, 0, VE },
>
> Using separate tile-columns and tile-rows AV_OPT_TYPE_INT options would
> be more consistent with the libvpx wrapper, which already has them
> called like that and also shares a lot of other option names with the
> libaom.
The options on libvpx-vp9 are actually log2 of the value, so "-tile-rows 3 -tile-columns 2" gives you 8x4 tiles. (VP9 requires that the number of tiles in each dimension is a power of two, while AV1 lets you set arbitrary sizes.)
I don't really mind how this works - I just thought the IMAGE_SIZE method looked nicer. What do you prefer?
- Mark
More information about the ffmpeg-devel
mailing list