summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/vf_pp.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-07 17:42:31 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-04-07 17:42:31 +0000
commit0c9392449485c088d8aa25cb8b510c1489050537 (patch)
tree0a3d52a9c5496a168fe97bd97bb0c60af64b55eb /libmpcodecs/vf_pp.c
parent76756940e4d6e57009e1385b71c614cc5df304e6 (diff)
downloadmpv-0c9392449485c088d8aa25cb8b510c1489050537.tar.bz2
mpv-0c9392449485c088d8aa25cb8b510c1489050537.tar.xz
vf control codes added, autoq support
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5520 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf_pp.c')
-rw-r--r--libmpcodecs/vf_pp.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libmpcodecs/vf_pp.c b/libmpcodecs/vf_pp.c
index 12939e8740..546da060b6 100644
--- a/libmpcodecs/vf_pp.c
+++ b/libmpcodecs/vf_pp.c
@@ -28,6 +28,17 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){
return 0;
}
+static int control(struct vf_instance_s* vf, int request, void* data){
+ switch(request){
+ case VFCTRL_QUERY_MAX_PP_LEVEL:
+ return GET_PP_QUALITY_MAX;
+ case VFCTRL_SET_PP_LEVEL:
+ vf->priv->pp=getPpModeForQuality(*((unsigned int*)data));
+ return CONTROL_TRUE;
+ }
+ return vf_next_control(vf,request,data);
+}
+
static void get_image(struct vf_instance_s* vf, mp_image_t *mpi){
if(vf->priv->pp&0xFFFF) return; // non-local filters enabled
if((mpi->type==MP_IMGTYPE_IPB || vf->priv->pp) &&
@@ -74,6 +85,7 @@ extern int divx_quality;
static int open(vf_instance_t *vf, char* args){
char *endptr;
vf->query_format=query_format;
+ vf->control=control;
vf->get_image=get_image;
vf->put_image=put_image;
vf->priv=malloc(sizeof(struct vf_priv_s));