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