| /* |
| * Copyright 2018 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| */ |
| |
| #ifndef MEDIA_CODEC_CONSTANTS_H_ |
| #define MEDIA_CODEC_CONSTANTS_H_ |
| |
| namespace { |
| |
| // from MediaCodecInfo.java |
| constexpr int32_t AVCProfileBaseline = 0x01; |
| constexpr int32_t AVCProfileMain = 0x02; |
| constexpr int32_t AVCProfileExtended = 0x04; |
| constexpr int32_t AVCProfileHigh = 0x08; |
| constexpr int32_t AVCProfileHigh10 = 0x10; |
| constexpr int32_t AVCProfileHigh422 = 0x20; |
| 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; |
| constexpr int32_t AVCLevel12 = 0x08; |
| constexpr int32_t AVCLevel13 = 0x10; |
| constexpr int32_t AVCLevel2 = 0x20; |
| constexpr int32_t AVCLevel21 = 0x40; |
| constexpr int32_t AVCLevel22 = 0x80; |
| constexpr int32_t AVCLevel3 = 0x100; |
| constexpr int32_t AVCLevel31 = 0x200; |
| constexpr int32_t AVCLevel32 = 0x400; |
| constexpr int32_t AVCLevel4 = 0x800; |
| constexpr int32_t AVCLevel41 = 0x1000; |
| 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; |
| constexpr int32_t H263ProfileBackwardCompatible = 0x04; |
| constexpr int32_t H263ProfileISWV2 = 0x08; |
| constexpr int32_t H263ProfileISWV3 = 0x10; |
| constexpr int32_t H263ProfileHighCompression = 0x20; |
| 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; |
| constexpr int32_t H263Level40 = 0x08; |
| constexpr int32_t H263Level45 = 0x10; |
| 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; |
| constexpr int32_t MPEG4ProfileMain = 0x08; |
| constexpr int32_t MPEG4ProfileNbit = 0x10; |
| constexpr int32_t MPEG4ProfileScalableTexture = 0x20; |
| constexpr int32_t MPEG4ProfileSimpleFace = 0x40; |
| constexpr int32_t MPEG4ProfileSimpleFBA = 0x80; |
| constexpr int32_t MPEG4ProfileBasicAnimated = 0x100; |
| constexpr int32_t MPEG4ProfileHybrid = 0x200; |
| constexpr int32_t MPEG4ProfileAdvancedRealTime = 0x400; |
| constexpr int32_t MPEG4ProfileCoreScalable = 0x800; |
| constexpr int32_t MPEG4ProfileAdvancedCoding = 0x1000; |
| 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; |
| constexpr int32_t MPEG4Level2 = 0x08; |
| constexpr int32_t MPEG4Level3 = 0x10; |
| constexpr int32_t MPEG4Level3b = 0x18; |
| constexpr int32_t MPEG4Level4 = 0x20; |
| 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; |
| 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; |
| constexpr int32_t AACObjectLTP = 4; |
| constexpr int32_t AACObjectHE = 5; |
| constexpr int32_t AACObjectScalable = 6; |
| constexpr int32_t AACObjectERLC = 17; |
| constexpr int32_t AACObjectERScalable = 20; |
| constexpr int32_t AACObjectLD = 23; |
| 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; |
| constexpr int32_t VP9Profile3 = 0x08; |
| constexpr int32_t VP9Profile2HDR = 0x1000; |
| 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; |
| constexpr int32_t VP9Level21 = 0x8; |
| constexpr int32_t VP9Level3 = 0x10; |
| constexpr int32_t VP9Level31 = 0x20; |
| constexpr int32_t VP9Level4 = 0x40; |
| constexpr int32_t VP9Level41 = 0x80; |
| constexpr int32_t VP9Level5 = 0x100; |
| constexpr int32_t VP9Level51 = 0x200; |
| constexpr int32_t VP9Level52 = 0x400; |
| 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 AV1ProfileMain8 = 0x1; |
| constexpr int32_t AV1ProfileMain10 = 0x2; |
| constexpr int32_t AV1ProfileMain10HDR10 = 0x1000; |
| constexpr int32_t AV1ProfileMain10HDR10Plus = 0x2000; |
| |
| inline static const char *asString_AV1Profile(int32_t i, const char *def = "??") { |
| switch (i) { |
| case AV1ProfileMain8: return "Main8"; |
| case AV1ProfileMain10: return "Main10HDR"; |
| case AV1ProfileMain10HDR10: return "Main10HDR10"; |
| case AV1ProfileMain10HDR10Plus: return "Main10HDRPlus"; |
| default: return def; |
| } |
| } |
| |
| constexpr int32_t AV1Level2 = 0x1; |
| constexpr int32_t AV1Level21 = 0x2; |
| constexpr int32_t AV1Level22 = 0x4; |
| constexpr int32_t AV1Level23 = 0x8; |
| constexpr int32_t AV1Level3 = 0x10; |
| constexpr int32_t AV1Level31 = 0x20; |
| constexpr int32_t AV1Level32 = 0x40; |
| constexpr int32_t AV1Level33 = 0x80; |
| constexpr int32_t AV1Level4 = 0x100; |
| constexpr int32_t AV1Level41 = 0x200; |
| constexpr int32_t AV1Level42 = 0x400; |
| constexpr int32_t AV1Level43 = 0x800; |
| constexpr int32_t AV1Level5 = 0x1000; |
| constexpr int32_t AV1Level51 = 0x2000; |
| constexpr int32_t AV1Level52 = 0x4000; |
| constexpr int32_t AV1Level53 = 0x8000; |
| constexpr int32_t AV1Level6 = 0x10000; |
| constexpr int32_t AV1Level61 = 0x20000; |
| constexpr int32_t AV1Level62 = 0x40000; |
| constexpr int32_t AV1Level63 = 0x80000; |
| constexpr int32_t AV1Level7 = 0x100000; |
| 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; |
| constexpr int32_t HEVCHighTierLevel2 = 0x8; |
| constexpr int32_t HEVCMainTierLevel21 = 0x10; |
| constexpr int32_t HEVCHighTierLevel21 = 0x20; |
| constexpr int32_t HEVCMainTierLevel3 = 0x40; |
| constexpr int32_t HEVCHighTierLevel3 = 0x80; |
| constexpr int32_t HEVCMainTierLevel31 = 0x100; |
| constexpr int32_t HEVCHighTierLevel31 = 0x200; |
| constexpr int32_t HEVCMainTierLevel4 = 0x400; |
| constexpr int32_t HEVCHighTierLevel4 = 0x800; |
| constexpr int32_t HEVCMainTierLevel41 = 0x1000; |
| constexpr int32_t HEVCHighTierLevel41 = 0x2000; |
| constexpr int32_t HEVCMainTierLevel5 = 0x4000; |
| constexpr int32_t HEVCHighTierLevel5 = 0x8000; |
| constexpr int32_t HEVCMainTierLevel51 = 0x10000; |
| constexpr int32_t HEVCHighTierLevel51 = 0x20000; |
| constexpr int32_t HEVCMainTierLevel52 = 0x40000; |
| constexpr int32_t HEVCHighTierLevel52 = 0x80000; |
| constexpr int32_t HEVCMainTierLevel6 = 0x100000; |
| constexpr int32_t HEVCHighTierLevel6 = 0x200000; |
| constexpr int32_t HEVCMainTierLevel61 = 0x400000; |
| 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; |
| constexpr int32_t DolbyVisionProfileDvheDen = 0x8; |
| constexpr int32_t DolbyVisionProfileDvheDtr = 0x10; |
| constexpr int32_t DolbyVisionProfileDvheStn = 0x20; |
| constexpr int32_t DolbyVisionProfileDvheDth = 0x40; |
| constexpr int32_t DolbyVisionProfileDvheDtb = 0x80; |
| constexpr int32_t DolbyVisionProfileDvheSt = 0x100; |
| constexpr int32_t DolbyVisionProfileDvavSe = 0x200; |
| constexpr int32_t DolbyVisionProfileDvav110 = 0x400; |
| |
| 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"; |
| case DolbyVisionProfileDvav110: return "Dav110"; |
| default: return def; |
| } |
| } |
| |
| constexpr int32_t DolbyVisionLevelHd24 = 0x1; |
| constexpr int32_t DolbyVisionLevelHd30 = 0x2; |
| constexpr int32_t DolbyVisionLevelFhd24 = 0x4; |
| constexpr int32_t DolbyVisionLevelFhd30 = 0x8; |
| constexpr int32_t DolbyVisionLevelFhd60 = 0x10; |
| constexpr int32_t DolbyVisionLevelUhd24 = 0x20; |
| 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_CBR_FD = 3; |
| 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_CBR_FD: return "CBR_FD"; |
| 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; |
| constexpr int32_t COLOR_Format16bitBGR565 = 7; |
| constexpr int32_t COLOR_Format16bitRGB565 = 6; |
| constexpr int32_t COLOR_Format18bitARGB1665 = 9; |
| constexpr int32_t COLOR_Format18BitBGR666 = 41; |
| constexpr int32_t COLOR_Format18bitRGB666 = 8; |
| constexpr int32_t COLOR_Format19bitARGB1666 = 10; |
| constexpr int32_t COLOR_Format24BitABGR6666 = 43; |
| constexpr int32_t COLOR_Format24bitARGB1887 = 13; |
| constexpr int32_t COLOR_Format24BitARGB6666 = 42; |
| constexpr int32_t COLOR_Format24bitBGR888 = 12; |
| constexpr int32_t COLOR_Format24bitRGB888 = 11; |
| constexpr int32_t COLOR_Format25bitARGB1888 = 14; |
| constexpr int32_t COLOR_Format32bitABGR8888 = 0x7F00A000; |
| constexpr int32_t COLOR_Format32bitARGB8888 = 16; |
| constexpr int32_t COLOR_Format32bitBGRA8888 = 15; |
| constexpr int32_t COLOR_Format8bitRGB332 = 2; |
| constexpr int32_t COLOR_FormatCbYCrY = 27; |
| constexpr int32_t COLOR_FormatCrYCbY = 28; |
| constexpr int32_t COLOR_FormatL16 = 36; |
| constexpr int32_t COLOR_FormatL2 = 33; |
| constexpr int32_t COLOR_FormatL24 = 37; |
| constexpr int32_t COLOR_FormatL32 = 38; |
| constexpr int32_t COLOR_FormatL4 = 34; |
| constexpr int32_t COLOR_FormatL8 = 35; |
| constexpr int32_t COLOR_FormatMonochrome = 1; |
| constexpr int32_t COLOR_FormatRawBayer10bit = 31; |
| constexpr int32_t COLOR_FormatRawBayer8bit = 30; |
| constexpr int32_t COLOR_FormatRawBayer8bitcompressed = 32; |
| constexpr int32_t COLOR_FormatRGBAFlexible = 0x7F36A888; |
| constexpr int32_t COLOR_FormatRGBFlexible = 0x7F36B888; |
| constexpr int32_t COLOR_FormatSurface = 0x7F000789; |
| constexpr int32_t COLOR_FormatYCbYCr = 25; |
| constexpr int32_t COLOR_FormatYCrYCb = 26; |
| constexpr int32_t COLOR_FormatYUV411PackedPlanar = 18; |
| constexpr int32_t COLOR_FormatYUV411Planar = 17; |
| constexpr int32_t COLOR_FormatYUV420Flexible = 0x7F420888; |
| constexpr int32_t COLOR_FormatYUV420PackedPlanar = 20; |
| constexpr int32_t COLOR_FormatYUV420PackedSemiPlanar = 39; |
| constexpr int32_t COLOR_FormatYUV420Planar = 19; |
| constexpr int32_t COLOR_FormatYUV420SemiPlanar = 21; |
| constexpr int32_t COLOR_FormatYUV422Flexible = 0x7F422888; |
| constexpr int32_t COLOR_FormatYUV422PackedPlanar = 23; |
| constexpr int32_t COLOR_FormatYUV422PackedSemiPlanar = 40; |
| constexpr int32_t COLOR_FormatYUV422Planar = 22; |
| constexpr int32_t COLOR_FormatYUV422SemiPlanar = 24; |
| constexpr int32_t COLOR_FormatYUV444Flexible = 0x7F444888; |
| constexpr int32_t COLOR_FormatYUV444Interleaved = 29; |
| constexpr int32_t COLOR_FormatYUVP010 = 54; |
| 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"; |
| constexpr char FEATURE_QpBounds[] = "qp-bounds"; |
| constexpr char FEATURE_SecurePlayback[] = "secure-playback"; |
| constexpr char FEATURE_TunneledPlayback[] = "tunneled-playback"; |
| |
| // from MediaFormat.java |
| constexpr char MIMETYPE_VIDEO_VP8[] = "video/x-vnd.on2.vp8"; |
| constexpr char MIMETYPE_VIDEO_VP9[] = "video/x-vnd.on2.vp9"; |
| constexpr char MIMETYPE_VIDEO_AV1[] = "video/av01"; |
| constexpr char MIMETYPE_VIDEO_AVC[] = "video/avc"; |
| constexpr char MIMETYPE_VIDEO_HEVC[] = "video/hevc"; |
| constexpr char MIMETYPE_VIDEO_MPEG4[] = "video/mp4v-es"; |
| constexpr char MIMETYPE_VIDEO_H263[] = "video/3gpp"; |
| constexpr char MIMETYPE_VIDEO_MPEG2[] = "video/mpeg2"; |
| constexpr char MIMETYPE_VIDEO_RAW[] = "video/raw"; |
| constexpr char MIMETYPE_VIDEO_DOLBY_VISION[] = "video/dolby-vision"; |
| constexpr char MIMETYPE_VIDEO_SCRAMBLED[] = "video/scrambled"; |
| |
| constexpr char MIMETYPE_AUDIO_AMR_NB[] = "audio/3gpp"; |
| constexpr char MIMETYPE_AUDIO_AMR_WB[] = "audio/amr-wb"; |
| constexpr char MIMETYPE_AUDIO_MPEG[] = "audio/mpeg"; |
| constexpr char MIMETYPE_AUDIO_AAC[] = "audio/mp4a-latm"; |
| constexpr char MIMETYPE_AUDIO_QCELP[] = "audio/qcelp"; |
| constexpr char MIMETYPE_AUDIO_VORBIS[] = "audio/vorbis"; |
| constexpr char MIMETYPE_AUDIO_OPUS[] = "audio/opus"; |
| constexpr char MIMETYPE_AUDIO_G711_ALAW[] = "audio/g711-alaw"; |
| constexpr char MIMETYPE_AUDIO_G711_MLAW[] = "audio/g711-mlaw"; |
| constexpr char MIMETYPE_AUDIO_RAW[] = "audio/raw"; |
| constexpr char MIMETYPE_AUDIO_FLAC[] = "audio/flac"; |
| constexpr char MIMETYPE_AUDIO_MSGSM[] = "audio/gsm"; |
| constexpr char MIMETYPE_AUDIO_AC3[] = "audio/ac3"; |
| constexpr char MIMETYPE_AUDIO_EAC3[] = "audio/eac3"; |
| constexpr char MIMETYPE_AUDIO_SCRAMBLED[] = "audio/scrambled"; |
| |
| constexpr char MIMETYPE_IMAGE_ANDROID_HEIC[] = "image/vnd.android.heic"; |
| |
| constexpr char MIMETYPE_TEXT_CEA_608[] = "text/cea-608"; |
| constexpr char MIMETYPE_TEXT_CEA_708[] = "text/cea-708"; |
| constexpr char MIMETYPE_TEXT_SUBRIP[] = "application/x-subrip"; |
| constexpr char MIMETYPE_TEXT_VTT[] = "text/vtt"; |
| |
| constexpr int32_t COLOR_RANGE_FULL = 1; |
| constexpr int32_t COLOR_RANGE_LIMITED = 2; |
| constexpr int32_t COLOR_STANDARD_BT2020 = 6; |
| constexpr int32_t COLOR_STANDARD_BT601_NTSC = 4; |
| constexpr int32_t COLOR_STANDARD_BT601_PAL = 2; |
| constexpr int32_t COLOR_STANDARD_BT709 = 1; |
| constexpr int32_t COLOR_TRANSFER_HLG = 7; |
| constexpr int32_t COLOR_TRANSFER_LINEAR = 1; |
| constexpr int32_t COLOR_TRANSFER_SDR_VIDEO = 3; |
| constexpr int32_t COLOR_TRANSFER_ST2084 = 6; |
| |
| constexpr char KEY_AAC_DRC_ALBUM_MODE[] = "aac-drc-album-mode"; |
| constexpr char KEY_AAC_DRC_ATTENUATION_FACTOR[] = "aac-drc-cut-level"; |
| constexpr char KEY_AAC_DRC_BOOST_FACTOR[] = "aac-drc-boost-level"; |
| constexpr char KEY_AAC_DRC_EFFECT_TYPE[] = "aac-drc-effect-type"; |
| constexpr char KEY_AAC_DRC_HEAVY_COMPRESSION[] = "aac-drc-heavy-compression"; |
| constexpr char KEY_AAC_DRC_OUTPUT_LOUDNESS[] = "aac-drc-output-loudness"; |
| constexpr char KEY_AAC_DRC_TARGET_REFERENCE_LEVEL[] = "aac-target-ref-level"; |
| constexpr char KEY_AAC_ENCODED_TARGET_LEVEL[] = "aac-encoded-target-level"; |
| constexpr char KEY_AAC_MAX_OUTPUT_CHANNEL_COUNT[] = "aac-max-output-channel_count"; |
| constexpr char KEY_AAC_PROFILE[] = "aac-profile"; |
| constexpr char KEY_AAC_SBR_MODE[] = "aac-sbr-mode"; |
| constexpr char KEY_ALLOW_FRAME_DROP[] = "allow-frame-drop"; |
| constexpr char KEY_AUDIO_SESSION_ID[] = "audio-session-id"; |
| constexpr char KEY_BIT_RATE[] = "bitrate"; |
| constexpr char KEY_BITRATE_MODE[] = "bitrate-mode"; |
| constexpr char KEY_CA_SESSION_ID[] = "ca-session-id"; |
| constexpr char KEY_CA_SYSTEM_ID[] = "ca-system-id"; |
| constexpr char KEY_CA_PRIVATE_DATA[] = "ca-private-data"; |
| constexpr char KEY_CAPTURE_RATE[] = "capture-rate"; |
| constexpr char KEY_CHANNEL_COUNT[] = "channel-count"; // value N, eq to range 1..N |
| constexpr char KEY_CHANNEL_MASK[] = "channel-mask"; |
| constexpr char KEY_COLOR_FORMAT[] = "color-format"; |
| constexpr char KEY_COLOR_RANGE[] = "color-range"; |
| constexpr char KEY_COLOR_STANDARD[] = "color-standard"; |
| constexpr char KEY_COLOR_TRANSFER[] = "color-transfer"; |
| constexpr char KEY_COMPLEXITY[] = "complexity"; |
| constexpr char KEY_CREATE_INPUT_SURFACE_SUSPENDED[] = "create-input-buffers-suspended"; |
| constexpr char KEY_DURATION[] = "durationUs"; |
| constexpr char KEY_FEATURE_[] = "feature-"; |
| constexpr char KEY_FLAC_COMPRESSION_LEVEL[] = "flac-compression-level"; |
| constexpr char KEY_FRAME_RATE[] = "frame-rate"; |
| constexpr char KEY_GRID_COLUMNS[] = "grid-cols"; |
| constexpr char KEY_GRID_ROWS[] = "grid-rows"; |
| constexpr char KEY_HDR_STATIC_INFO[] = "hdr-static-info"; |
| constexpr char KEY_HDR10_PLUS_INFO[] = "hdr10-plus-info"; |
| constexpr char KEY_HEIGHT[] = "height"; |
| constexpr char KEY_I_FRAME_INTERVAL[] = "i-frame-interval"; |
| constexpr char KEY_INTRA_REFRESH_PERIOD[] = "intra-refresh-period"; |
| constexpr char KEY_IS_ADTS[] = "is-adts"; |
| constexpr char KEY_IS_AUTOSELECT[] = "is-autoselect"; |
| constexpr char KEY_IS_DEFAULT[] = "is-default"; |
| constexpr char KEY_IS_FORCED_SUBTITLE[] = "is-forced-subtitle"; |
| constexpr char KEY_IS_TIMED_TEXT[] = "is-timed-text"; |
| constexpr char KEY_LANGUAGE[] = "language"; |
| constexpr char KEY_LATENCY[] = "latency"; |
| constexpr char KEY_LEVEL[] = "level"; |
| constexpr char KEY_LOW_LATENCY[] = "low-latency"; |
| constexpr char KEY_MAX_B_FRAMES[] = "max-bframes"; |
| constexpr char KEY_MAX_BIT_RATE[] = "max-bitrate"; |
| constexpr char KEY_MAX_FPS_TO_ENCODER[] = "max-fps-to-encoder"; |
| constexpr char KEY_MAX_HEIGHT[] = "max-height"; |
| constexpr char KEY_MAX_INPUT_SIZE[] = "max-input-size"; |
| constexpr char KEY_MAX_PTS_GAP_TO_ENCODER[] = "max-pts-gap-to-encoder"; |
| constexpr char KEY_MAX_WIDTH[] = "max-width"; |
| constexpr char KEY_MIME[] = "mime"; |
| constexpr char KEY_OPERATING_RATE[] = "operating-rate"; |
| constexpr char KEY_OUTPUT_REORDER_DEPTH[] = "output-reorder-depth"; |
| constexpr char KEY_PCM_ENCODING[] = "pcm-encoding"; |
| constexpr char KEY_PIXEL_ASPECT_RATIO_HEIGHT[] = "sar-height"; |
| constexpr char KEY_PIXEL_ASPECT_RATIO_WIDTH[] = "sar-width"; |
| constexpr char KEY_PREPEND_HEADER_TO_SYNC_FRAMES[] = "prepend-sps-pps-to-idr-frames"; |
| constexpr char KEY_PRIORITY[] = "priority"; |
| constexpr char KEY_PROFILE[] = "profile"; |
| constexpr char KEY_PUSH_BLANK_BUFFERS_ON_STOP[] = "push-blank-buffers-on-shutdown"; |
| constexpr char KEY_QUALITY[] = "quality"; |
| constexpr char KEY_REPEAT_PREVIOUS_FRAME_AFTER[] = "repeat-previous-frame-after"; |
| constexpr char KEY_ROTATION[] = "rotation-degrees"; |
| constexpr char KEY_SAMPLE_RATE[] = "sample-rate"; |
| constexpr char KEY_SLICE_HEIGHT[] = "slice-height"; |
| constexpr char KEY_STRIDE[] = "stride"; |
| constexpr char KEY_TEMPORAL_LAYERING[] = "ts-schema"; |
| constexpr char KEY_TILE_HEIGHT[] = "tile-height"; |
| constexpr char KEY_TILE_WIDTH[] = "tile-width"; |
| constexpr char KEY_TRACK_ID[] = "track-id"; |
| constexpr char KEY_VIDEO_QP_B_MAX[] = "video-qp-b-max"; |
| constexpr char KEY_VIDEO_QP_B_MIN[] = "video-qp-b-min"; |
| constexpr char KEY_VIDEO_QP_I_MAX[] = "video-qp-i-max"; |
| constexpr char KEY_VIDEO_QP_I_MIN[] = "video-qp-i-min"; |
| constexpr char KEY_VIDEO_QP_MAX[] = "video-qp-max"; |
| constexpr char KEY_VIDEO_QP_MIN[] = "video-qp-min"; |
| constexpr char KEY_VIDEO_QP_P_MAX[] = "video-qp-p-max"; |
| constexpr char KEY_VIDEO_QP_P_MIN[] = "video-qp-p-min"; |
| constexpr char KEY_WIDTH[] = "width"; |
| |
| // from MediaCodec.java |
| constexpr int32_t ERROR_INSUFFICIENT_OUTPUT_PROTECTION = 4; |
| constexpr int32_t ERROR_INSUFFICIENT_RESOURCE = 1100; |
| constexpr int32_t ERROR_KEY_EXPIRED = 2; |
| constexpr int32_t ERROR_NO_KEY = 1; |
| constexpr int32_t ERROR_RECLAIMED = 1101; |
| constexpr int32_t ERROR_RESOURCE_BUSY = 3; |
| constexpr int32_t ERROR_SESSION_NOT_OPENED = 5; |
| constexpr int32_t ERROR_UNSUPPORTED_OPERATION = 6; |
| constexpr char CODEC[] = "android.media.mediacodec.codec"; |
| constexpr char ENCODER[] = "android.media.mediacodec.encoder"; |
| constexpr char HEIGHT[] = "android.media.mediacodec.height"; |
| constexpr char MIME_TYPE[] = "android.media.mediacodec.mime"; |
| constexpr char MODE[] = "android.media.mediacodec.mode"; |
| constexpr char MODE_AUDIO[] = "audio"; |
| constexpr char MODE_VIDEO[] = "video"; |
| constexpr char ROTATION[] = "android.media.mediacodec.rotation"; |
| constexpr char SECURE[] = "android.media.mediacodec.secure"; |
| constexpr char WIDTH[] = "android.media.mediacodec.width"; |
| |
| constexpr int32_t BUFFER_FLAG_CODEC_CONFIG = 2; |
| constexpr int32_t BUFFER_FLAG_END_OF_STREAM = 4; |
| constexpr int32_t BUFFER_FLAG_KEY_FRAME = 1; |
| constexpr int32_t BUFFER_FLAG_PARTIAL_FRAME = 8; |
| constexpr int32_t BUFFER_FLAG_SYNC_FRAME = 1; |
| constexpr int32_t CONFIGURE_FLAG_ENCODE = 1; |
| constexpr int32_t CONFIGURE_FLAG_USE_BLOCK_MODEL = 2; |
| constexpr int32_t CRYPTO_MODE_AES_CBC = 2; |
| constexpr int32_t CRYPTO_MODE_AES_CTR = 1; |
| constexpr int32_t CRYPTO_MODE_UNENCRYPTED = 0; |
| constexpr int32_t INFO_OUTPUT_BUFFERS_CHANGED = -3; |
| constexpr int32_t INFO_OUTPUT_FORMAT_CHANGED = -2; |
| constexpr int32_t INFO_TRY_AGAIN_LATER = -1; |
| constexpr int32_t VIDEO_SCALING_MODE_SCALE_TO_FIT = 1; |
| constexpr int32_t VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING = 2; |
| constexpr char PARAMETER_KEY_OFFSET_TIME[] = "time-offset-us"; |
| constexpr char PARAMETER_KEY_REQUEST_SYNC_FRAME[] = "request-sync"; |
| constexpr char PARAMETER_KEY_SUSPEND[] = "drop-input-frames"; |
| constexpr char PARAMETER_KEY_SUSPEND_TIME[] = "drop-start-time-us"; |
| constexpr char PARAMETER_KEY_TUNNEL_PEEK[] = "tunnel-peek"; |
| constexpr char PARAMETER_KEY_VIDEO_BITRATE[] = "video-bitrate"; |
| |
| } |
| |
| #endif // MEDIA_CODEC_CONSTANTS_H_ |