summaryrefslogtreecommitdiffstats
path: root/DOCS/tech/libmpcodecs.txt
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-26 02:33:20 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-02-26 02:33:20 +0000
commit8bb7aebf009fb7e04cc8d52b7d4ca70c61900343 (patch)
tree679387fb636b6daf0a316761780eed7b212f3a4f /DOCS/tech/libmpcodecs.txt
parentb8cf61a944dab21b17fd917434129bf96b2a35f2 (diff)
downloadmpv-8bb7aebf009fb7e04cc8d52b7d4ca70c61900343.tar.bz2
mpv-8bb7aebf009fb7e04cc8d52b7d4ca70c61900343.tar.xz
early draft
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4869 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'DOCS/tech/libmpcodecs.txt')
-rw-r--r--DOCS/tech/libmpcodecs.txt34
1 files changed, 34 insertions, 0 deletions
diff --git a/DOCS/tech/libmpcodecs.txt b/DOCS/tech/libmpcodecs.txt
new file mode 100644
index 0000000000..8301d05791
--- /dev/null
+++ b/DOCS/tech/libmpcodecs.txt
@@ -0,0 +1,34 @@
+# video decoder:
+
+int init(sh_video) -> loads codec dll, check if available and it accepts header if any
+
+int control(sh_video,cmd,param,...) -> various set/get/query functions
+
+int decode(sh_video,framedrop) -> decode frame, callbacks to config/get_surface
+
+int uninit(sh_video)
+
+# callbacks for video decoder:
+
+mpcodecs_config_vo(sh_video, w, h, preferred_outfmt){
+ // it will be called by codec (either init() or decode()) when it gets
+ // enough info to know image dimensions, colorspaces and buffering type
+
+ // this func should use control() to get/set parameters for a given outfmt
+ // (like supported buffering types, stride limitations, etc) or to
+ // query and select other colorspace.
+
+}
+
+// possible buffer setups:
+- 1 static overwrite only (partial update type codecs: cvid, fli, vfw etc)
+- 1+ independent temp writeonly (I-only mpegs, jpeg, mjpeg etc)
+- 2+ static read/write (I+P mpegs)
+- 2+ static read/write and 1+ temp writeonly (I+P+B mpegs)
+
+image_t* mpcodecs_get_surface(sh_video, flags){
+// flags:
+// 0x1 - read (make it readable -> don't put to slow video ram)
+
+}
+