summaryrefslogtreecommitdiff
path: root/src/i965_decoder.h
diff options
context:
space:
mode:
authorXiang, Haihao <haihao.xiang@intel.com>2012-10-24 16:05:05 +0800
committerXiang, Haihao <haihao.xiang@intel.com>2012-10-24 16:07:26 +0800
commit210094ee4adc28233fc096285ab4b9ebc9a49511 (patch)
treec4be151bf59a16951ae07fcc01914f027e3fb6be /src/i965_decoder.h
parent502c1b47eb9b05a3f8fc02e346c722b99d82e6ac (diff)
downloadlibva-intel-driver-210094ee4adc28233fc096285ab4b9ebc9a49511.tar.gz
Unify the code for xxx_free_avc_surface
Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
Diffstat (limited to 'src/i965_decoder.h')
-rw-r--r--src/i965_decoder.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/i965_decoder.h b/src/i965_decoder.h
index 2cdc2994..40158f0b 100644
--- a/src/i965_decoder.h
+++ b/src/i965_decoder.h
@@ -26,6 +26,8 @@
#define I965_DECODER_H
#include <stdint.h>
+#include <stdlib.h>
+
#include <va/va.h>
#include <intel_bufmgr.h>
@@ -43,6 +45,35 @@ struct gen_buffer {
int valid;
};
+#if HAVE_GEN_AVC_SURFACE
+
+typedef struct gen_avc_surface GenAvcSurface;
+struct gen_avc_surface
+{
+ dri_bo *dmv_top;
+ dri_bo *dmv_bottom;
+ int dmv_bottom_flag;
+};
+
+static void
+gen_free_avc_surface(void **data)
+{
+ GenAvcSurface *avc_surface = *data;
+
+ if (!avc_surface)
+ return;
+
+ dri_bo_unreference(avc_surface->dmv_top);
+ avc_surface->dmv_top = NULL;
+ dri_bo_unreference(avc_surface->dmv_bottom);
+ avc_surface->dmv_bottom = NULL;
+
+ free(avc_surface);
+ *data = NULL;
+}
+
+#endif
+
extern struct hw_context *
gen75_dec_hw_context_init(VADriverContextP ctx, VAProfile profile);