diff options
author | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-09-18 14:08:08 +0000 |
---|---|---|
committer | diego <diego@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-09-18 14:08:08 +0000 |
commit | 04586de1ddc3ddbb52165b97c2262b65c9e41813 (patch) | |
tree | 43d3a519b8680301a2b680cc9a0f8e0f5c7115d6 /libmpcodecs/vf_spp.c | |
parent | b2a9d6aa1b026defe8ddd4a9859bae5f5f9bd282 (diff) | |
download | mpv-04586de1ddc3ddbb52165b97c2262b65c9e41813.tar.bz2 mpv-04586de1ddc3ddbb52165b97c2262b65c9e41813.tar.xz |
MPEG-2 blocks at qp 1 get overfiltered by spp, apparently because "qp>>1" turns
it into 0, which causes an integer overflow later. Clip qp at 1 to avoid this.
patch by Alexander Strange, astrange ithinksw com
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24572 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs/vf_spp.c')
-rw-r--r-- | libmpcodecs/vf_spp.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libmpcodecs/vf_spp.c b/libmpcodecs/vf_spp.c index fc789397f7..1b6a5536d3 100644 --- a/libmpcodecs/vf_spp.c +++ b/libmpcodecs/vf_spp.c @@ -402,7 +402,7 @@ static void filter(struct vf_priv_s *p, uint8_t *dst, uint8_t *src, int dst_stri qp= p->qp; else{ qp= qp_store[ (XMIN(x, width-1)>>qps) + (XMIN(y, height-1)>>qps) * qp_stride]; - if(p->mpeg2) qp>>=1; + if(p->mpeg2) qp = FFMAX(1, qp>>1); } for(i=0; i<count; i++){ const int x1= x + offset[i+count-1][0]; |