О проблемах показа HD-ролика на SD-выходе на процессорах с низкой частотой.
Процесс воспроизведения ролика включает следующие этапы:
Для современных роликов типа MP4 с кодированием HEVC или AVC этапы 1-2 выполняются независимо от остальных этапов. Этапы 3-4-5-6 выполняются последовательно на одном ядре процессора.
Если размер кадра ролика совпадает с размером кадра платы, то масштабирование не производится.
Обработка пикселей обычно не выполняется (за исключением специфических форматов типа Full Range Color, или при включении коррекции цвета в настройках SLIni).
Таким образом, в нормальной ситуации выполняются только этапы 3-6. Однако при показе HD-роликов на SD-выходе выполняются этапы 3-4-6. Причем все эти этапы выполняются последовательно на одном ядре процессора. Частоты 2 гигагерца явно недостаточно для выполнения этих этапов. То есть при наличии большого числа свободных ресурсов процессора программа OnAir будет не успевать показывать HD-ролик на SD-выходе.
Мы планируем в обозримом будущем решить эту проблему, распараллелив часть этапов. Однако прямо сейчас есть только один способ решить эту проблему – увеличить тактовую частоту процессора. Или не воспроизводить видео HD-разрешения на SD-плате.
Процесс воспроизведения ролика включает следующие этапы:
- Чтение данных с диска
- Декодирование (демультиплексирование, декодирование видео и звука)
- Преобразование формата (из формата декодера в формат платы)
- Масштабирование
- Обработка пикселей
- Копирование в буфер платы
Для современных роликов типа MP4 с кодированием HEVC или AVC этапы 1-2 выполняются независимо от остальных этапов. Этапы 3-4-5-6 выполняются последовательно на одном ядре процессора.
Если размер кадра ролика совпадает с размером кадра платы, то масштабирование не производится.
Обработка пикселей обычно не выполняется (за исключением специфических форматов типа Full Range Color, или при включении коррекции цвета в настройках SLIni).
Таким образом, в нормальной ситуации выполняются только этапы 3-6. Однако при показе HD-роликов на SD-выходе выполняются этапы 3-4-6. Причем все эти этапы выполняются последовательно на одном ядре процессора. Частоты 2 гигагерца явно недостаточно для выполнения этих этапов. То есть при наличии большого числа свободных ресурсов процессора программа OnAir будет не успевать показывать HD-ролик на SD-выходе.
Мы планируем в обозримом будущем решить эту проблему, распараллелив часть этапов. Однако прямо сейчас есть только один способ решить эту проблему – увеличить тактовую частоту процессора. Или не воспроизводить видео HD-разрешения на SD-плате.