diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-09-30 18:10:28 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-30 18:10:28 +0200 |
commit | 53d5c463b2237f1d1a3a218348dc3bc6f0f33376 (patch) | |
tree | 73ffba9592465c021d8459d95a9a0b54a8e8e5b3 /doc | |
parent | 78972a69e3a2ee940ab600f02bf09e615305ae0d (diff) | |
download | ffmpeg-streaming-53d5c463b2237f1d1a3a218348dc3bc6f0f33376.zip ffmpeg-streaming-53d5c463b2237f1d1a3a218348dc3bc6f0f33376.tar.gz |
doc: add swresample doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/swresample.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/swresample.txt b/doc/swresample.txt new file mode 100644 index 0000000..93f6e31 --- /dev/null +++ b/doc/swresample.txt @@ -0,0 +1,44 @@ + 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 + +Planar/Packed convertion is done when needed during sample format convertion +Every step can be skiped without memcpy when its not needed. +Either Resampling and Rematrixing can be performed first depending on which +way its faster. +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 +easily be added +Externally all sample formats in packed and planar configuration are supported +Its also trivial to add special converters for common cases |