summaryrefslogtreecommitdiffstats
path: root/video/mp_image.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2018-03-01 13:58:15 +0100
committerJan Ekström <jeebjp@gmail.com>2018-03-03 02:38:01 +0200
commit55c88fdb8f1a9269f1a2010e7f108a4b76e42016 (patch)
tree4db38f1a046f70afa4752bd135beee92cd5611b9 /video/mp_image.h
parent9daa842b5fa8966e4003a29c740ec94340021d17 (diff)
downloadmpv-55c88fdb8f1a9269f1a2010e7f108a4b76e42016.tar.bz2
mpv-55c88fdb8f1a9269f1a2010e7f108a4b76e42016.tar.xz
mp_image: pass through unknown AVFrame side data
Useful for libavfilter. Somewhat risky, because we can't ensure the consistency of the unknown side data (but this is a general problem with side data, and libavfilter filters will usually get it wrong too _if_ there are conflict cases). Fixes #5569.
Diffstat (limited to 'video/mp_image.h')
-rw-r--r--video/mp_image.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/video/mp_image.h b/video/mp_image.h
index f7969a4314..88e261306f 100644
--- a/video/mp_image.h
+++ b/video/mp_image.h
@@ -121,8 +121,16 @@ typedef struct mp_image {
struct AVBufferRef *icc_profile;
// Closed captions packet, if any (only after decoder)
struct AVBufferRef *a53_cc;
+ // Other side data we don't care about.
+ struct mp_ff_side_data *ff_side_data;
+ int num_ff_side_data;
} mp_image_t;
+struct mp_ff_side_data {
+ int type;
+ struct AVBufferRef *buf;
+};
+
int mp_chroma_div_up(int size, int shift);
int mp_image_get_alloc_size(int imgfmt, int w, int h, int stride_align);