summaryrefslogtreecommitdiff
authorGuosong Zhou <guosong.zhou@amlogic.com>2017-09-08 05:18:00 (GMT)
committer Guosong Zhou <guosong.zhou@amlogic.com>2017-09-08 06:36:22 (GMT)
commite51d847267626c7a1afba47e8a7832dfd6c799d2 (patch)
treec375b22b5a34e14dfc3deb9babb882d61894685a
parentdbde7a2ebd2582ec75ca158eee8745f297886c3b (diff)
downloadamlogic-o-e51d847267626c7a1afba47e8a7832dfd6c799d2.zip
amlogic-o-e51d847267626c7a1afba47e8a7832dfd6c799d2.tar.gz
amlogic-o-e51d847267626c7a1afba47e8a7832dfd6c799d2.tar.bz2
camera: add camera module[2/3]
PD# 146466 add camera provider service Change-Id: I0a7b7b93ef88c845f3786903fb98d8e94d964bee Signed-off-by: Guosong Zhou <guosong.zhou@amlogic.com>
Diffstat
-rw-r--r--common/core_amlogic.mk3
-rw-r--r--common/manifest.xml9
-rw-r--r--common/sepolicy/hal_camera_default.te2
-rw-r--r--p212/device.mk1
-rw-r--r--p212/files/media_profiles_V1_0.xml229
-rw-r--r--p230/device.mk1
-rw-r--r--p230/files/media_profiles_V1_0.xml229
7 files changed, 474 insertions, 0 deletions
diff --git a/common/core_amlogic.mk b/common/core_amlogic.mk
index de1f076..e8c5899 100644
--- a/common/core_amlogic.mk
+++ b/common/core_amlogic.mk
@@ -345,6 +345,9 @@ PRODUCT_PACKAGES += \
android.hardware.audio@2.0-impl \
android.hardware.audio.effect@2.0-impl \
android.hardware.audio@2.0-service
+#Camera HAL
+PRODUCT_PACKAGES += \
+ android.hardware.camera.provider@2.4-service
#Power HAL
PRODUCT_PACKAGES += \
diff --git a/common/manifest.xml b/common/manifest.xml
index 10fdb8c..b0cde7c 100644
--- a/common/manifest.xml
+++ b/common/manifest.xml
@@ -133,6 +133,15 @@
<instance>default</instance>
</interface>
</hal>
+ <hal format="hidl">
+ <name>android.hardware.camera.provider</name>
+ <transport>hwbinder</transport>
+ <version>2.4</version>
+ <interface>
+ <name>ICameraProvider</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
<hal>
<name>vendor.amlogic.hardware.systemcontrol</name>
<transport>hwbinder</transport>
diff --git a/common/sepolicy/hal_camera_default.te b/common/sepolicy/hal_camera_default.te
new file mode 100644
index 0000000..a60e4c4
--- a/dev/null
+++ b/common/sepolicy/hal_camera_default.te
@@ -0,0 +1,2 @@
+allow hal_camera_default vndbinder_device:dir {search};
+allow hal_camera_default vndbinder_device:chr_file {open read write ioctl};
diff --git a/p212/device.mk b/p212/device.mk
index b916f17..4346d9e 100644
--- a/p212/device.mk
+++ b/p212/device.mk
@@ -40,6 +40,7 @@ endif
PRODUCT_COPY_FILES += \
device/amlogic/p212/files/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
+ device/amlogic/p212/files/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
device/amlogic/p212/files/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
device/amlogic/p212/files/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
device/amlogic/p212/files/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
diff --git a/p212/files/media_profiles_V1_0.xml b/p212/files/media_profiles_V1_0.xml
new file mode 100644
index 0000000..16e8eb8
--- a/dev/null
+++ b/p212/files/media_profiles_V1_0.xml
@@ -0,0 +1,229 @@
+<MediaSettings>
+
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0" startOffsetMs="50">
+
+ <EncoderProfile quality="720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="70" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="90" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1" startOffsetMs="50">
+
+ <EncoderProfile quality="720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="70" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="90" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <VideoDecoderCap name="wmv" enabled="true" />
+ <AudioDecoderCap name="wma" enabled="true" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="192000" maxBitRate="420000"
+ minFrameWidth="176" maxFrameWidth="352"
+ minFrameHeight="144" maxFrameHeight="288"
+ minFrameRate="1" maxFrameRate="20" />
+
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="192000" maxBitRate="6000000"
+ minFrameWidth="176" maxFrameWidth="1280"
+ minFrameHeight="144" maxFrameHeight="720"
+ minFrameRate="5" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="192000" maxBitRate="1440000"
+ minFrameWidth="176" maxFrameWidth="640"
+ minFrameHeight="144" maxFrameHeight="480"
+ minFrameRate="1" maxFrameRate="15" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="758" maxBitRate="288000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="heaac" enabled="true"
+ minBitRate="8000" maxBitRate="64000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aaceld" enabled="true"
+ minBitRate="16000" maxBitRate="192000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="4750" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+</MediaSettings>
diff --git a/p230/device.mk b/p230/device.mk
index 591fd8f..62271dc 100644
--- a/p230/device.mk
+++ b/p230/device.mk
@@ -27,6 +27,7 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
device/amlogic/p230/files/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
+ device/amlogic/p230/files/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
device/amlogic/p230/files/audio_policy.conf:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy.conf \
device/amlogic/p230/files/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
device/amlogic/p230/files/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
diff --git a/p230/files/media_profiles_V1_0.xml b/p230/files/media_profiles_V1_0.xml
new file mode 100644
index 0000000..16e8eb8
--- a/dev/null
+++ b/p230/files/media_profiles_V1_0.xml
@@ -0,0 +1,229 @@
+<MediaSettings>
+
+ <!-- Each camcorder profile defines a set of predefined configuration parameters -->
+ <CamcorderProfiles cameraId="0" startOffsetMs="50">
+
+ <EncoderProfile quality="720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="70" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="90" />
+
+ </CamcorderProfiles>
+
+ <CamcorderProfiles cameraId="1" startOffsetMs="50">
+
+ <EncoderProfile quality="720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="1280"
+ height="720"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="60">
+ <Video codec="h264"
+ bitRate="6000000"
+ width="640"
+ height="480"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
+ <Video codec="h264"
+ bitRate="1440000"
+ width="352"
+ height="288"
+ frameRate="30" />
+
+ <Audio codec="amrwb"
+ bitRate="23050"
+ sampleRate="16000"
+ channels="1" />
+ </EncoderProfile>
+
+ <ImageEncoding quality="70" />
+ <ImageEncoding quality="80" />
+ <ImageEncoding quality="90" />
+
+ </CamcorderProfiles>
+
+ <EncoderOutputFileFormat name="3gp" />
+ <EncoderOutputFileFormat name="mp4" />
+
+ <VideoDecoderCap name="wmv" enabled="true" />
+ <AudioDecoderCap name="wma" enabled="true" />
+
+ <VideoEncoderCap name="h263" enabled="true"
+ minBitRate="192000" maxBitRate="420000"
+ minFrameWidth="176" maxFrameWidth="352"
+ minFrameHeight="144" maxFrameHeight="288"
+ minFrameRate="1" maxFrameRate="20" />
+
+ <VideoEncoderCap name="h264" enabled="true"
+ minBitRate="192000" maxBitRate="6000000"
+ minFrameWidth="176" maxFrameWidth="1280"
+ minFrameHeight="144" maxFrameHeight="720"
+ minFrameRate="5" maxFrameRate="30" />
+
+ <VideoEncoderCap name="m4v" enabled="true"
+ minBitRate="192000" maxBitRate="1440000"
+ minFrameWidth="176" maxFrameWidth="640"
+ minFrameHeight="144" maxFrameHeight="480"
+ minFrameRate="1" maxFrameRate="15" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aac" enabled="true"
+ minBitRate="758" maxBitRate="288000"
+ minSampleRate="8000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="heaac" enabled="true"
+ minBitRate="8000" maxBitRate="64000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="aaceld" enabled="true"
+ minBitRate="16000" maxBitRate="192000"
+ minSampleRate="16000" maxSampleRate="48000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrwb" enabled="true"
+ minBitRate="6600" maxBitRate="23050"
+ minSampleRate="16000" maxSampleRate="16000"
+ minChannels="1" maxChannels="1" />
+
+ <AudioEncoderCap name="amrnb" enabled="true"
+ minBitRate="4750" maxBitRate="12200"
+ minSampleRate="8000" maxSampleRate="8000"
+ minChannels="1" maxChannels="1" />
+</MediaSettings>