write N bits into the header
(final LameInternalFlags gfc, final int val, int j)
| 207 | * write N bits into the header |
| 208 | */ |
| 209 | private void writeheader(final LameInternalFlags gfc, final int val, int j) { |
| 210 | int ptr = gfc.header[gfc.h_ptr].ptr; |
| 211 | |
| 212 | while (j > 0) { |
| 213 | final int k = Math.min(j, 8 - (ptr & 7)); |
| 214 | j -= k; |
| 215 | assert (j < MAX_LENGTH); /* >> 32 too large for 32 bit machines */ |
| 216 | |
| 217 | gfc.header[gfc.h_ptr].buf[ptr >> 3] |= ((val >> j)) << (8 - (ptr & 7) - k); |
| 218 | ptr += k; |
| 219 | } |
| 220 | gfc.header[gfc.h_ptr].ptr = ptr; |
| 221 | } |
| 222 | |
| 223 | private int CRC_update(int value, int crc) { |
| 224 | value <<= 8; |