History

fix ubsan warning on 32bit shift using twice 16bit calling

huili2 committed 9 years ago

Commit 33641681 parent 6d9220c2 files · +14 −7Browse 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−4
@@ -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_flag1516 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_tick1519 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_scale1526 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_flag1531 WELS_READ_VERIFY (BsGetOneBit (pBsAux, &uiCode)); //fixed_frame_rate_flag
1525 pVui->bFixedFrameRateFlag = !!uiCode;1532 pVui->bFixedFrameRateFlag = !!uiCode;
1526 }1533 }

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