Как определить, что цвета в видеокадре, декодированном FFmpeg, предварительно умножены на альфа?

Когда я декодирую видеокадры с помощью FFmpeg (avcodec_decode_video2(), sws_scale()), с некоторыми видео (например, ProRes4444) я получаю цвета, предварительно умноженные на альфа, а с другими видео (например, QuickTime PNG) я получаю цвета, которые предварительно не умножены на альфа.

Как я могу сказать, предварительно ли умножены цвета? В качестве альтернативы, как я могу сказать FFmpeg всегда предоставлять либо предварительно умноженные, либо не умноженные ("прямая альфа") цвета?

1 ответ

Попробуйте взглянуть на свойства, связанные с цветовым пространством AVCodecContext, например AVColorSpace.

Другие вопросы по тегам