From bcca7d23de29423b0d7d9954bfb21cc9bf3834f5 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Tue, 14 Feb 2012 14:16:31 +0100 Subject: [PATCH] Fix build with older VA-API (libva). Signed-off-by: Gwenole Beauchesne --- configure.ac | 22 ++++++++++++++++++++++ src/gen7_mfd.c | 4 ++++ src/i965_drv_video.c | 4 ++++ 3 files changed, 30 insertions(+) diff --git a/configure.ac b/configure.ac index 436181f..2b2ca6d 100644 --- a/configure.ac +++ b/configure.ac @@ -89,6 +89,28 @@ fi AC_MSG_RESULT([$LIBVA_DRIVERS_PATH]) AC_SUBST(LIBVA_DRIVERS_PATH) +dnl Check for JPEG decoding API +AC_CACHE_CHECK([for JPEG decoding API], ac_cv_have_jpeg_decoding_api, [ + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $LIBVA_DEPS_CFLAGS" + saved_LIBS="$LIBS" + LIBS="$CFLAGS $LIBVA_DEPS_LIBS" + AC_TRY_COMPILE( + [#include ], + [VAPictureParameterBufferJPEG pic_param; + VASliceParameterBufferJPEG slice_param; + VAIQMatrixBufferJPEG iq_matrix;], + [ac_cv_have_jpeg_decoding_api="yes"], + [ac_cv_have_jpeg_decoding_api="no"] + ) + CFLAGS="$saved_CFLAGS" + LIBS="$saved_LIBS" +]) +if test "$ac_cv_have_jpeg_decoding_api" = "yes"; then + AC_DEFINE(HAVE_JPEG_DECODING, 1, + [Defined to 1 if VA-API exposes JPEG decoding]) +fi + AC_OUTPUT([ Makefile debian.upstream/Makefile diff --git a/src/gen7_mfd.c b/src/gen7_mfd.c index c9dd779..e36af34 100644 --- a/src/gen7_mfd.c +++ b/src/gen7_mfd.c @@ -1923,6 +1923,7 @@ gen7_mfd_vc1_decode_picture(VADriverContextP ctx, intel_batchbuffer_flush(batch); } +#ifdef HAVE_JPEG_DECODING static void gen7_mfd_jpeg_decode_init(VADriverContextP ctx, struct decode_state *decode_state, @@ -2709,6 +2710,7 @@ gen7_mfd_jpeg_decode_picture(VADriverContextP ctx, intel_batchbuffer_end_atomic(batch); intel_batchbuffer_flush(batch); } +#endif static void gen7_mfd_decode_picture(VADriverContextP ctx, @@ -2740,9 +2742,11 @@ gen7_mfd_decode_picture(VADriverContextP ctx, gen7_mfd_vc1_decode_picture(ctx, decode_state, gen7_mfd_context); break; +#ifdef HAVE_JPEG_DECODING case VAProfileJPEGBaseline: gen7_mfd_jpeg_decode_picture(ctx, decode_state, gen7_mfd_context); break; +#endif default: assert(0); diff --git a/src/i965_drv_video.c b/src/i965_drv_video.c index 91dab20..2e7cc85 100644 --- a/src/i965_drv_video.c +++ b/src/i965_drv_video.c @@ -970,7 +970,9 @@ i965_create_buffer_internal(VADriverContextP ctx, case VAEncSequenceParameterBufferType: case VAEncPictureParameterBufferType: case VAEncSliceParameterBufferType: +#ifdef HAVE_JPEG_DECODING case VAHuffmanTableBufferType: +#endif /* Ok */ break; @@ -1317,9 +1319,11 @@ i965_decoder_render_picture(VADriverContextP ctx, vaStatus = I965_RENDER_DECODE_BUFFER(slice_data); break; +#ifdef HAVE_JPEG_DECODING case VAHuffmanTableBufferType: vaStatus = I965_RENDER_DECODE_BUFFER(huffman_table); break; +#endif default: vaStatus = VA_STATUS_ERROR_UNSUPPORTED_BUFFERTYPE; -- 2.7.4