diff options
author | Michael Gernoth <michael@gernoth.net> | 2015-02-15 21:06:22 +0100 |
---|---|---|
committer | Ziyan <jaraidaniel@gmail.com> | 2015-04-11 20:26:31 +0200 |
commit | 7776296e2bdf894a7a6b84ced4fe2827071cf063 (patch) | |
tree | 7fa0d99eda6db403665e58b0fe34851be6678454 | |
parent | 710bbe49311caa47c537270be3ffbfa3c5305bc9 (diff) | |
download | device_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
-rw-r--r-- | media_codecs.xml | 97 |
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> |