Loading media/libstagefright/include/media/stagefright/MediaCodecConstants.h +383 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,21 @@ constexpr int32_t AVCProfileHigh444 = 0x40; constexpr int32_t AVCProfileConstrainedBaseline = 0x10000; constexpr int32_t AVCProfileConstrainedHigh = 0x80000; inline static const char *asString_AVCProfile(int32_t i, const char *def = "??") { switch (i) { case AVCProfileBaseline: return "Baseline"; case AVCProfileMain: return "Main"; case AVCProfileExtended: return "Extended"; case AVCProfileHigh: return "High"; case AVCProfileHigh10: return "High10"; case AVCProfileHigh422: return "High422"; case AVCProfileHigh444: return "High444"; case AVCProfileConstrainedBaseline: return "ConstrainedBaseline"; case AVCProfileConstrainedHigh: return "ConstrainedHigh"; default: return def; } } constexpr int32_t AVCLevel1 = 0x01; constexpr int32_t AVCLevel1b = 0x02; constexpr int32_t AVCLevel11 = 0x04; Loading @@ -48,6 +63,35 @@ constexpr int32_t AVCLevel42 = 0x2000; constexpr int32_t AVCLevel5 = 0x4000; constexpr int32_t AVCLevel51 = 0x8000; constexpr int32_t AVCLevel52 = 0x10000; constexpr int32_t AVCLevel6 = 0x20000; constexpr int32_t AVCLevel61 = 0x40000; constexpr int32_t AVCLevel62 = 0x80000; inline static const char *asString_AVCLevel(int32_t i, const char *def = "??") { switch (i) { case AVCLevel1: return "1"; case AVCLevel1b: return "1b"; case AVCLevel11: return "1.1"; case AVCLevel12: return "1.2"; case AVCLevel13: return "1.3"; case AVCLevel2: return "2"; case AVCLevel21: return "2.1"; case AVCLevel22: return "2.2"; case AVCLevel3: return "3"; case AVCLevel31: return "3.1"; case AVCLevel32: return "3.2"; case AVCLevel4: return "4"; case AVCLevel41: return "4.1"; case AVCLevel42: return "4.2"; case AVCLevel5: return "5"; case AVCLevel51: return "5.1"; case AVCLevel52: return "5.2"; case AVCLevel6: return "6"; case AVCLevel61: return "6.1"; case AVCLevel62: return "6.2"; default: return def; } } constexpr int32_t H263ProfileBaseline = 0x01; constexpr int32_t H263ProfileH320Coding = 0x02; Loading @@ -59,6 +103,21 @@ constexpr int32_t H263ProfileInternet = 0x40; constexpr int32_t H263ProfileInterlace = 0x80; constexpr int32_t H263ProfileHighLatency = 0x100; inline static const char *asString_H263Profile(int32_t i, const char *def = "??") { switch (i) { case H263ProfileBaseline: return "Baseline"; case H263ProfileH320Coding: return "H320Coding"; case H263ProfileBackwardCompatible: return "BackwardCompatible"; case H263ProfileISWV2: return "ISWV2"; case H263ProfileISWV3: return "ISWV3"; case H263ProfileHighCompression: return "HighCompression"; case H263ProfileInternet: return "Internet"; case H263ProfileInterlace: return "Interlace"; case H263ProfileHighLatency: return "HighLatency"; default: return def; } } constexpr int32_t H263Level10 = 0x01; constexpr int32_t H263Level20 = 0x02; constexpr int32_t H263Level30 = 0x04; Loading @@ -68,6 +127,20 @@ constexpr int32_t H263Level50 = 0x20; constexpr int32_t H263Level60 = 0x40; constexpr int32_t H263Level70 = 0x80; inline static const char *asString_H263Level(int32_t i, const char *def = "??") { switch (i) { case H263Level10: return "10"; case H263Level20: return "20"; case H263Level30: return "30"; case H263Level40: return "40"; case H263Level45: return "45"; case H263Level50: return "50"; case H263Level60: return "60"; case H263Level70: return "70"; default: return def; } } constexpr int32_t MPEG4ProfileSimple = 0x01; constexpr int32_t MPEG4ProfileSimpleScalable = 0x02; constexpr int32_t MPEG4ProfileCore = 0x04; Loading @@ -85,6 +158,28 @@ constexpr int32_t MPEG4ProfileAdvancedCore = 0x2000; constexpr int32_t MPEG4ProfileAdvancedScalable = 0x4000; constexpr int32_t MPEG4ProfileAdvancedSimple = 0x8000; inline static const char *asString_MPEG4Profile(int32_t i, const char *def = "??") { switch (i) { case MPEG4ProfileSimple: return "Simple"; case MPEG4ProfileSimpleScalable: return "SimpleScalable"; case MPEG4ProfileCore: return "Core"; case MPEG4ProfileMain: return "Main"; case MPEG4ProfileNbit: return "Nbit"; case MPEG4ProfileScalableTexture: return "ScalableTexture"; case MPEG4ProfileSimpleFace: return "SimpleFace"; case MPEG4ProfileSimpleFBA: return "SimpleFBA"; case MPEG4ProfileBasicAnimated: return "BasicAnimated"; case MPEG4ProfileHybrid: return "Hybrid"; case MPEG4ProfileAdvancedRealTime: return "AdvancedRealTime"; case MPEG4ProfileCoreScalable: return "CoreScalable"; case MPEG4ProfileAdvancedCoding: return "AdvancedCoding"; case MPEG4ProfileAdvancedCore: return "AdvancedCore"; case MPEG4ProfileAdvancedScalable: return "AdvancedScalable"; case MPEG4ProfileAdvancedSimple: return "AdvancedSimple"; default: return def; } } constexpr int32_t MPEG4Level0 = 0x01; constexpr int32_t MPEG4Level0b = 0x02; constexpr int32_t MPEG4Level1 = 0x04; Loading @@ -96,6 +191,22 @@ constexpr int32_t MPEG4Level4a = 0x40; constexpr int32_t MPEG4Level5 = 0x80; constexpr int32_t MPEG4Level6 = 0x100; inline static const char *asString_MPEG4Level(int32_t i, const char *def = "??") { switch (i) { case MPEG4Level0: return "0"; case MPEG4Level0b: return "0b"; case MPEG4Level1: return "1"; case MPEG4Level2: return "2"; case MPEG4Level3: return "3"; case MPEG4Level3b: return "3b"; case MPEG4Level4: return "4"; case MPEG4Level4a: return "4a"; case MPEG4Level5: return "5"; case MPEG4Level6: return "6"; default: return def; } } constexpr int32_t MPEG2ProfileSimple = 0x00; constexpr int32_t MPEG2ProfileMain = 0x01; constexpr int32_t MPEG2Profile422 = 0x02; Loading @@ -103,12 +214,35 @@ constexpr int32_t MPEG2ProfileSNR = 0x03; constexpr int32_t MPEG2ProfileSpatial = 0x04; constexpr int32_t MPEG2ProfileHigh = 0x05; inline static const char *asString_MPEG2Profile(int32_t i, const char *def = "??") { switch (i) { case MPEG2ProfileSimple: return "Simple"; case MPEG2ProfileMain: return "Main"; case MPEG2Profile422: return "422"; case MPEG2ProfileSNR: return "SNR"; case MPEG2ProfileSpatial: return "Spatial"; case MPEG2ProfileHigh: return "High"; default: return def; } } constexpr int32_t MPEG2LevelLL = 0x00; constexpr int32_t MPEG2LevelML = 0x01; constexpr int32_t MPEG2LevelH14 = 0x02; constexpr int32_t MPEG2LevelHL = 0x03; constexpr int32_t MPEG2LevelHP = 0x04; inline static const char *asString_MPEG2Level(int32_t i, const char *def = "??") { switch (i) { case MPEG2LevelLL: return "LL"; case MPEG2LevelML: return "ML"; case MPEG2LevelH14: return "H14"; case MPEG2LevelHL: return "HL"; case MPEG2LevelHP: return "HP"; default: return def; } } constexpr int32_t AACObjectMain = 1; constexpr int32_t AACObjectLC = 2; constexpr int32_t AACObjectSSR = 3; Loading @@ -122,13 +256,48 @@ constexpr int32_t AACObjectHE_PS = 29; constexpr int32_t AACObjectELD = 39; constexpr int32_t AACObjectXHE = 42; inline static const char *asString_AACObject(int32_t i, const char *def = "??") { switch (i) { case AACObjectMain: return "Main"; case AACObjectLC: return "LC"; case AACObjectSSR: return "SSR"; case AACObjectLTP: return "LTP"; case AACObjectHE: return "HE"; case AACObjectScalable: return "Scalable"; case AACObjectERLC: return "ERLC"; case AACObjectERScalable: return "ERScalable"; case AACObjectLD: return "LD"; case AACObjectHE_PS: return "HE_PS"; case AACObjectELD: return "ELD"; case AACObjectXHE: return "XHE"; default: return def; } } constexpr int32_t VP8Level_Version0 = 0x01; constexpr int32_t VP8Level_Version1 = 0x02; constexpr int32_t VP8Level_Version2 = 0x04; constexpr int32_t VP8Level_Version3 = 0x08; inline static const char *asString_VP8Level(int32_t i, const char *def = "??") { switch (i) { case VP8Level_Version0: return "V0"; case VP8Level_Version1: return "V1"; case VP8Level_Version2: return "V2"; case VP8Level_Version3: return "V3"; default: return def; } } constexpr int32_t VP8ProfileMain = 0x01; inline static const char *asString_VP8Profile(int32_t i, const char *def = "??") { switch (i) { case VP8ProfileMain: return "Main"; default: return def; } } constexpr int32_t VP9Profile0 = 0x01; constexpr int32_t VP9Profile1 = 0x02; constexpr int32_t VP9Profile2 = 0x04; Loading @@ -138,6 +307,20 @@ constexpr int32_t VP9Profile3HDR = 0x2000; constexpr int32_t VP9Profile2HDR10Plus = 0x4000; constexpr int32_t VP9Profile3HDR10Plus = 0x8000; inline static const char *asString_VP9Profile(int32_t i, const char *def = "??") { switch (i) { case VP9Profile0: return "0"; case VP9Profile1: return "1"; case VP9Profile2: return "2"; case VP9Profile3: return "3"; case VP9Profile2HDR: return "2HDR"; case VP9Profile3HDR: return "3HDR"; case VP9Profile2HDR10Plus: return "2HDRPlus"; case VP9Profile3HDR10Plus: return "3HDRPlus"; default: return def; } } constexpr int32_t VP9Level1 = 0x1; constexpr int32_t VP9Level11 = 0x2; constexpr int32_t VP9Level2 = 0x4; Loading @@ -153,10 +336,39 @@ constexpr int32_t VP9Level6 = 0x800; constexpr int32_t VP9Level61 = 0x1000; constexpr int32_t VP9Level62 = 0x2000; inline static const char *asString_VP9Level(int32_t i, const char *def = "??") { switch (i) { case VP9Level1: return "1"; case VP9Level11: return "1.1"; case VP9Level2: return "2"; case VP9Level21: return "2.1"; case VP9Level3: return "3"; case VP9Level31: return "3.1"; case VP9Level4: return "4"; case VP9Level41: return "4.1"; case VP9Level5: return "5"; case VP9Level51: return "5.1"; case VP9Level52: return "5.2"; case VP9Level6: return "6"; case VP9Level61: return "6.1"; case VP9Level62: return "6.2"; default: return def; } } constexpr int32_t AV1Profile0 = 0x01; constexpr int32_t AV1Profile1 = 0x02; constexpr int32_t AV1Profile2 = 0x04; inline static const char *asString_AV1Profile(int32_t i, const char *def = "??") { switch (i) { case AV1Profile0: return "0"; case AV1Profile1: return "1"; case AV1Profile2: return "2"; default: return def; } } constexpr int32_t AV1Level2 = 0x1; constexpr int32_t AV1Level21 = 0x2; constexpr int32_t AV1Level22 = 0x4; Loading @@ -182,12 +394,53 @@ constexpr int32_t AV1Level71 = 0x200000; constexpr int32_t AV1Level72 = 0x400000; constexpr int32_t AV1Level73 = 0x800000; inline static const char *asString_AV1Level(int32_t i, const char *def = "??") { switch (i) { case AV1Level2: return "2"; case AV1Level21: return "2.1"; case AV1Level22: return "2.2"; case AV1Level23: return "2.3"; case AV1Level3: return "3"; case AV1Level31: return "3.1"; case AV1Level32: return "3.2"; case AV1Level33: return "3.3"; case AV1Level4: return "4"; case AV1Level41: return "4.1"; case AV1Level42: return "4.2"; case AV1Level43: return "4.3"; case AV1Level5: return "5"; case AV1Level51: return "5.1"; case AV1Level52: return "5.2"; case AV1Level53: return "5.3"; case AV1Level6: return "6"; case AV1Level61: return "6.1"; case AV1Level62: return "6.2"; case AV1Level63: return "6.3"; case AV1Level7: return "7"; case AV1Level71: return "7.1"; case AV1Level72: return "7.2"; case AV1Level73: return "7.3"; default: return def; } } constexpr int32_t HEVCProfileMain = 0x01; constexpr int32_t HEVCProfileMain10 = 0x02; constexpr int32_t HEVCProfileMainStill = 0x04; constexpr int32_t HEVCProfileMain10HDR10 = 0x1000; constexpr int32_t HEVCProfileMain10HDR10Plus = 0x2000; inline static const char *asString_HEVCProfile(int32_t i, const char *def = "??") { switch (i) { case HEVCProfileMain: return "Main"; case HEVCProfileMain10: return "Main10"; case HEVCProfileMainStill: return "MainStill"; case HEVCProfileMain10HDR10: return "Main10HDR10"; case HEVCProfileMain10HDR10Plus: return "Main10HDR10Plus"; default: return def; } } constexpr int32_t HEVCMainTierLevel1 = 0x1; constexpr int32_t HEVCHighTierLevel1 = 0x2; constexpr int32_t HEVCMainTierLevel2 = 0x4; Loading Loading @@ -215,6 +468,38 @@ constexpr int32_t HEVCHighTierLevel61 = 0x800000; constexpr int32_t HEVCMainTierLevel62 = 0x1000000; constexpr int32_t HEVCHighTierLevel62 = 0x2000000; inline static const char *asString_HEVCTierLevel(int32_t i, const char *def = "??") { switch (i) { case HEVCMainTierLevel1: return "Main 1"; case HEVCHighTierLevel1: return "High 1"; case HEVCMainTierLevel2: return "Main 2"; case HEVCHighTierLevel2: return "High 2"; case HEVCMainTierLevel21: return "Main 2.1"; case HEVCHighTierLevel21: return "High 2.1"; case HEVCMainTierLevel3: return "Main 3"; case HEVCHighTierLevel3: return "High 3"; case HEVCMainTierLevel31: return "Main 3.1"; case HEVCHighTierLevel31: return "High 3.1"; case HEVCMainTierLevel4: return "Main 4"; case HEVCHighTierLevel4: return "High 4"; case HEVCMainTierLevel41: return "Main 4.1"; case HEVCHighTierLevel41: return "High 4.1"; case HEVCMainTierLevel5: return "Main 5"; case HEVCHighTierLevel5: return "High 5"; case HEVCMainTierLevel51: return "Main 5.1"; case HEVCHighTierLevel51: return "High 5.1"; case HEVCMainTierLevel52: return "Main 5.2"; case HEVCHighTierLevel52: return "High 5.2"; case HEVCMainTierLevel6: return "Main 6"; case HEVCHighTierLevel6: return "High 6"; case HEVCMainTierLevel61: return "Main 6.1"; case HEVCHighTierLevel61: return "High 6.1"; case HEVCMainTierLevel62: return "Main 6.2"; case HEVCHighTierLevel62: return "High 6.2"; default: return def; } } constexpr int32_t DolbyVisionProfileDvavPer = 0x1; constexpr int32_t DolbyVisionProfileDvavPen = 0x2; constexpr int32_t DolbyVisionProfileDvheDer = 0x4; Loading @@ -226,6 +511,22 @@ constexpr int32_t DolbyVisionProfileDvheDtb = 0x80; constexpr int32_t DolbyVisionProfileDvheSt = 0x100; constexpr int32_t DolbyVisionProfileDvavSe = 0x200; inline static const char *asString_DolbyVisionProfile(int32_t i, const char *def = "??") { switch (i) { case DolbyVisionProfileDvavPer: return "DvavPer"; case DolbyVisionProfileDvavPen: return "DvavPen"; case DolbyVisionProfileDvheDer: return "DvheDer"; case DolbyVisionProfileDvheDen: return "DvheDen"; case DolbyVisionProfileDvheDtr: return "DvheDtr"; case DolbyVisionProfileDvheStn: return "DvheStn"; case DolbyVisionProfileDvheDth: return "DvheDth"; case DolbyVisionProfileDvheDtb: return "DvheDtb"; case DolbyVisionProfileDvheSt: return "DvheSt"; case DolbyVisionProfileDvavSe: return "DvavSe"; default: return def; } } constexpr int32_t DolbyVisionLevelHd24 = 0x1; constexpr int32_t DolbyVisionLevelHd30 = 0x2; constexpr int32_t DolbyVisionLevelFhd24 = 0x4; Loading @@ -236,10 +537,34 @@ constexpr int32_t DolbyVisionLevelUhd30 = 0x40; constexpr int32_t DolbyVisionLevelUhd48 = 0x80; constexpr int32_t DolbyVisionLevelUhd60 = 0x100; inline static const char *asString_DolbyVisionLevel(int32_t i, const char *def = "??") { switch (i) { case DolbyVisionLevelHd24: return "Hd24"; case DolbyVisionLevelHd30: return "Hd30"; case DolbyVisionLevelFhd24: return "Fhd24"; case DolbyVisionLevelFhd30: return "Fhd30"; case DolbyVisionLevelFhd60: return "Fhd60"; case DolbyVisionLevelUhd24: return "Uhd24"; case DolbyVisionLevelUhd30: return "Uhd30"; case DolbyVisionLevelUhd48: return "Uhd48"; case DolbyVisionLevelUhd60: return "Uhd60"; default: return def; } } constexpr int32_t BITRATE_MODE_CBR = 2; constexpr int32_t BITRATE_MODE_CQ = 0; constexpr int32_t BITRATE_MODE_VBR = 1; inline static const char *asString_BitrateMode(int32_t i, const char *def = "??") { switch (i) { case BITRATE_MODE_CBR: return "CBR"; case BITRATE_MODE_CQ: return "CQ"; case BITRATE_MODE_VBR: return "VBR"; default: return def; } } constexpr int32_t COLOR_Format12bitRGB444 = 3; constexpr int32_t COLOR_Format16bitARGB1555 = 5; constexpr int32_t COLOR_Format16bitARGB4444 = 4; Loading Loading @@ -293,6 +618,64 @@ constexpr int32_t COLOR_FormatYUV444Interleaved = 29; constexpr int32_t COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00; constexpr int32_t COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100; inline static const char *asString_ColorFormat(int32_t i, const char *def = "??") { switch (i) { case COLOR_Format12bitRGB444: return "12bitRGB444"; case COLOR_Format16bitARGB1555: return "16bitARGB1555"; case COLOR_Format16bitARGB4444: return "16bitARGB4444"; case COLOR_Format16bitBGR565: return "16bitBGR565"; case COLOR_Format16bitRGB565: return "16bitRGB565"; case COLOR_Format18bitARGB1665: return "18bitARGB1665"; case COLOR_Format18BitBGR666: return "18BitBGR666"; case COLOR_Format18bitRGB666: return "18bitRGB666"; case COLOR_Format19bitARGB1666: return "19bitARGB1666"; case COLOR_Format24BitABGR6666: return "24BitABGR6666"; case COLOR_Format24bitARGB1887: return "24bitARGB1887"; case COLOR_Format24BitARGB6666: return "24BitARGB6666"; case COLOR_Format24bitBGR888: return "24bitBGR888"; case COLOR_Format24bitRGB888: return "24bitRGB888"; case COLOR_Format25bitARGB1888: return "25bitARGB1888"; case COLOR_Format32bitABGR8888: return "32bitABGR8888"; case COLOR_Format32bitARGB8888: return "32bitARGB8888"; case COLOR_Format32bitBGRA8888: return "32bitBGRA8888"; case COLOR_Format8bitRGB332: return "8bitRGB332"; case COLOR_FormatCbYCrY: return "CbYCrY"; case COLOR_FormatCrYCbY: return "CrYCbY"; case COLOR_FormatL16: return "L16"; case COLOR_FormatL2: return "L2"; case COLOR_FormatL24: return "L24"; case COLOR_FormatL32: return "L32"; case COLOR_FormatL4: return "L4"; case COLOR_FormatL8: return "L8"; case COLOR_FormatMonochrome: return "Monochrome"; case COLOR_FormatRawBayer10bit: return "RawBayer10bit"; case COLOR_FormatRawBayer8bit: return "RawBayer8bit"; case COLOR_FormatRawBayer8bitcompressed: return "RawBayer8bitcompressed"; case COLOR_FormatRGBAFlexible: return "RGBAFlexible"; case COLOR_FormatRGBFlexible: return "RGBFlexible"; case COLOR_FormatSurface: return "Surface"; case COLOR_FormatYCbYCr: return "YCbYCr"; case COLOR_FormatYCrYCb: return "YCrYCb"; case COLOR_FormatYUV411PackedPlanar: return "YUV411PackedPlanar"; case COLOR_FormatYUV411Planar: return "YUV411Planar"; case COLOR_FormatYUV420Flexible: return "YUV420Flexible"; case COLOR_FormatYUV420PackedPlanar: return "YUV420PackedPlanar"; case COLOR_FormatYUV420PackedSemiPlanar: return "YUV420PackedSemiPlanar"; case COLOR_FormatYUV420Planar: return "YUV420Planar"; case COLOR_FormatYUV420SemiPlanar: return "YUV420SemiPlanar"; case COLOR_FormatYUV422Flexible: return "YUV422Flexible"; case COLOR_FormatYUV422PackedPlanar: return "YUV422PackedPlanar"; case COLOR_FormatYUV422PackedSemiPlanar: return "YUV422PackedSemiPlanar"; case COLOR_FormatYUV422Planar: return "YUV422Planar"; case COLOR_FormatYUV422SemiPlanar: return "YUV422SemiPlanar"; case COLOR_FormatYUV444Flexible: return "YUV444Flexible"; case COLOR_FormatYUV444Interleaved: return "YUV444Interleaved"; case COLOR_QCOM_FormatYUV420SemiPlanar: return "QCOM_YUV420SemiPlanar"; case COLOR_TI_FormatYUV420PackedSemiPlanar: return "TI_YUV420PackedSemiPlanar"; default: return def; } } constexpr char FEATURE_AdaptivePlayback[] = "adaptive-playback"; constexpr char FEATURE_IntraRefresh[] = "intra-refresh"; constexpr char FEATURE_PartialFrame[] = "partial-frame"; Loading Loading
media/libstagefright/include/media/stagefright/MediaCodecConstants.h +383 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,21 @@ constexpr int32_t AVCProfileHigh444 = 0x40; constexpr int32_t AVCProfileConstrainedBaseline = 0x10000; constexpr int32_t AVCProfileConstrainedHigh = 0x80000; inline static const char *asString_AVCProfile(int32_t i, const char *def = "??") { switch (i) { case AVCProfileBaseline: return "Baseline"; case AVCProfileMain: return "Main"; case AVCProfileExtended: return "Extended"; case AVCProfileHigh: return "High"; case AVCProfileHigh10: return "High10"; case AVCProfileHigh422: return "High422"; case AVCProfileHigh444: return "High444"; case AVCProfileConstrainedBaseline: return "ConstrainedBaseline"; case AVCProfileConstrainedHigh: return "ConstrainedHigh"; default: return def; } } constexpr int32_t AVCLevel1 = 0x01; constexpr int32_t AVCLevel1b = 0x02; constexpr int32_t AVCLevel11 = 0x04; Loading @@ -48,6 +63,35 @@ constexpr int32_t AVCLevel42 = 0x2000; constexpr int32_t AVCLevel5 = 0x4000; constexpr int32_t AVCLevel51 = 0x8000; constexpr int32_t AVCLevel52 = 0x10000; constexpr int32_t AVCLevel6 = 0x20000; constexpr int32_t AVCLevel61 = 0x40000; constexpr int32_t AVCLevel62 = 0x80000; inline static const char *asString_AVCLevel(int32_t i, const char *def = "??") { switch (i) { case AVCLevel1: return "1"; case AVCLevel1b: return "1b"; case AVCLevel11: return "1.1"; case AVCLevel12: return "1.2"; case AVCLevel13: return "1.3"; case AVCLevel2: return "2"; case AVCLevel21: return "2.1"; case AVCLevel22: return "2.2"; case AVCLevel3: return "3"; case AVCLevel31: return "3.1"; case AVCLevel32: return "3.2"; case AVCLevel4: return "4"; case AVCLevel41: return "4.1"; case AVCLevel42: return "4.2"; case AVCLevel5: return "5"; case AVCLevel51: return "5.1"; case AVCLevel52: return "5.2"; case AVCLevel6: return "6"; case AVCLevel61: return "6.1"; case AVCLevel62: return "6.2"; default: return def; } } constexpr int32_t H263ProfileBaseline = 0x01; constexpr int32_t H263ProfileH320Coding = 0x02; Loading @@ -59,6 +103,21 @@ constexpr int32_t H263ProfileInternet = 0x40; constexpr int32_t H263ProfileInterlace = 0x80; constexpr int32_t H263ProfileHighLatency = 0x100; inline static const char *asString_H263Profile(int32_t i, const char *def = "??") { switch (i) { case H263ProfileBaseline: return "Baseline"; case H263ProfileH320Coding: return "H320Coding"; case H263ProfileBackwardCompatible: return "BackwardCompatible"; case H263ProfileISWV2: return "ISWV2"; case H263ProfileISWV3: return "ISWV3"; case H263ProfileHighCompression: return "HighCompression"; case H263ProfileInternet: return "Internet"; case H263ProfileInterlace: return "Interlace"; case H263ProfileHighLatency: return "HighLatency"; default: return def; } } constexpr int32_t H263Level10 = 0x01; constexpr int32_t H263Level20 = 0x02; constexpr int32_t H263Level30 = 0x04; Loading @@ -68,6 +127,20 @@ constexpr int32_t H263Level50 = 0x20; constexpr int32_t H263Level60 = 0x40; constexpr int32_t H263Level70 = 0x80; inline static const char *asString_H263Level(int32_t i, const char *def = "??") { switch (i) { case H263Level10: return "10"; case H263Level20: return "20"; case H263Level30: return "30"; case H263Level40: return "40"; case H263Level45: return "45"; case H263Level50: return "50"; case H263Level60: return "60"; case H263Level70: return "70"; default: return def; } } constexpr int32_t MPEG4ProfileSimple = 0x01; constexpr int32_t MPEG4ProfileSimpleScalable = 0x02; constexpr int32_t MPEG4ProfileCore = 0x04; Loading @@ -85,6 +158,28 @@ constexpr int32_t MPEG4ProfileAdvancedCore = 0x2000; constexpr int32_t MPEG4ProfileAdvancedScalable = 0x4000; constexpr int32_t MPEG4ProfileAdvancedSimple = 0x8000; inline static const char *asString_MPEG4Profile(int32_t i, const char *def = "??") { switch (i) { case MPEG4ProfileSimple: return "Simple"; case MPEG4ProfileSimpleScalable: return "SimpleScalable"; case MPEG4ProfileCore: return "Core"; case MPEG4ProfileMain: return "Main"; case MPEG4ProfileNbit: return "Nbit"; case MPEG4ProfileScalableTexture: return "ScalableTexture"; case MPEG4ProfileSimpleFace: return "SimpleFace"; case MPEG4ProfileSimpleFBA: return "SimpleFBA"; case MPEG4ProfileBasicAnimated: return "BasicAnimated"; case MPEG4ProfileHybrid: return "Hybrid"; case MPEG4ProfileAdvancedRealTime: return "AdvancedRealTime"; case MPEG4ProfileCoreScalable: return "CoreScalable"; case MPEG4ProfileAdvancedCoding: return "AdvancedCoding"; case MPEG4ProfileAdvancedCore: return "AdvancedCore"; case MPEG4ProfileAdvancedScalable: return "AdvancedScalable"; case MPEG4ProfileAdvancedSimple: return "AdvancedSimple"; default: return def; } } constexpr int32_t MPEG4Level0 = 0x01; constexpr int32_t MPEG4Level0b = 0x02; constexpr int32_t MPEG4Level1 = 0x04; Loading @@ -96,6 +191,22 @@ constexpr int32_t MPEG4Level4a = 0x40; constexpr int32_t MPEG4Level5 = 0x80; constexpr int32_t MPEG4Level6 = 0x100; inline static const char *asString_MPEG4Level(int32_t i, const char *def = "??") { switch (i) { case MPEG4Level0: return "0"; case MPEG4Level0b: return "0b"; case MPEG4Level1: return "1"; case MPEG4Level2: return "2"; case MPEG4Level3: return "3"; case MPEG4Level3b: return "3b"; case MPEG4Level4: return "4"; case MPEG4Level4a: return "4a"; case MPEG4Level5: return "5"; case MPEG4Level6: return "6"; default: return def; } } constexpr int32_t MPEG2ProfileSimple = 0x00; constexpr int32_t MPEG2ProfileMain = 0x01; constexpr int32_t MPEG2Profile422 = 0x02; Loading @@ -103,12 +214,35 @@ constexpr int32_t MPEG2ProfileSNR = 0x03; constexpr int32_t MPEG2ProfileSpatial = 0x04; constexpr int32_t MPEG2ProfileHigh = 0x05; inline static const char *asString_MPEG2Profile(int32_t i, const char *def = "??") { switch (i) { case MPEG2ProfileSimple: return "Simple"; case MPEG2ProfileMain: return "Main"; case MPEG2Profile422: return "422"; case MPEG2ProfileSNR: return "SNR"; case MPEG2ProfileSpatial: return "Spatial"; case MPEG2ProfileHigh: return "High"; default: return def; } } constexpr int32_t MPEG2LevelLL = 0x00; constexpr int32_t MPEG2LevelML = 0x01; constexpr int32_t MPEG2LevelH14 = 0x02; constexpr int32_t MPEG2LevelHL = 0x03; constexpr int32_t MPEG2LevelHP = 0x04; inline static const char *asString_MPEG2Level(int32_t i, const char *def = "??") { switch (i) { case MPEG2LevelLL: return "LL"; case MPEG2LevelML: return "ML"; case MPEG2LevelH14: return "H14"; case MPEG2LevelHL: return "HL"; case MPEG2LevelHP: return "HP"; default: return def; } } constexpr int32_t AACObjectMain = 1; constexpr int32_t AACObjectLC = 2; constexpr int32_t AACObjectSSR = 3; Loading @@ -122,13 +256,48 @@ constexpr int32_t AACObjectHE_PS = 29; constexpr int32_t AACObjectELD = 39; constexpr int32_t AACObjectXHE = 42; inline static const char *asString_AACObject(int32_t i, const char *def = "??") { switch (i) { case AACObjectMain: return "Main"; case AACObjectLC: return "LC"; case AACObjectSSR: return "SSR"; case AACObjectLTP: return "LTP"; case AACObjectHE: return "HE"; case AACObjectScalable: return "Scalable"; case AACObjectERLC: return "ERLC"; case AACObjectERScalable: return "ERScalable"; case AACObjectLD: return "LD"; case AACObjectHE_PS: return "HE_PS"; case AACObjectELD: return "ELD"; case AACObjectXHE: return "XHE"; default: return def; } } constexpr int32_t VP8Level_Version0 = 0x01; constexpr int32_t VP8Level_Version1 = 0x02; constexpr int32_t VP8Level_Version2 = 0x04; constexpr int32_t VP8Level_Version3 = 0x08; inline static const char *asString_VP8Level(int32_t i, const char *def = "??") { switch (i) { case VP8Level_Version0: return "V0"; case VP8Level_Version1: return "V1"; case VP8Level_Version2: return "V2"; case VP8Level_Version3: return "V3"; default: return def; } } constexpr int32_t VP8ProfileMain = 0x01; inline static const char *asString_VP8Profile(int32_t i, const char *def = "??") { switch (i) { case VP8ProfileMain: return "Main"; default: return def; } } constexpr int32_t VP9Profile0 = 0x01; constexpr int32_t VP9Profile1 = 0x02; constexpr int32_t VP9Profile2 = 0x04; Loading @@ -138,6 +307,20 @@ constexpr int32_t VP9Profile3HDR = 0x2000; constexpr int32_t VP9Profile2HDR10Plus = 0x4000; constexpr int32_t VP9Profile3HDR10Plus = 0x8000; inline static const char *asString_VP9Profile(int32_t i, const char *def = "??") { switch (i) { case VP9Profile0: return "0"; case VP9Profile1: return "1"; case VP9Profile2: return "2"; case VP9Profile3: return "3"; case VP9Profile2HDR: return "2HDR"; case VP9Profile3HDR: return "3HDR"; case VP9Profile2HDR10Plus: return "2HDRPlus"; case VP9Profile3HDR10Plus: return "3HDRPlus"; default: return def; } } constexpr int32_t VP9Level1 = 0x1; constexpr int32_t VP9Level11 = 0x2; constexpr int32_t VP9Level2 = 0x4; Loading @@ -153,10 +336,39 @@ constexpr int32_t VP9Level6 = 0x800; constexpr int32_t VP9Level61 = 0x1000; constexpr int32_t VP9Level62 = 0x2000; inline static const char *asString_VP9Level(int32_t i, const char *def = "??") { switch (i) { case VP9Level1: return "1"; case VP9Level11: return "1.1"; case VP9Level2: return "2"; case VP9Level21: return "2.1"; case VP9Level3: return "3"; case VP9Level31: return "3.1"; case VP9Level4: return "4"; case VP9Level41: return "4.1"; case VP9Level5: return "5"; case VP9Level51: return "5.1"; case VP9Level52: return "5.2"; case VP9Level6: return "6"; case VP9Level61: return "6.1"; case VP9Level62: return "6.2"; default: return def; } } constexpr int32_t AV1Profile0 = 0x01; constexpr int32_t AV1Profile1 = 0x02; constexpr int32_t AV1Profile2 = 0x04; inline static const char *asString_AV1Profile(int32_t i, const char *def = "??") { switch (i) { case AV1Profile0: return "0"; case AV1Profile1: return "1"; case AV1Profile2: return "2"; default: return def; } } constexpr int32_t AV1Level2 = 0x1; constexpr int32_t AV1Level21 = 0x2; constexpr int32_t AV1Level22 = 0x4; Loading @@ -182,12 +394,53 @@ constexpr int32_t AV1Level71 = 0x200000; constexpr int32_t AV1Level72 = 0x400000; constexpr int32_t AV1Level73 = 0x800000; inline static const char *asString_AV1Level(int32_t i, const char *def = "??") { switch (i) { case AV1Level2: return "2"; case AV1Level21: return "2.1"; case AV1Level22: return "2.2"; case AV1Level23: return "2.3"; case AV1Level3: return "3"; case AV1Level31: return "3.1"; case AV1Level32: return "3.2"; case AV1Level33: return "3.3"; case AV1Level4: return "4"; case AV1Level41: return "4.1"; case AV1Level42: return "4.2"; case AV1Level43: return "4.3"; case AV1Level5: return "5"; case AV1Level51: return "5.1"; case AV1Level52: return "5.2"; case AV1Level53: return "5.3"; case AV1Level6: return "6"; case AV1Level61: return "6.1"; case AV1Level62: return "6.2"; case AV1Level63: return "6.3"; case AV1Level7: return "7"; case AV1Level71: return "7.1"; case AV1Level72: return "7.2"; case AV1Level73: return "7.3"; default: return def; } } constexpr int32_t HEVCProfileMain = 0x01; constexpr int32_t HEVCProfileMain10 = 0x02; constexpr int32_t HEVCProfileMainStill = 0x04; constexpr int32_t HEVCProfileMain10HDR10 = 0x1000; constexpr int32_t HEVCProfileMain10HDR10Plus = 0x2000; inline static const char *asString_HEVCProfile(int32_t i, const char *def = "??") { switch (i) { case HEVCProfileMain: return "Main"; case HEVCProfileMain10: return "Main10"; case HEVCProfileMainStill: return "MainStill"; case HEVCProfileMain10HDR10: return "Main10HDR10"; case HEVCProfileMain10HDR10Plus: return "Main10HDR10Plus"; default: return def; } } constexpr int32_t HEVCMainTierLevel1 = 0x1; constexpr int32_t HEVCHighTierLevel1 = 0x2; constexpr int32_t HEVCMainTierLevel2 = 0x4; Loading Loading @@ -215,6 +468,38 @@ constexpr int32_t HEVCHighTierLevel61 = 0x800000; constexpr int32_t HEVCMainTierLevel62 = 0x1000000; constexpr int32_t HEVCHighTierLevel62 = 0x2000000; inline static const char *asString_HEVCTierLevel(int32_t i, const char *def = "??") { switch (i) { case HEVCMainTierLevel1: return "Main 1"; case HEVCHighTierLevel1: return "High 1"; case HEVCMainTierLevel2: return "Main 2"; case HEVCHighTierLevel2: return "High 2"; case HEVCMainTierLevel21: return "Main 2.1"; case HEVCHighTierLevel21: return "High 2.1"; case HEVCMainTierLevel3: return "Main 3"; case HEVCHighTierLevel3: return "High 3"; case HEVCMainTierLevel31: return "Main 3.1"; case HEVCHighTierLevel31: return "High 3.1"; case HEVCMainTierLevel4: return "Main 4"; case HEVCHighTierLevel4: return "High 4"; case HEVCMainTierLevel41: return "Main 4.1"; case HEVCHighTierLevel41: return "High 4.1"; case HEVCMainTierLevel5: return "Main 5"; case HEVCHighTierLevel5: return "High 5"; case HEVCMainTierLevel51: return "Main 5.1"; case HEVCHighTierLevel51: return "High 5.1"; case HEVCMainTierLevel52: return "Main 5.2"; case HEVCHighTierLevel52: return "High 5.2"; case HEVCMainTierLevel6: return "Main 6"; case HEVCHighTierLevel6: return "High 6"; case HEVCMainTierLevel61: return "Main 6.1"; case HEVCHighTierLevel61: return "High 6.1"; case HEVCMainTierLevel62: return "Main 6.2"; case HEVCHighTierLevel62: return "High 6.2"; default: return def; } } constexpr int32_t DolbyVisionProfileDvavPer = 0x1; constexpr int32_t DolbyVisionProfileDvavPen = 0x2; constexpr int32_t DolbyVisionProfileDvheDer = 0x4; Loading @@ -226,6 +511,22 @@ constexpr int32_t DolbyVisionProfileDvheDtb = 0x80; constexpr int32_t DolbyVisionProfileDvheSt = 0x100; constexpr int32_t DolbyVisionProfileDvavSe = 0x200; inline static const char *asString_DolbyVisionProfile(int32_t i, const char *def = "??") { switch (i) { case DolbyVisionProfileDvavPer: return "DvavPer"; case DolbyVisionProfileDvavPen: return "DvavPen"; case DolbyVisionProfileDvheDer: return "DvheDer"; case DolbyVisionProfileDvheDen: return "DvheDen"; case DolbyVisionProfileDvheDtr: return "DvheDtr"; case DolbyVisionProfileDvheStn: return "DvheStn"; case DolbyVisionProfileDvheDth: return "DvheDth"; case DolbyVisionProfileDvheDtb: return "DvheDtb"; case DolbyVisionProfileDvheSt: return "DvheSt"; case DolbyVisionProfileDvavSe: return "DvavSe"; default: return def; } } constexpr int32_t DolbyVisionLevelHd24 = 0x1; constexpr int32_t DolbyVisionLevelHd30 = 0x2; constexpr int32_t DolbyVisionLevelFhd24 = 0x4; Loading @@ -236,10 +537,34 @@ constexpr int32_t DolbyVisionLevelUhd30 = 0x40; constexpr int32_t DolbyVisionLevelUhd48 = 0x80; constexpr int32_t DolbyVisionLevelUhd60 = 0x100; inline static const char *asString_DolbyVisionLevel(int32_t i, const char *def = "??") { switch (i) { case DolbyVisionLevelHd24: return "Hd24"; case DolbyVisionLevelHd30: return "Hd30"; case DolbyVisionLevelFhd24: return "Fhd24"; case DolbyVisionLevelFhd30: return "Fhd30"; case DolbyVisionLevelFhd60: return "Fhd60"; case DolbyVisionLevelUhd24: return "Uhd24"; case DolbyVisionLevelUhd30: return "Uhd30"; case DolbyVisionLevelUhd48: return "Uhd48"; case DolbyVisionLevelUhd60: return "Uhd60"; default: return def; } } constexpr int32_t BITRATE_MODE_CBR = 2; constexpr int32_t BITRATE_MODE_CQ = 0; constexpr int32_t BITRATE_MODE_VBR = 1; inline static const char *asString_BitrateMode(int32_t i, const char *def = "??") { switch (i) { case BITRATE_MODE_CBR: return "CBR"; case BITRATE_MODE_CQ: return "CQ"; case BITRATE_MODE_VBR: return "VBR"; default: return def; } } constexpr int32_t COLOR_Format12bitRGB444 = 3; constexpr int32_t COLOR_Format16bitARGB1555 = 5; constexpr int32_t COLOR_Format16bitARGB4444 = 4; Loading Loading @@ -293,6 +618,64 @@ constexpr int32_t COLOR_FormatYUV444Interleaved = 29; constexpr int32_t COLOR_QCOM_FormatYUV420SemiPlanar = 0x7fa30c00; constexpr int32_t COLOR_TI_FormatYUV420PackedSemiPlanar = 0x7f000100; inline static const char *asString_ColorFormat(int32_t i, const char *def = "??") { switch (i) { case COLOR_Format12bitRGB444: return "12bitRGB444"; case COLOR_Format16bitARGB1555: return "16bitARGB1555"; case COLOR_Format16bitARGB4444: return "16bitARGB4444"; case COLOR_Format16bitBGR565: return "16bitBGR565"; case COLOR_Format16bitRGB565: return "16bitRGB565"; case COLOR_Format18bitARGB1665: return "18bitARGB1665"; case COLOR_Format18BitBGR666: return "18BitBGR666"; case COLOR_Format18bitRGB666: return "18bitRGB666"; case COLOR_Format19bitARGB1666: return "19bitARGB1666"; case COLOR_Format24BitABGR6666: return "24BitABGR6666"; case COLOR_Format24bitARGB1887: return "24bitARGB1887"; case COLOR_Format24BitARGB6666: return "24BitARGB6666"; case COLOR_Format24bitBGR888: return "24bitBGR888"; case COLOR_Format24bitRGB888: return "24bitRGB888"; case COLOR_Format25bitARGB1888: return "25bitARGB1888"; case COLOR_Format32bitABGR8888: return "32bitABGR8888"; case COLOR_Format32bitARGB8888: return "32bitARGB8888"; case COLOR_Format32bitBGRA8888: return "32bitBGRA8888"; case COLOR_Format8bitRGB332: return "8bitRGB332"; case COLOR_FormatCbYCrY: return "CbYCrY"; case COLOR_FormatCrYCbY: return "CrYCbY"; case COLOR_FormatL16: return "L16"; case COLOR_FormatL2: return "L2"; case COLOR_FormatL24: return "L24"; case COLOR_FormatL32: return "L32"; case COLOR_FormatL4: return "L4"; case COLOR_FormatL8: return "L8"; case COLOR_FormatMonochrome: return "Monochrome"; case COLOR_FormatRawBayer10bit: return "RawBayer10bit"; case COLOR_FormatRawBayer8bit: return "RawBayer8bit"; case COLOR_FormatRawBayer8bitcompressed: return "RawBayer8bitcompressed"; case COLOR_FormatRGBAFlexible: return "RGBAFlexible"; case COLOR_FormatRGBFlexible: return "RGBFlexible"; case COLOR_FormatSurface: return "Surface"; case COLOR_FormatYCbYCr: return "YCbYCr"; case COLOR_FormatYCrYCb: return "YCrYCb"; case COLOR_FormatYUV411PackedPlanar: return "YUV411PackedPlanar"; case COLOR_FormatYUV411Planar: return "YUV411Planar"; case COLOR_FormatYUV420Flexible: return "YUV420Flexible"; case COLOR_FormatYUV420PackedPlanar: return "YUV420PackedPlanar"; case COLOR_FormatYUV420PackedSemiPlanar: return "YUV420PackedSemiPlanar"; case COLOR_FormatYUV420Planar: return "YUV420Planar"; case COLOR_FormatYUV420SemiPlanar: return "YUV420SemiPlanar"; case COLOR_FormatYUV422Flexible: return "YUV422Flexible"; case COLOR_FormatYUV422PackedPlanar: return "YUV422PackedPlanar"; case COLOR_FormatYUV422PackedSemiPlanar: return "YUV422PackedSemiPlanar"; case COLOR_FormatYUV422Planar: return "YUV422Planar"; case COLOR_FormatYUV422SemiPlanar: return "YUV422SemiPlanar"; case COLOR_FormatYUV444Flexible: return "YUV444Flexible"; case COLOR_FormatYUV444Interleaved: return "YUV444Interleaved"; case COLOR_QCOM_FormatYUV420SemiPlanar: return "QCOM_YUV420SemiPlanar"; case COLOR_TI_FormatYUV420PackedSemiPlanar: return "TI_YUV420PackedSemiPlanar"; default: return def; } } constexpr char FEATURE_AdaptivePlayback[] = "adaptive-playback"; constexpr char FEATURE_IntraRefresh[] = "intra-refresh"; constexpr char FEATURE_PartialFrame[] = "partial-frame"; Loading