FreeSWITCH API Documentation  1.7.0
switch_vpx.h
Go to the documentation of this file.
1 /*
2  * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
3  * Copyright (C) 2005-2014, Anthony Minessale II <anthm@freeswitch.org>
4  *
5  * Version: MPL 1.1
6  *
7  * The contents of this file are subject to the Mozilla Public License Version
8  * 1.1 (the "License"); you may not use this file except in compliance with
9  * the License. You may obtain a copy of the License at
10  * http://www.mozilla.org/MPL/
11  *
12  * Software distributed under the License is distributed on an "AS IS" basis,
13  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
14  * for the specific language governing rights and limitations under the
15  * License.
16  *
17  * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
18  *
19  * The Initial Developer of the Original Code is
20  * Seven Du <dujinfang@gmail.com>
21  * Portions created by the Initial Developer are Copyright (C)
22  * the Initial Developer. All Rights Reserved.
23  *
24  * Contributor(s):
25  *
26  *
27  * switch_vpx.h -- vpx resources
28  *
29  */
30 /*! \file switch_vpx.h
31  \brief vpx resources
32 
33  The things powered by libvpx are renamed into the switch_ namespace to provide a cleaner
34  look to things and helps me to document what parts of video I am using I'd like to take this
35  opportunity to thank libvpx for all the awesome stuff it does and for making my life much easier.
36 
37 */
38 
39 #ifndef SWITCH_VPX_H
40 #define SWITCH_VPX_H
41 
42 #include <switch.h>
43 #include <switch_image.h>
44 
46 
47 #define SWITCH_IMG_FMT_PLANAR VPX_IMG_FMT_PLANAR
48 #define SWITCH_IMG_FMT_UV_FLIP VPX_IMG_FMT_UV_FLIP
49 #define SWITCH_IMG_FMT_HAS_ALPHA VPX_IMG_FMT_HAS_ALPHA
50 
51 
52 #define SWITCH_PLANE_PACKED VPX_PLANE_PACKED
53 #define SWITCH_PLANE_Y VPX_PLANE_Y
54 #define SWITCH_PLANE_U VPX_PLANE_U
55 #define SWITCH_PLANE_V VPX_PLANE_V
56 #define SWITCH_PLANE_ALPHA VPX_PLANE_ALPHA
57 
58 #ifndef VPX_IMG_FMT_HIGH /* not available in libvpx 1.3.0 (see commit hash e97aea28) */
59 #define VPX_IMG_FMT_HIGH 0x800 /**< Image uses 16bit framebuffer */
60 #endif
61 
62 #define SWITCH_IMG_FMT_NONE VPX_IMG_FMT_NONE
63 #define SWITCH_IMG_FMT_RGB24 VPX_IMG_FMT_RGB24
64 #define SWITCH_IMG_FMT_RGB32 VPX_IMG_FMT_RGB32
65 #define SWITCH_IMG_FMT_RGB565 VPX_IMG_FMT_RGB565
66 #define SWITCH_IMG_FMT_RGB555 VPX_IMG_FMT_RGB555
67 #define SWITCH_IMG_FMT_UYVY VPX_IMG_FMT_UYVY
68 #define SWITCH_IMG_FMT_YUY2 VPX_IMG_FMT_YUY2
69 #define SWITCH_IMG_FMT_YVYU VPX_IMG_FMT_YVYU
70 #define SWITCH_IMG_FMT_BGR24 VPX_IMG_FMT_BGR24
71 #define SWITCH_IMG_FMT_RGB32_LE VPX_IMG_FMT_RGB32_LE
72 #define SWITCH_IMG_FMT_ARGB VPX_IMG_FMT_ARGB
73 #define SWITCH_IMG_FMT_ARGB_LE VPX_IMG_FMT_ARGB_LE
74 #define SWITCH_IMG_FMT_RGB565_LE VPX_IMG_FMT_RGB565_LE
75 #define SWITCH_IMG_FMT_RGB555_LE VPX_IMG_FMT_RGB555_LE
76 #define SWITCH_IMG_FMT_YV12 VPX_IMG_FMT_YV12
77 #define SWITCH_IMG_FMT_I420 VPX_IMG_FMT_I420
78 #define SWITCH_IMG_FMT_VPXYV12 VPX_IMG_FMT_VPXYV12
79 #define SWITCH_IMG_FMT_VPXI420 VPX_IMG_FMT_VPXI420
80 #define SWITCH_IMG_FMT_I422 VPX_IMG_FMT_I422
81 #define SWITCH_IMG_FMT_I444 VPX_IMG_FMT_I444
82 #define SWITCH_IMG_FMT_I440 VPX_IMG_FMT_I440
83 #define SWITCH_IMG_FMT_444A VPX_IMG_FMT_444A
84 #define SWITCH_IMG_FMT_I42016 VPX_IMG_FMT_I42016
85 #define SWITCH_IMG_FMT_I42216 VPX_IMG_FMT_I42216
86 #define SWITCH_IMG_FMT_I44416 VPX_IMG_FMT_I44416
87 #define SWITCH_IMG_FMT_I44016 VPX_IMG_FMT_I44016
88 /* experimental */
89 #define SWITCH_IMG_FMT_GD VPX_IMG_FMT_NONE
90 
92 
94 
95 
97 #endif
98 
99 /* For Emacs:
100  * Local Variables:
101  * mode:c
102  * indent-tabs-mode:t
103  * tab-width:4
104  * c-basic-offset:4
105  * End:
106  * For VIM:
107  * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet:
108  */
vpx_image_t switch_image_t
Definition: switch_vpx.h:93
Image Descriptor.
Definition: switch_image.h:88
#define SWITCH_END_EXTERN_C
Definition: switch.h:43
vpx_img_fmt_t switch_img_fmt_t
Definition: switch_vpx.h:91
Describes the vpx image descriptor and associated operations.
Main Library Header.
enum vpx_img_fmt vpx_img_fmt_t
List of supported image formats.
#define SWITCH_BEGIN_EXTERN_C
Definition: switch.h:42