summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRachad <rachad@google.com>2014-05-19 23:00:29 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-19 23:00:29 +0000
commitc9550f2ce8fc7043256396a689fae01b121b0d5b (patch)
tree1b5da701bdd16ca729352c2b0505192537edc70f
parent6e9b18a60400b1db8404c612a54af9f417a35d19 (diff)
parentaca5de7ca13b0a92e64379913aee6c20e7e2e08e (diff)
downloadframeworks_base-c9550f2ce8fc7043256396a689fae01b121b0d5b.zip
frameworks_base-c9550f2ce8fc7043256396a689fae01b121b0d5b.tar.gz
frameworks_base-c9550f2ce8fc7043256396a689fae01b121b0d5b.tar.bz2
Merge "Add HEVC decoder support ot MediaCodec bug: 14571712"
-rw-r--r--api/current.txt28
-rw-r--r--media/java/android/media/MediaCodec.java1
-rw-r--r--media/java/android/media/MediaCodecInfo.java31
3 files changed, 60 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt
index eda087d..29ca03d 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -14065,6 +14065,34 @@ package android.media {
field public static final int H263ProfileISWV3 = 16; // 0x10
field public static final int H263ProfileInterlace = 128; // 0x80
field public static final int H263ProfileInternet = 64; // 0x40
+ field public static final int HEVCHighTierLevel1 = 2; // 0x2
+ field public static final int HEVCHighTierLevel2 = 8; // 0x8
+ field public static final int HEVCHighTierLevel21 = 32; // 0x20
+ field public static final int HEVCHighTierLevel3 = 128; // 0x80
+ field public static final int HEVCHighTierLevel31 = 512; // 0x200
+ field public static final int HEVCHighTierLevel4 = 2048; // 0x800
+ field public static final int HEVCHighTierLevel41 = 8192; // 0x2000
+ field public static final int HEVCHighTierLevel5 = 32768; // 0x8000
+ field public static final int HEVCHighTierLevel51 = 131072; // 0x20000
+ field public static final int HEVCHighTierLevel52 = 524288; // 0x80000
+ field public static final int HEVCHighTierLevel6 = 2097152; // 0x200000
+ field public static final int HEVCHighTierLevel61 = 8388608; // 0x800000
+ field public static final int HEVCHighTierLevel62 = 33554432; // 0x2000000
+ field public static final int HEVCMainTierLevel1 = 1; // 0x1
+ field public static final int HEVCMainTierLevel2 = 4; // 0x4
+ field public static final int HEVCMainTierLevel21 = 16; // 0x10
+ field public static final int HEVCMainTierLevel3 = 64; // 0x40
+ field public static final int HEVCMainTierLevel31 = 256; // 0x100
+ field public static final int HEVCMainTierLevel4 = 1024; // 0x400
+ field public static final int HEVCMainTierLevel41 = 4096; // 0x1000
+ field public static final int HEVCMainTierLevel5 = 16384; // 0x4000
+ field public static final int HEVCMainTierLevel51 = 65536; // 0x10000
+ field public static final int HEVCMainTierLevel52 = 262144; // 0x40000
+ field public static final int HEVCMainTierLevel6 = 1048576; // 0x100000
+ field public static final int HEVCMainTierLevel61 = 4194304; // 0x400000
+ field public static final int HEVCMainTierLevel62 = 16777216; // 0x1000000
+ field public static final int HEVCProfileMain = 1; // 0x1
+ field public static final int HEVCProfileMain10 = 2; // 0x2
field public static final int MPEG4Level0 = 1; // 0x1
field public static final int MPEG4Level0b = 2; // 0x2
field public static final int MPEG4Level1 = 4; // 0x4
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 34c5520..c7b3fc9 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -212,6 +212,7 @@ final public class MediaCodec {
* <li>"video/x-vnd.on2.vp8" - VP8 video (i.e. video in .webm)
* <li>"video/x-vnd.on2.vp9" - VP9 video (i.e. video in .webm)
* <li>"video/avc" - H.264/AVC video
+ * <li>"video/hevc" - H.265/HEVC video
* <li>"video/mp4v-es" - MPEG4 video
* <li>"video/3gpp" - H.263 video
* <li>"audio/3gpp" - AMR narrowband audio
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 90c12c6..b5d0a57 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -264,6 +264,37 @@ public final class MediaCodecInfo {
// from OMX_VIDEO_VP8PROFILETYPE
public static final int VP8ProfileMain = 0x01;
+ // from OMX_VIDEO_HEVCPROFILETYPE
+ public static final int HEVCProfileMain = 0x01;
+ public static final int HEVCProfileMain10 = 0x02;
+
+ // from OMX_VIDEO_HEVCLEVELTYPE
+ public static final int HEVCMainTierLevel1 = 0x1;
+ public static final int HEVCHighTierLevel1 = 0x2;
+ public static final int HEVCMainTierLevel2 = 0x4;
+ public static final int HEVCHighTierLevel2 = 0x8;
+ public static final int HEVCMainTierLevel21 = 0x10;
+ public static final int HEVCHighTierLevel21 = 0x20;
+ public static final int HEVCMainTierLevel3 = 0x40;
+ public static final int HEVCHighTierLevel3 = 0x80;
+ public static final int HEVCMainTierLevel31 = 0x100;
+ public static final int HEVCHighTierLevel31 = 0x200;
+ public static final int HEVCMainTierLevel4 = 0x400;
+ public static final int HEVCHighTierLevel4 = 0x800;
+ public static final int HEVCMainTierLevel41 = 0x1000;
+ public static final int HEVCHighTierLevel41 = 0x2000;
+ public static final int HEVCMainTierLevel5 = 0x4000;
+ public static final int HEVCHighTierLevel5 = 0x8000;
+ public static final int HEVCMainTierLevel51 = 0x10000;
+ public static final int HEVCHighTierLevel51 = 0x20000;
+ public static final int HEVCMainTierLevel52 = 0x40000;
+ public static final int HEVCHighTierLevel52 = 0x80000;
+ public static final int HEVCMainTierLevel6 = 0x100000;
+ public static final int HEVCHighTierLevel6 = 0x200000;
+ public static final int HEVCMainTierLevel61 = 0x400000;
+ public static final int HEVCHighTierLevel61 = 0x800000;
+ public static final int HEVCMainTierLevel62 = 0x1000000;
+ public static final int HEVCHighTierLevel62 = 0x2000000;
/**
* Defined in the OpenMAX IL specs, depending on the type of media