Message ID | 20220919094604.4645-1-thilo.borgmann@mail.de |
---|---|
Headers | show |
Series | Add display_matrix option | expand |
I still see no convincing arguments in favor of adding all this complexity just so that we can stuff multiple options into one and get a WORSE user interface. Just add multiple options.
Anton Khirnov (12022-09-20): > I still see no convincing arguments in favor of adding all this > complexity just so that we can stuff multiple options into one and get a > WORSE user interface. > > Just add multiple options. We agree, except on the last point. All user-visible FFmpeg types should have a way for the user to input them, self-contained and convenient with regard with the logic of the type, and a function to print them in a way that can be parsed back. Channels layouts do not have multiple options, they have av_channel_layout_from_string(). Rationals are not entered with -framerate_num 24000 -framerate_den 1001, they are entered as a ratio, and so on. It should be systematic. Regards,
Quoting Nicolas George (2022-09-20 11:05:59) > Anton Khirnov (12022-09-20): > > I still see no convincing arguments in favor of adding all this > > complexity just so that we can stuff multiple options into one and get a > > WORSE user interface. > > > > Just add multiple options. > > We agree, except on the last point. > > All user-visible FFmpeg types should have a way for the user to input > them, self-contained and convenient with regard with the logic of the > type, and a function to print them in a way that can be parsed back. > > Channels layouts do not have multiple options, they have > av_channel_layout_from_string(). Rationals are not entered with > -framerate_num 24000 -framerate_den 1001, they are entered as a ratio, > and so on. It should be systematic. I have no problem with adding a -display_matrix option that allows expert users to specify all nine values of the display transformation matrix directly. But this set is not adding such an option, it is only handling rotation, flipping and scaling. Most users will think of these as three different operations and so it will be simplest - both for us and for our users - for them to be three separate options (with documentation stating the order in which they are applied).