summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authoriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-04-08 12:03:24 +0000
committeriive <iive@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-04-08 12:03:24 +0000
commiteadf84b7d803c46121ef12fa6b2427e738f433b4 (patch)
tree00621a9e6bda24e8cda2efa0bd6073bc0cca1f6f /libmpcodecs
parenta5b1bda5146c84619a668433483b04ed02376304 (diff)
downloadmpv-eadf84b7d803c46121ef12fa6b2427e738f433b4.tar.bz2
mpv-eadf84b7d803c46121ef12fa6b2427e738f433b4.tar.xz
check for invalid user input
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12158 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vf_spp.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/libmpcodecs/vf_spp.c b/libmpcodecs/vf_spp.c
index f94b5ab96c..dd26bd8b30 100644
--- a/libmpcodecs/vf_spp.c
+++ b/libmpcodecs/vf_spp.c
@@ -316,7 +316,7 @@ static void store_slice_c(uint8_t *dst, int16_t *src, int dst_stride, int src_st
dst[x + y*dst_stride + pos]= temp;
for(y=0; y<height; y++){
- uint8_t *d= dither[y];
+ const uint8_t *d= dither[y];
for(x=0; x<width; x+=8){
int temp;
STORE(0);
@@ -565,6 +565,9 @@ static int control(struct vf_instance_s* vf, int request, void* data){
}
static int open(vf_instance_t *vf, char* args){
+
+ int log2c;
+
vf->config=config;
vf->put_image=put_image;
vf->get_image=get_image;
@@ -581,8 +584,18 @@ static int open(vf_instance_t *vf, char* args){
vf->priv->log2_count= 3;
- if (args) sscanf(args, "%d:%d:%d", &vf->priv->log2_count, &vf->priv->qp, &vf->priv->mode);
+ if (args) sscanf(args, "%d:%d:%d", &log2c, &vf->priv->qp, &vf->priv->mode);
+
+ if( log2c >=0 && log2c <=6 )
+ vf->priv->log2_count = log2c;
+
+ if(vf->priv->qp < 0)
+ vf->priv->qp = 0;
+ if(vf->priv->qp > 31 )
+ vf->priv->qp = 31;
+
switch(vf->priv->mode){
+ default:
case 0: requantize= hardthresh_c; break;
case 1: requantize= softthresh_c; break;
}