From 653b0dd5295453d9661f673b4ebd02c5ceacf645 Mon Sep 17 00:00:00 2001 From: Niklas Haas Date: Sat, 28 Feb 2015 01:39:31 +0100 Subject: screenshots: check for AVFrame csp support Apparently, libav stable is old enough to not have these fields. --- old-configure | 6 ++++++ video/image_writer.c | 2 ++ wscript | 7 +++++++ 3 files changed, 15 insertions(+) diff --git a/old-configure b/old-configure index 2558985b03..6bdfc4413b 100755 --- a/old-configure +++ b/old-configure @@ -813,6 +813,12 @@ api_statement_check \ libavutil/frame.h \ '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 \ 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') } ] -- cgit v1.2.3