annotate DOCS/tech/libmpcodecs.txt @ 5395:c8e3d5241531

applied Diego's patch
author gabucino
date Fri, 29 Mar 2002 22:34:12 +0000
parents e79024cb5620
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4868
e79024cb5620 early draft
arpi
parents:
diff changeset
1 # video decoder:
e79024cb5620 early draft
arpi
parents:
diff changeset
2
e79024cb5620 early draft
arpi
parents:
diff changeset
3 int init(sh_video) -> loads codec dll, check if available and it accepts header if any
e79024cb5620 early draft
arpi
parents:
diff changeset
4
e79024cb5620 early draft
arpi
parents:
diff changeset
5 int control(sh_video,cmd,param,...) -> various set/get/query functions
e79024cb5620 early draft
arpi
parents:
diff changeset
6
e79024cb5620 early draft
arpi
parents:
diff changeset
7 int decode(sh_video,framedrop) -> decode frame, callbacks to config/get_surface
e79024cb5620 early draft
arpi
parents:
diff changeset
8
e79024cb5620 early draft
arpi
parents:
diff changeset
9 int uninit(sh_video)
e79024cb5620 early draft
arpi
parents:
diff changeset
10
e79024cb5620 early draft
arpi
parents:
diff changeset
11 # callbacks for video decoder:
e79024cb5620 early draft
arpi
parents:
diff changeset
12
e79024cb5620 early draft
arpi
parents:
diff changeset
13 mpcodecs_config_vo(sh_video, w, h, preferred_outfmt){
e79024cb5620 early draft
arpi
parents:
diff changeset
14 // it will be called by codec (either init() or decode()) when it gets
e79024cb5620 early draft
arpi
parents:
diff changeset
15 // enough info to know image dimensions, colorspaces and buffering type
e79024cb5620 early draft
arpi
parents:
diff changeset
16
e79024cb5620 early draft
arpi
parents:
diff changeset
17 // this func should use control() to get/set parameters for a given outfmt
e79024cb5620 early draft
arpi
parents:
diff changeset
18 // (like supported buffering types, stride limitations, etc) or to
e79024cb5620 early draft
arpi
parents:
diff changeset
19 // query and select other colorspace.
e79024cb5620 early draft
arpi
parents:
diff changeset
20
e79024cb5620 early draft
arpi
parents:
diff changeset
21 }
e79024cb5620 early draft
arpi
parents:
diff changeset
22
e79024cb5620 early draft
arpi
parents:
diff changeset
23 // possible buffer setups:
e79024cb5620 early draft
arpi
parents:
diff changeset
24 - 1 static overwrite only (partial update type codecs: cvid, fli, vfw etc)
e79024cb5620 early draft
arpi
parents:
diff changeset
25 - 1+ independent temp writeonly (I-only mpegs, jpeg, mjpeg etc)
e79024cb5620 early draft
arpi
parents:
diff changeset
26 - 2+ static read/write (I+P mpegs)
e79024cb5620 early draft
arpi
parents:
diff changeset
27 - 2+ static read/write and 1+ temp writeonly (I+P+B mpegs)
e79024cb5620 early draft
arpi
parents:
diff changeset
28
e79024cb5620 early draft
arpi
parents:
diff changeset
29 image_t* mpcodecs_get_surface(sh_video, flags){
e79024cb5620 early draft
arpi
parents:
diff changeset
30 // flags:
e79024cb5620 early draft
arpi
parents:
diff changeset
31 // 0x1 - read (make it readable -> don't put to slow video ram)
e79024cb5620 early draft
arpi
parents:
diff changeset
32
e79024cb5620 early draft
arpi
parents:
diff changeset
33 }
e79024cb5620 early draft
arpi
parents:
diff changeset
34