doc/swresample.txt
53d5c463
     The official guide to swresample for confused developers.
    =========================================================
 
 Current (simplified) Architecture:
 ---------------------------------
                         Input
                           v
        __________________/|\___________
       /                   |            \
      /    input sample format convert   v
     /                     | ___________/
     |                     |/
     |                     v
     |         ___________/|\___________              _____________
     |        /            |            \            |             |
     |   Rematrix          |          resample <---->|   Buffers   |
     |        \___________ | ___________/            |_____________|
     v                    \|/
 Special Converter         v
     v         ___________/|\___________              _____________
     |        /            |            \            |             |
     |   Rematrix          |          resample <---->|   Buffers   |
     |        \___________ | ___________/            |_____________|
     |                    \|/
     |                     v
     |                     |\___________
     \                     |            \
      \   output sample format convert   v
       \_________________  | ___________/
                          \|/
                           v
                         Output
 
e97e0eff
 Planar/Packed conversion is done when needed during sample format conversion.
d5ce725c
 Every step can be skipped without memcpy when it is not needed.
53d5c463
 Either Resampling and Rematrixing can be performed first depending on which
d5ce725c
 way it is faster.
53d5c463
 The Buffers are needed for resampling due to resamplng being a process that
 requires future and past data, it thus also introduces inevitably a delay when
 used.
 Internally 32bit float and 16bit int is supported currently, other formats can
e97e0eff
 easily be added.
53d5c463
 Externally all sample formats in packed and planar configuration are supported
e97e0eff
 It's also trivial to add special converters for common cases.
 If only sample format and/or packed/planar conversion is needed, it
9fa05db4
 is performed from input to output directly in a single pass with no intermediates.