Проверьте срок действия Н264 единиц Нал

Я работаю с кодировщик x264 api где для каждого закодированного изображения я получаю номер наль единицы. Есть ли способ проверить, действительны ли nals в моем отладчике VS2010. В настоящее время я вижу следующую информацию:

i_ref_idc        -858993460
i_type           -858993460
b_long_startcode -858993460
i_first_mb       -858993460
i_last_mb        -858993460
i_payload        27
p_payload        0x06b94d68
i_padding        -858993460

Я не уверен, представляют ли эти отрицательные значения, что NAL являются недействительными или отсутствует информация.
В основном, как я могу проверить, что nals, которые я получил от x264_encoder_encode (), является действительной единицей nal?
НОТА Я использую эти nals для потоковой передачи в реальном времени, используя LIVE555.

0

Решение

Это определенно неверно. Вы не можете знать наверняка, является ли nalu действительным на 100%, не анализируя все это. Но вы можете проверить правильность значений.

i_ref_idc — это 2-битное поле. Все, что находится за пределами диапазона 0-3, не является нормальным.

i_type составляет 5 бит. Но на самом деле кодер будет выдавать только 1-15 или 19-21 включительно

b_long_startcode — логическое значение, поэтому вы не можете проверить его

i_first_mb и i_last_mb будут меньше ceil(width/8.0) * ceil(height/8.0)

i_payload — это размер данных, на которые указывает p_payload, поэтому выберите здесь высокое значение. 10*with*height должно хватить.

1

Другие решения

-858993460 также известны как 0xСССССССС а также указывать что значения не были инициализированы кодером.

i_payload, p_payload Размер полезной нагрузки в байтах и ​​указатель на данные. В основном нет проверки достоверности этих данных, кроме подачи данных в декодер и проверки наличия ошибок вывода и декодирования.

2

По вопросам рекламы [email protected]