Mercurial > mplayer.hg
view DOCS/tech/libmpcodecs.txt @ 4911:6078b7894e20
Native Cinepak decoder: Added YV12 support (which is so very close
to working), reworked YUY2 support for speed, cleaned up compiler
warnings, replaced printf()'s with mp_msg()'s
author | melanson |
---|---|
date | Sat, 02 Mar 2002 06:40:26 +0000 |
parents | e79024cb5620 |
children |
line wrap: on
line source
# 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) }