Showing the changes to codec/decoder/core/src/au_parser.cpp (1 of 2 files). Show all
Unified · Split
| @@ -1516,11 +1516,18 @@ int32_t ParseVui (PWelsDecoderContext pCtx, PSps pSps, PBitStringAux pBsAux) { · 1515 unmodified lines | |||
| 1516 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //timing_info_present_flag | 1516 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //timing_info_present_flag |
| 1517 | pVui->bTimingInfoPresentFlag = !!uiCode; | 1517 | pVui->bTimingInfoPresentFlag = !!uiCode; |
| 1518 | if (pVui->bTimingInfoPresentFlag) { | 1518 | if (pVui->bTimingInfoPresentFlag) { |
| 1519 | WELS_READ_VERIFY (BsGetBits (pBsAux, 32, &uiCode)); //num_units_in_tick | 1519 | uint32_t uiTmp = 0; |
| 1520 | pVui->uiNumUnitsInTick = uiCode; | 1520 | WELS_READ_VERIFY (BsGetBits (pBsAux, 16, &uiCode)); //num_units_in_tick |
| 1521 | uiTmp = (uiCode << 16); | ||
| 1522 | WELS_READ_VERIFY (BsGetBits (pBsAux, 16, &uiCode)); //num_units_in_tick | ||
| 1523 | uiTmp |= uiCode; | ||
| 1524 | pVui->uiNumUnitsInTick = uiTmp; | ||
| 1521 | WELS_CHECK_SE_LOWER_WARNING (pVui->uiNumUnitsInTick, 1, "num_units_in_tick"); | 1525 | WELS_CHECK_SE_LOWER_WARNING (pVui->uiNumUnitsInTick, 1, "num_units_in_tick"); |
| 1522 | WELS_READ_VERIFY (BsGetBits (pBsAux, 32, &uiCode)); //time_scale | 1526 | WELS_READ_VERIFY (BsGetBits (pBsAux, 16, &uiCode)); //time_scale |
| 1523 | pVui->uiTimeScale = uiCode; | 1527 | uiTmp = (uiCode << 16); |
| 1528 | WELS_READ_VERIFY (BsGetBits (pBsAux, 16, &uiCode)); //time_scale | ||
| 1529 | uiTmp |= uiCode; | ||
| 1530 | pVui->uiTimeScale = uiTmp; | ||
| 1524 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //fixed_frame_rate_flag | 1531 | WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //fixed_frame_rate_flag |
| 1525 | pVui->bFixedFrameRateFlag = !!uiCode; | 1532 | pVui->bFixedFrameRateFlag = !!uiCode; |
| 1526 | } | 1533 | } |