[FFmpeg-cvslog] r21341 - trunk/libavcodec/h264_loopfilter.c

Alexander Strange astrange
Wed Jan 20 03:30:53 CET 2010


On Jan 19, 2010, at 8:38 PM, michael wrote:

> Author: michael
> Date: Wed Jan 20 02:38:32 2010
> New Revision: 21341
> 
> Log:
> Set bS with 64bits at a time.

Doesn't it need to be DECLARE_ALIGNED_8?

> Modified:
>   trunk/libavcodec/h264_loopfilter.c
> 
> Modified: trunk/libavcodec/h264_loopfilter.c
> ==============================================================================
> --- trunk/libavcodec/h264_loopfilter.c	Wed Jan 20 02:15:30 2010	(r21340)
> +++ trunk/libavcodec/h264_loopfilter.c	Wed Jan 20 02:38:32 2010	(r21341)
> @@ -459,7 +459,7 @@ static av_always_inline void filter_mb_d
> 
>         for(j=0; j<2; j++, mbn_xy += s->mb_stride){
>             if( IS_INTRA(mb_type|s->current_picture.mb_type[mbn_xy]) ) {
> -                bS[0] = bS[1] = bS[2] = bS[3] = 3;
> +                *(uint64_t*)bS= 0x0003000300030003ULL;
>             } else {
>                 const uint8_t *mbn_nnz = h->non_zero_count[mbn_xy];
>                 for( i = 0; i < 4; i++ ) {
> @@ -509,11 +509,11 @@ static av_always_inline void filter_mb_d
>             int mv_done;
> 
>             if( edge & mask_edge ) {
> -                bS[0] = bS[1] = bS[2] = bS[3] = 0;
> +                *(uint64_t*)bS= 0;
>                 mv_done = 1;
>             }
>             else if( FRAME_MBAFF && IS_INTERLACED(mb_type ^ mbn_type)) {
> -                bS[0] = bS[1] = bS[2] = bS[3] = 1;
> +                *(uint64_t*)bS= 0x0001000100010001ULL;
>                 mv_done = 1;
>             }
>             else if( mask_par0 && (edge || (mbn_type & (MB_TYPE_16x16 | (MB_TYPE_8x16 >> dir)))) ) {
> @@ -641,7 +641,8 @@ void ff_h264_filter_mb( H264Context *h, 
>         first_vertical_edge_done = 1;
> 
>         if( IS_INTRA(mb_type) )
> -            bS[0] = bS[1] = bS[2] = bS[3] = bS[4] = bS[5] = bS[6] = bS[7] = 4;
> +            *(uint64_t*)&bS[0]=
> +            *(uint64_t*)&bS[4]= 0x0004000400040004ULL;
>         else {
>             for( i = 0; i < 8; i++ ) {
>                 int mbn_xy = MB_FIELD ? left_mb_xy[i>>2] : left_mb_xy[i&1];

-------------- next part --------------
A non-text attachment was scrubbed...
Name: bS_aligned.diff
Type: application/octet-stream
Size: 503 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-cvslog/attachments/20100119/79b499d6/attachment.obj>



More information about the ffmpeg-cvslog mailing list