Mercurial > libavcodec.hg
comparison h264.c @ 8374:9000fd7c166e libavcodec
Skip non intra luma code when there is no coded luma.
0.7% speedup for the cathedral sample.
author | michael |
---|---|
date | Thu, 18 Dec 2008 01:10:51 +0000 |
parents | 5917f39590e3 |
children | e1b242224970 |
comparison
equal
deleted
inserted
replaced
8373:5961d2deb35f | 8374:9000fd7c166e |
---|---|
2523 idct_add (dest_y + block_offset[i], h->mb + i*16, linesize); | 2523 idct_add (dest_y + block_offset[i], h->mb + i*16, linesize); |
2524 else if(h->mb[i*16]) | 2524 else if(h->mb[i*16]) |
2525 idct_dc_add(dest_y + block_offset[i], h->mb + i*16, linesize); | 2525 idct_dc_add(dest_y + block_offset[i], h->mb + i*16, linesize); |
2526 } | 2526 } |
2527 } | 2527 } |
2528 }else{ | 2528 }else if(h->cbp&15){ |
2529 const int di = IS_8x8DCT(mb_type) ? 4 : 1; | 2529 const int di = IS_8x8DCT(mb_type) ? 4 : 1; |
2530 for(i=0; i<16; i+=di){ | 2530 for(i=0; i<16; i+=di){ |
2531 int nnz = h->non_zero_count_cache[ scan8[i] ]; | 2531 int nnz = h->non_zero_count_cache[ scan8[i] ]; |
2532 if(nnz){ | 2532 if(nnz){ |
2533 if(nnz==1 && h->mb[i*16]) | 2533 if(nnz==1 && h->mb[i*16]) |