Showing the changes to libavfilter (1 of 1 file). Show all
Unified · Split
| @@ -25,6 +25,7 @@ · 24 unmodified lines | ||
| 25 | 25 | |
| 26 | 26 | #include "libavutil/avassert.h" |
| 27 | 27 | #include "libavutil/csp.h" |
| 28 | +#include "libavutil/frame.h" | |
| 28 | 29 | #include "libavutil/mem.h" |
| 29 | 30 | #include "libavutil/mem_internal.h" |
| 30 | 31 | #include "libavutil/opt.h" |
| @@ -750,6 +751,12 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) · 719 unmodified lines | ||
| 750 | 751 | } else { |
| 751 | 752 | out->color_trc = s->user_trc; |
| 752 | 753 | } |
| 754 | + | |
| 755 | + if (out->color_primaries != in->color_primaries || out->color_trc != in->color_trc) { | |
| 756 | + av_frame_side_data_remove_by_props(&out->side_data, &out->nb_side_data, | |
| 757 | + AV_SIDE_DATA_PROP_COLOR_DEPENDENT); | |
| 758 | + } | |
| 759 | + | |
| 753 | 760 | if (rgb_sz != s->rgb_sz) { |
| 754 | 761 | const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(out->format); |
| 755 | 762 | int uvw = in->width >> desc->log2_chroma_w; |