7 #include "vd_internal.h"
9 static vd_info_t info
= {
10 "NuppelVideo decoder",
13 "Alex & Panagiotis Issaris <takis@lumumba.luc.ac.be>",
19 // to set/get/query special features/parameters
20 static int control(sh_video_t
*sh
,int cmd
,void* arg
,...){
21 return CONTROL_UNKNOWN
;
25 static int init(sh_video_t
*sh
){
26 return mpcodecs_config_vo(sh
,sh
->disp_w
,sh
->disp_h
,IMGFMT_I420
);
30 static void uninit(sh_video_t
*sh
){
33 //mp_image_t* mpcodecs_get_image(sh_video_t *sh, int mp_imgtype, int mp_imgflag, int w, int h);
36 unsigned char *encoded
,
38 unsigned char *decoded
,
43 static mp_image_t
* decode(sh_video_t
*sh
,void* data
,int len
,int flags
){
45 if(len
<=0) return NULL
; // skipped frame
47 mpi
=mpcodecs_get_image(sh
, MP_IMGTYPE_TEMP
, 0,
48 sh
->disp_w
, sh
->disp_h
);
51 decode_nuv(data
, len
, mpi
->planes
[0], sh
->disp_w
, sh
->disp_h
);