Opened 12 years ago
Closed 12 years ago
#2633 closed defect (fixed)
dpx display errors
Reported by: | mcinquin | Owned by: | Carl Eugen Hoyos |
---|---|---|---|
Priority: | important | Component: | swscale |
Version: | git-master | Keywords: | dpx regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug: commit 5cc5d9d5f7ea2231490d11cf2a28350ebb3f06ab introduces small errors in reading DPX.
How to reproduce:
- download http://motion.kodak.com/motion/uploadedFiles/Digital_LAD_dpx.zip
- ffmpeg -i Digital_LAD_2048x1556.dpx lad.tif
- compare the two in DJV, Photoshop or whatever. The 445, 445, 445 square has been transformed by FFmpeg into 450, 445, 451
Bug was introduced by commit 5cc5d9d5f7ea2231490d11cf2a28350ebb3f06ab ; I was able to reproduce it on Mac 10.8 & 10.7, and on Debian Squeeze
Checking out commit just before the bad commit makes the error go away.
It can seem like a small error, but when you feed the image to a 3D Lut now that FFmpeg supports it, the error is multiplied and the colors become way off.
Change History (5)
comment:1 by , 12 years ago
Component: | undetermined → avcodec |
---|---|
Keywords: | dpx regression added |
Priority: | normal → important |
Version: | unspecified → git-master |
comment:2 by , 12 years ago
Component: | avcodec → swscale |
---|---|
Owner: | set to |
Status: | new → open |
From a user's perspective, this is a lavc regression, but the problem is in libswscale, I will post a patch tomorrow.
comment:3 by , 12 years ago
Of course I should have posted complete command line first.
"broken" dpx handling :
root@108:~/ffmpeg# ./ffmpeg -v debug -i ~/Digital_LAD_2048x1556.dpx ~/laddebian.tif ffmpeg version N-53813-ge4bf3a9 Copyright (c) 2000-2013 the FFmpeg developers built on Jun 4 2013 08:57:51 with gcc 4.4.5 (Debian 4.4.5-8) configuration: libavutil 52. 34.100 / 52. 34.100 libavcodec 55. 15.100 / 55. 15.100 libavformat 55. 8.102 / 55. 8.102 libavdevice 55. 2.100 / 55. 2.100 libavfilter 3. 74.101 / 3. 74.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 Splitting the commandline. Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'. Reading option '-i' ... matched as input file with argument '/root/Digital_LAD_2048x1556.dpx'. Reading option '/root/laddebian.tif' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option v (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input file /root/Digital_LAD_2048x1556.dpx. Successfully parsed a group of options. Opening an input file: /root/Digital_LAD_2048x1556.dpx. [AVIOContext @ 0xa4e0c60] Statistics: 12779008 bytes read, 0 seeks [image2 @ 0xa4dfca0] Probe buffer size limit of 5000000 bytes reached [image2 @ 0xa4dfca0] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, image2, from '/root/Digital_LAD_2048x1556.dpx': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0, 1, 1/25: Video: dpx, gbrp10le, 2048x1556 [SAR 1:1 DAR 512:389], 1/25, 25 tbr, 25 tbn, 25 tbc Successfully opened the file. Parsing a group of options: output file /root/laddebian.tif. Successfully parsed a group of options. Opening an output file: /root/laddebian.tif. File '/root/laddebian.tif' already exists. Overwrite ? [y/N] y Successfully opened the file. detected 4 logical cores [graph 0 input from stream 0:0 @ 0xa4e10a0] Setting 'video_size' to value '2048x1556' [graph 0 input from stream 0:0 @ 0xa4e10a0] Setting 'pix_fmt' to value '86' [graph 0 input from stream 0:0 @ 0xa4e10a0] Setting 'time_base' to value '1/25' [graph 0 input from stream 0:0 @ 0xa4e10a0] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 0xa4e10a0] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 0xa4e10a0] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0xa4e10a0] w:2048 h:1556 pixfmt:gbrp10le tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2 [format @ 0xa4ce1e0] compat: called with args=[rgb24|pal8|gray|gray8a|gray16le|monob|monow|yuv420p|yuv422p|yuv440p|yuv444p|yuv410p|yuv411p|rgb48le|rgba|rgba64le] [format @ 0xa4ce1e0] Setting 'pix_fmts' to value 'rgb24|pal8|gray|gray8a|gray16le|monob|monow|yuv420p|yuv422p|yuv440p|yuv444p|yuv410p|yuv411p|rgb48le|rgba|rgba64le' [auto-inserted scaler 0 @ 0xa4ce980] Setting 'flags' to value '0x4' [auto-inserted scaler 0 @ 0xa4ce980] w:iw h:ih flags:'0x4' interl:0 [format @ 0xa4ce1e0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_null_0' and the filter 'format' [AVFilterGraph @ 0xa4d3e60] query_formats: 4 queried, 3 merged, 1 already done, 0 delayed [auto-inserted scaler 0 @ 0xa4ce980] picking rgb48le out of 15 ref:gbrp10le alpha:0 [auto-inserted scaler 0 @ 0xa4ce980] w:2048 h:1556 fmt:gbrp10le sar:1/1 -> w:2048 h:1556 fmt:rgb48le sar:1/1 flags:0x4 Output #0, image2, to '/root/laddebian.tif': Metadata: encoder : Lavf55.8.102 Stream #0:0, 0, 1/90000: Video: tiff, rgb48le, 2048x1556 [SAR 1:1 DAR 512:389], 1/25, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (dpx -> tiff) Press [q] to stop, [?] for help [AVIOContext @ 0xa4ce2e0] Statistics: 0 seeks, 589 writeouts EOF on sink link output stream 0:0:default.00:00.04 bitrate=N/A No more output streams to write to, finishing. frame= 1 fps=0.0 q=0.0 Lsize=N/A time=00:00:00.04 bitrate=N/A video:18823kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000114% 1 frames successfully decoded, 0 decoding errors root@108:~/ffmpeg#
Correct dpx handling :
root@108:~/ffmpeg# git checkout 99f50907143b096009682481ba4c5129ab65149e ; git clean -x -d -f ; ./configure && make root@108:~/ffmpeg# ./ffmpeg -v debug -i ~/Digital_LAD_2048x1556.dpx ~/laddebian.tif ffmpeg version N-43935-g99f5090 Copyright (c) 2000-2012 the FFmpeg developers built on Jun 4 2013 09:18:49 with gcc 4.4.5 (Debian 4.4.5-8) configuration: libavutil 51. 70.100 / 51. 70.100 libavcodec 54. 54.100 / 54. 54.100 libavformat 54. 25.104 / 54. 25.104 libavdevice 54. 2.100 / 54. 2.100 libavfilter 3. 13.101 / 3. 13.101 libswscale 2. 1.101 / 2. 1.101 libswresample 0. 15.100 / 0. 15.100 [AVIOContext @ 0x9fd6f80] Statistics: 12779008 bytes read, 0 seeks [image2 @ 0x9fd0500] Probe buffer size limit 5000000 reached [image2 @ 0x9fd0500] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, image2, from '/root/Digital_LAD_2048x1556.dpx': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0, 1, 1/25: Video: dpx, rgb48le, 2048x1556 [SAR 1:1 DAR 512:389], 1/25, 25 tbr, 25 tbn, 25 tbc [buffer @ 0x9fcf440] Setting entry with key 'video_size' to value '2048x1556' [buffer @ 0x9fcf440] Setting entry with key 'pix_fmt' to value '42' [buffer @ 0x9fcf440] Setting entry with key 'time_base' to value '1/25' [buffer @ 0x9fcf440] Setting entry with key 'pixel_aspect' to value '1/1' [buffer @ 0x9fcf440] Setting entry with key 'sws_param' to value 'flags=2' [buffer @ 0x9fcf440] Setting entry with key 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 0x9fcf880] w:2048 h:1556 pixfmt:rgb48le tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2 Output #0, image2, to '/root/laddebian.tif': Metadata: encoder : Lavf54.25.104 Stream #0:0, 0, 1/90000: Video: tiff, rgb48le, 2048x1556 [SAR 1:1 DAR 512:389], 1/25, q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (dpx -> tiff) Press [q] to stop, [?] for help [output stream 0:0 @ 0x9fd0460] EOF on sink link output stream 0:0:default. No more output streams to write to, finishing. frame= 1 fps=0.0 q=0.0 Lsize= 0kB time=00:00:00.04 bitrate= 0.0kbits/s video:14463kB audio:0kB subtitle:0 global headers:0kB muxing overhead -100.000000%
comment:4 by , 12 years ago
Could you test if the patch fixes your issue?
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/164614
comment:5 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
This should be fixed, thank you for testing!
Please add your failing command line together with the complete, uncut console output to make this a valid ticket.