summaryrefslogtreecommitdiff
path: root/tests/test-decode.c
diff options
context:
space:
mode:
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>2011-08-12 10:21:19 +0200
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>2012-01-16 11:40:50 +0100
commit8f0eda896440812820b8e206edaf999e1c92e8f2 (patch)
treeeab7efb0aca3a40c6916939db162535fbeae190d /tests/test-decode.c
parent3360f7f3e369bc28c4c39c153b052c9ff8d2305d (diff)
downloadgst-vaapi-8f0eda896440812820b8e206edaf999e1c92e8f2.tar.gz
Allow conditional build of GStreamer/FFmpeg bitstream parsers.
Diffstat (limited to 'tests/test-decode.c')
-rw-r--r--tests/test-decode.c34
1 files changed, 31 insertions, 3 deletions
diff --git a/tests/test-decode.c b/tests/test-decode.c
index 0aece942..67b00db9 100644
--- a/tests/test-decode.c
+++ b/tests/test-decode.c
@@ -19,16 +19,22 @@
* Boston, MA 02110-1301 USA
*/
+#include "config.h"
#include <string.h>
#include <gst/vaapi/gstvaapidisplay_x11.h>
#include <gst/vaapi/gstvaapiwindow_x11.h>
#include <gst/vaapi/gstvaapidecoder.h>
-#include <gst/vaapi/gstvaapidecoder_ffmpeg.h>
#include <gst/vaapi/gstvaapisurface.h>
#include "test-mpeg2.h"
#include "test-h264.h"
#include "test-vc1.h"
+#if USE_FFMPEG
+# include <gst/vaapi/gstvaapidecoder_ffmpeg.h>
+#endif
+#if USE_CODEC_PARSERS
+#endif
+
/* Set to 1 to check display cache works (shared VA display) */
#define CHECK_DISPLAY_CACHE 1
@@ -66,12 +72,21 @@ static inline void pause(void)
}
static gchar *g_codec_str;
+static gboolean g_use_ffmpeg = FALSE;
static GOptionEntry g_options[] = {
{ "codec", 'c',
0,
G_OPTION_ARG_STRING, &g_codec_str,
"codec to test", NULL },
+ { "ffmpeg", 0,
+ 0,
+ G_OPTION_ARG_NONE, &g_use_ffmpeg,
+ "use ffmpeg", NULL },
+ { "codecparsers", 0,
+ G_OPTION_FLAG_REVERSE,
+ G_OPTION_ARG_NONE, &g_use_ffmpeg,
+ "use codec parsers", NULL },
{ NULL, }
};
@@ -137,9 +152,22 @@ main(int argc, char *argv[])
NULL
);
- decoder = gst_vaapi_decoder_ffmpeg_new(display, decoder_caps);
+ if (g_use_ffmpeg) {
+#if USE_FFMPEG
+ decoder = gst_vaapi_decoder_ffmpeg_new(display, decoder_caps);
+#endif
+ }
+ else {
+#if USE_CODEC_PARSERS
+ switch (gst_vaapi_profile_get_codec(info.profile)) {
+ default:
+ decoder = NULL;
+ break;
+ }
+#endif
+ }
if (!decoder)
- g_error("could not create FFmpeg decoder");
+ g_error("could not create decoder");
gst_caps_unref(decoder_caps);
buffer = gst_buffer_new();