Initialize Tizen 2.3
[framework/graphics/native-buffer.git] / doc / native-buffer-doc.h
1 /**************************************************************************
2
3 Native Buffer
4
5 Copyright 2013 Samsung Electronics co., Ltd. All Rights Reserved.
6
7 Contact: Dongyeon Kim <dy5.kim@samsung.com>
8               Inpyo Kang <mantiger@samsung.com>
9               Carsten Haitzler <raster@rasterman.com>
10
11 Permission is hereby granted, free of charge, to any person obtaining a
12 copy of this software and associated documentation files (the
13 "Software"), to deal in the Software without restriction, including
14 without limitation the rights to use, copy, modify, merge, publish,
15 distribute, sub license, and/or sell copies of the Software, and to
16 permit persons to whom the Software is furnished to do so, subject to
17 the following conditions:
18
19 The above copyright notice and this permission notice (including the
20 next paragraph) shall be included in all copies or substantial portions
21 of the Software.
22
23 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
24 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
26 IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
27 ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
28 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
29 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30
31 **************************************************************************/
32
33 #ifndef __NATIVE_BUFFER_DOC_H__
34 #define __NATIVE_BUFFER_DOC_H__
35
36 /**
37  * @internal
38  * @ingroup CAPI_UI_FRAMEWORK
39  * @defgroup NATIVE_BUFFER Native Buffer
40  * @brief Provides buffer that can be shared between different types of hardware.
41  *
42  * @section NATIVE_BUFFER_HEADER Required Header
43  *   \#include <native-buffer.h>
44  *
45  * @section NATIVE_BUFFER_OVERVIEW Overview
46  * Provides buffer that can be written into or read from using CPU, GPU or video
47  * without extra memory copy overhead.
48  * Native buffer can be created with specified format and usage options.
49  * Supported formats include commonly used
50  * RGB colorspace formats (RGBA8888, RGBX8888, RGB888, RGB565, BGRA8888, A8),
51  * and YUV colorspace formats (YV12, I420, NV12, NV21, NV12T).
52  * The buffer can be locked for one or more specific uses or purposes.
53  * It may be locked for CPU to gain read/write access, or GPU, video to use.
54  * Native buffer can also be bound to OpenGL ES texture object using EGL image.
55  * The texture object should use the GL_TEXTURE_EXTERNAL_OES texture target,
56  * which is defined by GL_OES_EGL_image_external OpenGL ES extension.
57  * Also, EGL_TIZEN_image_native_buffer EGL extension should be supported to
58  * create an EGL image from native buffer.
59  *
60  */
61
62 #endif /* __NATIVE_BUFFER_DOC_H__ */
63