mirror of
https://github.com/mpv-player/mpv
synced 2025-03-19 09:57:34 +00:00
cosmetics
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19834 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
0cae194c81
commit
b30e300dca
@ -68,24 +68,11 @@ static void store_ref(struct vf_priv_s *p, uint8_t *src[3], int src_stride[3], i
|
||||
}
|
||||
}
|
||||
|
||||
static void filter(struct vf_priv_s *p, uint8_t *dst[3], int dst_stride[3], int width, int height, int parity, int tff){
|
||||
int x, y, i;
|
||||
|
||||
for(i=0; i<3; i++){
|
||||
int is_chroma= !!i;
|
||||
int w= width >>is_chroma;
|
||||
int h= height>>is_chroma;
|
||||
int refs= p->stride[i];
|
||||
|
||||
for(y=0; y<h; y++){
|
||||
if((y ^ parity) & 1){
|
||||
static void filter_line(struct vf_priv_s *p, uint8_t *dst, uint8_t *prev, uint8_t *cur, uint8_t *next, int w, int refs, int parity){
|
||||
int x;
|
||||
uint8_t *prev2= parity ? prev : cur ;
|
||||
uint8_t *next2= parity ? cur : next;
|
||||
for(x=0; x<w; x++){
|
||||
uint8_t *prev= &p->ref[0][i][x + y*refs];
|
||||
uint8_t *cur = &p->ref[1][i][x + y*refs];
|
||||
uint8_t *next= &p->ref[2][i][x + y*refs];
|
||||
uint8_t *prev2= (tff ^ parity) ? prev : cur ;
|
||||
uint8_t *next2= (tff ^ parity) ? cur : next;
|
||||
|
||||
int c= cur[-refs];
|
||||
int d= (prev2[0] + next2[0])>>1;
|
||||
int e= cur[+refs];
|
||||
@ -124,11 +111,38 @@ static void filter(struct vf_priv_s *p, uint8_t *dst[3], int dst_stride[3], int
|
||||
diff= MAX3(diff, min, -max);
|
||||
}
|
||||
|
||||
if(d < spatial_pred) d= MIN(d + diff, spatial_pred);
|
||||
else d= MAX(d - diff, spatial_pred);
|
||||
if(spatial_pred > d + diff)
|
||||
spatial_pred = d + diff;
|
||||
else if(spatial_pred < d - diff)
|
||||
spatial_pred = d - diff;
|
||||
|
||||
dst[i][x + y*dst_stride[i]]= d;
|
||||
dst[0] = spatial_pred;
|
||||
|
||||
dst++;
|
||||
cur++;
|
||||
prev++;
|
||||
next++;
|
||||
prev2++;
|
||||
next2++;
|
||||
}
|
||||
}
|
||||
|
||||
static void filter(struct vf_priv_s *p, uint8_t *dst[3], int dst_stride[3], int width, int height, int parity, int tff){
|
||||
int x, y, i;
|
||||
|
||||
for(i=0; i<3; i++){
|
||||
int is_chroma= !!i;
|
||||
int w= width >>is_chroma;
|
||||
int h= height>>is_chroma;
|
||||
int refs= p->stride[i];
|
||||
|
||||
for(y=0; y<h; y++){
|
||||
if((y ^ parity) & 1){
|
||||
uint8_t *prev= &p->ref[0][i][y*refs];
|
||||
uint8_t *cur = &p->ref[1][i][y*refs];
|
||||
uint8_t *next= &p->ref[2][i][y*refs];
|
||||
uint8_t *dst2= &dst[i][y*dst_stride[i]];
|
||||
filter_line(p, dst2, prev, cur, next, w, refs, parity ^ tff);
|
||||
}else{
|
||||
memcpy(&dst[i][y*dst_stride[i]], &p->ref[1][i][y*refs], w);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user