уровни интенсивности масштабирования на выходе фильтра ffmpeg

#video #ffmpeg

#Видео #ffmpeg

Вопрос:

как масштабирование ffmpeg фильтрует выходные данные интенсивности? У меня есть фильтр смешивания / разделения, который разделяет 8-битные кадры на 8-битное изображение и сохраняет выходные данные в формате xvid avi.

blend=all_mode='divide':repeatlast=1

Я хотел бы понять, как именно ffmpeg отображает выходные данные фильтра (предположительно с плавающей точкой?) На 8-битные уровни видеовыхода.

Зависит ли это от гистограммы интенсивности кадра? (т.е., если 99% пикселей находятся в диапазоне от 0 до 0,5, а 1% пикселей имеет гораздо большую интенсивность, например, 1)

Есть ли способ специально предоставить таблицу поиска для этого сопоставления на этом шаге?

Ответ №1:

исходный код выглядит следующим образом:

DEFINE_BLEND8(divide, av_clip_uint8(B == 0 ? 255 : 255 * A / B))

Итак, я предполагаю, что ответ заключается в том, что результат умножается на 255, а затем обрезается до 255