aboutsummaryrefslogtreecommitdiff
path: root/Src/h264dec/ldecod/inc/erc_globals.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/h264dec/ldecod/inc/erc_globals.h')
-rw-r--r--Src/h264dec/ldecod/inc/erc_globals.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/Src/h264dec/ldecod/inc/erc_globals.h b/Src/h264dec/ldecod/inc/erc_globals.h
new file mode 100644
index 00000000..63ba4e2e
--- /dev/null
+++ b/Src/h264dec/ldecod/inc/erc_globals.h
@@ -0,0 +1,52 @@
+
+/*!
+ ************************************************************************
+ * \file erc_globals.h
+ *
+ * \brief
+ * global header file for error concealment module
+ *
+ * \author
+ * - Viktor Varsa <viktor.varsa@nokia.com>
+ * - Ye-Kui Wang <wyk@ieee.org>
+ ************************************************************************
+ */
+
+#ifndef _ERC_GLOBALS_H_
+#define _ERC_GLOBALS_H_
+
+#include "defines.h"
+
+/* "block" means an 8x8 pixel area */
+
+/* Region modes */
+#define REGMODE_INTER_COPY 0 //!< Copy region
+#define REGMODE_INTER_PRED 1 //!< Inter region with motion vectors
+#define REGMODE_INTRA 2 //!< Intra region
+#define REGMODE_SPLITTED 3 //!< Any region mode higher than this indicates that the region
+ //!< is splitted which means 8x8 block
+#define REGMODE_INTER_COPY_8x8 4
+#define REGMODE_INTER_PRED_8x8 5
+#define REGMODE_INTRA_8x8 6
+
+//! YUV pixel domain image arrays for a video frame
+typedef struct frame_s
+{
+ VideoParameters *p_Vid;
+ imgpel *yptr;
+ imgpel *uptr;
+ imgpel *vptr;
+} frame;
+
+//! region structure stores information about a region that is needed for concealment
+typedef struct object_buffer
+{
+ byte regionMode; //!< region mode as above
+ int xMin; //!< X coordinate of the pixel position of the top-left corner of the region
+ int yMin; //!< Y coordinate of the pixel position of the top-left corner of the region
+ short mv[3]; //!< motion vectors in 1/4 pixel units: mvx = mv[0], mvy = mv[1],
+ //!< and ref_frame = mv[2]
+} objectBuffer_t;
+
+#endif
+