#3751(undetermined:new): Identity Hald CLUT Introduces Color Shift
#3751: Identity Hald CLUT Introduces Color Shift -------------------------------------+------------------------------------- Reporter: aguo | Type: defect Status: new | Priority: normal Component: | Version: undetermined | unspecified Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- Hi! I'm having an issue with applying Hald CLUTs to a dpx image sequence. I am trying to use ffmpeg to convert a sequence of dpx film scans in logarithmic colorspace into two quicktime files: one with h264 encoding and one with avid dnxhd encoding. In investigating the problems I've been encountering I realized that using hald cluts with ffmpeg introduced color shifts that are external to the corrections specified by the LUT. Even applying an identity hald clut to an image changes the image despite the fact that the identity clut is meant to not change the input image at all. Our command line/build is: C:\Users\aguo>ffmpeg -i I:\studio\software\release\HaldCLUT\EA0570_bright\ea0570_bg_20140214_1.1659199.dpx -i I:\studio\software\release\HaldCLUT\Identity_level_8.HCLUT_neutral.tga -filter_complex 'haldclut' I:\studio\artists\aguo\neutralIdentityCLUTtest.jpg ffmpeg version N-63548-g6b041cb Copyright (c) 2000-2014 the FFmpeg developers built on May 28 2014 22:01:42 with gcc 4.8.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libcaca --enable- libfreetyp e --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable- libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable- libope njpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable- libsox r --enable-libspeex --enable-libtheora --enable-libtwolame --enable- libvidstab - -enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable- libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable- libxavs --enable-libxvid --enable-decklink --enable-zlib libavutil 52. 87.100 / 52. 87.100 libavcodec 55. 65.100 / 55. 65.100 libavformat 55. 42.100 / 55. 42.100 libavdevice 55. 13.101 / 55. 13.101 libavfilter 4. 5.100 / 4. 5.100 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 19.100 / 0. 19.100 libpostproc 52. 3.100 / 52. 3.100 The same problem happens when we use a jpg as the input. This should not change the input at all but actually ends up introducing a color shift that makes the image significantly more blue. My guess is that the issue is that ffmpeg is trying to guess/assign a colorspace to the Hald CLUT and the colorspace interpretation of the Hald CLUT is changing the CLUT. As the guy who created CLUTs explains, "A HaldClut is not really an image (its only stored in an image file format for convinience), its a lookup table. A lookuptables function is to input some values, in our case a 3 dimentional value (RGB), and then output some values, again 3 values in our case. It doesnt really care where thouse values come from or what they mean they just does a conversion. Depending on what you put in the table you can make any kind of conversion. its just a numbers to numbers conversion" If that is the case, is there a way to disable ffmpeg from trying to assign the CLUT a colorspace? Or if that isn't the issue, why would applying an identity CLUT through ffmpeg change in the input image? We got the Identity CLUT straight from the developer's website here: http://www.quelsolaar.com/files/index.html Any help would be greatly appreciated. Thanks! -- Ticket URL: <https://trac.ffmpeg.org/ticket/3751> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#3751: Identity Hald CLUT Introduces Color Shift -------------------------------------+------------------------------------- Reporter: aguo | Owner: Type: defect | Status: new Priority: normal | Component: Version: unspecified | undetermined Keywords: | Resolution: Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by ubitux): Be careful with the identity LUT of the Hald CLUT; if you got it from quelsolaar.com, it is broken: open it with a random image viewer, and look at the last pixel column on the right. You should see the shift. You can generate a proper identity CLUT with FFmpeg itself. Try to use that instead. -- Ticket URL: <https://trac.ffmpeg.org/ticket/3751#comment:1> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#3751: Identity Hald CLUT Introduces Color Shift -------------------------------------+------------------------------------- Reporter: aguo | Owner: Type: defect | Status: closed Priority: normal | Component: avfilter Version: unspecified | Resolution: Keywords: haldclut | needs_more_info Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Changes (by ubitux): * keywords: => haldclut * resolution: => needs_more_info * status: new => closed * component: undetermined => avfilter -- Ticket URL: <https://trac.ffmpeg.org/ticket/3751#comment:2> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#3751: Identity Hald CLUT Introduces Color Shift -------------------------------------+------------------------------------- Reporter: aguo | Owner: Type: defect | Status: closed Priority: normal | Component: avfilter Version: unspecified | Resolution: Keywords: haldclut | needs_more_info Blocking: | Blocked By: Analyzed by developer: 0 | Reproduced by developer: 0 -------------------------------------+------------------------------------- Comment (by cehoyos): If you want to report a problem with FFmpeg, please provide the command line that doesn't produce the expected output together with the complete, uncut console output. -- Ticket URL: <https://trac.ffmpeg.org/ticket/3751#comment:3> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#3751: Identity Hald CLUT Introduces Color Shift -------------------------------------+------------------------------------ Reporter: aguo | Owner: Type: defect | Status: reopened Priority: normal | Component: avfilter Version: unspecified | Resolution: Keywords: haldclut | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------ Changes (by JohnL): * status: closed => reopened * resolution: needs_more_info => Comment: Regardless of the problems with the quelsolaar.com identity clut, a generated identity HALD CLUT also exhibits the color shift. The following examples shows it is actually swapping the red and blue color channels. {{{ ffmpeg -y -v verbose -i rgb.png -filter_complex haldclutsrc=8[clut],[0][clut]haldclut=shortest=1 output%d.png }}} {{{ ffmpeg version 2.2.3 Copyright (c) 2000-2014 the FFmpeg developers built on Jun 3 2014 06:51:16 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn) configuration: --prefix=/usr/local/Cellar/ffmpeg/2.2.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --enable-vda --cc=clang --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable- libmp3lame --enable-libxvid libavutil 52. 66.100 / 52. 66.100 libavcodec 55. 52.102 / 55. 52.102 libavformat 55. 33.100 / 55. 33.100 libavdevice 55. 10.100 / 55. 10.100 libavfilter 4. 2.100 / 4. 2.100 libavresample 1. 2. 0 / 1. 2. 0 libswscale 2. 5.102 / 2. 5.102 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, image2, from 'rgb.png': Duration: 00:00:00.04, start: 0.000000, bitrate: N/A Stream #0:0: Video: png, rgba, 271x271 [SAR 2834:2834 DAR 1:1], 25 tbr, 25 tbn, 25 tbc [Parsed_haldclutsrc_0 @ 0x7ff05040c0e0] size:0x0 rate:25/1 duration:-1.000000 sar:1/1 [graph 0 input from stream 0:0 @ 0x7ff05040bba0] w:271 h:271 pixfmt:rgba tb:1/25 fr:25/1 sar:2834/2834 sws_param:flags=2 [Parsed_haldclut_1 @ 0x7ff05040c380] [framesync @ 0x106682040] Selected 1/25 time base [Parsed_haldclut_1 @ 0x7ff05040c380] [framesync @ 0x106682040] Sync level 2 Output #0, image2, to 'output%d.png': Metadata: encoder : Lavf55.33.100 Stream #0:0: Video: png, rgba, 271x271 [SAR 2834:2834 DAR 1:1], q=2-31, 200 kb/s, 90k tbn, 25 tbc Stream mapping: Stream #0:0 (png) -> haldclut:main haldclut -> Stream #0:0 (png) Press [q] to stop, [?] for help [Parsed_haldclut_1 @ 0x7ff05040c380] [framesync @ 0x106682040] Sync level 1 [Parsed_haldclut_1 @ 0x7ff05040c380] [framesync @ 0x106682040] Sync level 0 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:6kB audio:0kB subtitle:0 data:0 global headers:0kB muxing overhead -100.338982% }}} rgb.png: [[Image(http://www.kirupa.com/images/rgb_image.png)]] output1.png: [[Image(http://i58.tinypic.com/rsal4k.png)]] -- Ticket URL: <https://trac.ffmpeg.org/ticket/3751#comment:4> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
#3751: Identity Hald CLUT Introduces Color Shift -------------------------------------+------------------------------------ Reporter: aguo | Owner: Type: defect | Status: closed Priority: normal | Component: avfilter Version: unspecified | Resolution: fixed Keywords: haldclut | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------ Changes (by ubitux): * status: reopened => closed * resolution: => fixed Comment: Should be fixed in d5601cf6fc1c1606ec45466d5d72fd1e60a4ba3b. Please test git-master. I'm sorry about that mistake, it seems I badly tested this part. Thank you for your report. Note: most CLUT from quelsolaar.com seems to exhibit the right column bug so I couldn't test properly with these. Nevertheless, the code should be correct now. Please re-open if it's still problematic. -- Ticket URL: <https://trac.ffmpeg.org/ticket/3751#comment:5> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
participants (1)
-
FFmpeg