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:
parent
b4558a3738
commit
9ae4923673
@ -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];
|
||||
|
Loading…
Reference in New Issue
Block a user