Opened 9 years ago
Last modified 5 years ago
#1178 reopened defect
tiff enc: visible green dots with odd width and -pix_fmt yuv410p
Reported by: | ami_stuff | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avcodec |
Version: | git-master | Keywords: | tif |
Cc: | khali | Blocked By: | |
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
not reproducible with -vcodec ffv1 / rawvideo / svq1
C:\>ffmpeg -i yuv410p.avi out.tif ffmpeg version N-39492-gae3ee72 Copyright (c) 2000-2012 the FFmpeg developers built on Apr 4 2012 02:19:52 with gcc 4.5.0 20100414 (Fedora MinGW 4.5.0-1.fc 14) configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch= x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect --enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 - lwinmm' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapshots/buil d/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/snapshots/b uild/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 --enable-n onfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-libopencor e-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx libavutil 51. 44.100 / 51. 44.100 libavcodec 54. 12.100 / 54. 12.100 libavformat 54. 3.100 / 54. 3.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 66.101 / 2. 66.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 10.100 / 0. 10.100 libpostproc 52. 0.100 / 52. 0.100 Input #0, avi, from 'yuv410p.avi': Metadata: encoder : Lavf54.3.100 Duration: 00:00:00.04, start: 0.000000, bitrate: 9856 kb/s Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv410p, 323x240, 25 tbr, 25 t bn, 25 tbc [buffer @ 0x1db1b20] w:323 h:240 pixfmt:yuv410p tb:1/1000000 sar:0/1 sws_param:f lags=2 Output #0, image2, to 'out.tif': Metadata: encoder : Lavf54.3.100 Stream #0:0: Video: tiff, yuv410p, 323x240, q=2-31, 200 kb/s, 90k tbn, 25 tb c Stream mapping: Stream #0:0 -> #0:0 (ffv1 -> tiff) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.04 bitrate= 0.0kbits/ s video:86kB audio:0kB global headers:0kB muxing overhead -100.000000%
Attachments (4)
Change History (17)
Changed 9 years ago by ami_stuff
comment:1 Changed 9 years ago by cehoyos
comment:2 Changed 9 years ago by ami_stuff
I get the same result with my old ffmpeg's build and build from the net (9 april) - tested with ImageMagick and IrfanView?.
C:\>ffmpeg -i yuv410p.avi out.tif ffmpeg version N-39645-gc311afc Copyright (c) 2000-2012 the FFmpeg developers built on Apr 9 2012 02:36:41 with gcc 4.5.0 20100414 (Fedora MinGW 4.5.0-1.fc 14) configuration: --prefix=/var/www/users/research/ffmpeg/snapshots/build --arch= x86 --target-os=mingw32 --cross-prefix=i686-pc-mingw32- --cc='ccache i686-pc-min gw32-gcc' --enable-w32threads --enable-memalign-hack --enable-runtime-cpudetect --enable-cross-compile --enable-static --disable-shared --extra-libs='-lws2_32 - lwinmm' --extra-cflags='--static -I/var/www/users/research/ffmpeg/snapshots/buil d/include' --extra-ldflags='-static -L/var/www/users/research/ffmpeg/snapshots/b uild/lib' --enable-bzlib --enable-zlib --enable-gpl --enable-version3 --enable-n onfree --enable-libx264 --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libfaac --enable-libxvid --enable-libopencore-amrnb --enable-libopencor e-amrwb --enable-libmp3lame --enable-libvpx --disable-decoder=libvpx libavutil 51. 45.100 / 51. 45.100 libavcodec 54. 14.100 / 54. 14.100 libavformat 54. 3.100 / 54. 3.100 libavdevice 53. 4.100 / 53. 4.100 libavfilter 2. 67.101 / 2. 67.101 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 10.100 / 0. 10.100 libpostproc 52. 0.100 / 52. 0.100 Input #0, avi, from 'yuv410p.avi': Metadata: encoder : Lavf54.3.100 Duration: 00:00:00.04, start: 0.000000, bitrate: 9856 kb/s Stream #0:0: Video: ffv1 (FFV1 / 0x31564646), yuv410p, 323x240, 25 tbr, 25 t bn, 25 tbc [buffer @ 0x1dc1c80] w:323 h:240 pixfmt:yuv410p tb:1/1000000 sar:0/1 sws_param:f lags=2 Output #0, image2, to 'out.tif': Metadata: encoder : Lavf54.3.100 Stream #0:0: Video: tiff, yuv410p, 323x240, q=2-31, 200 kb/s, 90k tbn, 25 tb c Stream mapping: Stream #0:0 -> #0:0 (ffv1 -> tiff) Press [q] to stop, [?] for help frame= 1 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.04 bitrate= 0.0kbits/ s video:86kB audio:0kB global headers:0kB muxing overhead -100.000000%
Changed 9 years ago by ami_stuff
comment:3 Changed 9 years ago by ami_stuff
output attached
comment:4 follow-up: ↓ 5 Changed 9 years ago by cehoyos
out.tif looks fine with current ImageMagick (I tested 6.5.4-8 and 6.7.6-4) and an old Gimp version (2.6.8).
How does the result of convert out.tif out.png look for you?
Changed 9 years ago by ami_stuff
comment:5 in reply to: ↑ 4 Changed 9 years ago by ami_stuff
Replying to cehoyos:
out.tif looks fine with current ImageMagick (I tested 6.5.4-8 and 6.7.6-4) and an old Gimp version (2.6.8).
How does the result of convert out.tif out.png look for you?
Output attached (version 6.7.6-5).
comment:6 Changed 9 years ago by cehoyos
- Resolution set to worksforme
- Status changed from new to closed
I get a bit-identical out.tif with FFmpeg and out.tif looks fine with Gimp, ImageMagick and Okular, so I assume there is no FFmpeg-bug.
(I get a different, correct result with convert out.tif out.png)
comment:7 Changed 6 years ago by ami_stuff
It's really interesting why I get these dots and you don't.
Changed 6 years ago by ami_stuff
comment:8 Changed 6 years ago by cehoyos
- Component changed from undetermined to avcodec
- Keywords tif added
- Reproduced by developer set
- Resolution worksforme deleted
- Status changed from closed to reopened
- Version changed from unspecified to git-master
If I knew on which computer I originally tested...
comment:9 Changed 6 years ago by richardpl
I assume we lavc is correct and all others are broken.
comment:10 follow-up: ↓ 11 Changed 5 years ago by khali
- Cc jdelvare@suse.de added
I am seeing a similar issue. The following command generates a file with some green in the bottom right hand side corner, instead of the expected white:
% ffmpeg -f lavfi -i "color=color=white:size=20x20" -frames:v 1 -vf "format=yuv410p" -f image2 20x20_yuv410p.tiff
Note that 20 isn't odd, it's even a multiple of 4, which should be yuv410p-friendly. The bug also shows up for 18x18, 19x19 and 21x21, but not 17x17 nor 22x22. It doesn't show up when writing to JPEG instead of TIFF. It doesn't show up with format=yuv411p.
The green spot shows up with eog, evince, gimp and "display". When opening the suspect TIFF files with evince, gimp or "display", they complain with: "discarding 8 bytes to avoid buffer overrun." I suppose that the discarded bytes are creating the corruption.
comment:11 in reply to: ↑ 10 Changed 5 years ago by cehoyos
- Cc khali added
Replying to khali:
I am seeing a similar issue.
(Is it possible that you did not test the sample attached here?)
This issue is about libavcodec encoding yuv410p input to tiff and ImageMagick and FFmpeg disagreeing on how to display / encode the rightmost pixels if the tiff file has odd width (and gimp agreeing with ImageMagick). It is only related to a specific part of the tiff specification (and its interpretation) afaict.
The issue you just reported is related to libswscale (and unrelated to tiff apart from the fact that it is easier to reproduce with tiff input).
comment:12 Changed 5 years ago by khali
- Cc jdelvare@suse.de removed
comment:13 Changed 5 years ago by cehoyos
Also reproducible with tiff2rgba from libtiff v4.0.6.
Works fine here, could you test with ImageMagick / Gimp or attach out.tif?