Pepper_42_C_interfaces
pp_media_codecs_samsung.h
Go to the documentation of this file.
1 /* Copyright (c) 2015 Samsung Electronics. All rights reserved.
2  */
3 
4 /* From samsung/pp_media_codecs_samsung.idl,
5  * modified Fri Feb 12 09:49:57 2016.
6  */
7 
8 #ifndef PPAPI_C_SAMSUNG_PP_MEDIA_CODECS_SAMSUNG_H_
9 #define PPAPI_C_SAMSUNG_PP_MEDIA_CODECS_SAMSUNG_H_
10 
11 #include "ppapi/c/pp_macros.h"
12 
13 /**
14  * @file
15  *
16  * This file defines common audio and video codes.
17  *
18  * Below enums (FORMAT, PROFILE, TYPE) are based
19  * on these defined in chromium's media namespace.
20  */
21 
22 
23 /**
24  * @addtogroup Enums
25  * @{
26  */
27 /* Enum describing audio codec types.
28  * Do not change their ordinal values. When deleting a codec replace it
29  * with a dummy value; when adding a codec, do so at the bottom
30  * before PP_AUDIOCODEC_TYPE_SAMSUNG_MAX.
31  */
32 typedef enum {
52  /* Must always be last! */
56 
57 /* Enum describing Audio Codec Profiles. */
58 typedef enum {
75  /* this is the really last profile, could be used for checking supported
76  * profile sets.
77  */
81 
82 /* Enum describing Samples format. */
83 typedef enum {
85  /* Unsigned 8-bit w/ bias of 128. */
87  /* Signed 16-bit. */
89  /* Signed 32-bit. */
91  /* Float 32-bit. */
93  /* Signed 16-bit planar. */
95  /* Float 32-bit planar. */
97  /* Must always be last! */
101 
102 /* Enumerates the various representations of the ordering of audio channels.
103  * Logged to UMA, so never reuse a value, always add new/greater ones!
104  */
105 typedef enum {
108  /* Front C */
110  /* Front L, Front R */
112  /* Front L, Front R, Back C */
114  /* Front L, Front R, Front C */
116  /* Front L, Front R, Front C, Back C */
118  /* Front L, Front R, Side L, Side R */
120  /* Front L, Front R, Back L, Back R */
122  /* Front L, Front R, Front C, Side L, Side R */
124  /* Front L, Front R, Front C, Side L, Side R, LFE */
126  /* Front L, Front R, Front C, Back L, Back R */
128  /* Front L, Front R, Front C, Back L, Back R, LFE */
130  /* Front L, Front R, Front C, Side L, Side R, Back L, Back R */
132  /* Front L, Front R, Front C, Side L, Side R, LFE, Back L, Back R */
134  /* Front L, Front R, Front C, Side L, Side R, LFE, Front LofC, Front RofC */
136  /* Stereo L, Stereo R */
138  /* Stereo L, Stereo R, LFE */
140  /* Stereo L, Stereo R, Front C, LFE */
142  /* Stereo L, Stereo R, Front C, Rear C, LFE */
144  /* Stereo L, Stereo R, Front C, Side L, Side R, Back C */
146  /* Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC */
148  /* Stereo L, Stereo R, Side L, Side R, Front C, Rear C. */
150  /* Stereo L, Stereo R, Side L, Side R, Front C, Rear Center, LFE */
152  /* Stereo L, Stereo R, Back L, Back R, Front C, Rear Center, LFE */
154  /* Stereo L, Stereo R, Side L, Side R, Front LofC, Front RofC, LFE */
156  /* Front L, Front R, Front C, Side L, Side R, Front LofC, Front RofC */
158  /* Front L, Front R, Front C, Back L, Back R, LFE, Front LofC, Front RofC */
160  /* Front L, Front R, Front C, Side L, Side R, Rear C, Back L, Back R. */
162  /* Channels are not explicitly mapped to speakers. */
164  /* Total number of layouts.
165  * Must always be last!
166  */
170 
171 /* Enum describing video codecs type. */
172 typedef enum {
186  /* PP_VIDEOCODEC_TYPE_SAMSUNG_MAX - last codec from chromium's set.
187  */
189  /* Must equal the last "real" codec above.
190  * Used to determine absolute set size.
191  */
195 
196 /* Video stream profile.
197  * Keep the values in this enum unique, as they imply format (h.264 vs. VP8,
198  * for example), and keep the values for a particular format grouped
199  * together for clarity.
200  */
201 typedef enum {
228  /* next profile means last from Chromium profiles set */
230  /* Next profiles expand Chromium set
231  * and they are intentionally above PROFILE_MAX.
232  */
261  /* this is the really last profile, it's could be used for checking
262  * supported profile sets.
263  */
268 
269 /* Enum describing video frames formats. */
270 typedef enum {
271  /* Invalid format value. Used for error reporting. */
273  /* 32bpp RGB packed with extra byte 8:8:8 */
275  /* 12bpp YVU planar 1x1 Y, 2x2 VU samples */
277  /* 16bpp YVU planar 1x1 Y, 2x1 VU samples */
279  /* An empty frame. */
281  /* 12bpp YVU planar 1x1 Y, 2x2 UV samples. */
283  /* Native texture. Pixel-format agnostic. */
285  /* Hole frame. */
287  /* 20bpp YUVA planar 1x1 Y, 2x2 VU, 1x1 A samples. */
291 /**
292  * @}
293  */
294 
295 #endif /* PPAPI_C_SAMSUNG_PP_MEDIA_CODECS_SAMSUNG_H_ */
296 
PP_ChannelLayout_Samsung
PP_AudioCodec_Profile_Samsung
PP_VideoCodec_Profile_Samsung
PP_AudioCodec_Type_Samsung
PP_SampleFormat_Samsung
PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_AudioCodec_Type_Samsung, 4)
PP_VideoFrame_Format_Samsung
PP_VideoCodec_Type_Samsung