Mercurial > libavcodec.hg
comparison h264.c @ 4540:d81e41071424 libavcodec
factorize fill_rectangle() calls
author | michael |
---|---|
date | Sun, 18 Feb 2007 01:24:57 +0000 |
parents | a856fe4b80f0 |
children | 1c8bc533da57 |
comparison
equal
deleted
inserted
replaced
4539:956ccc32d4e9 | 4540:d81e41071424 |
---|---|
1466 *mb_type &= ~MB_TYPE_P0L0; | 1466 *mb_type &= ~MB_TYPE_P0L0; |
1467 sub_mb_type &= ~MB_TYPE_P0L0; | 1467 sub_mb_type &= ~MB_TYPE_P0L0; |
1468 } | 1468 } |
1469 | 1469 |
1470 if(IS_16X16(*mb_type)){ | 1470 if(IS_16X16(*mb_type)){ |
1471 int a=0, b=0; | |
1472 | |
1471 fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1); | 1473 fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1); |
1472 fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1); | 1474 fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1); |
1473 if(!IS_INTRA(mb_type_col) | 1475 if(!IS_INTRA(mb_type_col) |
1474 && ( (l1ref0[0] == 0 && FFABS(l1mv0[0][0]) <= 1 && FFABS(l1mv0[0][1]) <= 1) | 1476 && ( (l1ref0[0] == 0 && FFABS(l1mv0[0][0]) <= 1 && FFABS(l1mv0[0][1]) <= 1) |
1475 || (l1ref0[0] < 0 && l1ref1[0] == 0 && FFABS(l1mv1[0][0]) <= 1 && FFABS(l1mv1[0][1]) <= 1 | 1477 || (l1ref0[0] < 0 && l1ref1[0] == 0 && FFABS(l1mv1[0][0]) <= 1 && FFABS(l1mv1[0][1]) <= 1 |
1476 && (h->x264_build>33 || !h->x264_build)))){ | 1478 && (h->x264_build>33 || !h->x264_build)))){ |
1477 if(ref[0] > 0) | 1479 if(ref[0] > 0) |
1478 fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv[0][0],mv[0][1]), 4); | 1480 a= pack16to32(mv[0][0],mv[0][1]); |
1479 else | |
1480 fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, 0, 4); | |
1481 if(ref[1] > 0) | 1481 if(ref[1] > 0) |
1482 fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, pack16to32(mv[1][0],mv[1][1]), 4); | 1482 b= pack16to32(mv[1][0],mv[1][1]); |
1483 else | |
1484 fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, 0, 4); | |
1485 }else{ | 1483 }else{ |
1486 fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv[0][0],mv[0][1]), 4); | 1484 a= pack16to32(mv[0][0],mv[0][1]); |
1487 fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, pack16to32(mv[1][0],mv[1][1]), 4); | 1485 b= pack16to32(mv[1][0],mv[1][1]); |
1488 } | 1486 } |
1487 fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, a, 4); | |
1488 fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, b, 4); | |
1489 }else{ | 1489 }else{ |
1490 for(i8=0; i8<4; i8++){ | 1490 for(i8=0; i8<4; i8++){ |
1491 const int x8 = i8&1; | 1491 const int x8 = i8&1; |
1492 const int y8 = i8>>1; | 1492 const int y8 = i8>>1; |
1493 | 1493 |