[Mplayer-cvslog] CVS: main/DOCS/tech libmpcodecs.txt,NONE,1.1

Arpi of Ize arpi at mplayer.dev.hu
Tue Feb 26 03:33:23 CET 2002


Update of /cvsroot/mplayer/main/DOCS/tech
In directory mplayer:/var/tmp.root/cvs-serv6205

Added Files:
	libmpcodecs.txt 
Log Message:
early draft

--- NEW FILE ---
# 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)

}





More information about the MPlayer-cvslog mailing list