Revision 677dab59 libavcodec/h264.h

View differences:

libavcodec/h264.h
1221 1221

  
1222 1222
            ref = &s->current_picture.ref_index[list][h->mb2b8_xy[mb_xy]];
1223 1223
            {
1224
                int (*ref2frm)[64] = h->ref2frm[ h->slice_num&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
1224
                int (*ref2frm)[64] = h->ref2frm[ h->slice_num&(MAX_SLICES-1) ] + (MB_MBAFF ? 20 : 2);
1225 1225
                *(uint32_t*)&h->ref_cache[list][scan8[ 0]] =
1226 1226
                *(uint32_t*)&h->ref_cache[list][scan8[ 2]] = (pack16to32(ref2frm[list][ref[0]],ref2frm[list][ref[1]])&0x00FF00FF)*0x0101;
1227 1227
                ref += h->b8_stride;
......
1298 1298
            if(USES_LIST(top_type, list)){
1299 1299
                const int b_xy= h->mb2b_xy[top_xy] + 3*h->b_stride;
1300 1300
                const int b8_xy= h->mb2b8_xy[top_xy] + h->b8_stride;
1301
                int (*ref2frm)[64] = h->ref2frm[ h->slice_table[top_xy]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
1301
                int (*ref2frm)[64] = h->ref2frm[ h->slice_table[top_xy]&(MAX_SLICES-1) ] + (MB_MBAFF ? 20 : 2);
1302 1302
                AV_COPY128(h->mv_cache[list][scan8[0] + 0 - 1*8], s->current_picture.motion_val[list][b_xy + 0]);
1303 1303
                h->ref_cache[list][scan8[0] + 0 - 1*8]=
1304 1304
                h->ref_cache[list][scan8[0] + 1 - 1*8]= ref2frm[list][s->current_picture.ref_index[list][b8_xy + 0]];
......
1313 1313
                if(USES_LIST(left_type[0], list)){
1314 1314
                    const int b_xy= h->mb2b_xy[left_xy[0]] + 3;
1315 1315
                    const int b8_xy= h->mb2b8_xy[left_xy[0]] + 1;
1316
                    int (*ref2frm)[64] = h->ref2frm[ h->slice_table[left_xy[0]]&(MAX_SLICES-1) ][0] + (MB_MBAFF ? 20 : 2);
1316
                    int (*ref2frm)[64] = h->ref2frm[ h->slice_table[left_xy[0]]&(MAX_SLICES-1) ] + (MB_MBAFF ? 20 : 2);
1317 1317
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 + 0 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*0];
1318 1318
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 + 8 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*1];
1319 1319
                    *(uint32_t*)h->mv_cache[list][scan8[0] - 1 +16 ]= *(uint32_t*)s->current_picture.motion_val[list][b_xy + h->b_stride*2];

Also available in: Unified diff