summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xold-configure6
-rw-r--r--video/image_writer.c2
-rw-r--r--wscript7
3 files changed, 15 insertions, 0 deletions
diff --git a/old-configure b/old-configure
index 2558985b03..6bdfc4413b 100755
--- a/old-configure
+++ b/old-configure
@@ -814,6 +814,12 @@ api_statement_check \
'av_frame_get_metadata(NULL)'
api_statement_check \
+ "libavutil AVFrame colorspace information" \
+ HAVE_AVFRAME_CSP \
+ libavutil/frame.h \
+ 'AVFrame frame; frame.color_primaries = frame.color_trc = 0;'
+
+api_statement_check \
"libavutil AVFrame skip samples metadata" \
HAVE_AVFRAME_SKIP_SAMPLES \
libavutil/frame.h \
diff --git a/video/image_writer.c b/video/image_writer.c
index ab00b5bb01..700e1c4284 100644
--- a/video/image_writer.c
+++ b/video/image_writer.c
@@ -133,10 +133,12 @@ static int write_lavc(struct image_writer_ctx *ctx, mp_image_t *image, FILE *fp)
pic->format = avctx->pix_fmt;
pic->width = avctx->width;
pic->height = avctx->height;
+#if HAVE_AVFRAME_CSP
if (ctx->opts->tag_csp) {
pic->color_primaries = mp_csp_prim_to_avcol_pri(image->params.primaries);
pic->color_trc = mp_csp_trc_to_avcol_trc(image->params.gamma);
}
+#endif
int ret = avcodec_encode_video2(avctx, &pkt, pic, &got_output);
if (ret < 0)
goto error_exit;
diff --git a/wscript b/wscript
index d3086b9950..f273388305 100644
--- a/wscript
+++ b/wscript
@@ -462,6 +462,13 @@ Libav libraries ({0}). Aborting.".format(" ".join(libav_pkg_config_checks))
'func': check_statement('libavutil/frame.h',
'enum AVFrameSideDataType type = AV_FRAME_DATA_SKIP_SAMPLES',
use='libav')
+ }, {
+ 'name': 'avframe-csp',
+ 'desc': 'libavutil AVFrame colorspace information',
+ 'func': check_statement('libavutil/frame.h',
+ 'AVFrame frame;'
+ 'frame.color_primaries = frame.color_trc = 0;',
+ use='libav')
}
]