aboutsummaryrefslogtreecommitdiffstats
path: root/doc/swresample.txt
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-09-30 18:10:28 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-09-30 18:10:28 +0200
commit53d5c463b2237f1d1a3a218348dc3bc6f0f33376 (patch)
tree73ffba9592465c021d8459d95a9a0b54a8e8e5b3 /doc/swresample.txt
parent78972a69e3a2ee940ab600f02bf09e615305ae0d (diff)
downloadffmpeg-53d5c463b2237f1d1a3a218348dc3bc6f0f33376.tar.gz
doc: add swresample doc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'doc/swresample.txt')
-rw-r--r--doc/swresample.txt44
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/swresample.txt b/doc/swresample.txt
new file mode 100644
index 0000000000..93f6e3138f
--- /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