summaryrefslogtreecommitdiffstats
path: root/media_codecs.xml
diff options
context:
space:
mode:
authorMichael Gernoth <michael@gernoth.net>2015-02-15 21:06:22 +0100
committerZiyan <jaraidaniel@gmail.com>2015-04-11 20:26:31 +0200
commit7776296e2bdf894a7a6b84ced4fe2827071cf063 (patch)
tree7fa0d99eda6db403665e58b0fe34851be6678454 /media_codecs.xml
parent710bbe49311caa47c537270be3ffbfa3c5305bc9 (diff)
downloaddevice_samsung_tuna-7776296e2bdf894a7a6b84ced4fe2827071cf063.zip
device_samsung_tuna-7776296e2bdf894a7a6b84ced4fe2827071cf063.tar.gz
device_samsung_tuna-7776296e2bdf894a7a6b84ced4fe2827071cf063.tar.bz2
media_codecs: fix Netflix
The current Netflix app tries very hard to find a codec which supports AdaptivePlayback. As our HW-codec doesn't support that, the Google H.264 software-codec gets used. But it is incapable of decoding the stream from Netflix, returning H264SWDEC_STRM_ERR. The hw-codec plays the stream just fine. This removes the declaration of adaptive-playback from the (broken) software-codec which causes Netflix to use hw-based decoding. Change-Id: I50b33f445a7db5bd7ad59d200277c193c68e3ba7
Diffstat (limited to 'media_codecs.xml')
-rw-r--r--media_codecs.xml97
1 files changed, 96 insertions, 1 deletions
diff --git a/media_codecs.xml b/media_codecs.xml
index 8e6acfd..7410d42 100644
--- a/media_codecs.xml
+++ b/media_codecs.xml
@@ -101,6 +101,101 @@ Only the three quirks included above are recognized at this point:
<Quirk name="requires-allocate-on-output-ports" />
</MediaCodec>
</Encoders>
- <Include href="media_codecs_google_video.xml" />
+ <!-- STARGO: Include google-codecs directly and remove adaptive-playback
+ from H.264 decoder to fix Netflix -->
+ <!--<Include href="media_codecs_google_video.xml" />-->
+ <Decoders>
+ <MediaCodec name="OMX.google.mpeg4.decoder">
+ <Type name="video/mp4v-es" />
+ <!--
+ Use Google mpeg4 decoder for mpeg4 DP content which is not
+ supported by HW. A component can be used to support several
+ mimetypes, so non-DP mpeg4 usecases will not be affected by this.
+ -->
+ <Type name="video/mp4v-esdp" />
+ <!-- profiles and levels: ProfileSimple : Level3 -->
+ <Limit name="size" min="2x2" max="352x288" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="12-11880" />
+ <Limit name="bitrate" range="1-384000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp">
+ <!-- profiles and levels: ProfileBaseline : Level30, ProfileBaseline : Level45
+ ProfileISWV2 : Level30, ProfileISWV2 : Level45 -->
+ <Limit name="size" min="2x2" max="352x288" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="bitrate" range="1-384000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.decoder" type="video/avc">
+ <!-- profiles and levels: ProfileBaseline : Level51 -->
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="1-983040" />
+ <Limit name="bitrate" range="1-40000000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc">
+ <!-- profiles and levels: ProfileMain : MainTierLevel51 -->
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="8x8" />
+ <Limit name="block-count" range="1-139264" />
+ <Limit name="blocks-per-second" range="1-2000000" />
+ <Limit name="bitrate" range="1-10000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8">
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="1-1000000" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9">
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="1-500000" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="adaptive-playback" />
+ </MediaCodec>
+ </Decoders>
+
+ <Encoders>
+ <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp">
+ <!-- profiles and levels: ProfileBaseline : Level45 -->
+ <Limit name="size" min="16x16" max="176x144" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="bitrate" range="1-128000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.h264.encoder" type="video/avc">
+ <!-- profiles and levels: ProfileBaseline : Level2 -->
+ <Limit name="size" min="16x16" max="896x896" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="1-11880" />
+ <Limit name="bitrate" range="1-2000000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es">
+ <!-- profiles and levels: ProfileCore : Level2 -->
+ <Limit name="size" min="16x16" max="176x144" />
+ <Limit name="alignment" value="16x16" />
+ <Limit name="block-size" value="16x16" />
+ <Limit name="blocks-per-second" range="12-1485" />
+ <Limit name="bitrate" range="1-64000" />
+ </MediaCodec>
+ <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8">
+ <!-- profiles and levels: ProfileMain : Level_Version0-3 -->
+ <Limit name="size" min="2x2" max="2048x2048" />
+ <Limit name="alignment" value="2x2" />
+ <Limit name="bitrate" range="1-40000000" />
+ <Feature name="bitrate-modes" value="VBR,CBR" />
+ </MediaCodec>
+ </Encoders>
+ <!-- STARGO: end Netflix hack -->
<Include href="media_codecs_ffmpeg.xml" />
</MediaCodecs>