[FFmpeg-cvslog] doc: add swresample doc

Michael Niedermayer git at videolan.org
Fri Sep 30 18:37:47 CEST 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Fri Sep 30 18:10:28 2011 +0200| [53d5c463b2237f1d1a3a218348dc3bc6f0f33376] | committer: Michael Niedermayer

doc: add swresample doc

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=53d5c463b2237f1d1a3a218348dc3bc6f0f33376
---

 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



More information about the ffmpeg-cvslog mailing list