[FFmpeg-trac] #7119(ffmpeg:new): Applying 3d LUT during h264 hardware encoding (lut3d filter + h264_vaapi)

FFmpeg trac at avcodec.org
Tue Apr 3 00:20:48 EEST 2018


#7119: Applying 3d LUT during h264 hardware encoding (lut3d filter + h264_vaapi)
-------------------------------------+-------------------------------------
             Reporter:  ethaniel     |                     Type:
               Status:  new          |  enhancement
            Component:  ffmpeg       |                 Priority:  wish
             Keywords:  lut3d        |                  Version:
  h264_vaapi                         |  unspecified
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
 Is it somehow possible to apply a 3d LUT filter "on the fly" via hardware
 encoding?
 I have a inbound stream which needs color correction (it's a webcam that
 broadcasting to youtube). I want to give it a more "cinematic" feel.

 When I run this I get 8-9 fps tops:

 {{{
 ffmpeg \
   -vaapi_device /dev/dri/renderD128  -hwaccel vaapi -hwaccel_output_format
 VAProfileH264ConstrainedBaseline \
   -re -i http://192.168.0.147/0.flv \
   -acodec pcm_s16le -f s16le -i /dev/zero \
   -ac 1 -acodec aac -ar 44100 -ab 128k -strict experimental \
   -vf 'format=nv12,hwupload' \
   -threads 8 \
   -r 30 -g 60 \
   -c:v h264_vaapi -b:v 5M -minrate:v 5M -maxrate:v 5M \
   -f flv rtmp://a.rtmp.youtube.com/live2/KEY
 }}}

 If I remove "lut3d=3d.cube", then I get 30fps.

 I assume that lut3d is performed by the cpu and not the gpu.

 Is it possible to make it work via GPU to keep the 30fps?

 (I'm willing to put a $200 bounty)

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7119>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list