diff --git a/doc/call_video.txt b/doc/call_video.txt index 0443bd43..b3698cc0 100644 --- a/doc/call_video.txt +++ b/doc/call_video.txt @@ -855,3 +855,15 @@ test_call_video_gpu проверяет шесть Windows backend/codec соче с подменой GPU-границы: задержка, пачка из трёх кадров, точные PTS и отказ замены; это не тест драйвера. Сетевой test_call проверяет атомарную пачку, busy, неверную пачку и teardown. Фактическую глубину, время GPU и задержку показа необходимо подтвердить живым звонком на Windows. + +AMF HEVC PPS, исправление 18.10.2026 +В Windows-логе GPU выдавал IDR, но call verifier отвергал разрешённые PPS-флаги +dependent_slice_segments_enabled_flag/output_flag_present_flag ещё до отправки. encode оставался нулевым. +Общий verifier поддерживает эти флаги: первый IDR-слайс независим, последующие segments +проверяются с учётом CTB геометрии SPS и optional dependent flag; явный pic_output_flag должен быть 1. +Обе стартовые KEY-пробы проходят тот же call_video_check_key, что и live-путь, затем FFmpeg decoder. +Несовместимый backend не попадает в capabilities; выбор продолжает перебор GPU, без CPU fallback. +test_call_video проверяет сочетания PPS flags/extra header bits, independent/dependent segments, +отказ при выходе адреса за CTB и при отключённом picture output. test_call_video_gpu меняет PPS +на настоящем HEVC IDR и проверяет полный pipeline с decoder, а также отказ несовместимой стартовой пробы. +Общий verifier используется и на Android: для HEVC обновить обе стороны звонка. Буферизация не меняется. diff --git a/src/call/call_video_bitstream.h b/src/call/call_video_bitstream.h index 2bd2d998..6da88fe5 100644 --- a/src/call/call_video_bitstream.h +++ b/src/call/call_video_bitstream.h @@ -1,6 +1,8 @@ /* Общая проверка независимого KEY (configuration + Annex B AU). Не переписывает поток. * Проверяет ограниченный набор для звонков: AVC Baseline/CB, HEVC Main/Main tier, * progressive 8-bit 4:2:0, один spatial/temporal layer, без reorder. DPB — по Annex A. + * HEVC допускает dependent segments внутри IDR и явный pic_output_flag=1; + * первый слайс независимый, адреса остальных — в границах CTB геометрии SPS. * Результат публикуется целиком только после успешной проверки VPS/SPS/PPS и IDR. * Все функции доступны worker-потокам; состояния и платформенных объектов нет. */ #ifndef CALL_VIDEO_BITSTREAM_H