Revision 5245c04d libavcodec/vp8.c
libavcodec/vp8.c  

1167  1167 
// TODO: look at backup_mb_border / xchg_mb_border in h264.c 
1168  1168 
static void filter_mb(VP8Context *s, uint8_t *dst[3], VP8Macroblock *mb, int mb_x, int mb_y) 
1169  1169 
{ 
1170 
int filter_level, inner_limit, hev_thresh; 

1170 
int filter_level, inner_limit, hev_thresh, mbedge_lim, bedge_lim;


1171  1171  
1172  1172 
filter_level_for_mb(s, mb, &filter_level, &inner_limit, &hev_thresh); 
1173  1173 
if (!filter_level) 
1174  1174 
return; 
1175  1175  
1176 
mbedge_lim = 2*(filter_level+2) + inner_limit; 

1177 
bedge_lim = 2* filter_level + inner_limit; 

1178  
1176  1179 
if (mb_x) { 
1177 
s>vp8dsp.vp8_h_loop_filter16(dst[0], s>linesize, filter_level+2, inner_limit, hev_thresh);


1178 
s>vp8dsp.vp8_h_loop_filter8 (dst[1], s>uvlinesize, filter_level+2, inner_limit, hev_thresh);


1179 
s>vp8dsp.vp8_h_loop_filter8 (dst[2], s>uvlinesize, filter_level+2, inner_limit, hev_thresh);


1180 
s>vp8dsp.vp8_h_loop_filter16(dst[0], s>linesize, mbedge_lim, inner_limit, hev_thresh);


1181 
s>vp8dsp.vp8_h_loop_filter8 (dst[1], s>uvlinesize, mbedge_lim, inner_limit, hev_thresh);


1182 
s>vp8dsp.vp8_h_loop_filter8 (dst[2], s>uvlinesize, mbedge_lim, inner_limit, hev_thresh);


1180  1183 
} 
1181  1184  
1182  1185 
if (!mb>skip  mb>mode == MODE_I4x4  mb>mode == VP8_MVMODE_SPLIT) { 
1183 
s>vp8dsp.vp8_h_loop_filter16_inner(dst[0]+ 4, s>linesize, filter_level, inner_limit, hev_thresh);


1184 
s>vp8dsp.vp8_h_loop_filter16_inner(dst[0]+ 8, s>linesize, filter_level, inner_limit, hev_thresh);


1185 
s>vp8dsp.vp8_h_loop_filter16_inner(dst[0]+12, s>linesize, filter_level, inner_limit, hev_thresh);


1186 
s>vp8dsp.vp8_h_loop_filter8_inner (dst[1]+ 4, s>uvlinesize, filter_level, inner_limit, hev_thresh);


1187 
s>vp8dsp.vp8_h_loop_filter8_inner (dst[2]+ 4, s>uvlinesize, filter_level, inner_limit, hev_thresh);


1186 
s>vp8dsp.vp8_h_loop_filter16_inner(dst[0]+ 4, s>linesize, bedge_lim, inner_limit, hev_thresh);


1187 
s>vp8dsp.vp8_h_loop_filter16_inner(dst[0]+ 8, s>linesize, bedge_lim, inner_limit, hev_thresh);


1188 
s>vp8dsp.vp8_h_loop_filter16_inner(dst[0]+12, s>linesize, bedge_lim, inner_limit, hev_thresh);


1189 
s>vp8dsp.vp8_h_loop_filter8_inner (dst[1]+ 4, s>uvlinesize, bedge_lim, inner_limit, hev_thresh);


1190 
s>vp8dsp.vp8_h_loop_filter8_inner (dst[2]+ 4, s>uvlinesize, bedge_lim, inner_limit, hev_thresh);


1188  1191 
} 
1189  1192  
1190  1193 
if (mb_y) { 
1191 
s>vp8dsp.vp8_v_loop_filter16(dst[0], s>linesize, filter_level+2, inner_limit, hev_thresh);


1192 
s>vp8dsp.vp8_v_loop_filter8 (dst[1], s>uvlinesize, filter_level+2, inner_limit, hev_thresh);


1193 
s>vp8dsp.vp8_v_loop_filter8 (dst[2], s>uvlinesize, filter_level+2, inner_limit, hev_thresh);


1194 
s>vp8dsp.vp8_v_loop_filter16(dst[0], s>linesize, mbedge_lim, inner_limit, hev_thresh);


1195 
s>vp8dsp.vp8_v_loop_filter8 (dst[1], s>uvlinesize, mbedge_lim, inner_limit, hev_thresh);


1196 
s>vp8dsp.vp8_v_loop_filter8 (dst[2], s>uvlinesize, mbedge_lim, inner_limit, hev_thresh);


1194  1197 
} 
1195  1198  
1196  1199 
if (!mb>skip  mb>mode == MODE_I4x4  mb>mode == VP8_MVMODE_SPLIT) { 
1197 
s>vp8dsp.vp8_v_loop_filter16_inner(dst[0]+ 4*s>linesize, s>linesize, filter_level, inner_limit, hev_thresh);


1198 
s>vp8dsp.vp8_v_loop_filter16_inner(dst[0]+ 8*s>linesize, s>linesize, filter_level, inner_limit, hev_thresh);


1199 
s>vp8dsp.vp8_v_loop_filter16_inner(dst[0]+12*s>linesize, s>linesize, filter_level, inner_limit, hev_thresh);


1200 
s>vp8dsp.vp8_v_loop_filter8_inner (dst[1]+ 4*s>uvlinesize, s>uvlinesize, filter_level, inner_limit, hev_thresh);


1201 
s>vp8dsp.vp8_v_loop_filter8_inner (dst[2]+ 4*s>uvlinesize, s>uvlinesize, filter_level, inner_limit, hev_thresh);


1200 
s>vp8dsp.vp8_v_loop_filter16_inner(dst[0]+ 4*s>linesize, s>linesize, bedge_lim, inner_limit, hev_thresh);


1201 
s>vp8dsp.vp8_v_loop_filter16_inner(dst[0]+ 8*s>linesize, s>linesize, bedge_lim, inner_limit, hev_thresh);


1202 
s>vp8dsp.vp8_v_loop_filter16_inner(dst[0]+12*s>linesize, s>linesize, bedge_lim, inner_limit, hev_thresh);


1203 
s>vp8dsp.vp8_v_loop_filter8_inner (dst[1]+ 4*s>uvlinesize, s>uvlinesize, bedge_lim, inner_limit, hev_thresh);


1204 
s>vp8dsp.vp8_v_loop_filter8_inner (dst[2]+ 4*s>uvlinesize, s>uvlinesize, bedge_lim, inner_limit, hev_thresh);


1202  1205 
} 
1203  1206 
} 
1204  1207 
Also available in: Unified diff