[FFmpeg-soc] [soc]: r610 - rv40/h264pred.c

Loren Merritt lorenm at u.washington.edu
Tue Aug 21 08:52:07 CEST 2007


On Mon, 6 Aug 2007, kostya wrote:

> Author: kostya
> Date: Mon Aug  6 11:40:21 2007
> New Revision: 610
>
> Log:
> 8x8 dc prediction should be calculated for a whole block in RV40
>
> Modified: rv40/h264pred.c
> ==============================================================================
> --- rv40/h264pred.c	(original)
> +++ rv40/h264pred.c	Mon Aug  6 11:40:21 2007
> @@ -646,6 +646,27 @@ static void pred8x8_dc_c(uint8_t *src, i
>     }
> }
>
> +static void pred8x8_dc_rv40_c(uint8_t *src, int stride){
> +    int i;
> +    int dc0=0;
> +
> +    for(i=0;i<4; i++){
> +        dc0+= src[-1+i*stride] + src[i-stride];
> +        dc0+= src[4+i-stride];
> +        dc0+= src[-1+(i+4)*stride];
> +    }
> +    dc0= 0x01010101*((dc0 + 8)>>4);
> +
> +    for(i=0; i<4; i++){
> +        ((uint32_t*)(src+i*stride))[0]= dc0;
> +        ((uint32_t*)(src+i*stride))[1]= dc0;
> +    }
> +    for(i=4; i<8; i++){
> +        ((uint32_t*)(src+i*stride))[0]= dc0;
> +        ((uint32_t*)(src+i*stride))[1]= dc0;
> +    }
> +}

More complex than necessary. It should look like the top_dc and left_dc 
cases.

--Loren Merritt



More information about the FFmpeg-soc mailing list