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

Alexander Strange astrange
Wed Jan 20 03:43:28 CET 2010


On Jan 19, 2010, at 9:30 PM, Alexander Strange wrote:

> 
> 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?

Sorry, that patch was obviously wrong...

>> 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];
> 
> <bS_aligned.diff>


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



More information about the ffmpeg-cvslog mailing list