[FFmpeg-trac] #4638(avcodec:open): Multithreaded FLAC encoding

FFmpeg trac at avcodec.org
Thu Jun 18 18:17:53 CEST 2015


#4638: Multithreaded FLAC encoding
-------------------------------------+-----------------------------------
             Reporter:  xtemp09      |                    Owner:
                 Type:  enhancement  |                   Status:  open
             Priority:  wish         |                Component:  avcodec
              Version:  git-master   |               Resolution:
             Keywords:  flac         |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-----------------------------------

Comment (by xtemp09):

 I just made a benchmark to prove importance of hardware acceleration and
 multithreading.

 I used: CUETools.FLACCL.cmd.exe 0.3 on a Windows machine and ffmpeg
 N-47387-g178ba1f- on a Linux cluster.

 The configuration of the machines:


 {{{
 The Windows machine:
 NVIDIA GeForce GTX 650 Ti
 Phenom II X3 720 2.8 GHz
 SSD OCZ

 The Linux cluster:
 12 cores of Intel Xeon CPU X5650 @ 2.67GHz
 }}}


 I executed the following commands:

 {{{
 .\time.exe .\CUETools.FLACCL.cmd.exe -11 --no-md5 --cpu-threads 3
 --opencl-platform 'NVIDIA Cuda' source.wav -o output_flacCL.flac

 time ffmpeg -i source.wav -compression_level 9 output_ffmpeg.flac
 }}}


 In a nutshell, I set maximum compression.


 The results are:
 flacCL     15.65 s
 ffmpeg  1 m 2.444 s

 I believe that IO takes a few seconds, but the difference is anyway huge.

 The entire Intel Xeon node of a Linux cluster utilized only 100% of CPU.
 Meanwhile, flacCL didn't use CPU at all, only the GPU. (I'm not sure about
 CPU workload on that Windows machine)

--
Ticket URL: <https://trac.ffmpeg.org/ticket/4638#comment:8>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list