#11182: yuvtestsrc and yuv444p->rgba->yuv444p conversion result in huge
difference
-------------------------------------+-------------------------------------
Reporter: Andrew-R | Owner: (none)
Type: defect | Status: closed
Priority: normal | Component: swscale
Version: unspecified | Resolution: invalid
Keywords: colorspace | Blocked By:
color_primaries |
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Comment (by Andrew-R):
using this command
{{{
ffmpeg -f lavfi -color_range 2 -i yuvtestsrc=s=640x480 -color_range 2
-frames 2 /dev/shm/yuv-pc-yuv444.y4m
}}}
and checking result with YUviewer I see that ffmpeg 4.4.5 and git behave
differently on -vf format=rgba action :}
{{{
ffmpeg -color_range 2 -i /dev/shm/yuv-pc-yuv444.y4m -vf format=rgba
-color_range 2 -frames 2 -pix_fmt yuv444p /dev/shm/yuv-pc-rgba-yuv444.y4m
ffmpeg version 4.4.5 Copyright (c) 2000-2024 the FFmpeg developers
built with gcc 11.2.0 (GCC)
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib
--docdir=/usr/doc/ffmpeg-4.4.5/html --mandir=/usr/man --disable-debug
--enable-shared --disable-static --enable-gpl --enable-version3 --enable-
avresample --arch=i586 --enable-libfontconfig --enable-libfreetype
--enable-libfribidi --enable-gnutls --enable-libass --enable-libbluray
--enable-libcdio --enable-frei0r --enable-libgsm --enable-openal --enable-
libopus --enable-librtmp --enable-libsnappy --enable-libspeex --enable-
libssh --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-
libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
libx264 --enable-libx265 --enable-libxvid --enable-libmp3lame --enable-
opencl --enable-opengl --enable-libopenjpeg --disable-libpulse --enable-
libsmbclient --enable-libsvtav1 --enable-libxml2 --enable-librsvg
--enable-libdrm --enable-libaom --enable-libdav1d --enable-libsoxr
--enable-libzimg --enable-vapoursynth
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Input #0, yuv4mpegpipe, from '/dev/shm/yuv-pc-yuv444.y4m':
Duration: 00:00:00.08, start: 0.000000, bitrate: 184327 kb/s
Stream #0:0: Video: rawvideo (444P / 0x50343434), yuv444p(pc,
progressive), 640x480, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 25 tbn, 25 tbc
File '/dev/shm/yuv-pc-rgba-yuv444.y4m' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
Output #0, yuv4mpegpipe, to '/dev/shm/yuv-pc-rgba-yuv444.y4m':
Metadata:
encoder : Lavf58.76.100
Stream #0:0: Video: wrapped_avframe, yuv444p(pc, progressive), 640x480
[SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc58.134.100 wrapped_avframe
frame= 2 fps=0.0 q=-0.0 Lsize= 1800kB time=00:00:00.08
bitrate=184327.9kbits/s speed=3.97x
video:1kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 232637.250000%
bash-5.1$ /dev/shm/bin/ffmpeg -color_range 2 -i /dev/shm/yuv-pc-yuv444.y4m
-vf format=rgba -color_range 2 -frames 2 -pix_fmt yuv444p /dev/shm/yuv-
pc-rgba-yuv444.y4m
ffmpeg version N-115867-g3f84d1d1fb Copyright (c) 2000-2024 the FFmpeg
developers
built with gcc 11.2.0 (GCC)
configuration: --disable-debug
libavutil 59. 36.100 / 59. 36.100
libavcodec 61. 13.100 / 61. 13.100
libavformat 61. 5.101 / 61. 5.101
libavdevice 61. 2.101 / 61. 2.101
libavfilter 10. 2.102 / 10. 2.102
libswscale 8. 2.100 / 8. 2.100
libswresample 5. 2.100 / 5. 2.100
Input #0, yuv4mpegpipe, from '/dev/shm/yuv-pc-yuv444.y4m':
Duration: 00:00:00.08, start: 0.000000, bitrate: 184327 kb/s
Stream #0:0: Video: rawvideo (444P / 0x50343434), yuv444p(pc,
progressive), 640x480, SAR 1:1 DAR 4:3, 25 fps, 25 tbr, 25 tbn
File '/dev/shm/yuv-pc-rgba-yuv444.y4m' already exists. Overwrite? [y/N] y
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native))
Press [q] to stop, [?] for help
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
luma range from limited to full, srcrange 0 dstrange = 1
Output #0, yuv4mpegpipe, to '/dev/shm/yuv-pc-rgba-yuv444.y4m':
Metadata:
encoder : Lavf61.5.101
Stream #0:0: Video: wrapped_avframe, yuv444p(pc, progressive), 640x480
[SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn
Metadata:
encoder : Lavc61.13.100 wrapped_avframe
[out#0/yuv4mpegpipe @ 0xb9fc700] video:1KiB audio:0KiB subtitle:0KiB other
streams:0KiB global headers:0KiB muxing overhead: 299133.603896%
frame= 2 fps=0.0 q=-0.0 Lsize= 1800KiB time=00:00:00.08
bitrate=184327.9kbits/s speed=3.84x
}}}
4.4.5 makes file that never clearly subtracts on any stripe, ffmpeg git
makes file where Y subtract fully, but UV planes still not subtractable at
the edges ...
so, ffmpeg git is closer to that I think it should do, and I better NOT to
try this with 4.4.5 I recompiled on Slackware 15.0 just recently.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11182#comment:40>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
_______________________________________________
FFmpeg-trac mailing list
FFmpeg-trac@avcodec.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac
To unsubscribe, visit link above, or email
ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".