aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEthan Chen <intervigil@gmail.com>2015-08-14 16:34:35 -0700
committerAlberto Guanti <albertoguanti@gmail.com>2015-08-19 06:57:29 -0700
commita8fc1cb0889e40e0c216421bee74fdcd9bcd63f0 (patch)
tree0f9fe7cd9bf1eef4d686bad1177c3577d72128b0
parent32c6432a8aafa15df2e9caafe09df108316daa9f (diff)
i9500: Enable MP3, MPEG2, VP8, WMV hardware codecs
* Exynos5410 MFCv6 is not capable of SEIREN_AUDIO * Exynos5410 MFCv6 is not capable of VP8 encoding * Exynos5410 MFCv6 is not capable of HEVC decoding * Exynos WMA codec is software, and does not compile, continue to rely on FFMPEG for WMA support. Change-Id: I8ec607231f9efd6b4112843f2d43ee18897f27fc
-rw-r--r--BoardConfig.mk3
-rw-r--r--configs/media_codecs.xml51
-rw-r--r--i9500.mk5
3 files changed, 54 insertions, 5 deletions
diff --git a/BoardConfig.mk b/BoardConfig.mk
index 11765a5..f5523ce 100644
--- a/BoardConfig.mk
+++ b/BoardConfig.mk
@@ -101,6 +101,9 @@ COMMON_GLOBAL_CFLAGS += -DUSE_NATIVE_SEC_NV12TILED
NUM_FRAMEBUFFER_SURFACE_BUFFERS := 3
USE_OPENGL_RENDERER := true
+# Media
+BOARD_USE_ALP_AUDIO := true
+
# NFC
BOARD_NFC_HAL_SUFFIX := universal5410
diff --git a/configs/media_codecs.xml b/configs/media_codecs.xml
index 781d548..b3afcc1 100644
--- a/configs/media_codecs.xml
+++ b/configs/media_codecs.xml
@@ -79,7 +79,18 @@ Only the three quirks included above are recognized at this point:
<MediaCodecs>
<Decoders>
- <MediaCodec name="OMX.Exynos.MPEG4.Decoder" type="video/mp4v-es" >
+ <!-- Video -->
+ <MediaCodec name="OMX.Exynos.AVC.Decoder" type="video/avc" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <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-80000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.AVC.Decoder.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
@@ -88,6 +99,7 @@ Only the three quirks included above are recognized at this point:
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-80000000" />
<Feature name="adaptive-playback" />
+ <Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.H263.Decoder" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
@@ -99,7 +111,29 @@ Only the three quirks included above are recognized at this point:
<Limit name="bitrate" range="1-80000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
- <MediaCodec name="OMX.Exynos.AVC.Decoder" type="video/avc" >
+ <MediaCodec name="OMX.Exynos.MPEG2.Decoder" type="video/mpeg2" >
+ <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="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.MPEG4.Decoder" type="video/mp4v-es" >
+ <Quirk name="requires-allocate-on-input-ports" />
+ <Quirk name="requires-allocate-on-output-ports" />
+ <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-80000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.Exynos.VP8.Decoder" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="8192x8192" />
@@ -109,7 +143,7 @@ Only the three quirks included above are recognized at this point:
<Limit name="bitrate" range="1-80000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
- <MediaCodec name="OMX.Exynos.AVC.Decoder.secure" type="video/avc" >
+ <MediaCodec name="OMX.Exynos.WMV.Decoder" type="video/x-ms-wmv" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
@@ -118,11 +152,18 @@ Only the three quirks included above are recognized at this point:
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-80000000" />
<Feature name="adaptive-playback" />
- <Feature name="secure-playback" required="true" />
+ </MediaCodec>
+
+ <!-- Audio -->
+ <MediaCodec name="OMX.Exynos.MP3.Decoder" type="audio/mpeg" >
+ <Limit name="channel-count" max="2" />
+ <Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
+ <Limit name="bitrate" range="8000-960000" />
</MediaCodec>
</Decoders>
<Encoders>
+ <!-- Video -->
<MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
@@ -150,6 +191,8 @@ Only the three quirks included above are recognized at this point:
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-40000000" />
</MediaCodec>
+
+ <!-- Audio -->
</Encoders>
<Include href="media_codecs_google_audio.xml" />
diff --git a/i9500.mk b/i9500.mk
index cd64e61..9dd06ca 100644
--- a/i9500.mk
+++ b/i9500.mk
@@ -143,10 +143,13 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
libExynosOMX_Core \
libOMX.Exynos.AVC.Decoder \
+ libOMX.Exynos.AVC.Encoder \
+ libOMX.Exynos.MP3.Decoder \
libOMX.Exynos.MPEG2.Decoder \
libOMX.Exynos.MPEG4.Decoder \
- libOMX.Exynos.AVC.Encoder \
libOMX.Exynos.MPEG4.Encoder \
+ libOMX.Exynos.VP8.Decoder \
+ libOMX.Exynos.WMV.Decoder \
libstagefrighthw
# Radio