diff --git a/decoder/ih264d_defs.h b/decoder/ih264d_defs.h
new file mode 100755
index 0000000..3f8bc58
--- /dev/null
+++ b/decoder/ih264d_defs.h
@@ -0,0 +1,671 @@
+/******************************************************************************
+ *
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *****************************************************************************
+ * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
+*/
+#ifndef _IH264D_DEFS_H_
+#define _IH264D_DEFS_H_
+
+/**
+ ************************************************************************
+ * \file ih264d_defs.h
+ *
+ * \brief
+ *    Type definitions used in the code
+ *
+ * \date
+ *    19/11/2002
+ *
+ * \author  Sriram Sethuraman
+ *
+ ************************************************************************
+ */
+#define H264_MAX_FRAME_WIDTH                3840
+#define H264_MAX_FRAME_HEIGHT               2160
+
+#define H264_MIN_FRAME_WIDTH                16
+#define H264_MIN_FRAME_HEIGHT               16
+
+#define IH264DEC_MAX_NAL_UNIT_SIZE        311040
+#define IH264DEC_NUM_ZEROS_IN_START_CODE  2
+#define H264DEC_MEM_ALLOC_SUCCESS         1
+#define H264DEC_MEM_ALLOC_FAILURE         0
+#define H264DEC_CREATE_FAILED             (NULL)
+
+#define H264_NO_BUF_TO_DISPLAY    -1
+#define H264_DISPLAY_BUF_FOUND     0
+#define IH264DEC_YUV420                    0
+#define IH264DEC_YUV422                    1
+#define IH264DEC_YUV422INTERLACED          2
+#define IH264DEC_RGB                       4          // Original Size
+/* Ceiling of variables to the nearest power of 2 */
+#define  FILL_POWEROF2(x,y)   (size_t)(((x) & ((1<<(y))-1))?((1<<(y)) - ((x) & ((1<<(y))-1))): 0)
+#define  ALIGN_POWEROF2(x,y)  (x) = (x)+FILL_POWEROF2((size_t)(x),y)
+
+/** Bit manipulation macros */
+#define CHECKBIT(a,i) ((a) &  (1 << i))
+#define CLEARBIT(a,i) ((a) &= ~(1 << i))
+
+/** Macro to convert a integer to a boolean value */
+#define BOOLEAN(x) (!!(x))
+
+/** Arithmetic operations */
+#define MOD(x,y) ((x)%(y))
+#define DIV(x,y) ((x)/(y))
+#define MUL(x,y) ((x)*(y))
+#define SIGN_POW2_DIV(x, y) (((x) < 0) ? (-((-(x)) >> (y))) : ((x) >> (y)))
+
+#define MB_ENABLE_FILTERING           0x00
+#define MB_DISABLE_FILTERING          0x01
+#define MB_DISABLE_TOP_EDGE           0x02
+#define MB_DISABLE_LEFT_EDGE          0x04
+
+/** Maximum number of reference pics */
+#define MAX_REF_BUFS    32
+#define MAX_DISP_BUFS_NEW 64
+#define MAX_FRAMES              16
+#define MAX_MBS_IN_ROW          (720/16)
+#define INVALID_FRAME_NUM       0x0fffffff
+#define GAP_FRAME_NUM           0x1fffffff
+#define MAX_PIC_SIZE    622080  // 720 * 576 * 1.5
+/** macros for reference picture lists, refIdx to POC mapping */
+// 1 extra entry into reference picture lists for refIdx = -1.
+// this entry is always 0. this saves conditional checks in
+// FillBs modules.
+#define POC_LIST_L0_TO_L1_DIFF  (( 2*MAX_FRAMES) + 1)
+#define POC_LIST_L0_TO_L1_DIFF_1  ((MAX_FRAMES) + 1)
+
+#define FRM_LIST_L0             0                                               //0
+#define FRM_LIST_L1             1 * POC_LIST_L0_TO_L1_DIFF//FRM_LIST_L0 + POC_LIST_L0_TO_L1_DIFF        //0+33                  //(1 * POC_LIST_L0_TO_L1_DIFF)
+#define TOP_LIST_FLD_L0         2 * POC_LIST_L0_TO_L1_DIFF//FRM_LIST_L1 + POC_LIST_L0_TO_L1_DIFF        //0+33+33                   //(2 * POC_LIST_L0_TO_L1_DIFF)
+#define TOP_LIST_FLD_L1         3 * POC_LIST_L0_TO_L1_DIFF//TOP_LIST_FLD_L0 + POC_LIST_L0_TO_L1_DIFF_1  //0+33+33+17                //(3 * POC_LIST_L0_TO_L1_DIFF)
+#define BOT_LIST_FLD_L0         4 * POC_LIST_L0_TO_L1_DIFF//TOP_LIST_FLD_L1 + POC_LIST_L0_TO_L1_DIFF_1  //0+33+33+17+17
+#define BOT_LIST_FLD_L1         5 * POC_LIST_L0_TO_L1_DIFF//BOT_LIST_FLD_L0 + POC_LIST_L0_TO_L1_DIFF_1  //0+33+33+17+17+17
+#define TOTAL_LIST_ENTRIES      6 * POC_LIST_L0_TO_L1_DIFF//BOT_LIST_FLD_L1 + POC_LIST_L0_TO_L1_DIFF_1  //0+33+33+17+17+17+17
+#define PAD_MV_BANK_ROW             64
+#define OFFSET_MV_BANK_ROW          ((PAD_MV_BANK_ROW)>>1)
+#define PAD_PUC_CURNNZ              32
+#define OFFSET_PUC_CURNNZ           (PAD_PUC_CURNNZ)
+#define PAD_MAP_IDX_POC             (1)
+#define OFFSET_MAP_IDX_POC          (1)
+
+#define OFFSET_MAP_IDX_POC          (1)
+
+#define NAL_REF_IDC(nal_first_byte)       ((nal_first_byte >> 5) & 0x3)
+#define NAL_FORBIDDEN_BIT(nal_first_byte) (nal_first_byte>>7)
+#define NAL_UNIT_TYPE(nal_first_byte)     (nal_first_byte & 0x1F)
+
+#define INT_PIC_TYPE_I        (0x00)
+
+#define YIELD_CNT_THRESHOLD  8
+#define ENABLE_420P_UV_SHARING 1
+
+#define OK        0
+#define END       1
+#define NOT_OK    -1
+
+/* For 420SP */
+#define YUV420SP_FACTOR 2
+
+
+/**
+ ***************************************************************************
+ * Enum to hold various mem records being request
+ ****************************************************************************
+ */
+enum
+{
+    /**
+     * Codec Object at API level
+     */
+    MEM_REC_IV_OBJ,
+
+    /**
+     * Codec context
+     */
+    MEM_REC_CODEC,
+
+    /**
+     * Bitstream buffer which holds emulation prevention removed bytes
+     */
+    MEM_REC_BITSBUF,
+
+    /**
+     * Buffer to hold  coeff data
+     */
+    MEM_REC_COEFF_DATA,
+
+    /**
+     * Motion vector bank
+     */
+    MEM_REC_MVBANK,
+
+    /**
+     * Holds mem records passed to the codec.
+     */
+    MEM_REC_BACKUP,
+
+    /**
+     * Holds SPS
+     */
+    MEM_REC_SPS,
+
+    /**
+     * Holds PPS
+     */
+    MEM_REC_PPS,
+
+    /**
+     * Holds Slice Headers
+     */
+    MEM_REC_SLICE_HDR,
+
+    /**
+     * Holds thread handles
+     */
+    MEM_REC_THREAD_HANDLE,
+
+    /**
+     * Contains i4_status map indicating parse i4_status per MB basis
+     */
+    MEM_REC_PARSE_MAP,
+
+    /**
+     * Contains i4_status map indicating processing i4_status per MB basis
+     */
+    MEM_REC_PROC_MAP,
+
+    /**
+     * Contains slice number info for each MB
+     */
+
+    MEM_REC_SLICE_NUM_MAP,
+
+    /**
+     * Holds dpb manager context
+     */
+    MEM_REC_DPB_MGR,
+
+    /**
+     * Holds neighbors' info
+     */
+    MEM_REC_NEIGHBOR_INFO,
+
+    /**
+     * Holds neighbors' info
+     */
+    MEM_REC_PRED_INFO,
+
+
+    /**
+     * Holds inter pred inforamation on packed format info
+     */
+    MEM_REC_PRED_INFO_PKD,
+    /**
+     * Holds neighbors' info
+     */
+    MEM_REC_MB_INFO,
+
+    /**
+     * Holds deblock Mb info structure frame level)
+     */
+    MEM_REC_DEBLK_MB_INFO,
+
+    /**
+     * Holds  reference picture buffers in non-shared mode
+     */
+    MEM_REC_REF_PIC,
+
+    /**
+     * Holds  some misc intermediate_buffers
+     */
+    MEM_REC_EXTRA_MEM,
+
+    /**
+     * Holds  some misc intermediate_buffers
+     */
+    MEM_REC_INTERNAL_SCRATCH,
+
+    /**
+     * Holds  some misc intermediate_buffers
+     */
+    MEM_REC_INTERNAL_PERSIST,
+
+    /* holds structures related to picture buffer manager*/
+    MEM_REC_PIC_BUF_MGR,
+
+    /*holds structure related to MV buffer manager*/
+    MEM_REC_MV_BUF_MGR,
+
+    /**
+     * Place holder to compute number of memory records.
+     */
+    MEM_REC_CNT
+/* Do not add anything below */
+};
+
+#ifdef DEBLOCK_THREAD
+#define H264_MUTEX_LOCK(lock) ithread_mutex_lock(lock)
+#define H264_MUTEX_UNLOCK(lock) ithread_mutex_unlock(lock)
+#else //DEBLOCK_THREAD
+#define H264_MUTEX_LOCK(lock)
+#define H264_MUTEX_UNLOCK(lock)
+
+#define DEBUG_THREADS_PRINTF(...)
+#define DEBUG_PERF_PRINTF(...)
+
+/** Profile Types*/
+#define BASE_PROFILE_IDC    66
+#define MAIN_PROFILE_IDC    77
+#define HIGH_PROFILE_IDC   100
+#define MAIN_PROFILE         1
+
+#define MB_SIZE             16
+#define BLK8x8SIZE           8
+#define BLK_SIZE             4
+#define NUM_BLKS_PER_MB     24
+#define NUM_LUM_BLKS_PER_MB 16
+#define LUM_BLK              0
+#define CHROM_BLK            1
+#define NUM_PELS_IN_MB      64
+
+/* Level Types */
+#define H264_LEVEL_1_0     10
+#define H264_LEVEL_1_1     11
+#define H264_LEVEL_1_2     12
+#define H264_LEVEL_1_3     13
+#define H264_LEVEL_2_0     20
+#define H264_LEVEL_2_1     21
+#define H264_LEVEL_2_2     22
+#define H264_LEVEL_3_0     30
+#define H264_LEVEL_3_1     31
+#define H264_LEVEL_3_2     32
+#define H264_LEVEL_4_0     40
+#define H264_LEVEL_4_1     41
+#define H264_LEVEL_4_2     42
+#define H264_LEVEL_5_0     50
+#define H264_LEVEL_5_1     51
+
+#define MAX_MBS_LEVEL_51 36864
+#define MAX_MBS_LEVEL_50 22080
+#define MAX_MBS_LEVEL_42 8704
+#define MAX_MBS_LEVEL_41 8192
+#define MAX_MBS_LEVEL_40 8192
+#define MAX_MBS_LEVEL_32 5120
+#define MAX_MBS_LEVEL_31 3600
+#define MAX_MBS_LEVEL_30 1620
+#define MAX_MBS_LEVEL_22 1620
+#define MAX_MBS_LEVEL_21 792
+#define MAX_MBS_LEVEL_20 396
+#define MAX_MBS_LEVEL_13 396
+#define MAX_MBS_LEVEL_12 396
+#define MAX_MBS_LEVEL_11 396
+#define MAX_MBS_LEVEL_10 99
+
+
+/*
+ |  Legend:
+ |  LVL Level*10
+ |  MPR Macroblk processing rate
+ |  MMF Max Mbs/Frm
+ |  MDK Max DbpSize (in kB)
+ |  MDB max DbpSize (in bytes)
+ |  MFS FrmSizeYUV (in bytes)
+ |  MDP Max DBPics
+ |  MDC Ceiling DBPics
+ |  FPS Frame/Second
+ |
+ |  LVL MPR   MMF   MDK     MDB     MFS     MDP   MDC   FPS
+ |  10  1485  99    148.5   152064  38016   4.00  4.00  15.00
+ |  11  3000  396   337.5   345600  152064  2.27  3.00  7.58
+ |  12  6000  396   891     912384  152064  6.00  6.00  15.15
+ |  13  11880 396   891     912384  152064  6.00  6.00  30.00
+ |  20  11880 396   891     912384  152064  6.00  6.00  30.00
+ |  21  19800 792   1782    1824768 304128  6.00  6.00  25.00
+ |  22  20250 1620  3037.5  3110400 622080  5.00  5.00  12.50
+ |  30  40500 1620  3037.5  3110400 622080  5.00  5.00  25.00
+ */
+#define MAX_REF_LEVEL_1_0     4
+#define MAX_REF_LEVEL_1_1     3
+#define MAX_REF_LEVEL_1_2     6
+#define MAX_REF_LEVEL_1_3     6
+#define MAX_REF_LEVEL_2_0     6
+#define MAX_REF_LEVEL_2_1     6
+#define MAX_REF_LEVEL_2_2     5
+#define MAX_REF_LEVEL_3_0     5
+#define H264_MAX_REF_PICS     16
+
+#define MIN_LEVEL_SUPPORTED 10
+#define MAX_LEVEL_SUPPORTED 64
+
+/** NAL Types */
+#define SLICE_NAL                       1
+#define SLICE_DATA_PARTITION_A_NAL      2
+#define SLICE_DATA_PARTITION_B_NAL      3
+#define SLICE_DATA_PARTITION_C_NAL      4
+#define IDR_SLICE_NAL                   5
+#define SEI_NAL                         6
+#define SEQ_PARAM_NAL                   7
+#define PIC_PARAM_NAL                   8
+#define ACCESS_UNIT_DELIMITER_RBSP      9
+#define END_OF_SEQ_RBSP                 10
+#define END_OF_STREAM_RBSP              11
+#define FILLER_DATA_NAL                 12
+
+/** Entropy coding modes */
+#define CAVLC  0
+#define CABAC  1
+
+/** Picture Types */
+#define I_PIC       0
+#define IP_PIC      1
+#define IPB_PIC     2
+#define SI_PIC      3
+#define SIP_PIC     4
+#define ISI_PIC     5
+#define ISI_PSP_PIC 6
+#define ALL_PIC     7
+
+/* Frame or field picture type */
+#define FRM_PIC         0x00
+#define TOP_FLD         0x01
+#define BOT_FLD         0x02
+#define COMP_FLD_PAIR   0x03 /* TOP_FLD | BOT_FLD */
+#define AFRM_PIC        0x04
+#define TOP_REF         0x08
+#define BOT_REF         0x10
+#define PIC_MASK        0x03
+#define NON_EXISTING    0xff
+
+/* field picture type for display */
+#define DISP_TOP_FLD    0x00
+#define DISP_BOT_FLD    0x01
+
+/** Slice Types */
+#define P_SLICE  0
+#define B_SLICE  1
+#define I_SLICE  2
+#define SP_SLICE 3
+#define SI_SLICE 4
+
+/* Definition for picture skip */
+#define SKIP_NONE  (0x0)
+#define I_SLC_BIT  (0x1)
+#define P_SLC_BIT  (0x2)
+#define B_SLC_BIT  (0x4)
+
+/** Macros used for Deblocking */
+#define D_INTER_MB        0
+#define D_INTRA_MB        1
+#define D_PRED_NON_16x16  2
+#define D_B_SLICE         4
+#define D_B_SUBMB         6 //D_B_SLICE | D_PRED_NON_16x16 | D_INTER_MB
+#define D_FLD_MB          0x80
+
+/** Macros for Cabac checks */
+/** MbType */
+/** |x|x|I_PCM|SKIP|
+ |S|Inter/Intra|P/B|NON-BD16x16/BD16x16,I16x16/I4x4| */
+#define CAB_INTRA         0x00 /* 0000 00xx */
+#define CAB_INTER         0x04 /* 0000 01xx */
+#define CAB_I4x4          0x00 /* 0000 00x0 */
+#define CAB_I16x16        0x01 /* 0000 00x1 */
+#define CAB_BD16x16       0x04 /* 0000 0100 */
+#define CAB_NON_BD16x16   0x05 /* 0000 0101 */
+#define CAB_P             0x07 /* 0000 0111 */
+#define CAB_SI4x4         0x08 /* 0000 10x0 */
+#define CAB_SI16x16       0x09 /* 0000 10x1 */
+#define CAB_SKIP_MASK     0x10 /* 0001 0000 */
+#define CAB_SKIP          0x10 /* 0001 0000 */
+#define CAB_P_SKIP        0x16 /* 0001 x11x */
+#define CAB_B_SKIP        0x14 /* 0001 x100 */
+#define CAB_BD16x16_MASK  0x07 /* 0000 0111 */
+#define CAB_INTRA_MASK    0x04 /* 0000 0100 */
+#define CAB_I_PCM         0x20 /* 001x xxxx */
+
+/**< Binarization types for CABAC */
+/* |x|x|x|x|MSB_FIRST_FLC|FLC|TUNARY|UNARY| */
+#define UNARY           1
+#define TUNARY          2
+#define FLC             4
+#define MSB_FIRST_FLC   12
+
+/** Macroblock Types */
+#define I_4x4_MB    0
+#define I_16x16_MB  1
+#define P_MB        2
+#define B_MB        3
+#define SI_MB       4
+#define SP_MB       5
+#define I_PCM_MB    6
+
+#define SI4x4_MB 0xFF
+
+/** Intra luma 16x16 and chroma 8x8 prediction modes */
+#define NUM_INTRA_PRED_MODES  4
+#define VERT    0
+#define HORIZ   1
+#define DC      2
+#define PLANE   3
+#define NOT_VALID -1
+#define DC_DC_DC_DC   0x02020202 /*packed 4 bytes used in Decode Intra Mb*/
+
+/** Intra luma 4x4 prediction modes */
+#define NUM_INTRA4x4_PRED_MODES 9
+
+/** VERT, HORIZ, DC are applicable to 4x4 as well */
+/** D - Down; U - Up; L - Left; R - Right */
+#define DIAG_DL   3
+#define DIAG_DR   4
+#define VERT_R    5
+#define HORIZ_D   6
+#define VERT_L    7
+#define HORIZ_U   8
+
+/** P_MB prediction modes */
+#define NUM_INTER_MB_PRED_MODES 5
+#define PRED_16x16  0
+#define PRED_16x8   1
+#define PRED_8x16   2
+#define PRED_8x8    3
+#define PRED_8x8R0  4
+#define MAGIC_16x16 5
+#define MB_SKIP     255
+
+/* P_MB submb modes */
+#define P_L0_8x8    0
+#define P_L0_8x4    1
+#define P_L0_4x8    2
+#define P_L0_4x4    3
+
+/* B_MB submb modes */
+#define B_DIRECT_8x8    0
+#define B_L0_8x8        1
+#define B_L1_8x8        2
+#define B_BI_8x8        3
+#define B_L0_8x4        4
+#define B_L0_4x8        5
+#define B_L1_8x4        6
+#define B_L1_4x8        7
+#define B_BI_8x4        8
+#define B_BI_4x8        9
+#define B_L0_4x4        10
+#define B_L1_4x4        11
+#define B_BI_4x4        12
+
+/** B_MB prediction modes */
+#define B_8x8    22
+#define PRED_INVALID  -1
+#define B_DIRECT  0
+#define PRED_L0   1
+#define PRED_L1   2
+#define BI_PRED   3
+#define B_DIRECT_BI_PRED  23
+#define B_DIRECT_PRED_L0  24
+#define B_DIRECT_PRED_L1  25
+#define B_DIRECT_SPATIAL  26
+
+#define B_DIRECT8x8_BI_PRED  13
+#define B_DIRECT8x8_PRED_L0  14
+#define B_DIRECT8x8_PRED_L1  15
+
+#define ONE_TO_ONE  0
+#define FRM_TO_FLD  1
+#define FLD_TO_FRM  2
+
+/** Inter Sub MB Pred modes */
+#define NUM_INTER_SUBMB_PRED_MODES 4
+#define SUBMB_8x8    0
+#define SUBMB_8x4    1
+#define SUBMB_4x8    2
+#define SUBMB_4x4    3
+
+/** Coded Block Pattern - Chroma */
+#define CBPC_ALLZERO    0
+#define CBPC_ACZERO     1
+#define CBPC_NONZERO    2
+
+/** Index for accessing the left MB in the MV predictor array */
+#define LEFT  0
+/** Index for accessing the top MB in the MV predictor array */
+#define TOP   1
+/** Index for accessing the top right MB in the MV predictor array */
+#define TOP_R 2
+/** Index for accessing the top Left MB in the MV predictor array */
+#define TOP_L 3
+
+/** Maximum number of Sequence Parameter sets */
+#define MAX_NUM_SEQ_PARAMS 32
+
+/** Maximum number of Picture Parameter sets */
+#define MAX_NUM_PIC_PARAMS 256
+
+#define MASK_ERR_SEQ_SET_ID   (0xFFFFFFE0)
+#define MASK_ERR_PIC_SET_ID   (0xFFFFFF00)
+
+#define MAX_PIC_ORDER_CNT_TYPE    2
+
+#define MAX_BITS_IN_FRAME_NUM     16
+#define MAX_BITS_IN_POC_LSB       16
+
+#define H264_MAX_REF_PICS         16
+#define H264_MAX_REF_IDX          32
+#define MAX_WEIGHT_BIPRED_IDC     2
+#define MAX_CABAC_INIT_IDC        2
+
+#define H264_DEFAULT_NUM_CORES 1
+#define DEFAULT_SEPARATE_PARSE (H264_DEFAULT_NUM_CORES == 2)? 1 :0
+
+/** Maximum number of Slice groups */
+#define MAX_NUM_SLICE_GROUPS 8
+#define MAX_NUM_REF_FRAMES_OFFSET 255
+
+/** Deblocking modes for a slice */
+#define SLICE_BOUNDARY_DBLK_DISABLED  2
+#define DBLK_DISABLED                 1
+#define DBLK_ENABLED                  0
+#define MIN_DBLK_FIL_OFF              -12
+#define MAX_DBLK_FIL_OFF              12
+
+/** Width of the predictor buffers used for MC */
+#define MB_SIZE             16
+#define BLK8x8SIZE          8
+#define BLK_SIZE             4
+#define NUM_BLKS_PER_MB     24
+#define NUM_LUM_BLKS_PER_MB 16
+
+#define SUB_BLK_WIDTH                 4
+#define SUB_SUB_BLK_SIZE              4 /* 2x2 pixel i4_size */
+#define SUB_BLK_SIZE                  ((SUB_BLK_WIDTH) * (SUB_BLK_WIDTH))
+#define MB_LUM_SIZE                   256
+#define MB_CHROM_SIZE                 64
+
+/**< Width to pad the luminance frame buff    */
+/**< Height to pad the luminance frame buff   */
+/**< Width to pad the chrominance frame buff  */
+/**< Height to pad the chrominance frame buff */
+
+#define PAD_LEN_Y_H                   32
+#define PAD_LEN_Y_V                   20
+#define PAD_LEN_UV_H                  16
+#define PAD_LEN_UV_V                  8
+
+#define PAD_MV_BANK_ROW             64
+
+/**< Maimum u4_ofst by which the Mvs could point outside the frame buffers
+ horizontally in the left and vertically in the top direction */
+#define MAX_OFFSET_OUTSIDE_X_FRM      -20
+#define MAX_OFFSET_OUTSIDE_Y_FRM      -20
+#define MAX_OFFSET_OUTSIDE_UV_FRM     -8
+
+/** UVLC parsing macros */
+#define   UEV     1
+#define   SEV     2
+#define   TEV     3
+
+/** Defines for Boolean values */
+#ifndef TRUE
+#define TRUE    1
+#define FALSE   0
+#endif
+
+#define UNUSED_FOR_REF 0
+#define IS_SHORT_TERM  1
+#define IS_LONG_TERM   2
+
+/** Defines for which field gets displayed first */
+#define MAX_FRAMES              16
+#define INVALID_FRAME_NUM       0x0fffffff
+#define DO_NOT_DISP             254
+#define DISP_FLD_FIRST_UNDEF  0
+#define DISP_TOP_FLD_FIRST   1
+#define DISP_BOT_FLD_FIRST   2
+
+/** Misc error resilience requirements*/
+#define MASK_LOG2_WEIGHT_DENOM      0xFFFFFFF8
+#define MASK_PRED_WEIGHT_OFFSET     0xFFFFFF00
+#define MAX_REDUNDANT_PIC_CNT       127
+
+#define DPB_HACK 0
+#define DPB_HACK_NEW 0
+
+
+
+#define PD_MB_BUF_SIZE  (H264_MAX_FRAME_WIDTH * H264_MAX_FRAME_WIDTH / 256)
+#define PD_MB_BUF_SIZE_MOD 0xffffffff
+#define MAX_PRED_INFO_LIMIT  (PD_MB_BUF_SIZE * 32 * 2)
+
+#endif //DEBLOCK_THREAD
+
+
+#define NO_DC_SB   0
+#define SUB_BLK_MASK 0xFFFFFF00
+#define NUM_COEFFS_IN_4x4BLK 16
+
+
+#define MEMSET_16BYTES(pu4_start,value)                         \
+    {                                                           \
+        memset(pu4_start,value,16);                             \
+    }
+
+#define MEMCPY_16BYTES(dst,src)                                 \
+{                                                               \
+    memcpy(dst,src,16);                                         \
+}
+
+
+#endif /*_IH264D_DEFS_H_*/
