Mercurial > libavcodec.hg
changeset 10841:8f370ebde166 libavcodec
Merge vertical_compose53iL0*()
8% faster C 5/3 wavelet at the decoder side.
author | michael |
---|---|
date | Mon, 11 Jan 2010 01:00:50 +0000 |
parents | c76bc0410301 |
children | 77dbd6ab2db9 |
files | snow.c |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/snow.c Mon Jan 11 00:54:48 2010 +0000 +++ b/snow.c Mon Jan 11 01:00:50 2010 +0000 @@ -1070,8 +1070,17 @@ IDWTELEM *b2= slice_buffer_get_line(sb, mirror(y+1, height-1) * stride_line); IDWTELEM *b3= slice_buffer_get_line(sb, mirror(y+2, height-1) * stride_line); + if(y+1<(unsigned)height && y<(unsigned)height){ + int x; + + for(x=0; x<width; x++){ + b2[x] -= (b1[x] + b3[x] + 2)>>2; + b1[x] += (b0[x] + b2[x])>>1; + } + }else{ if(y+1<(unsigned)height) vertical_compose53iL0(b1, b2, b3, width); if(y+0<(unsigned)height) vertical_compose53iH0(b0, b1, b2, width); + } if(y-1<(unsigned)height) horizontal_compose53i(b0, width); if(y+0<(unsigned)height) horizontal_compose53i(b1, width);