summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-02-14 14:16:31 +0100
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-02-14 14:16:31 +0100
commitbcca7d23de29423b0d7d9954bfb21cc9bf3834f5 (patch)
tree9c67a59586f15310943fea62b474a6d8d9cf2cfd
parent54293d98004c829615fb9637bef40c81f9ac9da4 (diff)
Fix build with older VA-API (libva).
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
-rw-r--r--configure.ac22
-rw-r--r--src/gen7_mfd.c4
-rw-r--r--src/i965_drv_video.c4
3 files changed, 30 insertions, 0 deletions
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 <va/va.h>],
+ [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;