History

support scalinglist8x8

fix issue update according to wayne's suggestiong

zhuiling committed 11 years ago

Commit 17e5ea91 parent 698ba112 files · +39 −26Browse files

Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 2 files). Show all

Unified · Split

codec/decoder/core/src/au_parser.cpp+11−18
@@ -1504,7 +1504,7 @@ int32_t ParseScalingList (PSps pSps, PBitStringAux pBs, bool bPPS, bool* pScalin · 1503 unmodified lines
1504 uint8_t (*iScalingList4x4)[16], uint8_t (*iScalingList8x8)[64]) {1504 uint8_t (*iScalingList4x4)[16], uint8_t (*iScalingList8x8)[64]) {
1505 uint32_t uiScalingListNum;1505 uint32_t uiScalingListNum;
1506 uint32_t uiCode;1506 uint32_t uiCode;
1507 int32_t iRetTmp;1507
1508 bool bUseDefaultScalingMatrixFlag4x4 = false;1508 bool bUseDefaultScalingMatrixFlag4x4 = false;
1509 bool bUseDefaultScalingMatrixFlag8x8 = false;1509 bool bUseDefaultScalingMatrixFlag8x8 = false;
1510 bool bInit = false;1510 bool bInit = false;
@@ -1526,28 +1526,21 @@ int32_t ParseScalingList (PSps pSps, PBitStringAux pBs, bool bPPS, bool* pScalin · 15 unmodified lines
1526 WELS_READ_VERIFY (BsGetOneBit (pBs, &uiCode));1526 WELS_READ_VERIFY (BsGetOneBit (pBs, &uiCode));
1527 pScalingListPresentFlag[i] = !!uiCode;1527 pScalingListPresentFlag[i] = !!uiCode;
1528 if (!!uiCode) {1528 if (!!uiCode) {
1529 if (i < 6) {1529 if (i < 6) {//4x4 scaling list
1530 iRetTmp = SetScalingListValue (iScalingList4x4[i], 16, &bUseDefaultScalingMatrixFlag4x4, pBs);1530 WELS_READ_VERIFY (SetScalingListValue (iScalingList4x4[i], 16, &bUseDefaultScalingMatrixFlag4x4, pBs));
1531 if (iRetTmp == ERR_NONE) {1531 if (bUseDefaultScalingMatrixFlag4x4) {
1532 if (bUseDefaultScalingMatrixFlag4x4) {1532 bUseDefaultScalingMatrixFlag4x4 = false;
1533 bUseDefaultScalingMatrixFlag4x4 = false;1533 memcpy (iScalingList4x4[i], g_kuiDequantScaling4x4Default[i / 3], sizeof (uint8_t) * 16);
1534 memcpy (iScalingList4x4[i], g_kuiDequantScaling4x4Default[i / 3], sizeof (uint8_t) * 16);1534 }
1535 }1535
1536 } else
1537 return iRetTmp;
1538 1536
1539 } else {1537 } else {
1540 SetScalingListValue (iScalingList8x8[i - 6], 64, &bUseDefaultScalingMatrixFlag8x8, pBs);1538 WELS_READ_VERIFY (SetScalingListValue (iScalingList8x8[i - 6], 64, &bUseDefaultScalingMatrixFlag8x8, pBs));
1541 //if(iRetTmp == ERR_NONE)1539
1542 //{
1543 if (bUseDefaultScalingMatrixFlag8x8) {1540 if (bUseDefaultScalingMatrixFlag8x8) {
1544 bUseDefaultScalingMatrixFlag8x8 = false;1541 bUseDefaultScalingMatrixFlag8x8 = false;
1545 memcpy (iScalingList8x8[i - 6], g_kuiDequantScaling8x8Default[ (i - 6) & 1], sizeof (uint8_t) * 64);1542 memcpy (iScalingList8x8[i - 6], g_kuiDequantScaling8x8Default[ (i - 6) & 1], sizeof (uint8_t) * 64);
1546 }1543 }
1547 // }
1548
1549 //else
1550 // return iRetTmp;
1551 }1544 }
1552 1545
1553 } else {1546 } else {
@@ -1561,7 +1554,7 @@ int32_t ParseScalingList (PSps pSps, PBitStringAux pBs, bool bPPS, bool* pScalin · 7 unmodified lines
1561 if ((i == 6) || (i == 7))1554 if ((i == 6) || (i == 7))
1562 memcpy (iScalingList8x8[i - 6], defaultScaling[ (i & 1) + 2], sizeof (uint8_t) * 64);1555 memcpy (iScalingList8x8[i - 6], defaultScaling[ (i & 1) + 2], sizeof (uint8_t) * 64);
1563 else1556 else
1564 memcpy (iScalingList8x8[i - 6], iScalingList8x8[ (i - 6) / 3], sizeof (uint8_t) * 64);1557 memcpy (iScalingList8x8[i - 6], iScalingList8x8[i - 8], sizeof (uint8_t) * 64);
1565 1558
1566 }1559 }
1567 }1560 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t