aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan <ivan.flashka@gmail.com>2015-04-19 17:38:11 +0300
committerIvan <ivan.flashka@gmail.com>2015-04-19 17:38:11 +0300
commit3fd668a3f652580b291fae79d927aa9fba403663 (patch)
tree0383408ab9aa3c6854cbc0f53fdc4ddf3256843a
parent3c43e6dc2ef4787efa7225f664d8796a12c848f9 (diff)
ha3g: fix camera and media player
-rw-r--r--configs/media_codecs.xml32
-rw-r--r--configs/media_profiles.xml142
-rw-r--r--device.mk3
-rw-r--r--proprietary-files.txt1
4 files changed, 29 insertions, 149 deletions
diff --git a/configs/media_codecs.xml b/configs/media_codecs.xml
index fb70107..25dbc04 100644
--- a/configs/media_codecs.xml
+++ b/configs/media_codecs.xml
@@ -16,11 +16,12 @@
<MediaCodecs>
<Decoders>
- <MediaCodec name="OMX.Exynos.MPEG4.Decoder" type="video/mp4v-es" >
+ <MediaCodec name="OMX.Exynos.mpeg4.dec" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="decoder-ignores-streamcorrupt-error" />
<Quirk name="video-controller-check-enable" />
- <Limit name="size" min="32x32" max="1920x1088" />
+ <Limit name="size" min="32x32" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
@@ -28,21 +29,22 @@
<Feature name="adaptive-playback" />
</MediaCodec>
- <MediaCodec name="OMX.Exynos.H263.Decoder" type="video/3gpp" >
+ <MediaCodec name="OMX.Exynos.h263.dec" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="decoder-ignores-streamcorrupt-error" />
<Quirk name="video-controller-check-enable" />
- <Limit name="size" min="32x32" max="1088x1152" />
+ <Limit name="size" min="32x32" max="2048x1152" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-80000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
-
- <MediaCodec name="OMX.Exynos.AVC.Decoder" type="video/avc" >
+ <MediaCodec name="OMX.Exynos.avc.dec" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="decoder-ignores-streamcorrupt-error" />
<Quirk name="video-controller-check-enable" />
<Limit name="size" min="32x32" max="8192x8192" />
<Limit name="alignment" value="2x2" />
@@ -52,9 +54,10 @@
<Feature name="adaptive-playback" />
</MediaCodec>
- <MediaCodec name="OMX.Exynos.VP8.Decoder" type="video/x-vnd.on2.vp8" >
+ <MediaCodec name="OMX.Exynos.vp8.dec" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
+ <Quirk name="decoder-ignores-streamcorrupt-error" />
<Quirk name="video-controller-check-enable" />
<Limit name="size" min="32x32" max="8192x8192" />
<Limit name="alignment" value="2x2" />
@@ -70,31 +73,16 @@
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="video-controller-check-enable" />
- <Limit name="size" min="32x32" max="8192x8192" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-40000000" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="video-controller-check-enable" />
- <Limit name="size" min="32x32" max="1088x1152" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-40000000" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="video-controller-check-enable" />
- <Limit name="size" min="32x32" max="1920x1088" />
- <Limit name="alignment" value="2x2" />
- <Limit name="block-size" value="16x16" />
- <Limit name="blocks-per-second" min="1" max="489600" />
- <Limit name="bitrate" range="1-40000000" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_audio.xml" />
diff --git a/configs/media_profiles.xml b/configs/media_profiles.xml
index 659177c..2917dfa 100644
--- a/configs/media_profiles.xml
+++ b/configs/media_profiles.xml
@@ -79,18 +79,7 @@
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<CamcorderProfiles cameraId="0" startOffsetMs="700">
- <EncoderProfile quality="low" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264"
@@ -100,20 +89,7 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -139,7 +115,7 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -151,29 +127,13 @@
height="1080"
frameRate="30" />
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!--
- The Audio part of the profile will not be used since time lapse mode
- does not capture audio
- -->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
+
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="17000000"
@@ -185,29 +145,13 @@
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
-
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!--
- The Audio part of the profile will not be used since time lapse mode
- does not capture audio
- -->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
+
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
<Video codec="h264"
bitRate="767000"
@@ -237,7 +181,7 @@
does not capture audio
-->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -254,7 +198,7 @@
does not capture audio
-->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -269,18 +213,6 @@
<!-- Front Camera -->
<CamcorderProfiles cameraId="1" startOffsetMs="700">
- <EncoderProfile quality="low" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
<Video codec="h264"
@@ -290,23 +222,11 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
- <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
<EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
<Video codec="h264"
@@ -329,7 +249,7 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -342,27 +262,11 @@
frameRate="30" />
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
- <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!--
- The Audio part of the profile will not be used since time lapse mode
- does not capture audio
- -->
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
<Video codec="h264"
@@ -376,27 +280,11 @@
does not capture audio
-->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
- <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
- <Video codec="h264"
- bitRate="384000"
- width="176"
- height="144"
- frameRate="30" />
-
- <!--
- The Audio part of the profile will not be used since time lapse mode
- does not capture audio
- -->
- <Audio codec="aac"
- bitRate="128000"
- sampleRate="48000"
- channels="2" />
- </EncoderProfile>
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
<Video codec="h264"
@@ -427,7 +315,7 @@
does not capture audio
-->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -444,7 +332,7 @@
does not capture audio
-->
<Audio codec="aac"
- bitRate="128000"
+ bitRate="256000"
sampleRate="48000"
channels="2" />
</EncoderProfile>
@@ -465,7 +353,7 @@
or query the capabilities of the codec at all if it is disabled
-->
<VideoEncoderCap name="h264" enabled="true"
- minBitRate="64000" maxBitRate="17000000"
+ minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="1" maxFrameRate="30" />
diff --git a/device.mk b/device.mk
index 7aae614..f296018 100644
--- a/device.mk
+++ b/device.mk
@@ -122,6 +122,9 @@ PRODUCT_PACKAGES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/rootdir/etc/init.exynos.cam.sh:system/etc/init.exynos.cam.sh
+PRODUCT_PROPERTY_OVERRIDES += \
+ camera2.portability.force_api=1
+
# Filesystem management tools
PRODUCT_PACKAGES += \
make_ext4fs \
diff --git a/proprietary-files.txt b/proprietary-files.txt
index b8afa02..a6e73f6 100644
--- a/proprietary-files.txt
+++ b/proprietary-files.txt
@@ -56,6 +56,7 @@ vendor/lib/libWVStreamControlAPI_L1.so
lib/drm/libdrmwvmplugin.so
vendor/lib/libwvm.so
vendor/lib/mediadrm/libwvdrmengine.so
+lib/libExynosOMX_Core.so
lib/omx/libOMX.Exynos.AVC.Decoder.so
lib/omx/libOMX.Exynos.AVC.Encoder.so
lib/omx/libOMX.Exynos.MPEG4.Decoder.so