Opened 11 years ago

Closed 11 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 11 years ago.
complete package lut input file sample file
waveform.zip (927.7 KB ) - added by cscope 11 years ago.
waveform comparison ffmpeg lut3d deleted comments & davinci resolve
3rdlineremoved.3dl (57.4 KB ) - added by Carl Eugen Hoyos 11 years ago.

Change History (17)

by cscope, 11 years ago

Attachment: lut3d_failure.zip added

complete package lut input file sample file

comment:2 by Carl Eugen Hoyos, 11 years ago

Component: FFmpegundetermined
Priority: importantnormal

Is this a regression?

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

comment:3 by cscope, 11 years ago

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 by Carl Eugen Hoyos, 11 years ago

Version: 2.0git-master

comment:5 by Carl Eugen Hoyos, 11 years ago

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 by Elon Musk, 11 years ago

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 by Elon Musk, 11 years ago

Component: undeterminedavfilter
Reproduced by developer: set
Status: newopen

comment:8 by Carl Eugen Hoyos, 11 years ago

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 by cscope, 11 years ago

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!

by cscope, 11 years ago

Attachment: waveform.zip added

waveform comparison ffmpeg lut3d deleted comments & davinci resolve

by Carl Eugen Hoyos, 11 years ago

Attachment: 3rdlineremoved.3dl added

comment:10 by Carl Eugen Hoyos, 11 years ago

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 by cscope, 11 years ago

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 by cscope, 11 years ago

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 by Carl Eugen Hoyos, 11 years ago

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 by Carl Eugen Hoyos, 11 years ago

Resolution: fixed
Status: openclosed

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

Note: See TracTickets for help on using tickets.