xref: /aosp_15_r20/frameworks/av/media/libstagefright/tests/fuzzers/MediaMimeTypes.h (revision ec779b8e0859a360c3d303172224686826e6e0e1)
1 /*
2  * Copyright 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef FUZZER_MEDIAMIMETYPES_H_
18 #define FUZZER_MEDIAMIMETYPES_H_
19 
20 #include <media/stagefright/foundation/MediaDefs.h>
21 #include <unordered_map>
22 
23 namespace android {
24 
25 static const std::vector<const char*> kMimeTypes {
26     MEDIA_MIMETYPE_IMAGE_JPEG,
27     MEDIA_MIMETYPE_IMAGE_ANDROID_HEIC,
28     MEDIA_MIMETYPE_VIDEO_VP8,
29     MEDIA_MIMETYPE_VIDEO_VP9,
30     MEDIA_MIMETYPE_VIDEO_AV1,
31     MEDIA_MIMETYPE_VIDEO_AVC,
32     MEDIA_MIMETYPE_VIDEO_HEVC,
33     MEDIA_MIMETYPE_VIDEO_MPEG4,
34     MEDIA_MIMETYPE_VIDEO_H263,
35     MEDIA_MIMETYPE_VIDEO_MPEG2,
36     MEDIA_MIMETYPE_VIDEO_RAW,
37     MEDIA_MIMETYPE_VIDEO_DOLBY_VISION,
38     MEDIA_MIMETYPE_VIDEO_SCRAMBLED,
39     MEDIA_MIMETYPE_VIDEO_DIVX,
40     MEDIA_MIMETYPE_VIDEO_DIVX3,
41     MEDIA_MIMETYPE_VIDEO_XVID,
42     MEDIA_MIMETYPE_VIDEO_MJPEG,
43     MEDIA_MIMETYPE_AUDIO_AMR_NB,
44     MEDIA_MIMETYPE_AUDIO_AMR_WB,
45     MEDIA_MIMETYPE_AUDIO_MPEG,
46     MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_I,
47     MEDIA_MIMETYPE_AUDIO_MPEG_LAYER_II,
48     MEDIA_MIMETYPE_AUDIO_MIDI,
49     MEDIA_MIMETYPE_AUDIO_AAC,
50     MEDIA_MIMETYPE_AUDIO_QCELP,
51     MEDIA_MIMETYPE_AUDIO_VORBIS,
52     MEDIA_MIMETYPE_AUDIO_OPUS,
53     MEDIA_MIMETYPE_AUDIO_G711_ALAW,
54     MEDIA_MIMETYPE_AUDIO_G711_MLAW,
55     MEDIA_MIMETYPE_AUDIO_RAW,
56     MEDIA_MIMETYPE_AUDIO_FLAC,
57     MEDIA_MIMETYPE_AUDIO_AAC_ADTS,
58     MEDIA_MIMETYPE_AUDIO_MSGSM,
59     MEDIA_MIMETYPE_AUDIO_AC3,
60     MEDIA_MIMETYPE_AUDIO_EAC3,
61     MEDIA_MIMETYPE_AUDIO_EAC3_JOC,
62     MEDIA_MIMETYPE_AUDIO_AC4,
63     MEDIA_MIMETYPE_AUDIO_SCRAMBLED,
64     MEDIA_MIMETYPE_AUDIO_ALAC,
65     MEDIA_MIMETYPE_AUDIO_WMA,
66     MEDIA_MIMETYPE_AUDIO_MS_ADPCM,
67     MEDIA_MIMETYPE_AUDIO_DVI_IMA_ADPCM,
68     MEDIA_MIMETYPE_CONTAINER_MPEG4,
69     MEDIA_MIMETYPE_CONTAINER_WAV,
70     MEDIA_MIMETYPE_CONTAINER_OGG,
71     MEDIA_MIMETYPE_CONTAINER_MATROSKA,
72     MEDIA_MIMETYPE_CONTAINER_MPEG2TS,
73     MEDIA_MIMETYPE_CONTAINER_AVI,
74     MEDIA_MIMETYPE_CONTAINER_MPEG2PS,
75     MEDIA_MIMETYPE_CONTAINER_HEIF,
76     MEDIA_MIMETYPE_TEXT_3GPP,
77     MEDIA_MIMETYPE_TEXT_SUBRIP,
78     MEDIA_MIMETYPE_TEXT_VTT,
79     MEDIA_MIMETYPE_TEXT_CEA_608,
80     MEDIA_MIMETYPE_TEXT_CEA_708,
81     MEDIA_MIMETYPE_DATA_TIMED_ID3
82 };
83 
84 static const std::unordered_map<std::string, const char*> decoderToMediaType = {
85         {"c2.android.vp8.decoder", MEDIA_MIMETYPE_VIDEO_VP8},
86         {"c2.android.vp9.decoder", MEDIA_MIMETYPE_VIDEO_VP9},
87         {"c2.android.av1.decoder", MEDIA_MIMETYPE_VIDEO_AV1},
88         {"c2.android.avc.decoder", MEDIA_MIMETYPE_VIDEO_AVC},
89         {"c2.android.hevc.decoder", MEDIA_MIMETYPE_VIDEO_HEVC},
90         {"c2.android.mpeg4.decoder", MEDIA_MIMETYPE_VIDEO_MPEG4},
91         {"c2.android.h263.decoder", MEDIA_MIMETYPE_VIDEO_H263}};
92 
93 }  // namespace android
94 
95 #endif  // FUZZER_MEDIAMIMETYPES_H_
96