Index: branches/SHM-upgrade/build/linux/app/TAppDecoder/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/app/TAppDecoder/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/app/TAppDecoder/makefile	(revision 918)
@@ -16,9 +16,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR				= ./objects
+OBJ_DIR				= ./objects$(HBD)
 
 # set executable name
-PRJ_NAME			= TAppDecoder
+PRJ_NAME			= TAppDecoder$(HBD)
 
 # defines to set
@@ -41,13 +47,13 @@
 
 
-DYN_DEBUG_LIBS		= -lTLibDecoderd -lTLibCommond -lTLibVideoIOd -lTAppCommond
-DYN_DEBUG_PREREQS		= $(LIB_DIR)/libTLibDecoderd.a $(LIB_DIR)/libTLibCommond.a $(LIB_DIR)/libTLibVideoIOd.a $(LIB_DIR)/libTAppCommond.a
-STAT_DEBUG_LIBS		= -lTLibDecoderStaticd -lTLibCommonStaticd -lTLibVideoIOStaticd -lTAppCommonStaticd
-STAT_DEBUG_PREREQS		= $(LIB_DIR)/libTLibDecoderStaticd.a $(LIB_DIR)/libTLibCommonStaticd.a $(LIB_DIR)/libTLibVideoIOStaticd.a $(LIB_DIR)/libTAppCommonStaticd.a
+DYN_DEBUG_LIBS		= -lTLibDecoder$(HBD)d -lTLibCommon$(HBD)d -lTLibVideoIO$(HBD)d -lTAppCommon$(HBD)d
+DYN_DEBUG_PREREQS		= $(LIB_DIR)/libTLibDecoder$(HBD)d.a $(LIB_DIR)/libTLibCommon$(HBD)d.a $(LIB_DIR)/libTLibVideoIO$(HBD)d.a $(LIB_DIR)/libTAppCommon$(HBD)d.a
+STAT_DEBUG_LIBS		= -lTLibDecoder$(HBD)Staticd -lTLibCommon$(HBD)Staticd -lTLibVideoIO$(HBD)Staticd -lTAppCommon$(HBD)Staticd
+STAT_DEBUG_PREREQS		= $(LIB_DIR)/libTLibDecoder$(HBD)Staticd.a $(LIB_DIR)/libTLibCommon$(HBD)Staticd.a $(LIB_DIR)/libTLibVideoIO$(HBD)Staticd.a $(LIB_DIR)/libTAppCommon$(HBD)Staticd.a
 
-DYN_RELEASE_LIBS	= -lTLibDecoder -lTLibCommon -lTLibVideoIO -lTAppCommon
-DYN_RELEASE_PREREQS	= $(LIB_DIR)/libTLibDecoder.a $(LIB_DIR)/libTLibCommon.a $(LIB_DIR)/libTLibVideoIO.a $(LIB_DIR)/libTAppCommon.a
-STAT_RELEASE_LIBS	= -lTLibDecoderStatic -lTLibCommonStatic -lTLibVideoIOStatic -lTAppCommonStatic
-STAT_RELEASE_PREREQS	= $(LIB_DIR)/libTLibDecoderStatic.a $(LIB_DIR)/libTLibCommonStatic.a $(LIB_DIR)/libTLibVideoIOStatic.a $(LIB_DIR)/libTAppCommonStatic.a
+DYN_RELEASE_LIBS	= -lTLibDecoder$(HBD) -lTLibCommon$(HBD) -lTLibVideoIO$(HBD) -lTAppCommon$(HBD)
+DYN_RELEASE_PREREQS	= $(LIB_DIR)/libTLibDecoder$(HBD).a $(LIB_DIR)/libTLibCommon$(HBD).a $(LIB_DIR)/libTLibVideoIO$(HBD).a $(LIB_DIR)/libTAppCommon$(HBD).a
+STAT_RELEASE_LIBS	= -lTLibDecoder$(HBD)Static -lTLibCommon$(HBD)Static -lTLibVideoIO$(HBD)Static -lTAppCommon$(HBD)Static
+STAT_RELEASE_PREREQS	= $(LIB_DIR)/libTLibDecoder$(HBD)Static.a $(LIB_DIR)/libTLibCommon$(HBD)Static.a $(LIB_DIR)/libTLibVideoIO$(HBD)Static.a $(LIB_DIR)/libTAppCommon$(HBD)Static.a
 
 
Index: branches/SHM-upgrade/build/linux/app/TAppEncoder/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/app/TAppEncoder/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/app/TAppEncoder/makefile	(revision 918)
@@ -16,9 +16,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR				= ./objects
+OBJ_DIR				= ./objects$(HBD)
 
 # set executable name
-PRJ_NAME			= TAppEncoder
+PRJ_NAME			= TAppEncoder$(HBD)
 
 # defines to set
@@ -42,13 +48,13 @@
 
 
-DYN_DEBUG_LIBS		= -lTLibEncoderd -lTLibCommond -lTLibVideoIOd -lTAppCommond
-DYN_DEBUG_PREREQS		= $(LIB_DIR)/libTLibEncoderd.a $(LIB_DIR)/libTLibCommond.a $(LIB_DIR)/libTLibVideoIOd.a $(LIB_DIR)/libTAppCommond.a
-STAT_DEBUG_LIBS		= -lTLibEncoderStaticd -lTLibCommonStaticd -lTLibVideoIOStaticd -lTAppCommonStaticd
-STAT_DEBUG_PREREQS		= $(LIB_DIR)/libTLibEncoderStaticd.a $(LIB_DIR)/libTLibCommonStaticd.a $(LIB_DIR)/libTLibVideoIOStaticd.a $(LIB_DIR)/libTAppCommonStaticd.a
+DYN_DEBUG_LIBS		= -lTLibEncoder$(HBD)d -lTLibCommon$(HBD)d -lTLibVideoIO$(HBD)d -lTAppCommon$(HBD)d
+DYN_DEBUG_PREREQS		= $(LIB_DIR)/libTLibEncoder$(HBD)d.a $(LIB_DIR)/libTLibCommon$(HBD)d.a $(LIB_DIR)/libTLibVideoIO$(HBD)d.a $(LIB_DIR)/libTAppCommon$(HBD)d.a
+STAT_DEBUG_LIBS		= -lTLibEncoder$(HBD)Staticd -lTLibCommon$(HBD)Staticd -lTLibVideoIO$(HBD)Staticd -lTAppCommon$(HBD)Staticd
+STAT_DEBUG_PREREQS		= $(LIB_DIR)/libTLibEncoder$(HBD)Staticd.a $(LIB_DIR)/libTLibCommon$(HBD)Staticd.a $(LIB_DIR)/libTLibVideoIO$(HBD)Staticd.a $(LIB_DIR)/libTAppCommon$(HBD)Staticd.a
 
-DYN_RELEASE_LIBS	= -lTLibEncoder -lTLibCommon -lTLibVideoIO -lTAppCommon
-DYN_RELEASE_PREREQS	= $(LIB_DIR)/libTLibEncoder.a $(LIB_DIR)/libTLibCommon.a $(LIB_DIR)/libTLibVideoIO.a $(LIB_DIR)/libTAppCommon.a
-STAT_RELEASE_LIBS	= -lTLibEncoderStatic -lTLibCommonStatic -lTLibVideoIOStatic -lTAppCommonStatic
-STAT_RELEASE_PREREQS	= $(LIB_DIR)/libTLibEncoderStatic.a $(LIB_DIR)/libTLibCommonStatic.a $(LIB_DIR)/libTLibVideoIOStatic.a $(LIB_DIR)/libTAppCommonStatic.a
+DYN_RELEASE_LIBS	= -lTLibEncoder$(HBD) -lTLibCommon$(HBD) -lTLibVideoIO$(HBD) -lTAppCommon$(HBD)
+DYN_RELEASE_PREREQS	= $(LIB_DIR)/libTLibEncoder$(HBD).a $(LIB_DIR)/libTLibCommon$(HBD).a $(LIB_DIR)/libTLibVideoIO$(HBD).a $(LIB_DIR)/libTAppCommon$(HBD).a
+STAT_RELEASE_LIBS	= -lTLibEncoder$(HBD)Static -lTLibCommon$(HBD)Static -lTLibVideoIO$(HBD)Static -lTAppCommon$(HBD)Static
+STAT_RELEASE_PREREQS	= $(LIB_DIR)/libTLibEncoder$(HBD)Static.a $(LIB_DIR)/libTLibCommon$(HBD)Static.a $(LIB_DIR)/libTLibVideoIO$(HBD)Static.a $(LIB_DIR)/libTAppCommon$(HBD)Static.a
 
 
Index: branches/SHM-upgrade/build/linux/common/makefile.base
===================================================================
--- branches/SHM-upgrade/build/linux/common/makefile.base	(revision 915)
+++ branches/SHM-upgrade/build/linux/common/makefile.base	(revision 918)
@@ -13,5 +13,6 @@
 #########################################################
 
-CPP   	= g++
+CPP     = g++
+CC      = gcc
 AR    	= ar
 LD    	= $(CPP)
@@ -58,4 +59,8 @@
 ##########
 
+ifeq ($(HIGHBITDEPTH), 1)
+CPPFLAGS+="-DRExt__HIGH_BIT_DEPTH_SUPPORT=1"
+endif
+
 #
 # debug cpp flags
@@ -63,5 +68,5 @@
 #
 # release cpp
-RELEASE_CPPFLAGS  =  -O3 -ffloat-store -Wuninitialized
+RELEASE_CPPFLAGS  =  -O3 -Wuninitialized
 
 
@@ -208,4 +213,18 @@
                 rm -f $(OBJ_DIR)/$*.d.d
 endef
+define COMPILE_AND_DEPEND_RELEASE_C
+        $(CC) -c -MMD -MF $(OBJ_DIR)/$*.r.d -MT $(OBJ_DIR)/$*.r.o $(CPPFLAGS) $(RELEASE_CPPFLAGS) -o $@ $(CURDIR)/$<
+        @cp $(OBJ_DIR)/$*.r.d $(OBJ_DIR)/$*.r.P; \
+                sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+                -e '/^$$/ d' -e 's/$$/ :/' < $(OBJ_DIR)/$*.r.d >> $(OBJ_DIR)/$*.r.P; \
+                rm -f $(OBJ_DIR)/$*.r.d
+endef
+define COMPILE_AND_DEPEND_DEBUG_C
+        $(CC) -c -MMD -MF $(OBJ_DIR)/$*.d.d -MT $(OBJ_DIR)/$*.d.o $(CPPFLAGS) $(DEBUG_CPPFLAGS) -o $@ $(CURDIR)/$<
+        @cp $(OBJ_DIR)/$*.d.d $(OBJ_DIR)/$*.d.P; \
+                sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+                -e '/^$$/ d' -e 's/$$/ :/' < $(OBJ_DIR)/$*.d.d >> $(OBJ_DIR)/$*.d.P; \
+                rm -f $(OBJ_DIR)/$*.d.d
+endef
 
 # create release objects
@@ -251,41 +270,41 @@
 # create release objects
 $(OBJ_DIR)/%.r.o: $(SRC_DIR)/%.c
-	$(COMPILE_AND_DEPEND_RELEASE)
+	$(COMPILE_AND_DEPEND_RELEASE_C)
 
 # create debug objects
 $(OBJ_DIR)/%.d.o: $(SRC_DIR)/%.c
-	$(COMPILE_AND_DEPEND_DEBUG)
+	$(COMPILE_AND_DEPEND_DEBUG_C)
 
 # create release objects
 $(OBJ_DIR)/%.r.o: $(SRC_DIR1)/%.c
-	$(COMPILE_AND_DEPEND_RELEASE)
+	$(COMPILE_AND_DEPEND_RELEASE_C)
 
 # create debug objects
 $(OBJ_DIR)/%.d.o: $(SRC_DIR1)/%.c
-	$(COMPILE_AND_DEPEND_DEBUG)
+	$(COMPILE_AND_DEPEND_DEBUG_C)
 
 # create release objects
 $(OBJ_DIR)/%.r.o: $(SRC_DIR2)/%.c
-	$(COMPILE_AND_DEPEND_RELEASE)
+	$(COMPILE_AND_DEPEND_RELEASE_C)
 
 # create debug objects
 $(OBJ_DIR)/%.d.o: $(SRC_DIR2)/%.c
-	$(COMPILE_AND_DEPEND_DEBUG)
+	$(COMPILE_AND_DEPEND_DEBUG_C)
 
 # create release objects
 $(OBJ_DIR)/%.r.o: $(SRC_DIR3)/%.c
-	$(COMPILE_AND_DEPEND_RELEASE)
+	$(COMPILE_AND_DEPEND_RELEASE_C)
 
 # create debug objects
 $(OBJ_DIR)/%.d.o: $(SRC_DIR3)/%.c
-	$(COMPILE_AND_DEPEND_DEBUG)
+	$(COMPILE_AND_DEPEND_DEBUG_C)
 
 # create release objects
 $(OBJ_DIR)/%.r.o: $(SRC_DIR4)/%.c
-	$(COMPILE_AND_DEPEND_RELEASE)
+	$(COMPILE_AND_DEPEND_RELEASE_C)
 
 # create debug objects
 $(OBJ_DIR)/%.d.o: $(SRC_DIR4)/%.c
-	$(COMPILE_AND_DEPEND_DEBUG)
+	$(COMPILE_AND_DEPEND_DEBUG_C)
 
 
Index: branches/SHM-upgrade/build/linux/lib/TAppCommon/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/lib/TAppCommon/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/lib/TAppCommon/makefile	(revision 918)
@@ -17,9 +17,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR			= ./objects
+OBJ_DIR			= ./objects$(HBD)
 
 # the library name
-PRJ_NAME	 	= TAppCommon
+PRJ_NAME	 	= TAppCommon$(HBD)
 
 # version information
Index: branches/SHM-upgrade/build/linux/lib/TLibCommon/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/lib/TLibCommon/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/lib/TLibCommon/makefile	(revision 918)
@@ -17,9 +17,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR			= ./objects
+OBJ_DIR			= ./objects$(HBD)
 
 # the library name
-PRJ_NAME	 	= TLibCommon
+PRJ_NAME	 	= TLibCommon$(HBD)
 
 # version information
@@ -33,4 +39,7 @@
 # set objects
 OBJS          	= \
+			$(OBJ_DIR)/Debug.o \
+			$(OBJ_DIR)/TComPicYuv.o \
+			$(OBJ_DIR)/TComYuv.o \
 			$(OBJ_DIR)/ContextModel.o \
 			$(OBJ_DIR)/ContextModel3DBuffer.o \
@@ -39,4 +48,5 @@
 			$(OBJ_DIR)/TComSampleAdaptiveOffset.o \
 			$(OBJ_DIR)/TComBitStream.o \
+      		$(OBJ_DIR)/TComChromaFormat.o \
 			$(OBJ_DIR)/TComDataCU.o \
 			$(OBJ_DIR)/TComLoopFilter.o \
@@ -45,5 +55,4 @@
 			$(OBJ_DIR)/TComPic.o \
 			$(OBJ_DIR)/TComPicSym.o \
-			$(OBJ_DIR)/TComPicYuv.o \
 			$(OBJ_DIR)/TComPicYuvMD5.o \
 			$(OBJ_DIR)/TComPrediction.o \
@@ -52,5 +61,5 @@
 			$(OBJ_DIR)/TComSlice.o \
 			$(OBJ_DIR)/TComTrQuant.o \
-			$(OBJ_DIR)/TComYuv.o \
+			$(OBJ_DIR)/TComTU.o \
 			$(OBJ_DIR)/TComInterpolationFilter.o \
 			$(OBJ_DIR)/libmd5.o \
Index: branches/SHM-upgrade/build/linux/lib/TLibDecoder/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/lib/TLibDecoder/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/lib/TLibDecoder/makefile	(revision 918)
@@ -17,9 +17,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR			= ./objects
+OBJ_DIR			= ./objects$(HBD)
 
 # the library name
-PRJ_NAME	 	= TLibDecoder
+PRJ_NAME	 	= TLibDecoder$(HBD)
 
 # version information
Index: branches/SHM-upgrade/build/linux/lib/TLibEncoder/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/lib/TLibEncoder/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/lib/TLibEncoder/makefile	(revision 918)
@@ -17,9 +17,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR			= ./objects
+OBJ_DIR			= ./objects$(HBD)
 
 # the library name
-PRJ_NAME	 	= TLibEncoder
+PRJ_NAME	 	= TLibEncoder$(HBD)
 
 # version information
Index: branches/SHM-upgrade/build/linux/lib/TLibVideoIO/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/lib/TLibVideoIO/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/lib/TLibVideoIO/makefile	(revision 918)
@@ -17,9 +17,15 @@
 USER_LIB_DIRS	=
 
+ifeq ($(HIGHBITDEPTH), 1)
+HBD=HighBitDepth
+else
+HBD=
+endif
+
 # intermediate directory for object files
-OBJ_DIR			= ./objects
+OBJ_DIR			= ./objects$(HBD)
 
 # the library name
-PRJ_NAME	 	= TLibVideoIO
+PRJ_NAME	 	= TLibVideoIO$(HBD)
 
 # version information
Index: branches/SHM-upgrade/build/linux/makefile
===================================================================
--- branches/SHM-upgrade/build/linux/makefile	(revision 915)
+++ branches/SHM-upgrade/build/linux/makefile	(revision 918)
@@ -15,4 +15,6 @@
 	$(MAKE) -C utils/annexBbytecount       MM32=$(M32)
 	$(MAKE) -C utils/convert_NtoMbit_YCbCr MM32=$(M32)
+	$(MAKE) -C lib/TLibDecoderAnalyser 	MM32=$(M32)
+	$(MAKE) -C app/TAppDecoderAnalyser      MM32=$(M32)
 
 debug:
@@ -27,4 +29,6 @@
 	$(MAKE) -C utils/annexBbytecount       debug MM32=$(M32)
 	$(MAKE) -C utils/convert_NtoMbit_YCbCr debug MM32=$(M32)
+	$(MAKE) -C lib/TLibDecoderAnalyser 	debug MM32=$(M32)
+	$(MAKE) -C app/TAppDecoderAnalyser      debug MM32=$(M32)
 
 release:
@@ -36,9 +40,11 @@
 	$(MAKE) -C app/TAppDecoder      release MM32=$(M32)
 	$(MAKE) -C app/TAppEncoder      release MM32=$(M32)
-	$(MAKE) -C app/TAppDownConvert      release MM32=$(M32)
+	$(MAKE) -C app/TAppDownConvert  release MM32=$(M32)
 	$(MAKE) -C utils/annexBbytecount       release MM32=$(M32)
 	$(MAKE) -C utils/convert_NtoMbit_YCbCr release MM32=$(M32)
+	$(MAKE) -C lib/TLibDecoderAnalyser 	release MM32=$(M32)
+	$(MAKE) -C app/TAppDecoderAnalyser      release MM32=$(M32)
 
-clean:
+clean: clean_highbitdepth
 	$(MAKE) -C lib/TLibVideoIO 	clean MM32=$(M32)
 	$(MAKE) -C lib/TLibCommon 	clean MM32=$(M32)
@@ -51,2 +57,54 @@
 	$(MAKE) -C utils/annexBbytecount       clean MM32=$(M32)
 	$(MAKE) -C utils/convert_NtoMbit_YCbCr clean MM32=$(M32)
+	$(MAKE) -C lib/TLibDecoderAnalyser 	clean MM32=$(M32)
+	$(MAKE) -C app/TAppDecoderAnalyser      clean MM32=$(M32)
+
+all_highbitdepth:
+	$(MAKE) -C lib/TLibVideoIO 	MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibCommon 	MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoder 	MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibEncoder 	MM32=$(M32) HIGHBITDEPTH=1
+  $(MAKE) -C app/TAppDownConvert  MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TAppCommon       MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoder      MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppEncoder      MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoderAnalyser 	MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoderAnalyser      MM32=$(M32) HIGHBITDEPTH=1
+
+debug_highbitdepth:
+	$(MAKE) -C lib/TLibVideoIO 	debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibCommon 	debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoder 	debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibEncoder 	debug MM32=$(M32) HIGHBITDEPTH=1
+  $(MAKE) -C app/TAppDownConvert 	debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TAppCommon       debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoder      debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppEncoder      debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoderAnalyser 	debug MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoderAnalyser      debug MM32=$(M32) HIGHBITDEPTH=1
+
+release_highbitdepth:
+	$(MAKE) -C lib/TLibVideoIO 	release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibCommon 	release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoder 	release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibEncoder 	release MM32=$(M32) HIGHBITDEPTH=1
+  $(MAKE) -C app/TAppDownConvert 	release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TAppCommon       release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoder      release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppEncoder      release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoderAnalyser 	release MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoderAnalyser      release MM32=$(M32) HIGHBITDEPTH=1
+
+clean_highbitdepth:
+	$(MAKE) -C lib/TLibVideoIO 	clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibCommon 	clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoder 	clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibEncoder 	clean MM32=$(M32) HIGHBITDEPTH=1
+  $(MAKE) -C app/TAppDownConvert 	clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TAppCommon       clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoder      clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppEncoder      clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C lib/TLibDecoderAnalyser 	clean MM32=$(M32) HIGHBITDEPTH=1
+	$(MAKE) -C app/TAppDecoderAnalyser      clean MM32=$(M32) HIGHBITDEPTH=1
+
+everything: all all_highbitdepth
