Pepper_47_C_interfaces
pp_media_codecs_samsung.h
Go to the documentation of this file.
1 /* Copyright (c) 2016 Samsung Electronics. All rights reserved.
2  */
3 
4 /* From samsung/pp_media_codecs_samsung.idl,
5  * modified Fri Dec 23 12:07:10 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 {
187  /* PP_VIDEOCODEC_TYPE_SAMSUNG_MAX - last codec from chromium's set.
188  */
190  /* Must equal the last "real" codec above.
191  * Used to determine absolute set size.
192  */
196 
197 /* Video stream profile.
198  * Keep the values in this enum unique, as they imply format (h.264 vs. VP8,
199  * for example), and keep the values for a particular format grouped
200  * together for clarity.
201  */
202 typedef enum {
229  /* next profile means last from Chromium profiles set */
231  /* Next profiles expand Chromium set
232  * and they are intentionally above PROFILE_MAX.
233  */
262  /* this is the really last profile, it's could be used for checking
263  * supported profile sets.
264  */
269 
270 /* Enum describing video frames formats. */
271 typedef enum {
272  /* Invalid format value. Used for error reporting. */
274  /* 32bpp RGB packed with extra byte 8:8:8 */
276  /* 12bpp YVU planar 1x1 Y, 2x2 VU samples */
278  /* 16bpp YVU planar 1x1 Y, 2x1 VU samples */
280  /* An empty frame. */
282  /* 12bpp YVU planar 1x1 Y, 2x2 UV samples. */
284  /* Native texture. Pixel-format agnostic. */
286  /* Hole frame. */
288  /* 20bpp YUVA planar 1x1 Y, 2x2 VU, 1x1 A samples. */
293 /**
294  * @}
295  */
296 
297 #endif /* PPAPI_C_SAMSUNG_PP_MEDIA_CODECS_SAMSUNG_H_ */
298 
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