Opened 5 years ago

Closed 5 years ago

#2787 closed defect (fixed)

lut 3d Filter result to green

Reported by: cscope Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: lut3d
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

Summary of the bug:
How to reproduce:

ffmpeg -r 24 -y -i /Users/schmid/Desktop/lut3d_test/logC_00087035.mov -vf lut3d="/Users/schmid/Desktop/lut3d_test/AlexaV3_K1S1_LogC2Video_Rec709_EE_autodesk3d.3dl" -c:v prores_ks -profile:v 3 /Users/schmid/Desktop/lut3d_test/ffmpeg_00087035.mov
ffmpeg version 2.0-tessus Copyright (c) 2000-2013 the FFmpeg developers

built on Jul 11 2013 00:54:32 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-fontconfig --enable-libfreetype --enable-libass --enable-filters --enable-runtime-cpudetect
libavutil 52. 38.100 / 52. 38.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.100 / 55. 12.100
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 79.101 / 3. 79.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/schmid/Desktop/lut3d_test/logC_00087035.mov':

Metadata:

creation_time : 2013-07-15 14:18:02

Duration: 00:00:00.04, start: 0.000000, bitrate: 79800 kb/s

Stream #0:0(eng): Video: prores (apcs / 0x73637061), yuv422p10le, 1920x1080, 78618 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc
Metadata:

creation_time : 2013-07-15 14:18:02
handler_name : Apple Alias Data Handler
timecode : 01:00:26:11

Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:

creation_time : 2013-07-15 14:18:02
handler_name : Apple Alias Data Handler
timecode : 01:00:26:11

Output #0, mov, to '/Users/schmid/Desktop/lut3d_test/ffmpeg_00087035.mov':

Metadata:

encoder : Lavf55.12.100
Stream #0:0(eng): Video: prores (prores_ks) (apch / 0x68637061), yuv444p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 12288 tbn, 24 tbc
Metadata:

creation_time : 2013-07-15 14:18:02
handler_name : Apple Alias Data Handler
timecode : 01:00:26:11

Stream mapping:

Stream #0:0 -> #0:0 (prores -> prores_ks)

Press [q] to stop, ? for help
frame= 1 fps=0.0 q=0.0 Lsize= 910kB time=00:00:00.04 bitrate=178945.3kbits/s
video:909kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.144412%

Patches should be submitted to the ffmpeg-devel mailing list and not this bug tracker.

please find attached the lut, input file, resulting file & a file generated with davinci resolve.

Attachments (3)

lut3d_failure.zip (1.7 MB) - added by cscope 5 years ago.
complete package lut input file sample file
waveform.zip (927.7 KB) - added by cscope 5 years ago.
waveform comparison ffmpeg lut3d deleted comments & davinci resolve
3rdlineremoved.3dl (57.4 KB) - added by cehoyos 5 years ago.

Change History (17)

Changed 5 years ago by cscope

complete package lut input file sample file

comment:1 Changed 5 years ago by cscope

comment:2 Changed 5 years ago by cehoyos

  • Component changed from FFmpeg to undetermined
  • Priority changed from important to normal

Is this a regression?

Could you confirm that the problem is also reproducible with current git head?

comment:3 Changed 5 years ago by cscope

confirmed with this build
ffmpeg version N-54901-g1ef8e69d-tessus Copyright (c) 2000-2013 the FFmpeg developers

built on Jul 14 2013 00:27:31 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-fontconfig --enable-libfreetype --enable-libass --enable-filters --enable-runtime-cpudetect
libavutil 52. 39.100 / 52. 39.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.102 / 55. 12.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 80.101 / 3. 80.101
libswscale 2. 3.100 / 2. 3.100
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 3.100 / 52. 3.100

comment:4 Changed 5 years ago by cehoyos

  • Version changed from 2.0 to git-master

comment:5 Changed 5 years ago by cehoyos

Looking at the 3dl file you uploaded, it contains values from 0 to 4095. Doesn't this mean it would work in a 12bit colour-space while the FFmpeg lut3d filter only supports 8bit and 16bit RGB? Since you did not specify a colour-space with the format filter, I expect ffmpeg to use RGB48, -loglevel debug will tell you.

Or do I misunderstand?

comment:6 Changed 5 years ago by richardpl

If I remove comments from 3dl file, I get non-green output that match davinci_resolve_rec709_00087035.mov

I did not compared bit for bit.

comment:7 Changed 5 years ago by richardpl

  • Component changed from undetermined to avfilter
  • Reproduced by developer set
  • Status changed from new to open

comment:8 Changed 5 years ago by cehoyos

The filter does not expect this line in the 3dl file:

0 64 128 192 256 320 384 448 512 576 640 704 768 832 896 960 1023

Could you test if the output looks as expected if you remove this (third) line?

comment:9 Changed 5 years ago by cscope

When deleting line 3

this error occurs

[Parsed_lut3d_0 @ 0x103100000] Unexpected EOF
[AVFilterGraph @ 0x101c03c40] Error initializing filter 'lut3d' with args '/Users/cscope/Documents/lut3dtest/lut3d_failure/AlexaV3_K1S1_LogC2Video_Rec709_EE_autodesk3d.3dl'
Error opening filters!

Changed 5 years ago by cscope

waveform comparison ffmpeg lut3d deleted comments & davinci resolve

Changed 5 years ago by cehoyos

comment:10 Changed 5 years ago by cehoyos

Does the waveform you attached indicates that the output is ok or that it is still wrong?

I attached the 3dl file I used for testing, third line removed.

comment:11 Changed 5 years ago by cscope

Waveform indicates that there is a slight difference, i guess a slight gamma shift.
if you look at the color patches they seemed to be a bit compressed.

is there a gamma value in the source code?

tested without third line only & get same result as deleting first 2 comment lines.

comment:12 Changed 5 years ago by cscope

compared source file with encoded file without lut3d filter & gamma shift is also there.

i think the slight gamma shift is not a problem of the lut3d filter.

comment:13 Changed 5 years ago by cehoyos

  • Analyzed by developer set

Patch sent, the problem is that comments within the file are (correctly) ignored while comments on top make the filter fail because the line defining the sampling intervals is always ignored. If this line and comments are present, the parser does not skip the line with the sampling intervals.
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/166314

comment:14 Changed 5 years ago by cehoyos

  • Resolution set to fixed
  • Status changed from open to closed

The original issue should be fixed in 42272e8, thank you for the report!

Note: See TracTickets for help on using tickets.