"Fossies" - the Fresh Open Source Software Archive

Member "ffmpeg-3.4.2/doc/swresample.txt" (29 Mar 2016, 2166 Bytes) of package /linux/misc/ffmpeg-3.4.2.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file.

    1     The official guide to swresample for confused developers.
    2    =========================================================
    3 
    4 Current (simplified) Architecture:
    5 ---------------------------------
    6                         Input
    7                           v
    8        __________________/|\___________
    9       /                   |            \
   10      /    input sample format convert   v
   11     /                     | ___________/
   12     |                     |/
   13     |                     v
   14     |         ___________/|\___________              _____________
   15     |        /            |            \            |             |
   16     |   Rematrix          |          resample <---->|   Buffers   |
   17     |        \___________ | ___________/            |_____________|
   18     v                    \|/
   19 Special Converter         v
   20     v         ___________/|\___________              _____________
   21     |        /            |            \            |             |
   22     |   Rematrix          |          resample <---->|   Buffers   |
   23     |        \___________ | ___________/            |_____________|
   24     |                    \|/
   25     |                     v
   26     |                     |\___________
   27     \                     |            \
   28      \   output sample format convert   v
   29       \_________________  | ___________/
   30                          \|/
   31                           v
   32                         Output
   33 
   34 Planar/Packed conversion is done when needed during sample format conversion.
   35 Every step can be skipped without memcpy when it is not needed.
   36 Either Resampling and Rematrixing can be performed first depending on which
   37 way it is faster.
   38 The Buffers are needed for resampling due to resamplng being a process that
   39 requires future and past data, it thus also introduces inevitably a delay when
   40 used.
   41 Internally 32bit float and 16bit int is supported currently, other formats can
   42 easily be added.
   43 Externally all sample formats in packed and planar configuration are supported
   44 It's also trivial to add special converters for common cases.
   45 If only sample format and/or packed/planar conversion is needed, it
   46 is performed from input to output directly in a single pass with no intermediates.