hardware/intel/intel-driver
修訂 | 9ba21aee960183f635fc9fcb834d58e8909c927b (tree) |
---|---|
時間 | 2015-02-03 15:17:10 |
作者 | Xiang, Haihao <haihao.xiang@inte...> |
Commiter | Xiang, Haihao |
VC1: No overlap smoothing if the overlap flag is 0
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Reviewed-by: Zhao Yakui <yakui.zhao@intel.com>
@@ -1469,25 +1469,29 @@ gen6_mfd_vc1_pic_state(VADriverContextP ctx, | ||
1469 | 1469 | brfd = 0; |
1470 | 1470 | } |
1471 | 1471 | |
1472 | - overlap = 0; | |
1473 | - if (profile != GEN6_VC1_ADVANCED_PROFILE){ | |
1474 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1475 | - pic_param->picture_fields.bits.picture_type != GEN6_VC1_B_PICTURE) { | |
1476 | - overlap = 1; | |
1477 | - } | |
1478 | - }else { | |
1479 | - if (pic_param->picture_fields.bits.picture_type == GEN6_VC1_P_PICTURE && | |
1480 | - pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1481 | - overlap = 1; | |
1482 | - } | |
1483 | - if (pic_param->picture_fields.bits.picture_type == GEN6_VC1_I_PICTURE || | |
1484 | - pic_param->picture_fields.bits.picture_type == GEN6_VC1_BI_PICTURE){ | |
1485 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1486 | - overlap = 1; | |
1487 | - } else if (va_to_gen6_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1488 | - va_to_gen6_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1489 | - overlap = 1; | |
1490 | - } | |
1472 | + overlap = pic_param->sequence_fields.bits.overlap; | |
1473 | + | |
1474 | + if (overlap) { | |
1475 | + overlap = 0; | |
1476 | + if (profile != GEN6_VC1_ADVANCED_PROFILE){ | |
1477 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1478 | + pic_param->picture_fields.bits.picture_type != GEN6_VC1_B_PICTURE) { | |
1479 | + overlap = 1; | |
1480 | + } | |
1481 | + }else { | |
1482 | + if (pic_param->picture_fields.bits.picture_type == GEN6_VC1_P_PICTURE && | |
1483 | + pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1484 | + overlap = 1; | |
1485 | + } | |
1486 | + if (pic_param->picture_fields.bits.picture_type == GEN6_VC1_I_PICTURE || | |
1487 | + pic_param->picture_fields.bits.picture_type == GEN6_VC1_BI_PICTURE){ | |
1488 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1489 | + overlap = 1; | |
1490 | + } else if (va_to_gen6_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1491 | + va_to_gen6_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1492 | + overlap = 1; | |
1493 | + } | |
1494 | + } | |
1491 | 1495 | } |
1492 | 1496 | } |
1493 | 1497 |
@@ -1799,25 +1799,29 @@ gen75_mfd_vc1_pic_state(VADriverContextP ctx, | ||
1799 | 1799 | brfd = 0; |
1800 | 1800 | } |
1801 | 1801 | |
1802 | - overlap = 0; | |
1803 | - if (profile != GEN7_VC1_ADVANCED_PROFILE){ | |
1804 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1805 | - pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) { | |
1806 | - overlap = 1; | |
1807 | - } | |
1808 | - }else { | |
1809 | - if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE && | |
1810 | - pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1811 | - overlap = 1; | |
1812 | - } | |
1813 | - if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_I_PICTURE || | |
1814 | - pic_param->picture_fields.bits.picture_type == GEN7_VC1_BI_PICTURE){ | |
1815 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1816 | - overlap = 1; | |
1817 | - } else if (va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1818 | - va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1819 | - overlap = 1; | |
1820 | - } | |
1802 | + overlap = pic_param->sequence_fields.bits.overlap; | |
1803 | + | |
1804 | + if (overlap) { | |
1805 | + overlap = 0; | |
1806 | + if (profile != GEN7_VC1_ADVANCED_PROFILE){ | |
1807 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1808 | + pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) { | |
1809 | + overlap = 1; | |
1810 | + } | |
1811 | + }else { | |
1812 | + if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE && | |
1813 | + pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1814 | + overlap = 1; | |
1815 | + } | |
1816 | + if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_I_PICTURE || | |
1817 | + pic_param->picture_fields.bits.picture_type == GEN7_VC1_BI_PICTURE){ | |
1818 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1819 | + overlap = 1; | |
1820 | + } else if (va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1821 | + va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1822 | + overlap = 1; | |
1823 | + } | |
1824 | + } | |
1821 | 1825 | } |
1822 | 1826 | } |
1823 | 1827 |
@@ -1526,25 +1526,29 @@ gen7_mfd_vc1_pic_state(VADriverContextP ctx, | ||
1526 | 1526 | brfd = 0; |
1527 | 1527 | } |
1528 | 1528 | |
1529 | - overlap = 0; | |
1530 | - if (profile != GEN7_VC1_ADVANCED_PROFILE){ | |
1531 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1532 | - pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) { | |
1533 | - overlap = 1; | |
1534 | - } | |
1535 | - }else { | |
1536 | - if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE && | |
1537 | - pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1538 | - overlap = 1; | |
1539 | - } | |
1540 | - if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_I_PICTURE || | |
1541 | - pic_param->picture_fields.bits.picture_type == GEN7_VC1_BI_PICTURE){ | |
1542 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1543 | - overlap = 1; | |
1544 | - } else if (va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1545 | - va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1546 | - overlap = 1; | |
1547 | - } | |
1529 | + overlap = pic_param->sequence_fields.bits.overlap; | |
1530 | + | |
1531 | + if (overlap) { | |
1532 | + overlap = 0; | |
1533 | + if (profile != GEN7_VC1_ADVANCED_PROFILE) { | |
1534 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1535 | + pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) { | |
1536 | + overlap = 1; | |
1537 | + } | |
1538 | + }else { | |
1539 | + if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE && | |
1540 | + pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1541 | + overlap = 1; | |
1542 | + } | |
1543 | + if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_I_PICTURE || | |
1544 | + pic_param->picture_fields.bits.picture_type == GEN7_VC1_BI_PICTURE){ | |
1545 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1546 | + overlap = 1; | |
1547 | + } else if (va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1548 | + va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1549 | + overlap = 1; | |
1550 | + } | |
1551 | + } | |
1548 | 1552 | } |
1549 | 1553 | } |
1550 | 1554 |
@@ -1562,25 +1562,29 @@ gen8_mfd_vc1_pic_state(VADriverContextP ctx, | ||
1562 | 1562 | brfd = 0; |
1563 | 1563 | } |
1564 | 1564 | |
1565 | - overlap = 0; | |
1566 | - if (profile != GEN7_VC1_ADVANCED_PROFILE){ | |
1567 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1568 | - pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) { | |
1569 | - overlap = 1; | |
1570 | - } | |
1571 | - }else { | |
1572 | - if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE && | |
1573 | - pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1574 | - overlap = 1; | |
1575 | - } | |
1576 | - if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_I_PICTURE || | |
1577 | - pic_param->picture_fields.bits.picture_type == GEN7_VC1_BI_PICTURE){ | |
1578 | - if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1579 | - overlap = 1; | |
1580 | - } else if (va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1581 | - va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1582 | - overlap = 1; | |
1583 | - } | |
1565 | + overlap = pic_param->sequence_fields.bits.overlap; | |
1566 | + | |
1567 | + if (overlap) { | |
1568 | + overlap = 0; | |
1569 | + if (profile != GEN7_VC1_ADVANCED_PROFILE){ | |
1570 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9 && | |
1571 | + pic_param->picture_fields.bits.picture_type != GEN7_VC1_B_PICTURE) { | |
1572 | + overlap = 1; | |
1573 | + } | |
1574 | + }else { | |
1575 | + if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_P_PICTURE && | |
1576 | + pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1577 | + overlap = 1; | |
1578 | + } | |
1579 | + if (pic_param->picture_fields.bits.picture_type == GEN7_VC1_I_PICTURE || | |
1580 | + pic_param->picture_fields.bits.picture_type == GEN7_VC1_BI_PICTURE){ | |
1581 | + if (pic_param->pic_quantizer_fields.bits.pic_quantizer_scale >= 9){ | |
1582 | + overlap = 1; | |
1583 | + } else if (va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 2 || | |
1584 | + va_to_gen7_vc1_condover[pic_param->conditional_overlap_flag] == 3) { | |
1585 | + overlap = 1; | |
1586 | + } | |
1587 | + } | |
1584 | 1588 | } |
1585 | 1589 | } |
1586 | 1590 |