summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream/stream_codec.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream/stream_codec.h')
-rw-r--r--xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream/stream_codec.h131
1 files changed, 131 insertions, 0 deletions
diff --git a/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream/stream_codec.h b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream/stream_codec.h
new file mode 100644
index 0000000..b489cb9
--- /dev/null
+++ b/xbmc/addons/kodi-dev-kit/include/kodi/c-api/addon-instance/inputstream/stream_codec.h
@@ -0,0 +1,131 @@
1/*
2 * Copyright (C) 2017-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#ifndef C_API_ADDONINSTANCE_INPUTSTREAM_STREAMCODEC_H
10#define C_API_ADDONINSTANCE_INPUTSTREAM_STREAMCODEC_H
11
12#ifdef __cplusplus
13extern "C"
14{
15#endif /* __cplusplus */
16
17 //==============================================================================
18 /// @defgroup cpp_kodi_addon_inputstream_Defs_StreamEncryption_STREAMCODEC_PROFILE enum STREAMCODEC_PROFILE
19 /// @ingroup cpp_kodi_addon_inputstream_Defs_StreamCodec
20 /// @brief **The standard defines several sets of capabilities.**\n
21 /// Which are referred to as profiles, targeting specific classes of applications.
22 ///
23 ///@{
24 enum STREAMCODEC_PROFILE
25 {
26 /// @brief Unknown codec profile
27 CodecProfileUnknown = 0,
28
29 /// @brief If a codec profile is not required
30 CodecProfileNotNeeded,
31
32 /// @brief **H264** Baseline Profile (BP, 66)\n
33 /// \n
34 /// Primarily for low-cost applications that require additional data loss
35 /// robustness, this profile is used in some videoconferencing and mobile
36 /// applications. This profile includes all features that are supported
37 /// in the Constrained Baseline Profile, plus three additional features
38 /// that can be used for loss robustness (or for other purposes such as
39 /// low-delay multi-point video stream compositing). The importance of
40 /// this profile has faded somewhat since the definition of the Constrained
41 /// Baseline Profile in 2009. All Constrained Baseline Profile bitstreams
42 /// are also considered to be Baseline Profile bitstreams, as these two
43 /// profiles share the same profile identifier code value.
44 H264CodecProfileBaseline,
45
46 /// @brief **H264** Main Profile (MP, 77)\n
47 /// \n
48 /// This profile is used for standard-definition digital TV broadcasts that
49 /// use the MPEG-4 format as defined in the
50 /// [DVB standard](http://www.etsi.org/deliver/etsi_ts/101100_101199/101154/01.09.01_60/ts_101154v010901p.pdf).
51 /// It is not, however, used for high-definition television broadcasts, as the
52 /// importance of this profile faded when the High Profile was developed
53 /// in 2004 for that application.
54 H264CodecProfileMain,
55
56 /// @brief **H264** Extended Profile (XP, 88)\n
57 /// \n
58 /// Intended as the streaming video profile, this profile has relatively high
59 /// compression capability and some extra tricks for robustness to data losses
60 /// and server stream switching.
61 H264CodecProfileExtended,
62
63 /// @brief **H264** High Profile (HiP, 100)\n
64 /// \n
65 /// The primary profile for broadcast and disc storage applications,
66 /// particularly for high-definition television applications (for example,
67 /// this is the profile adopted by the [Blu-ray Disc](https://en.wikipedia.org/wiki/Blu-ray_Disc)
68 /// storage format and the [DVB](https://en.wikipedia.org/wiki/Digital_Video_Broadcasting)
69 /// HDTV broadcast service).
70 H264CodecProfileHigh,
71
72 /// @brief **H264** High 10 Profile (Hi10P, 110)\n
73 /// \n
74 /// Going beyond typical mainstream consumer product capabilities, this
75 /// profile builds on top of the High Profile, adding support for up to 10
76 /// bits per sample of decoded picture precision.
77 H264CodecProfileHigh10,
78
79 /// @brief **H264** High 4:2:2 Profile (Hi422P, 122)\n
80 /// \n
81 /// Primarily targeting professional applications that use interlaced video,
82 /// this profile builds on top of the High 10 Profile, adding support for the
83 /// 4:2:2 chroma sampling format while using up to 10 bits per sample of
84 /// decoded picture precision.
85 H264CodecProfileHigh422,
86
87 /// @brief **H264** High 4:4:4 Predictive Profile (Hi444PP, 244)\n
88 /// \n
89 /// This profile builds on top of the High 4:2:2 Profile, supporting up to
90 /// 4:4:4 chroma sampling, up to 14 bits per sample, and additionally
91 /// supporting efficient lossless region coding and the coding of each
92 /// picture as three separate color planes.
93 H264CodecProfileHigh444Predictive,
94
95 /// @brief **VP9** profile 0\n
96 /// \n
97 /// There are several variants of the VP9 format (known as "coding profiles"),
98 /// which successively allow more features; profile 0 is the basic variant,
99 /// requiring the least from a hardware implementation.
100 ///
101 /// [Color depth](https://en.wikipedia.org/wiki/Color_depth): 8 bit/sample,
102 /// [chroma subsampling](https://en.wikipedia.org/wiki/Chroma_subsampling): 4:2:0
103 VP9CodecProfile0 = 20,
104
105 /// @brief **VP9** profile 1\n
106 /// \n
107 /// [Color depth](https://en.wikipedia.org/wiki/Color_depth): 8 bit,
108 /// [chroma subsampling](https://en.wikipedia.org/wiki/Chroma_subsampling): 4:2:0, 4:2:2, 4:4:4
109 VP9CodecProfile1,
110
111 /// @brief **VP9** profile 2\n
112 /// \n
113 /// [Color depth](https://en.wikipedia.org/wiki/Color_depth): 10–12 bit,
114 /// [chroma subsampling](https://en.wikipedia.org/wiki/Chroma_subsampling): 4:2:0
115 VP9CodecProfile2,
116
117 /// @brief **VP9** profile 3\n
118 /// \n
119 /// [Color depth](https://en.wikipedia.org/wiki/Color_depth): 10–12 bit,
120 /// [chroma subsampling](https://en.wikipedia.org/wiki/Chroma_subsampling): 4:2:0, 4:2:2, 4:4:4,
121 /// see [VP9 Bitstream & Decoding Process Specification](https://storage.googleapis.com/downloads.webmproject.org/docs/vp9/vp9-bitstream-specification-v0.6-20160331-draft.pdf)
122 VP9CodecProfile3,
123 };
124 ///@}
125 //------------------------------------------------------------------------------
126
127#ifdef __cplusplus
128} /* extern "C" */
129#endif /* __cplusplus */
130
131#endif /* !C_API_ADDONINSTANCE_INPUTSTREAM_STREAMCODEC_H */