From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 9810B43ED2 for ; Wed, 17 Aug 2022 09:05:40 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A9CA68B92B; Wed, 17 Aug 2022 12:05:39 +0300 (EEST) Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 37B5F68B92B for ; Wed, 17 Aug 2022 12:05:32 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id B3A9B240179 for ; Wed, 17 Aug 2022 11:05:31 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id WDLY99cK_KjE for ; Wed, 17 Aug 2022 11:05:31 +0200 (CEST) Received: from lain.khirnov.net (lain.khirnov.net [IPv6:2001:67c:1138:4306::3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "lain.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 1C8E12400F5 for ; Wed, 17 Aug 2022 11:05:31 +0200 (CEST) Received: by lain.khirnov.net (Postfix, from userid 1000) id 499DB1601B2; Wed, 17 Aug 2022 11:05:31 +0200 (CEST) From: Anton Khirnov To: FFmpeg development discussions and patches In-Reply-To: <35f0db7c-0ad8-506b-c09a-7948f79c71eb@gyani.pro> References: <3476fe9f-0433-99fa-0f0f-451f4062a7c8@mail.de> <166065902371.3205.13528205845420475535@lain.khirnov.net> <166072430421.4001.1353603178221790793@lain.khirnov.net> <35f0db7c-0ad8-506b-c09a-7948f79c71eb@gyani.pro> Mail-Followup-To: FFmpeg development discussions and patches Date: Wed, 17 Aug 2022 11:05:31 +0200 Message-ID: <166072713127.4001.11177540392889692062@lain.khirnov.net> User-Agent: alot/0.8.1 MIME-Version: 1.0 Subject: Re: [FFmpeg-devel] [PATCH v2 2/4] ffmpeg: Add display_matrix option X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Quoting Gyan Doshi (2022-08-17 10:50:43) > > > On 2022-08-17 01:48 pm, Anton Khirnov wrote: > > Quoting Thilo Borgmann (2022-08-16 20:48:57) > >> Am 16.08.22 um 16:10 schrieb Anton Khirnov: > >>> Quoting Thilo Borgmann (2022-08-15 22:02:09) > >>>> $subject > >>>> > >>>> -Thilo > >>>> From fe2ff114cb004f897c7774753d9cf28298eba82d Mon Sep 17 00:00:00 2001 > >>>> From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= > >>>> Date: Mon, 15 Aug 2022 21:09:27 +0200 > >>>> Subject: [PATCH v2 2/4] ffmpeg: Add display_matrix option > >>>> > >>>> This enables overriding the rotation as well as horizontal/vertical > >>>> flip state of a specific video stream on the input side. > >>>> > >>>> Additionally, switch the singular test that was utilizing the rotation > >>>> metadata to instead override the input display rotation, thus leading > >>>> to the same result. > >>>> --- > >>> I still don't see how it's better to squash multiple options into a > >>> single option. > >>> > >>> It requires all this extra infrastructure and in the end it's less > >>> user-friendly, because user-understandable things like rotation or flips > >>> are now hidden under "display matrix". How many users would know what a > >>> display matrix is? > >> FWIW I think Gyan's request to do this all in one option that effect one thing (the display matrix) is valid. > > I don't. > > > > It may be one thing internally, but modeling user interfaces based on > > internal representation is a sinful malpractice. More importantly, I see > > no advantage from doing it - it only makes the option parsing more > > complicated. > > It's not based on ffmpeg's 'internal representation'. All transform > attributes are stored as a composite in one mathematical object. Keyword "stored". It is internal representation. Users should not care how it is stored, the entire point point of our project is to shield them from that as much as possible. > Evaluating the matrix values will need to look at all sources of > contribution. So gathering and presenting all these attributes in a single > option (+ docs) makes it clearer to the user at the cost of an initial > learning curve. Are you seriously expecting all users who want to mark a video as rotated or flipped to learn about display matrices? Nothing whatsoever about this is clearer. Just document in what order these options take effect (which has to be done anyway), and you're done. No need to inflict pointless complexity on people. -- Anton Khirnov _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".