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 | 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 | else | 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 | } |