@@ -58,7 +58,7 @@ void oapv_bsw_init(oapv_bs_t *bs, u8 *buf, int size, oapv_bs_fn_flush_t fn_flush
5858 bs -> size = size ;
5959 bs -> beg = buf ;
6060 bs -> cur = buf ;
61- bs -> end = buf + size - 1 ;
61+ bs -> end = buf + size ;
6262 bs -> code = 0 ;
6363 bs -> leftbits = 32 ;
6464 bs -> fn_flush = (fn_flush == NULL ? bsw_flush : fn_flush );
@@ -73,7 +73,7 @@ void oapv_bsw_deinit(oapv_bs_t *bs)
7373
7474void * oapv_bsw_sink (oapv_bs_t * bs )
7575{
76- oapv_assert_rv (bs -> cur + BSW_GET_SINK_BYTE (bs ) <= bs -> end , NULL );
76+ oapv_assert_rv (bs -> cur + BSW_GET_SINK_BYTE (bs ) < bs -> end , NULL );
7777 bs -> fn_flush (bs , 0 );
7878 bs -> code = 0 ;
7979 bs -> leftbits = 32 ;
@@ -108,7 +108,7 @@ int oapv_bsw_write1(oapv_bs_t *bs, int val)
108108 bs -> code |= ((val & 0x1 ) << bs -> leftbits );
109109
110110 if (bs -> leftbits == 0 ) {
111- oapv_assert_rv (bs -> cur <= bs -> end , -1 );
111+ oapv_assert_rv (bs -> cur < bs -> end , -1 );
112112 bs -> fn_flush (bs , 0 );
113113
114114 bs -> code = 0 ;
@@ -137,7 +137,7 @@ int oapv_bsw_write(oapv_bs_t *bs, u32 val, int len) /* len(1 ~ 32) */
137137 bs -> leftbits -= len ;
138138 }
139139 else {
140- oapv_assert_rv (bs -> cur + 4 <= bs -> end , -1 );
140+ oapv_assert_rv (bs -> cur + 4 < bs -> end , -1 );
141141
142142 bs -> leftbits = 0 ;
143143 bs -> fn_flush (bs , 0 );
@@ -185,7 +185,7 @@ static int bsr_flush(oapv_bs_t *bs, int byte)
185185
186186 oapv_assert (byte );
187187
188- remained = (int )(bs -> end - bs -> cur ) + 1 ;
188+ remained = (int )(bs -> end - bs -> cur );
189189 if (byte > remained )
190190 byte = remained ;
191191
@@ -211,7 +211,7 @@ void oapv_bsr_init(oapv_bs_t *bs, u8 *buf, u32 size, oapv_bs_fn_flush_t fn_flush
211211 bs -> size = size ;
212212 bs -> cur = buf ;
213213 bs -> beg = buf ;
214- bs -> end = buf + size - 1 ;
214+ bs -> end = buf + size ;
215215 bs -> code = 0 ;
216216 bs -> leftbits = 0 ;
217217 bs -> fn_flush = (fn_flush == NULL ) ? bsr_flush : fn_flush ;
@@ -308,7 +308,7 @@ u32 oapv_bsr_peek(oapv_bs_t *bs, int size)
308308 larger than current bs->leftbits.
309309 In this case, we should read one more byte, but we could not store
310310 the read byte. */
311- if (bs -> cur <= bs -> end ) {
311+ if (bs -> cur < bs -> end ) {
312312 code |= * (bs -> cur ) >> (8 - size );
313313 }
314314 }
@@ -317,7 +317,7 @@ u32 oapv_bsr_peek(oapv_bs_t *bs, int size)
317317
318318void * oapv_bsr_sink (oapv_bs_t * bs )
319319{
320- oapv_assert_rv (bs -> cur + BSW_GET_SINK_BYTE (bs ) <= bs -> end , NULL );
320+ oapv_assert_rv (bs -> cur + BSW_GET_SINK_BYTE (bs ) < bs -> end , NULL );
321321 oapv_assert_rv ((bs -> leftbits & 7 ) == 0 , NULL );
322322 bs -> cur = bs -> cur - (bs -> leftbits >> 3 );
323323 bs -> code = 0 ;
0 commit comments