diff options
author | Niklas Haas <[email protected]> | 2025-02-19 19:41:18 +0100 |
---|---|---|
committer | Niklas Haas <[email protected]> | 2025-09-02 17:05:50 +0200 |
commit | 22929bd044cdf971ea2a5b906c6fadbe653a7c19 (patch) | |
tree | f0e2af223450c4e3f71bac72343fff73ac4b7c9c /libavutil/frame.c | |
parent | f24474dcfc719e29dc87e6483d6187ea233f4e0f (diff) |
avutil/frame: add AVFrame.alpha_mode
FFmpeg currently handles alpha in a quasi-arbitrary way. Some filters/codecs
assume alpha is premultiplied, others assume it is independent. If there is
to be any hope for order in this chaos, we need to start by defining an enum
for the possible range of values.
Diffstat (limited to 'libavutil/frame.c')
-rw-r--r-- | libavutil/frame.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavutil/frame.c b/libavutil/frame.c index 8f3fda2371..be30eb09d2 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -45,6 +45,7 @@ static void get_frame_defaults(AVFrame *frame) frame->colorspace = AVCOL_SPC_UNSPECIFIED; frame->color_range = AVCOL_RANGE_UNSPECIFIED; frame->chroma_location = AVCHROMA_LOC_UNSPECIFIED; + frame->alpha_mode = AVALPHA_MODE_UNSPECIFIED; frame->flags = 0; } @@ -240,6 +241,7 @@ static int frame_copy_props(AVFrame *dst, const AVFrame *src, int force_copy) dst->colorspace = src->colorspace; dst->color_range = src->color_range; dst->chroma_location = src->chroma_location; + dst->alpha_mode = src->alpha_mode; av_dict_copy(&dst->metadata, src->metadata, 0); |