summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vd_divx4.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-09 19:18:46 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-03-09 19:18:46 +0000
commit154bbcd5b9fcb7bf8f0c96fd698e157b6d9c1106 (patch)
treeff8d24027e67adb840488c9a5aa489177e6fb2ef /libmpcodecs/vd_divx4.c
parent9caad2c29a0f617e25f90e12a7dcbefb4f762687 (diff)
downloadmpv-154bbcd5b9fcb7bf8f0c96fd698e157b6d9c1106.tar.bz2
mpv-154bbcd5b9fcb7bf8f0c96fd698e157b6d9c1106.tar.xz
divx_quality and equalizer support done
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5004 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vd_divx4.c')
-rw-r--r--libmpcodecs/vd_divx4.c29
1 files changed, 26 insertions, 3 deletions
diff --git a/libmpcodecs/vd_divx4.c b/libmpcodecs/vd_divx4.c
index ef84765550..4ee365c852 100644
--- a/libmpcodecs/vd_divx4.c
+++ b/libmpcodecs/vd_divx4.c
@@ -1,5 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
+#include <stdarg.h>
#include <assert.h>
#include "config.h"
@@ -41,6 +42,27 @@ static int control(sh_video_t *sh,int cmd,void* arg,...){
decore(0x123,DEC_OPT_SETPP,&dec_set,NULL);
return CONTROL_OK;
}
+#ifdef DECORE_VERSION
+#if DECORE_VERSION >= 20011010
+ case VDCTRL_SET_EQUALIZER: {
+ va_list ap;
+ int value;
+ int option;
+ va_start(ap, arg);
+ value=va_arg(ap, int);
+ va_end(ap);
+
+ if(!strcmp(arg,"Brightness")) option=DEC_GAMMA_BRIGHTNESS;
+ else if(!strcmp(arg, "Contrast")) option=DEC_GAMMA_CONTRAST;
+ else if(!strcmp(arg,"Saturation")) option=DEC_GAMMA_SATURATION;
+ else return CONTROL_FALSE;
+
+ value = (value * 256) / 100 - 128;
+ decore(0x123, DEC_OPT_GAMMA, (void *)option, (void *) value);
+ return CONTROL_OK;
+ }
+#endif
+#endif
}
@@ -50,7 +72,7 @@ static int control(sh_video_t *sh,int cmd,void* arg,...){
// init driver
static int init(sh_video_t *sh){
DEC_PARAM dec_param;
-// DEC_SET dec_set;
+ DEC_SET dec_set;
int bits=16;
memset(&dec_param,0,sizeof(dec_param));
@@ -76,8 +98,9 @@ static int init(sh_video_t *sh){
dec_param.x_dim = sh->disp_w;
dec_param.y_dim = sh->disp_h;
decore(0x123, DEC_OPT_INIT, &dec_param, NULL);
-// dec_set.postproc_level = divx_quality;
-// decore(0x123, DEC_OPT_SETPP, &dec_set, NULL);
+
+ dec_set.postproc_level = divx_quality;
+ decore(0x123, DEC_OPT_SETPP, &dec_set, NULL);
mp_msg(MSGT_DECVIDEO,MSGL_V,"INFO: DivX4Linux video codec init OK!\n");