From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 562A44C117 for ; Fri, 23 May 2025 11:55:50 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id B9B9B68DF0F; Fri, 23 May 2025 14:55:46 +0300 (EEST) Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E014068D9EC for ; Fri, 23 May 2025 14:55:40 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 0184643ADA for ; Fri, 23 May 2025 11:55:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1748001340; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=7L1n2QkwHprIsUQzWUAT6USndgQwHUal1lEXPRlQydg=; b=G2ArbWgLtIDrH+eDn1eu03yNPTI7e/HgODOXNfto/IgCqBDCRtqizisg7s9MJ5EEU8WI9R mkhnVqEO0PujBa1V6XAGVdt5DcTzxDsIbcoY796lDG3XnLCRzCtWUV9kYQ4zc4JopiE6kp CJQlBjsozWbSlTEf7H0M9fZRVpzddKYgJse9RJjUHtxZ3KKuT4bcy0ReTx65sRIvAHdhr8 w8Vxug8MY6NskgDXeBlN+aoF5lX/Wh2aVk6wkW+5cdMMhNni5NbddpdnD8v0GeBWimud6/ gu2EF69BMlTl+mxpikDoV36JhGqk5XaaOMc4cKyauyQdO+Q6LC2zr8BVxhvp3A== Date: Fri, 23 May 2025 13:55:38 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20250523115538.GZ29660@pb2> References: <20250523004559.GU29660@pb2> <20250523005716.GV29660@pb2> <40377d44-4323-4427-9455-076c983cceda@mail.infomaniak.com> MIME-Version: 1.0 In-Reply-To: <40377d44-4323-4427-9455-076c983cceda@mail.infomaniak.com> X-GND-State: clean X-GND-Score: -85 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdekjeelucdltddurdegfedvrddttddmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenfghrlhcuvffnffculdduhedmnecujfgurhepfffhvffukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpefoihgthhgrvghlucfpihgvuggvrhhmrgihvghruceomhhitghhrggvlhesnhhivgguvghrmhgrhigvrhdrtggtqeenucggtffrrghtthgvrhhnpeelkeeggfffiedufeejueffjeduhedttdduledtheevveevtdeiueelhfdtuedtkeenucfkphepgedurdeiiedrieejrdduudefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepgedurdeiiedrieejrdduudefpdhhvghloheplhhotggrlhhhohhsthdpmhgrihhlfhhrohhmpehmihgthhgrvghlsehnihgvuggvrhhmrgihvghrrdgttgdpnhgspghrtghpthhtohepuddprhgtphhtthhopehffhhmphgvghdquggvvhgvlhesfhhfmhhpvghgrdhorhhg X-GND-Sasl: michael@niedermayer.cc Subject: Re: [FFmpeg-devel] [FEATURE PROPOSAL] Extracting codec-level data to binary files 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: multipart/mixed; boundary="===============2923981592007597926==" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: --===============2923981592007597926== Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="CidtvoxM148pMpWF" Content-Disposition: inline --CidtvoxM148pMpWF Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, May 23, 2025 at 11:33:40AM +0200, Timoth=C3=A9e wrote: > On 2025-05-23T02:57:36.000+02:00, Michael Niedermayer > wrote: >=20 > >=C2=A0On=C2=A0Fri,=C2=A0May=C2=A023,=C2=A02025=C2=A0at=C2=A002:45:59AM= =C2=A0+0200,=C2=A0Michael=C2=A0Niedermayer=C2=A0wrote: > >=C2=A0 > >>=C2=A0=C2=A0Hi=C2=A0Ronald=C2=A0On=C2=A0Thu,=C2=A0May=C2=A022,=C2=A0202= 5=C2=A0at=C2=A007:59:06AM=C2=A0-0400,=C2=A0Ronald=C2=A0S. > >>=C2=A0=C2=A0Bultje=C2=A0wrote:=C2=A0 > >>=C2=A0=C2=A0 > >>>=C2=A0=C2=A0=C2=A0Hi,=C2=A0On=C2=A0Wed,=C2=A0May=C2=A021,=C2=A02025=C2= =A0at=C2=A09:34=C2=A0AM=C2=A0Timoth=C3=A9e=C2=A0< > >>>=C2=A0=C2=A0=C2=A0timothee.informatique@regaud-chapuy.fr>=C2=A0wrote:= =C2=A0 > >>>=C2=A0=C2=A0=C2=A0 > >>>>=C2=A0=C2=A0=C2=A0=C2=A0Hello,=C2=A0I=C2=A0am=C2=A0interested=C2=A0in= =C2=A0expanding=C2=A0ffmpeg's=C2=A0capabilities=C2=A0to > >>>>=C2=A0=C2=A0=C2=A0=C2=A0extract=C2=A0low-level=C2=A0data=C2=A0from=C2= =A0video=C2=A0codecs.=C2=A0Specifically,=C2=A0I'd > >>>>=C2=A0=C2=A0=C2=A0=C2=A0like=C2=A0to=C2=A0implement=C2=A0functionalit= y=C2=A0that=C2=A0would=C2=A0allow=C2=A0exporting > >>>>=C2=A0=C2=A0=C2=A0=C2=A0frame=C2=A0data,=C2=A0macroblock=C2=A0informa= tion,=C2=A0quantization=C2=A0tables,=C2=A0and > >>>>=C2=A0=C2=A0=C2=A0=C2=A0similar=C2=A0codec-specific=C2=A0elements=C2= =A0to=C2=A0binary=C2=A0files=C2=A0for=C2=A0further > >>>>=C2=A0=C2=A0=C2=A0=C2=A0analysis.=C2=A0After=C2=A0searching=C2=A0thro= ugh=C2=A0the=C2=A0documentation=C2=A0and > >>>>=C2=A0=C2=A0=C2=A0=C2=A0existing=C2=A0features,=C2=A0I=C2=A0haven't= =C2=A0found=C2=A0similar=C2=A0functionality, > >>>>=C2=A0=C2=A0=C2=A0=C2=A0though=C2=A0I=C2=A0may=C2=A0have=C2=A0missed= =C2=A0something.=C2=A0Has=C2=A0this=C2=A0been=C2=A0implemented > >>>>=C2=A0=C2=A0=C2=A0=C2=A0before,=C2=A0or=C2=A0are=C2=A0there=C2=A0rela= ted=C2=A0features=C2=A0I=C2=A0should=C2=A0examine? > >>>=C2=A0=C2=A0=C2=A0 > >>>=C2=A0=C2=A0=C2=A0=C2=A0Some=C2=A0older=C2=A0codecs=C2=A0implement=C2= =A0minor=C2=A0variants=C2=A0for=C2=A0this,=C2=A0e.g.=C2=A0grep > >>>=C2=A0=C2=A0=C2=A0for=C2=A0AV_FRAME_DATA_MOTION_VECTORS,=C2=A0which=C2= =A0attaches=C2=A0a=C2=A0frame's > >>>=C2=A0=C2=A0=C2=A0motion=C2=A0vectors=C2=A0to=C2=A0the=C2=A0picture=C2= =A0data.=C2=A0I=C2=A0believe=C2=A0there's=C2=A0an=C2=A0example > >>>=C2=A0=C2=A0=C2=A0app=C2=A0and=C2=A0possibly=C2=A0a=C2=A0filter=C2=A0t= o=C2=A0overlay=C2=A0MVs=C2=A0on=C2=A0top=C2=A0of=C2=A0the=C2=A0video > >>>=C2=A0=C2=A0=C2=A0frame=C2=A0based=C2=A0on=C2=A0this=C2=A0concept.=C2= =A0You=C2=A0could=C2=A0extend=C2=A0this=C2=A0to=C2=A0cover > >>>=C2=A0=C2=A0=C2=A0other=C2=A0(macro)block=C2=A0info.=C2=A0There=C2=A0u= sed=C2=A0to=C2=A0be=C2=A0a=C2=A0variant=C2=A0of=C2=A0this=C2=A0for > >>>=C2=A0=C2=A0=C2=A0quant-tables=C2=A0also=C2=A0but=C2=A0I=C2=A0can't=C2= =A0find=C2=A0it,=C2=A0maybe=C2=A0it=C2=A0was=C2=A0removed. > >>=C2=A0=C2=A0 > >>=C2=A0=C2=A0=C2=A0For=C2=A0motion=C2=A0vectors:=C2=A0./ffplay=C2=A0-fla= gs2=C2=A0+export_mvs=C2=A0-i > >>=C2=A0=C2=A0matrixbench_mpeg2.mpg=C2=A0-vf=C2=A0codecview=3Dmv=3Dpf+bf+= bb=C2=A0For=C2=A0macroblock > >>=C2=A0=C2=A0segmentation=C2=A0and=C2=A0type=C2=A0vissualization=C2=A0+= =C2=A0also=C2=A0motion=C2=A0vectors: > >>=C2=A0=C2=A0ffplay-3.4.13=C2=A0-debug=C2=A0vis_mb_type=C2=A0matrixbench= _mpeg2.mpg=C2=A0-vf > >>=C2=A0=C2=A0codecview=3Dmv=3Dpf+bf+bb=C2=A0For=C2=A0QP=C2=A0vissualizat= ion=C2=A0+=C2=A0also=C2=A0motion=C2=A0vectors: > >>=C2=A0=C2=A0ffplay-3.4.13=C2=A0-debug=C2=A0vis_qp=C2=A0matrixbench_mpeg= 2.mpg=C2=A0-vf > >>=C2=A0=C2=A0codecview=3Dmv=3Dpf+bf+bb=C2=A0For=C2=A0qp=C2=A0values=C2= =A0dumped=C2=A0on=C2=A0the=C2=A0console=C2=A0./ffplay > >>=C2=A0=C2=A0-debug=C2=A0qp=C2=A0-i=C2=A0matrixbench_mpeg2.mpg > >=C2=A0 > >=C2=A0=C2=A0And=C2=A0this=C2=A0can=C2=A0easily=C2=A0be=C2=A0extended=C2= =A0to=C2=A0other=C2=A0codecs,=C2=A0ATM=C2=A0it=C2=A0should=C2=A0work > >=C2=A0with=C2=A0all=C2=A016x16=C2=A0MB=C2=A0based=C2=A0codecs=C2=A0like > >=C2=A0msmpeg4*/wmv*/mpeg1/2/4/h263/h264=C2=A0mbtype=C2=A0and=C2=A0qp=C2= =A0vissualization=C2=A0need > >=C2=A0codecview=C2=A0to=C2=A0be=C2=A0extended=C2=A0or=C2=A0versions=C2= =A0around=C2=A03.4=C2=A0which=C2=A0implemented=C2=A0it > >=C2=A0differently=C2=A0Implementing=C2=A0vissualization=C2=A0as=C2=A0don= e=C2=A0currently=C2=A0with > >=C2=A0sidedata=C2=A0and=C2=A0codecview=C2=A0is=C2=A0simple=C2=A0and=C2= =A0efficient.=C2=A0It=C2=A0also=C2=A0would=C2=A0allow > >=C2=A0exporting=C2=A0the=C2=A0data=C2=A0to=C2=A0json=C2=A0by=C2=A0writin= g=C2=A0a=C2=A0codec2json=C2=A0filter=C2=A0in=C2=A0place > >=C2=A0of=C2=A0codecview=C2=A0Also=C2=A0all=C2=A0decoders=C2=A0already=C2= =A0have=C2=A0all=C2=A0this=C2=A0data=C2=A0parsed=C2=A0and > >=C2=A0available=C2=A0so=C2=A0its=C2=A0simpler=C2=A0than=C2=A0trying=C2= =A0to=C2=A0do=C2=A0it=C2=A0in=C2=A0a=C2=A0decoder > >=C2=A0independant=C2=A0way=C2=A0I=C2=A0would=C2=A0thus=C2=A0suggest=C2= =A0implementations=C2=A0of=C2=A0this=C2=A0for > >=C2=A0modern=C2=A0codecs=C2=A0to=C2=A0follow=C2=A0the=C2=A0same=C2=A0pat= h=C2=A0as=C2=A0the=C2=A0existing=C2=A0code.=C2=A0thx >=20 > Thanks for the helpful pointers! >=20 > I will work on the codec2json filter. >=20 > Looking at the code, I see where I can access sidedata but extracting > qb table seems to fail. (in codecview.c l.233: ff_qp_table_extract() > return 0 and qp_table is empty) (I use ./ffmpeg -flags2 +export_mvs -i > input.mp4 -vf codecview=3Dqp=3D1 output.mp4 -y) >=20 > Is is qp extraction not implemented yet? Or is it because I have h264 > video? If it's not implemented, I'm curious why there=E2=80=99s already c= ode > that appears to handle it. look at ff_print_debug_info2() theres probably something missing The QP and MB type code was changed from being inside arrays of pictures to sidedata. Something likely was lost/forgotten in the process -debug qp works with h264 so likely teh export into sidedata is not fully implemented thx [...] --=20 Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB "Nothing to hide" only works if the folks in power share the values of you and everyone you know entirely and always will -- Tom Scott --CidtvoxM148pMpWF Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABEKAB0WIQSf8hKLFH72cwut8TNhHseHBAsPqwUCaDBiNgAKCRBhHseHBAsP q5iWAJoC0VO5RHGtFrW91PFSVFORCZBCwACfQIljp8wvclP2JkpvxSekQlklFg8= =Gb9I -----END PGP SIGNATURE----- --CidtvoxM148pMpWF-- --===============2923981592007597926== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ 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". --===============2923981592007597926==--