diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk
index e1d6cd4f..60cbdd75 100644
--- a/BoardConfig-common.mk
+++ b/BoardConfig-common.mk
@@ -190,6 +190,7 @@ BOARD_PERSISTIMAGE_FILE_SYSTEM_TYPE := ext4
# Video Codec
########################
# 1. Exynos C2
+BOARD_USE_CODEC2_HIDL_1_2 := true
BOARD_USE_CSC_FILTER := false
BOARD_USE_DEC_SW_CSC := true
BOARD_USE_ENC_SW_CSC := true
diff --git a/device.mk b/device.mk
index 76c9a6d4..4f55d78a 100644
--- a/device.mk
+++ b/device.mk
@@ -752,30 +752,14 @@ endif
$(call soong_config_set,bigo,soc,gs201)
# 1. Codec 2.0
-# exynos service
-PRODUCT_SOONG_NAMESPACES += vendor/samsung_slsi/codec2
+# for settings used by different C2 hal
+include device/google/gs-common/mediacodec/common/mediacodec_common.mk
+# for Exynos C2 Hal
+include device/google/gs-common/mediacodec/samsung/mediacodec_samsung.mk
PRODUCT_COPY_FILES += \
device/google/gs201/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
-PRODUCT_PACKAGES += \
- samsung.hardware.media.c2@1.0-service \
- codec2.vendor.base.policy \
- codec2.vendor.ext.policy \
- libExynosC2ComponentStore \
- libExynosC2H264Dec \
- libExynosC2H264Enc \
- libExynosC2HevcDec \
- libExynosC2HevcEnc \
- libExynosC2Mpeg4Dec \
- libExynosC2Mpeg4Enc \
- libExynosC2H263Dec \
- libExynosC2H263Enc \
- libExynosC2Vp8Dec \
- libExynosC2Vp8Enc \
- libExynosC2Vp9Dec \
- libExynosC2Vp9Enc
-
PRODUCT_PROPERTY_OVERRIDES += \
debug.stagefright.c2-poolmask=458752 \
debug.c2.use_dmabufheaps=1 \
diff --git a/manifest_media.xml b/manifest_media.xml
index 3ed9e247..38e56ba2 100644
--- a/manifest_media.xml
+++ b/manifest_media.xml
@@ -5,8 +5,16 @@
1.0
IComponentStore
- default
default1
+
+ android.hardware.media.c2
+ hwbinder
+ 1.2
+
+ IComponentStore
+ default
+
+
diff --git a/manifest_media_aosp.xml b/manifest_media_aosp.xml
index 3bc347c9..9a1a3dba 100644
--- a/manifest_media_aosp.xml
+++ b/manifest_media_aosp.xml
@@ -2,7 +2,7 @@
android.hardware.media.c2
hwbinder
- 1.0
+ 1.2
IComponentStore
default