fix issue update according to wayne's suggestiong
Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 2 files). Show all
Unified · Split
| @@ -1504,7 +1504,7 @@ int32_t ParseScalingList (PSps pSps, PBitStringAux pBs, bool bPPS, bool* pScalin · 1503 unmodified lines | ||
| 1504 | 1504 | uint8_t (*iScalingList4x4)[16], uint8_t (*iScalingList8x8)[64]) { |
| 1505 | 1505 | uint32_t uiScalingListNum; |
| 1506 | 1506 | uint32_t uiCode; |
| 1507 | − int32_t iRetTmp; | |
| 1507 | + | |
| 1508 | 1508 | bool bUseDefaultScalingMatrixFlag4x4 = false; |
| 1509 | 1509 | bool bUseDefaultScalingMatrixFlag8x8 = false; |
| 1510 | 1510 | bool bInit = false; |
| @@ -1526,28 +1526,21 @@ int32_t ParseScalingList (PSps pSps, PBitStringAux pBs, bool bPPS, bool* pScalin · 15 unmodified lines | ||
| 1526 | 1526 | WELS_READ_VERIFY (BsGetOneBit (pBs, &uiCode)); |
| 1527 | 1527 | pScalingListPresentFlag[i] = !!uiCode; |
| 1528 | 1528 | if (!!uiCode) { |
| 1529 | − if (i < 6) { | |
| 1530 | − iRetTmp = SetScalingListValue (iScalingList4x4[i], 16, &bUseDefaultScalingMatrixFlag4x4, pBs); | |
| 1531 | − if (iRetTmp == ERR_NONE) { | |
| 1532 | − if (bUseDefaultScalingMatrixFlag4x4) { | |
| 1533 | − bUseDefaultScalingMatrixFlag4x4 = false; | |
| 1534 | − memcpy (iScalingList4x4[i], g_kuiDequantScaling4x4Default[i / 3], sizeof (uint8_t) * 16); | |
| 1535 | − } | |
| 1536 | − } else | |
| 1537 | − return iRetTmp; | |
| 1529 | + if (i < 6) {//4x4 scaling list | |
| 1530 | + WELS_READ_VERIFY (SetScalingListValue (iScalingList4x4[i], 16, &bUseDefaultScalingMatrixFlag4x4, pBs)); | |
| 1531 | + if (bUseDefaultScalingMatrixFlag4x4) { | |
| 1532 | + bUseDefaultScalingMatrixFlag4x4 = false; | |
| 1533 | + memcpy (iScalingList4x4[i], g_kuiDequantScaling4x4Default[i / 3], sizeof (uint8_t) * 16); | |
| 1534 | + } | |
| 1535 | + | |
| 1538 | 1536 | |
| 1539 | 1537 | } else { |
| 1540 | − SetScalingListValue (iScalingList8x8[i - 6], 64, &bUseDefaultScalingMatrixFlag8x8, pBs); | |
| 1541 | − //if(iRetTmp == ERR_NONE) | |
| 1542 | − //{ | |
| 1538 | + WELS_READ_VERIFY (SetScalingListValue (iScalingList8x8[i - 6], 64, &bUseDefaultScalingMatrixFlag8x8, pBs)); | |
| 1539 | + | |
| 1543 | 1540 | if (bUseDefaultScalingMatrixFlag8x8) { |
| 1544 | 1541 | bUseDefaultScalingMatrixFlag8x8 = false; |
| 1545 | 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 | 1546 | } else { |
| @@ -1561,7 +1554,7 @@ int32_t ParseScalingList (PSps pSps, PBitStringAux pBs, bool bPPS, bool* pScalin · 7 unmodified lines | ||
| 1561 | 1554 | if ((i == 6) || (i == 7)) |
| 1562 | 1555 | memcpy (iScalingList8x8[i - 6], defaultScaling[ (i & 1) + 2], sizeof (uint8_t) * 64); |
| 1563 | 1556 | 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 | } |