Revision a9799653 libavcodec/h264.c

View differences:

libavcodec/h264.c
2401 2401
            if(!s->encoding){
2402 2402
                for(i=0; i<16; i++){
2403 2403
                    uint8_t * const ptr= dest_y + h->block_offset[i];
2404
                    uint8_t *topright= ptr + 4 - linesize;
2405
                    const int topright_avail= (h->topright_samples_available<<i)&0x8000;
2404
                    uint8_t *topright;
2406 2405
                    const int dir= h->intra4x4_pred_mode_cache[ scan8[i] ];
2407 2406
                    int tr;
2408 2407

  
2409
                    if(!topright_avail){
2410
                        tr= ptr[3 - linesize]*0x01010101;
2411
                        topright= (uint8_t*) &tr;
2412
                    }else if(i==5 && h->deblocking_filter){
2413
                        tr= *(uint32_t*)h->top_border[mb_x+1];
2414
                        topright= (uint8_t*) &tr;
2415
                    }
2408
                    if(dir == DIAG_DOWN_LEFT_PRED || dir == VERT_LEFT_PRED){
2409
                        const int topright_avail= (h->topright_samples_available<<i)&0x8000;
2410
                        assert(mb_y || linesize <= h->block_offset[i]);
2411
                        if(!topright_avail){
2412
                            tr= ptr[3 - linesize]*0x01010101;
2413
                            topright= (uint8_t*) &tr;
2414
                        }else if(i==5 && h->deblocking_filter){
2415
                            tr= *(uint32_t*)h->top_border[mb_x+1];
2416
                            topright= (uint8_t*) &tr;
2417
                        }else
2418
                            topright= ptr + 4 - linesize;
2419
                    }else
2420
                        topright= NULL;
2416 2421

  
2417 2422
                    h->pred4x4[ dir ](ptr, topright, linesize);
2418 2423
                    if(h->non_zero_count_cache[ scan8[i] ]){

Also available in: Unified diff