Это только моя интерпретация https://tools.ietf.org/html/rfc1951. Насколько я понимаю, первый пункт описывает выходной битовый буфер; способ, которым битовый буфер очищается в битовом потоке. Второй и третий биты с входом буфера.
Пример: 5-битный элемент данных 11110 , за которым следует 4-битный код Хаффмана 0001
Хранится в буфере битов: 01111 0001
Хранится в буфере обращенных битов (что более логично): 1000 11110
Упаковано в байты: 00011110 xxxxxxx 1
Редактировать: В случае, если это была неясная часть, «Коды Хаффмана» имеют особое значение в CS, ссылаясь на действительные коды которые могут быть прочитаны с дерева. Все, что называется Хаффманом, например «Длина кода Хаффмана», является метаданными, а не кодами.
Очевидно, этот порядок упакованных битов предназначен для максимально простого декодирования с использованием логических операций и операций сдвига. Метаданные имеют правильный битовый порядок для потребления. Коды Хаффмана поменялись местами. Таким образом, декодирование может начаться до того, как все биты, которые образуют код, находятся в буфере битов.