[FFmpeg-devel] [PATCH 1/2] ffmpeg: add display_{rotation, hflip, vflip} options

Gyan Doshi ffmpeg at gyani.pro
Sun Jul 17 19:26:20 EEST 2022



On 2022-07-17 08:49 pm, Thilo Borgmann wrote:
> Hi,
>
> Am 26.05.22 um 13:31 schrieb Jan Ekström:
>> On Thu, May 19, 2022 at 9:27 AM Jan Ekström <jeebjp at gmail.com> wrote:
>>>
>>> On Thu, May 19, 2022, 07:21 Gyan Doshi <ffmpeg at gyani.pro> wrote:
>>>>
>>>>
>>>>
>>>> On 2022-05-18 11:34 pm, Jan Ekström wrote:
>>>>> This enables overriding the rotation as well as horizontal/vertical
>>>>> flip state of a specific video stream on either the input or output
>>>>> side.
>>>>
>>>> Since rotation, flip and scale are stored in a single data structure,
>>>> how about a single option i.e. -display "rotate=90,flip=hv,scale=2"
>>>
>>>
>>> I did think about that, and I even implemented AVDict based options 
>>> for ffmpeg.c in a branch. But then pretty much got tired of lack of 
>>> AVOption automation (f.ex. for the flip flagging etc), and decided 
>>> that since these are relatively basic and simple, the non-generic 
>>> option for this could be just three options in the initial submission.
>>
>> In the end I did implement this with a single dict-based thing in a
>> branch but never got to posting it to this thread:
>> https://github.com/jeeb/ffmpeg/commits/ffmpeg_c_display_matrix_with_dicts 
>>
>>
>> So for the positive: Now it's all in a single option so it's clear
>> that it's defining a single structure.
>> And the negative: Needs a struct definition, struct, AVOption list,
>> AVClass and actually if you already made a dict out of the options
>> before, as the functions will free the original after usage and
>> generate a new one, it destroys the life time expectations of the dict
>> and thus it is just simpler to copy the dict when entering the
>> function (I think there is an arguments string based API which might
>> or might not actually be simpler for this case).
>>
>> So yea, not sure if I prefer this version.
>
> Ping.
>
> Did this stall for a reason? How can we iterate on it?

Since the rotation/flip/scale hints are stored in a single data 
structure, I prefer a single user option to set those values.

Regards,
Gyan


More information about the ffmpeg-devel mailing list