diff options
author | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-22 14:11:13 +0000 |
---|---|---|
committer | melanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-03-22 14:11:13 +0000 |
commit | 817080c800a212b1e9ab4eec70a52c871a531286 (patch) | |
tree | 6645e7e71a255cbb1fec6c1abb4b3a53ecbfaf77 /libmpcodecs | |
parent | 404aa1bdcf024a1dbf93daf1101495cc2eb1372c (diff) | |
download | mpv-817080c800a212b1e9ab4eec70a52c871a531286.tar.bz2 mpv-817080c800a212b1e9ab4eec70a52c871a531286.tar.xz |
committed Roberto Togni's patch for control() function in HuffYUV decoder
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5262 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vd_huffyuv.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/libmpcodecs/vd_huffyuv.c b/libmpcodecs/vd_huffyuv.c index e676283c1f..515e50e516 100644 --- a/libmpcodecs/vd_huffyuv.c +++ b/libmpcodecs/vd_huffyuv.c @@ -161,8 +161,23 @@ unsigned char huff_decompress(unsigned int* in, unsigned int *pos, // to set/get/query special features/parameters -static int control(sh_video_t *sh,int cmd,void* arg,...){ - return CONTROL_UNKNOWN; +static int control(sh_video_t *sh,int cmd,void* arg,...) +{ + switch(cmd) { + case VDCTRL_QUERY_FORMAT: + if (((huffyuv_context_t *)(sh->context))->bitmaptype == BMPTYPE_YUV) { + if (*((int*)arg) == IMGFMT_YUY2) + return CONTROL_TRUE; + else + return CONTROL_FALSE; + } else { + if ((*((int*)arg) == IMGFMT_BGR32) || (*((int*)arg) == IMGFMT_BGR24)) + return CONTROL_TRUE; + else + return CONTROL_FALSE; + } + } + return CONTROL_UNKNOWN; } |