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 6707241093 for ; Sun, 15 May 2022 10:59:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1F6D168B483; Sun, 15 May 2022 13:59:56 +0300 (EEST) Received: from mail-lj1-f179.google.com (mail-lj1-f179.google.com [209.85.208.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 567C268B3A9 for ; Sun, 15 May 2022 13:59:50 +0300 (EEST) Received: by mail-lj1-f179.google.com with SMTP id g16so15084013lja.3 for ; Sun, 15 May 2022 03:59:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=Q+4bkqSVSxgeWnEaw9N2InG2SEgl9V+/IylqUviIuMc=; b=hah1U+tOrWBlLU1oArAuLTX3IiO5vHY+j2mdivjHLlyOfilK9Lzbf4YJj4FR+vXy2J U1AG7dpomXIzizo9iPzsPk/qDRp4Lje2jucilunV7acoyBrh2L3rY1bha10WADrRQ/I/ s3cCl5z3BVDB9tzng/cEl7F/0qb1svTephoKJdyPoE/ixxT3zamyD+ofiv5O1soHwn+a VYrkumQ8PSFjlAxB3fOa4uwW8nvFiYZ8UsoCB9Ql2LHzcwy8BGpF+6jZvKTkN4xQKfgB 2JrnTvmBcBo/mbu+WZpyMnFtxqaVbKREpqs6EgEk9AM/NDoAiM9En0HIYcQR/HCoypT1 wFfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=Q+4bkqSVSxgeWnEaw9N2InG2SEgl9V+/IylqUviIuMc=; b=74iVLEYjDAH74+SwEJA6u6/3lOLWEf4ugbSivuTsggIJms6cjRZXTldraDE050tJWz /EywE3yytyLcFrfHyqmA0ASWpIUDZn6/L2XjWEIRhjXV0Spzarp9uk6Y/6jo0Oczh/mK aWwGs6y98Px9NnSkPkh5pgQLQuOZcfazgcd/zCXgCXg2wU7nGrW44nxi5yumg6XI7LEE 0Jv8D2v9i0WsXhFuauNuPs5d8Ny3a0dwimSgWsOoexZDdigQO+VDUETwlMpU2f5dyhRh oyg4EY60Mkixqo3ycfAXMkxn61fMMn8+Pxoj0LhSne2jIDUxUoJwT9NTDLpEnvp3P/An Sjcw== X-Gm-Message-State: AOAM532Gu0wH4azUfrR0P+lWiMajBNmTKtW+yUbJPBZeRyCgu1/v/uZq YVAgEY6P0by3rDWxmjDo2WC6CHeN+oTDIaTBbgjtPlE+45k= X-Google-Smtp-Source: ABdhPJydsylv910txXe1YVl4v3klHKXbNxxOE9owwHH1ddzHEWOsa9WJyBbli2eoFVEMPpRQPOmXC6g/dyY/MtKLYyY= X-Received: by 2002:a2e:b705:0:b0:250:808a:f7cc with SMTP id j5-20020a2eb705000000b00250808af7ccmr7791265ljo.455.1652612389532; Sun, 15 May 2022 03:59:49 -0700 (PDT) MIME-Version: 1.0 References: <20220510114054.1745-1-ffmpeg@gyani.pro> <165227016292.13099.10758598518855468997@lain> <642f0f54-799f-dbc4-6724-99ef21895ee5@gyani.pro> <165229495558.13099.6133016962596120593@lain> <165233310701.13772.7181300949342123717@lain.red.khirnov.net> <8610a488-abe4-0a47-8fb4-c91586ccb972@gyani.pro> <165234355258.13772.6037658931088728018@lain.red.khirnov.net> In-Reply-To: <165234355258.13772.6037658931088728018@lain.red.khirnov.net> From: =?UTF-8?B?SmFuIEVrc3Ryw7Zt?= Date: Sun, 15 May 2022 13:59:38 +0300 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH] ffmpeg: set user-set rotation for encoded streams too 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: On Thu, May 12, 2022 at 11:19 AM Anton Khirnov wrote: > > Quoting Gyan Doshi (2022-05-12 09:01:31) > > A substitute option for metadata rotate would accept a single rotation > > value. > > If adding an option for matrix, we should allow flips too. > > I see no reason not to have both. You can have a simple option for just > the rotation and an advanced option for specifying full matrix. > FYI I had thought about arguments-to-side data earlier, and as I saw this thread I decided to make a proof-of-concept that has one layer which constructs an AVBufferRef of the side data itself based on an AVDictionary (constructor, basically), and then another which then goes over type-arguments sort of dictionary and attaches things (to an AVFrame in this case). AVPacket and AVFrame side data is slightly different, so I guess you'd have to split one layer which generates an AVBufferRef, and then that'd be utilized (discarded or not) by the utilizing function. I do wonder if AVOptions wouldn't be better for something like this, but at least it lets you play around with the idea. My initial API user ended up being the setparams filter. Link to PoC branch: https://github.com/jeeb/ffmpeg/commits/arguments_to_side_data Usage example: ffmpeg -v verbose -i INPUT -map 0:v:0 -vf setparams=side_data=displaymatrix=angle=34.34,showinfo -vframes 1 -f null - In theory av_frame_side_data_name could be utilized for side data naming, but in that case it would be "3x3 displaymatrix=angle=34.34", which is why I - unfortunately - decided not to utilize it at first. Jan _______________________________________________ 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".