[FFmpeg-trac] #5583(undetermined:new): support for openmp of soxr
FFmpeg
trac at avcodec.org
Sat May 21 13:58:07 CEST 2016
#5583: support for openmp of soxr
-------------------------------------+-------------------------------------
Reporter: ponpon | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
i requests support for openmp of soxr.
i did some tests. from it, it doesn't seem that ffmpeg suppors openmp of
soxr, though ffmpeg might support the multithreads of soxr with override.
i exchanged e-mail with the developerof soxr, Rob. he said that
{{{
soxr threading is based on the number of audio channels being processed,
i.e. one thread can be assigned to each channel. However, soxr threading
is not enabled in ffmpeg.
With the latest soxr in git, it is possible to override runtime parameters
set by the application, e.g.
export SOXR_NUM_THREADS=0 # 0 means automatic: under control of OpenMP
export OMP_NUM_THREADS=2 # For stereo audio.
However, this does not work well with ffmpeg. I guess that the reason for
this is that ffmpeg tries to minimise latency by using small buffer sizes,
and small buffer sizes give a large overhead when multi-threading. I
don't know if ffmpeg buffer size (for audio) can be adjusted.
Using an application with larger buffers (e.g. the soxr examples, with
input + output buffer sizes = 15k samples/channel), I find that 2 openmp
threads (on 2 cores, not 2 x86 hyperthreads on one core) will reduce
processing time for stereo audio to about 66% (x86), 54% (ARM).
}}}
and, moreover, that
{{{
SIMD improvements for both single and double precision are coming soon!
}}}
i believe that combination ffmpeg and soxr with the openmp and new simd is
useful for many users.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/5583>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list