From 817080c800a212b1e9ab4eec70a52c871a531286 Mon Sep 17 00:00:00 2001 From: melanson Date: Fri, 22 Mar 2002 14:11:13 +0000 Subject: [PATCH] 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 --- libmpcodecs/vd_huffyuv.c | 19 +++++++++++++++++-- 1 file 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; }