aboutsummaryrefslogtreecommitdiff
path: root/Src/h264dec/ldecod/inc/cabac.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/h264dec/ldecod/inc/cabac.h')
-rw-r--r--Src/h264dec/ldecod/inc/cabac.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/Src/h264dec/ldecod/inc/cabac.h b/Src/h264dec/ldecod/inc/cabac.h
new file mode 100644
index 00000000..5458d2be
--- /dev/null
+++ b/Src/h264dec/ldecod/inc/cabac.h
@@ -0,0 +1,64 @@
+
+/*!
+ ***************************************************************************
+ * \file
+ * cabac.h
+ *
+ * \brief
+ * Header file for entropy coding routines
+ *
+ * \author
+ * Detlev Marpe \n
+ * Copyright (C) 2000 HEINRICH HERTZ INSTITUTE All Rights Reserved.
+ *
+ * \date
+ * 21. Oct 2000 (Changes by Tobias Oelbaum 28.08.2001)
+ ***************************************************************************
+ */
+
+#ifndef _CABAC_H_
+#define _CABAC_H_
+
+#include "global.h"
+
+typedef struct Run_Level
+{
+ int level;
+ int run;
+} RunLevel;
+extern MotionInfoContexts* create_contexts_MotionInfo(void);
+extern TextureInfoContexts* create_contexts_TextureInfo(void);
+extern void delete_contexts_MotionInfo(MotionInfoContexts *enco_ctx);
+extern void delete_contexts_TextureInfo(TextureInfoContexts *enco_ctx);
+
+extern void cabac_new_slice(Slice *currSlice);
+
+extern int readMB_typeInfo_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
+extern int readB8_typeInfo_CABAC(Slice *currSlice, DecodingEnvironmentPtr dep_dp);
+extern int readIntraPredMode_CABAC(Slice *currSlice, DecodingEnvironmentPtr dep_dp);
+extern char readRefFrame_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int list, int x, int y);
+extern char readRefFrame_CABAC0(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int list, int y);
+extern int readMVD_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int k, int list, int x, int y);
+extern int readCBP_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
+
+// readRunLevel_CABAC returns level and sets *run
+extern RunLevel readRunLevel_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int context);
+extern short readDquant_CABAC(Slice *currSlice, DecodingEnvironmentPtr dep_dp);
+extern char readCIPredMode_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
+extern int readMB_skip_flagInfo_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
+extern Boolean readFieldModeInfo_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
+extern Boolean readMB_transform_size_flag_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
+
+extern void readIPCM_CABAC(Slice *currSlice, struct datapartition *dP);
+
+extern int cabac_startcode_follows(Slice *currSlice, int eos_bit);
+
+
+extern int check_next_mb_and_get_field_mode_CABAC(Slice *currSlice, DataPartition *act_dp);
+
+extern void CheckAvailabilityOfNeighborsCABAC(Macroblock *currMB);
+
+extern void set_read_and_store_CBP(Macroblock **currMB, int chroma_format_idc);
+
+#endif // _CABAC_H_
+