Как определить, что цвета в видеокадре, декодированном FFmpeg, предварительно умножены на альфа?
Когда я декодирую видеокадры с помощью FFmpeg (avcodec_decode_video2()
, sws_scale()
), с некоторыми видео (например, ProRes4444) я получаю цвета, предварительно умноженные на альфа, а с другими видео (например, QuickTime PNG) я получаю цвета, которые предварительно не умножены на альфа.
Как я могу сказать, предварительно ли умножены цвета? В качестве альтернативы, как я могу сказать FFmpeg всегда предоставлять либо предварительно умноженные, либо не умноженные ("прямая альфа") цвета?
1 ответ
Попробуйте взглянуть на свойства, связанные с цветовым пространством AVCodecContext, например AVColorSpace.