[FFmpeg-user] Apply 3D LUT to ProRes 444

Elliott Balsley elliottbalsley at gmail.com
Sat May 10 04:42:55 CEST 2014


I’m trying to convert from yuv444p10le to yuv420p while applying a 3D LUT.
If I apply the format filter first, then lut3d second, it says “no pixel format specified” and defaults to yuv444p.  It encodes relatively fast.  What’s wrong with this command?
$ ffmpeg -i A007C013_140320_L2MC.mov -t 10 -vf "format=pix_fmts=yuv420p, lut3d=file=LogC_to_Rec709.dat" LUTsecond.mov
ffmpeg version N-62963-g656fe7e Copyright (c) 2000-2014 the FFmpeg developers
  built on May  4 2014 13:19:11 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-libass --enable-libbluray --enable-libfdk-aac --enable-libmp3lame --enable-libvpx --enable-libx264 --enable-libfreetype --enable-libopenjpeg --enable-libvorbis --enable-libtheora
  libavutil      52. 81.100 / 52. 81.100
  libavcodec     55. 60.103 / 55. 60.103
  libavformat    55. 37.102 / 55. 37.102
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  5.100 /  4.  5.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/RAID/OLYMPICS/A007L2MC/A007L2MC/A007C013_140320_L2MC.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  ARRI
    creation_time   : 2014-03-20 04:56:03
    timecode        : 04:34:23:05
  Duration: 00:01:13.99, start: 0.000000, bitrate: 333064 kb/s
    Stream #0:0(eng): Video: prores (ap4h / 0x68347061), yuv444p10le, 2048x1152, 316250 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
    Metadata:
      creation_time   : 2014-03-20 04:56:03
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 4444
    Stream #0:1(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2014-03-20 04:56:03
      handler_name    : Apple Alias Data Handler
      timecode        : 04:34:23:05
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x7fa2b4004200] using SAR=1/1
[libx264 @ 0x7fa2b4004200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x7fa2b4004200] profile High 4:4:4 Predictive, level 5.0, 4:4:4 8-bit
[libx264 @ 0x7fa2b4004200] 264 - core 138 r2358 9e941d1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=36 lookahead_threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'LUTsecond.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  ARRI
    timecode        : 04:34:23:05
    encoder         : Lavf55.37.102
    Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv444p, 2048x1152 [SAR 1:1 DAR 16:9], q=-1--1, 11988 tbn, 23.98 tbc (default)
    Metadata:
      creation_time   : 2014-03-20 04:56:03
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 4444
Stream mapping:
  Stream #0:0 -> #0:0 (prores -> libx264)
Press [q] to stop, [?] for help
frame=  240 fps= 17 q=-1.0 Lsize=    1918kB time=00:00:09.92 bitrate=1582.8kbits/s    
video:1916kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.122603%
[libx264 @ 0x7fa2b4004200] frame I:1     Avg QP:24.99  size: 23585
[libx264 @ 0x7fa2b4004200] frame P:239   Avg QP:25.20  size:  8106
[libx264 @ 0x7fa2b4004200] mb I  I16..4: 56.0% 41.0%  2.9%
[libx264 @ 0x7fa2b4004200] mb P  I16..4:  0.2%  0.6%  0.0%  P16..4: 47.1%  1.5%  1.6%  0.0%  0.0%    skip:49.0%
[libx264 @ 0x7fa2b4004200] 8x8 transform intra:64.0% inter:99.8%
[libx264 @ 0x7fa2b4004200] coded y,u,v intra: 17.8% 10.1% 8.1% inter: 3.5% 2.7% 1.8%
[libx264 @ 0x7fa2b4004200] i16 v,h,dc,p: 52% 21%  5% 23%
[libx264 @ 0x7fa2b4004200] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu:  7%  6% 57%  4%  8%  3%  7%  5%  3%
[libx264 @ 0x7fa2b4004200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 10% 39%  5% 11%  5%  7%  5%  1%
[libx264 @ 0x7fa2b4004200] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fa2b4004200] ref P L0: 36.1%  5.0% 39.6% 19.2%
[libx264 @ 0x7fa2b4004200] kb/s:1567.17

If I apply the lut3d first, then format, I get a proper result in yuv420p, but the encode is much slower.  And there’s a warning about “destination format rgb48le”, which I am not using at all — what does that mean?

$ ffmpeg -i A007C013_140320_L2MC.mov -t 10 -vf "lut3d=file=LogC_to_Rec709.dat, format=pix_fmts=yuv420p" LUT.mov
ffmpeg version N-62963-g656fe7e Copyright (c) 2000-2014 the FFmpeg developers
  built on May  4 2014 13:19:11 with Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-libass --enable-libbluray --enable-libfdk-aac --enable-libmp3lame --enable-libvpx --enable-libx264 --enable-libfreetype --enable-libopenjpeg --enable-libvorbis --enable-libtheora
  libavutil      52. 81.100 / 52. 81.100
  libavcodec     55. 60.103 / 55. 60.103
  libavformat    55. 37.102 / 55. 37.102
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  5.100 /  4.  5.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/RAID/OLYMPICS/A007L2MC/A007L2MC/A007C013_140320_L2MC.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  ARRI
    creation_time   : 2014-03-20 04:56:03
    timecode        : 04:34:23:05
  Duration: 00:01:13.99, start: 0.000000, bitrate: 333064 kb/s
    Stream #0:0(eng): Video: prores (ap4h / 0x68347061), yuv444p10le, 2048x1152, 316250 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 23976 tbn, 23976 tbc (default)
    Metadata:
      creation_time   : 2014-03-20 04:56:03
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 4444
    Stream #0:1(eng): Data: none (tmcd / 0x64636D74) (default)
    Metadata:
      creation_time   : 2014-03-20 04:56:03
      handler_name    : Apple Alias Data Handler
      timecode        : 04:34:23:05
File 'LUT.mov' already exists. Overwrite ? [y/N] y
[swscaler @ 0x7f8695802e00] full chroma interpolation for destination format 'rgb48le' not yet implemented
[libx264 @ 0x7f8694001200] using SAR=1/1
[libx264 @ 0x7f8694001200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x7f8694001200] profile High, level 5.0
[libx264 @ 0x7f8694001200] 264 - core 138 r2358 9e941d1 - H.264/MPEG-4 AVC codec - Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=36 lookahead_threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'LUT.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 537199360
    compatible_brands: qt  ARRI
    timecode        : 04:34:23:05
    encoder         : Lavf55.37.102
    Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 2048x1152 [SAR 1:1 DAR 16:9], q=-1--1, 11988 tbn, 23.98 tbc (default)
    Metadata:
      creation_time   : 2014-03-20 04:56:03
      handler_name    : Apple Alias Data Handler
      encoder         : Apple ProRes 4444
Stream mapping:
  Stream #0:0 -> #0:0 (prores -> libx264)
Press [q] to stop, [?] for help
frame=  240 fps=7.8 q=-1.0 Lsize=    1277kB time=00:00:09.92 bitrate=1054.1kbits/s    
video:1275kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.184211%
[libx264 @ 0x7f8694001200] frame I:1     Avg QP:23.01  size: 31175
[libx264 @ 0x7f8694001200] frame P:239   Avg QP:23.52  size:  5329
[libx264 @ 0x7f8694001200] mb I  I16..4: 39.1% 59.5%  1.4%
[libx264 @ 0x7f8694001200] mb P  I16..4:  0.3%  0.4%  0.0%  P16..4: 20.3%  0.8%  2.9%  0.0%  0.0%    skip:75.4%
[libx264 @ 0x7f8694001200] 8x8 transform intra:58.7% inter:99.1%
[libx264 @ 0x7f8694001200] coded y,uvDC,uvAC intra: 23.1% 63.6% 25.4% inter: 2.6% 12.4% 0.3%
[libx264 @ 0x7f8694001200] i16 v,h,dc,p: 60% 22%  3% 15%
[libx264 @ 0x7f8694001200] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 22% 10% 33%  5% 10%  4%  9%  6%  3%
[libx264 @ 0x7f8694001200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 13% 11%  6% 18%  8%  9%  7%  2%
[libx264 @ 0x7f8694001200] i8c dc,h,v,p: 59% 17% 19%  4%
[libx264 @ 0x7f8694001200] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7f8694001200] ref P L0: 60.4% 10.6% 20.5%  8.5%
[libx264 @ 0x7f8694001200] kb/s:1042.86



More information about the ffmpeg-user mailing list