1
0
mirror of https://github.com/mpv-player/mpv synced 2025-03-04 21:27:58 +00:00

vf_sab mirrors coefficients past the edge of the picture instead of cropping:

if     (iy<0)  iy=  -iy;
   if(iy>=h) iy= h-iy-1;
This produces -1,-2,-3... as it goes further past the end of an image, which
crashes. Change this to h-1,h-2,h-3.. to avoid the crash.
patch by Alexander Strange, astrange ithinksw com


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26038 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
diego 2008-02-20 08:24:26 +00:00
parent b4558a3738
commit 9ae4923673

View File

@ -203,7 +203,7 @@ if((x/32)&1){
int dx;
int iy= y+dy - radius;
if (iy<0) iy= -iy;
else if(iy>=h) iy= h-iy-1;
else if(iy>=h) iy= h+h-iy-1;
for(dx=0; dx<radius*2+1; dx++){
const int ix= x+dx - radius;
@ -220,13 +220,13 @@ if((x/32)&1){
int dx;
int iy= y+dy - radius;
if (iy<0) iy= -iy;
else if(iy>=h) iy= h-iy-1;
else if(iy>=h) iy= h+h-iy-1;
for(dx=0; dx<radius*2+1; dx++){
int ix= x+dx - radius;
int factor;
if (ix<0) ix= -ix;
else if(ix>=w) ix= w-ix-1;
else if(ix>=w) ix= w+w-ix-1;
factor= f.colorDiffCoeff[256+preVal - f.preFilterBuf[ix + iy*f.preFilterStride] ]
*f.distCoeff[dx + dy*f.distStride];