Skip to content

Commit 075ee13

Browse files
committed
Avoids warnings, and a bug fix -- macos not compiling.
1 parent 3992c83 commit 075ee13

File tree

2 files changed

+23
-23
lines changed

2 files changed

+23
-23
lines changed

src/core/coding/ojph_block_decoder.cpp

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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;

src/core/coding/ojph_block_encoder.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ namespace ojph {
6565
static ui16 vlc_tbl1[2048] = { 0 };
6666

6767
//UVLC encoding
68-
const int num_uvlc_entries = 74;
68+
const int num_uvlc_entries = 75;
6969
struct uvlc_tbl_struct {
7070
ui8 pre, pre_len, suf, suf_len, ext, ext_len;
7171
};
@@ -234,19 +234,19 @@ namespace ojph {
234234
{
235235
uvlc_tbl[i].pre = 0;
236236
uvlc_tbl[i].pre_len = 3;
237-
uvlc_tbl[i].suf = i - 5;
237+
uvlc_tbl[i].suf = (ui8)(i - 5);
238238
uvlc_tbl[i].suf_len = 5;
239239
uvlc_tbl[i].ext = 0;
240240
uvlc_tbl[i].ext_len = 0;
241241
}
242242

243-
for (int i = 33; i < 75; ++i)
243+
for (int i = 33; i < num_uvlc_entries; ++i)
244244
{
245245
uvlc_tbl[i].pre = 0;
246246
uvlc_tbl[i].pre_len = 3;
247-
uvlc_tbl[i].suf = 28 + (i - 33) % 4;
247+
uvlc_tbl[i].suf = (ui8)(28 + (i - 33) % 4);
248248
uvlc_tbl[i].suf_len = 5;
249-
uvlc_tbl[i].ext = (i - 33) / 4;
249+
uvlc_tbl[i].ext = (ui8)((i - 33) / 4);
250250
uvlc_tbl[i].ext_len = 4;
251251
}
252252

@@ -488,7 +488,7 @@ namespace ojph {
488488
if (msp->pos >= msp->buf_size)
489489
OJPH_ERROR(0x00020005, "magnitude sign encoder's buffer is full");
490490
int t = ojph_min(msp->max_bits - msp->used_bits, cwd_len);
491-
msp->tmp |= (cwd & ((1ULL << t) - 1)) << msp->used_bits;
491+
msp->tmp |= (ui32)((cwd & ((1ULL << t) - 1)) << msp->used_bits);
492492
msp->used_bits += t;
493493
cwd >>= t;
494494
cwd_len -= t;

0 commit comments

Comments
 (0)