summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-22 14:11:13 +0000
committermelanson <melanson@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-22 14:11:13 +0000
commit817080c800a212b1e9ab4eec70a52c871a531286 (patch)
tree6645e7e71a255cbb1fec6c1abb4b3a53ecbfaf77 /libmpcodecs
parent404aa1bdcf024a1dbf93daf1101495cc2eb1372c (diff)
downloadmpv-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.c19
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;
}