160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber/* 260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Copyright (C) 2012 The Android Open Source Project 360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * 460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Licensed under the Apache License, Version 2.0 (the "License"); 560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * you may not use this file except in compliance with the License. 660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * You may obtain a copy of the License at 760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * 860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * http://www.apache.org/licenses/LICENSE-2.0 960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * 1060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Unless required by applicable law or agreed to in writing, software 1160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * distributed under the License is distributed on an "AS IS" BASIS, 1260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * See the License for the specific language governing permissions and 1460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * limitations under the License. 1560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 1660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 1760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huberpackage android.media; 1860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 1960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huberpublic final class MediaCodecInfo { 2060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber private int mIndex; 2160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 2260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /* package private */ MediaCodecInfo(int index) { 2360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber mIndex = index; 2460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber } 2560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 2660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /** 2760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Retrieve the codec name. 2860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 2960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final String getName() { 3060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber return MediaCodecList.getCodecName(mIndex); 3160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber } 3260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 3360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /** 3460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Query if the codec is an encoder. 3560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 3660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final boolean isEncoder() { 3760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber return MediaCodecList.isEncoder(mIndex); 3860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber } 3960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 4060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /** 4160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Query the media types supported by the codec. 4260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 4360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final String[] getSupportedTypes() { 4460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber return MediaCodecList.getSupportedTypes(mIndex); 4560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber } 4660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 4760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final class CodecCapabilities { 4860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public CodecProfileLevel[] profileLevels; 4960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 5060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_COLOR_FORMATTYPE 5160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatMonochrome = 1; 5260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format8bitRGB332 = 2; 5360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format12bitRGB444 = 3; 5460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format16bitARGB4444 = 4; 5560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format16bitARGB1555 = 5; 5660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format16bitRGB565 = 6; 5760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format16bitBGR565 = 7; 5860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format18bitRGB666 = 8; 5960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format18bitARGB1665 = 9; 6060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format19bitARGB1666 = 10; 6160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format24bitRGB888 = 11; 6260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format24bitBGR888 = 12; 6360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format24bitARGB1887 = 13; 6460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format25bitARGB1888 = 14; 6560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format32bitBGRA8888 = 15; 6660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format32bitARGB8888 = 16; 6760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV411Planar = 17; 6860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV411PackedPlanar = 18; 6960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV420Planar = 19; 7060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV420PackedPlanar = 20; 7160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV420SemiPlanar = 21; 7260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV422Planar = 22; 7360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV422PackedPlanar = 23; 7460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV422SemiPlanar = 24; 7560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYCbYCr = 25; 7660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYCrYCb = 26; 7760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatCbYCrY = 27; 7860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatCrYCbY = 28; 7960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV444Interleaved = 29; 8060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatRawBayer8bit = 30; 8160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatRawBayer10bit = 31; 8260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatRawBayer8bitcompressed = 32; 8360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatL2 = 33; 8460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatL4 = 34; 8560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatL8 = 35; 8660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatL16 = 36; 8760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatL24 = 37; 8860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatL32 = 38; 8960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV420PackedSemiPlanar = 39; 9060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_FormatYUV422PackedSemiPlanar = 40; 9160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format18BitBGR666 = 41; 9260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format24BitARGB6666 = 42; 9360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_Format24BitABGR6666 = 43; 9460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 9560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100; 9660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final static int COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00; 9760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 9860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /** 9960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Defined in the OpenMAX IL specs, color format values are drawn from 10060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * OMX_COLOR_FORMATTYPE. 10160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 10260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public int[] colorFormats; 10360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber }; 10460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 10560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final class CodecProfileLevel { 10660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_VIDEO_AVCPROFILETYPE 10760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileBaseline = 0x01; 10860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileMain = 0x02; 10960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileExtended = 0x04; 11060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileHigh = 0x08; 11160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileHigh10 = 0x10; 11260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileHigh422 = 0x20; 11360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCProfileHigh444 = 0x40; 11460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 11560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_VIDEO_AVCLEVELTYPE 11660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel1 = 0x01; 11760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel1b = 0x02; 11860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel11 = 0x04; 11960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel12 = 0x08; 12060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel13 = 0x10; 12160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel2 = 0x20; 12260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel21 = 0x40; 12360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel22 = 0x80; 12460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel3 = 0x100; 12560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel31 = 0x200; 12660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel32 = 0x400; 12760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel4 = 0x800; 12860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel41 = 0x1000; 12960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel42 = 0x2000; 13060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel5 = 0x4000; 13160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AVCLevel51 = 0x8000; 13260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 13360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_VIDEO_H263PROFILETYPE 13460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileBaseline = 0x01; 13560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileH320Coding = 0x02; 13660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileBackwardCompatible = 0x04; 13760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileISWV2 = 0x08; 13860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileISWV3 = 0x10; 13960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileHighCompression = 0x20; 14060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileInternet = 0x40; 14160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileInterlace = 0x80; 14260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263ProfileHighLatency = 0x100; 14360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 14460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_VIDEO_H263LEVELTYPE 14560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level10 = 0x01; 14660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level20 = 0x02; 14760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level30 = 0x04; 14860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level40 = 0x08; 14960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level45 = 0x10; 15060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level50 = 0x20; 15160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level60 = 0x40; 15260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int H263Level70 = 0x80; 15360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 15460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_VIDEO_MPEG4PROFILETYPE 15560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileSimple = 0x01; 15660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileSimpleScalable = 0x02; 15760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileCore = 0x04; 15860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileMain = 0x08; 15960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileNbit = 0x10; 16060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileScalableTexture = 0x20; 16160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileSimpleFace = 0x40; 16260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileSimpleFBA = 0x80; 16360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileBasicAnimated = 0x100; 16460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileHybrid = 0x200; 16560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileAdvancedRealTime = 0x400; 16660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileCoreScalable = 0x800; 16760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileAdvancedCoding = 0x1000; 16860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileAdvancedCore = 0x2000; 16960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileAdvancedScalable = 0x4000; 17060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4ProfileAdvancedSimple = 0x8000; 17160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 17260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_VIDEO_MPEG4LEVELTYPE 17360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level0 = 0x01; 17460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level0b = 0x02; 17560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level1 = 0x04; 17660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level2 = 0x08; 17760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level3 = 0x10; 17860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level4 = 0x20; 17960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level4a = 0x40; 18060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int MPEG4Level5 = 0x80; 18160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 18260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber // from OMX_AUDIO_AACPROFILETYPE 18360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectMain = 1; 18460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectLC = 2; 18560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectSSR = 3; 18660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectLTP = 4; 18760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectHE = 5; 18860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectScalable = 6; 18960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectERLC = 17; 19060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectLD = 23; 19160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectHE_PS = 29; 19260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public static final int AACObjectELD = 39; 19360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 19460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /** 19560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Defined in the OpenMAX IL specs, depending on the type of media 19660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * this can be OMX_VIDEO_AVCPROFILETYPE, OMX_VIDEO_H263PROFILETYPE, 19760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * or OMX_VIDEO_MPEG4PROFILETYPE. 19860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 19960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public int profile; 20060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 20160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber /** 20260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * Defined in the OpenMAX IL specs, depending on the type of media 20360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * this can be OMX_VIDEO_AVCLEVELTYPE, OMX_VIDEO_H263LEVELTYPE 20460d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber * or OMX_VIDEO_MPEG4LEVELTYPE. 20560d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber */ 20660d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public int level; 20760d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber }; 20860d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber 20960d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber public final CodecCapabilities getCapabilitiesForType( 21060d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber String type) { 21160d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber return MediaCodecList.getCodecCapabilities(mIndex, type); 21260d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber } 21360d610bf103379277a4b29a7ead4f013f6128e4eAndreas Huber} 214