[FFmpeg-devel] [PATCH 3/7] swscale/output: add XV48 output support

Michael Niedermayer michael at niedermayer.cc
Sat Nov 2 02:09:00 EET 2024


On Thu, Oct 31, 2024 at 04:13:38PM -0300, James Almer wrote:
> On 10/31/2024 3:34 PM, Michael Niedermayer wrote:
> > On Tue, Oct 29, 2024 at 04:50:47PM -0300, James Almer wrote:
> > > On 10/29/2024 4:29 PM, Michael Niedermayer wrote:
> > > > On Tue, Oct 29, 2024 at 01:03:21PM +0100, Michael Niedermayer wrote:
> > > > > On Fri, Oct 25, 2024 at 07:56:29PM -0300, James Almer wrote:
> > > > > > On 10/25/2024 7:18 PM, Michael Niedermayer wrote:
> > > > > > > On Wed, Oct 23, 2024 at 04:36:44PM -0300, James Almer wrote:
> > > > > > > > Signed-off-by: James Almer <jamrial at gmail.com>
> > > > > > > > ---
> > > > > > > >     libswscale/output.c                      | 37 +++++++++++++++---------
> > > > > > > >     libswscale/utils.c                       |  4 +--
> > > > > > > >     tests/ref/fate/filter-pixdesc-xv48be     |  1 +
> > > > > > > >     tests/ref/fate/filter-pixdesc-xv48le     |  1 +
> > > > > > > >     tests/ref/fate/filter-pixfmts-copy       |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-crop       |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-field      |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-fieldorder |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-hflip      |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-il         |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-null       |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-scale      |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-transpose  |  2 ++
> > > > > > > >     tests/ref/fate/filter-pixfmts-vflip      |  2 ++
> > > > > > > >     14 files changed, 48 insertions(+), 15 deletions(-)
> > > > > > > >     create mode 100644 tests/ref/fate/filter-pixdesc-xv48be
> > > > > > > >     create mode 100644 tests/ref/fate/filter-pixdesc-xv48le
> > > > > > > 
> > > > > > > didnt apply cleanly so no test but LGTM
> > > > > > > 
> > > > > > > thx
> > > > > > 
> > > > > > It was Niklas recent renaming patch. You can try a rebased version in
> > > > > 
> > > > > > https://github.com/jamrial/FFmpeg/commits/pixdesc/
> > > > > 
> > > > > thanks, that helped, swscale patches seem turning stale within the 500ms
> > > > > transit time to the ML
> > > > > 
> > > > > the swscale changes in that branch look good
> > > > > tests seems passing on mingw32/64 linux x86-32/64 and mips
> > > > 
> > > > i had to leave before qemu arm tests finished and of course arm faild :)
> > > > 
> > > > make fate-pixfmt-x2bgr10le fate-pixfmt-x2rgb10le -k
> > > > TEST    pixfmt-x2bgr10le
> > > > --- src/tests/ref/fate/pixfmt-x2bgr10le	2024-10-29 20:26:42.011219228 +0100
> > > > +++ tests/data/fate/pixfmt-x2bgr10le	2024-10-29 20:28:11.519912980 +0100
> > > > @@ -1,2 +1,2 @@
> > > > -028652e885aef68639341bbc8415be57 *tests/data/pixfmt/x2bgr10le.yuv
> > > > +040ceb964e1401b964d72f97c44ca596 *tests/data/pixfmt/x2bgr10le.yuv
> > > >    15206400 tests/data/pixfmt/x2bgr10le.yuv
> > > > Test pixfmt-x2bgr10le failed. Look at tests/data/fate/pixfmt-x2bgr10le.err for details.
> > > > make: *** [src/tests/Makefile:311: fate-pixfmt-x2bgr10le] Error 1
> > > > TEST    pixfmt-x2rgb10le
> > > > --- src/tests/ref/fate/pixfmt-x2rgb10le	2024-10-29 20:26:42.011219228 +0100
> > > > +++ tests/data/fate/pixfmt-x2rgb10le	2024-10-29 20:28:12.371919593 +0100
> > > > @@ -1,2 +1,2 @@
> > > > -028652e885aef68639341bbc8415be57 *tests/data/pixfmt/x2rgb10le.yuv
> > > > +040ceb964e1401b964d72f97c44ca596 *tests/data/pixfmt/x2rgb10le.yuv
> > > >    15206400 tests/data/pixfmt/x2rgb10le.yuv
> > > > Test pixfmt-x2rgb10le failed. Look at tests/data/fate/pixfmt-x2rgb10le.err for details.
> > > > make: *** [src/tests/Makefile:311: fate-pixfmt-x2rgb10le] Error 1
> > > > 
> > > > thx
> > > 
> > > That is a test from a patch i didn't push, so not a problem in git head at
> > > least.
> > > 
> > > Is that a BE arm machine?
> > 
> > no
> > 
> > 
> > > The only thing i can think about is the check in
> > > swscale/output.c for AV_PIX_FMT_X2RGB10, which for that target would become
> > > AV_PIX_FMT_X2RGB10BE, and thus not trigger with this test.
> > > This is IMO wrong because the yuv2packed* pointers are in turn set for both
> > > LE and BE.
> > 
> > arm has some funny behavior with misaligned 32bit access
> > that is IIRC, if you cast a uint8_t * to int *  and it was not an address thats
> > a multiple of 4 and derefernce you can get results that you dont expect IIRC.
> > 
> > if that makes no sense then i dont know, but tell me and ill just
> > retest
> 
> I tried applying the patch adding this test and running it under gcc-ubsan
> and it didn't complain about unaligned accesses, so i don't know what could
> be happening if that target is not BE.

patch doesnt apply anymore but your pixdesc branch worked fine on arm

thx

[...]

-- 
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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20241102/35e48d06/attachment.sig>


More information about the ffmpeg-devel mailing list