Revision 0a8ca22f

View differences:

libavcodec/h264.c
2517 2517
                if(IS_INTRA16x16(mb_type)){
2518 2518
                    if(transform_bypass){
2519 2519
                        if(h->sps.profile_idc==244 && (h->intra16x16_pred_mode==VERT_PRED8x8 || h->intra16x16_pred_mode==HOR_PRED8x8)){
2520
                        h->hpc.pred16x16_add[h->intra16x16_pred_mode](dest_y, block_offset, h->mb, linesize);
2521
                    }else{
2522
                        for(i=0; i<16; i++){
2523
                            if(h->non_zero_count_cache[ scan8[i] ] || h->mb[i*16])
2524
                                idct_add   (dest_y + block_offset[i], h->mb + i*16, linesize);
2525
                        }
2520
                            h->hpc.pred16x16_add[h->intra16x16_pred_mode](dest_y, block_offset, h->mb, linesize);
2521
                        }else{
2522
                            for(i=0; i<16; i++){
2523
                                if(h->non_zero_count_cache[ scan8[i] ] || h->mb[i*16])
2524
                                    idct_add(dest_y + block_offset[i], h->mb + i*16, linesize);
2525
                            }
2526 2526
                        }
2527 2527
                    }else{
2528 2528
                         s->dsp.h264_idct_add16intra(dest_y, block_offset, h->mb, linesize, h->non_zero_count_cache);
2529 2529
                    }
2530 2530
                }else if(h->cbp&15){
2531 2531
                    if(transform_bypass){
2532
                    const int di = IS_8x8DCT(mb_type) ? 4 : 1;
2533
                    for(i=0; i<16; i+=di){
2534
                        int nnz = h->non_zero_count_cache[ scan8[i] ];
2535
                        if(nnz){
2532
                        const int di = IS_8x8DCT(mb_type) ? 4 : 1;
2533
                        for(i=0; i<16; i+=di){
2534
                            int nnz = h->non_zero_count_cache[ scan8[i] ];
2535
                            if(nnz){
2536 2536
                                idct_add(dest_y + block_offset[i], h->mb + i*16, linesize);
2537
                            }
2537 2538
                        }
2538
                    }
2539 2539
                    }else{
2540 2540
                        if(IS_8x8DCT(mb_type)){
2541 2541
                            s->dsp.h264_idct8_add4(dest_y, block_offset, h->mb, linesize, h->non_zero_count_cache);

Also available in: Unified diff