@@ -459,7 +459,7 @@ namespace ojph {
459459
460460 // accumulate in tmp, and increment bits, check if unstuffing is needed
461461 ui8 t = (vlcp->unstuff && ((val & 0x7F ) == 0x7F )) ? 1 : 0 ;
462- val = val & (0xFFU >> t); // protect against erroneous 1 in MSB
462+ val = (ui8)( val & (0xFFU >> t) ); // protect against erroneous 1 in MSB
463463 vlcp->tmp |= (ui64)val << vlcp->bits ;
464464 vlcp->bits += 8 - t;
465465 vlcp->unstuff = val > 0x8F ;
@@ -491,9 +491,9 @@ namespace ojph {
491491
492492 // the first byte is treated different to other bytes, because only
493493 // the MSB nibble is part of the VLC code.
494- val = val >> 4 ;
494+ val = (ui8)( val >> 4 ) ;
495495 ui8 t = ((val & 0x7 ) == 0x7 ) ? 1 : 0 ; // unstuffing is needed
496- val = val & (0xFU >> t); // protect against erroneous 1 in MSB
496+ val = (ui8)( val & (0xFU >> t) ); // protect against erroneous 1 in MSB
497497 vlcp->tmp = val;
498498 vlcp->bits = 4 - t;
499499 vlcp->unstuff = val > 0x8 ; // this is useful for the next byte
@@ -787,7 +787,7 @@ namespace ojph {
787787
788788 // unstuff and accumulate
789789 ui8 t = msp->unstuff ? 1 : 0 ;
790- val = val & (0xFFU >> t);
790+ val = (ui8)( val & (0xFFU >> t) );
791791 msp->unstuff = (val == 0xFF );
792792 msp->tmp |= ((ui64)val) << msp->bits ; // move data to msp->tmp
793793 msp->bits += 8 - t;
@@ -2030,27 +2030,27 @@ namespace ojph {
20302030 vlc_val = rev_advance64 (&vlc, uvlc_entry & 0x7 );
20312031 uvlc_entry >>= 3 ;
20322032 // extract suffixes for quad 0 and 1
2033- ui32 len = uvlc_entry & 0xF ; // suffix length for 2 quads
2034- ui32 tmp = vlc_val & ((1 << len) - 1 ) ; // suffix value for 2 quads
2033+ ui32 len = uvlc_entry & 0xF ; // suffix length for 2 quads
2034+ ui32 tmp = (ui32)( vlc_val& ((1 << len)- 1 )) ; // suffix value for 2 quads
20352035 vlc_val = rev_advance64 (&vlc, len);
20362036 uvlc_entry >>= 4 ;
20372037 // quad 0 length
20382038 len = uvlc_entry & 0x7 ; // quad 0 suffix length
20392039 uvlc_entry >>= 3 ;
20402040 ui16 u_q0 = (ui16)(1 + (uvlc_entry&7 ) + (tmp&~(0xFFU <<len)));// kap. 1
2041- ui16 u_q1 = (ui16)(1 + (uvlc_entry >> 3 ) + (tmp >> len)); // kappa == 1
2041+ ui16 u_q1 = (ui16)(1 + (uvlc_entry >> 3 ) + (tmp >> len)); // kappa== 1
20422042
20432043 // decode u_q extensions, which is needed only when u_q > 32
2044- ui32 u_ext; bool cond0, cond1;
2044+ ui16 u_ext; bool cond0, cond1;
20452045 cond0 = u_q0 > 32 ;
2046- u_ext = cond0 ? (uvlc_entry & 0xF ) : 0 ;
2046+ u_ext = (ui16)( cond0 ? (uvlc_entry & 0xF ) : 0 ) ;
20472047 vlc_val = rev_advance64 (&vlc, cond0 ? 4 : 0 );
20482048 u_q0 += u_ext << 2 ;
20492049 sp[1 ] = u_q0;
20502050 cond1 = u_q1 > 32 ;
2051- u_ext = cond1 ? (uvlc_entry & 0xF ) : 0 ;
2051+ u_ext = (ui16)( cond1 ? (uvlc_entry & 0xF ) : 0 ) ;
20522052 vlc_val = rev_advance64 (&vlc, cond1 ? 4 : 0 );
2053- u_q0 += u_ext << 2 ;
2053+ u_q1 += u_ext << 2 ;
20542054 sp[3 ] = u_q1;
20552055 }
20562056 sp[0 ] = sp[1 ] = 0 ;
@@ -2152,8 +2152,8 @@ namespace ojph {
21522152 vlc_val = rev_advance64 (&vlc, uvlc_entry & 0x7 );
21532153 uvlc_entry >>= 3 ;
21542154 // extract suffixes for quad 0 and 1
2155- ui32 len = uvlc_entry & 0xF ; // suffix length for 2 quads
2156- ui32 tmp = vlc_val & ((1 << len) - 1 ); // suffix value for 2 quads
2155+ ui32 len = uvlc_entry & 0xF ; // suffix length for 2 quads
2156+ ui32 tmp = (ui32)( vlc_val& ((1 << len)- 1 ) ); // suffix value for 2 quads
21572157 vlc_val = rev_advance64 (&vlc, len);
21582158 uvlc_entry >>= 4 ;
21592159 // quad 0 length
@@ -2163,16 +2163,16 @@ namespace ojph {
21632163 ui16 u_q1 = (ui16)((uvlc_entry >> 3 ) + (tmp >> len)); // u_q
21642164
21652165 // decode u_q extensions, which is needed only when u_q > 32
2166- ui32 u_ext; bool cond0, cond1;
2166+ ui16 u_ext; bool cond0, cond1;
21672167 cond0 = u_q0 > 32 ;
2168- u_ext = cond0 ? (uvlc_entry & 0xF ) : 0 ;
2168+ u_ext = (ui16)( cond0 ? (uvlc_entry & 0xF ) : 0 ) ;
21692169 vlc_val = rev_advance64 (&vlc, cond0 ? 4 : 0 );
21702170 u_q0 += u_ext << 2 ;
21712171 sp[1 ] = u_q0;
21722172 cond1 = u_q1 > 32 ;
2173- u_ext = cond1 ? (uvlc_entry & 0xF ) : 0 ;
2173+ u_ext = (ui16)( cond1 ? (uvlc_entry & 0xF ) : 0 ) ;
21742174 vlc_val = rev_advance64 (&vlc, cond1 ? 4 : 0 );
2175- u_q0 += u_ext << 2 ;
2175+ u_q1 += u_ext << 2 ;
21762176 sp[3 ] = u_q1;
21772177 }
21782178 sp[0 ] = sp[1 ] = 0 ;
0 commit comments