Количество блоков кодирующего дерева на срез

Я пытался определить количество блоков дерева кодирования, содержащихся в каждом срезе hevc-изображения, фактически не выполняя никакого декодирования - кроме sps pps и парсинга заголовка среза.

Можно ли рассчитать адрес конечного среза из заголовка среза?

2 ответа

Вы всегда можете внести несколько изменений в кодировщик, чтобы он предоставил вам информацию о разделениях в файле журнала. Это может быть вариант для вас?

Насколько я знаю, ни наборы параметров, ни заголовки слайсов не содержат эту информацию, я могу вас заверить, потому что я работаю над HM-кодеком на стороне декодера.

простой способ найти кусок CTU в текущем кадре - просто добавить эту строку в TDecGop::filterPicture (внутри TLibDecoder/TDecGop.cpp):

std::cout << "*Slice Cur End Ctu Ts Addr :\t" << pcSlice->getSliceCurEndCtuTsAddr() << "\n"; после восстановления указателя фрагмента.

или лучше:

std::cout << "numCtusInFrame :\t" << pcPic->getNumberOfCtusInFrame()  << "\n"; 

в 1-й строке функции. Вы попадете на экран журнала (файл):

*Slice Cur End Ctu Ts Addr :    30
POC    0 TId: 0 ( I-SLICE, QP 21 ) [DT  0.087] [L0 ] [L1 ] [:,(unk)]

или же

numCtusInFrame :        30
POC    0 TId: 0 ( I-SLICE, QP 21 ) [DT  0.087] [L0 ] [L1 ] [:,(unk)]
Другие вопросы по тегам