Multimedia API Reference

November 16, 2016 | 24.2.1 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
nvbuf_utils.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA Corporation and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA Corporation is strictly prohibited.
9  */
10 
24 #ifndef _NVBUF_UTILS_H_
25 #define _NVBUF_UTILS_H_
26 
27 #ifdef __cplusplus
28 extern "C"
29 {
30 #endif
31 
32 #include <EGL/egl.h>
33 #include <EGL/eglext.h>
34 #include <errno.h>
35 
36 #define MAX_NUM_PLANES 3
37 
38 typedef enum
39 {
43 
44 typedef enum
45 {
55 
56 typedef struct _NvBufferParams
57 {
58  uint32_t dmabuf_fd;
59  void *nv_buffer;
60  uint32_t nv_buffer_size;
61  uint32_t pixel_format;
62  uint32_t num_planes;
63  uint32_t width[MAX_NUM_PLANES];
65  uint32_t pitch[MAX_NUM_PLANES];
68 
77 EGLImageKHR NvEGLImageFromFd (EGLDisplay display, int dmabuf_fd);
78 
87 int NvDestroyEGLImage (EGLDisplay display, EGLImageKHR eglImage);
88 
99 int NvBufferCreate (int *dmabuf_fd, int width, int height,
100  NvBufferLayout layout, NvBufferColorFormat colorFormat);
101 
109 int NvBufferGetParams (int dmabuf_fd, NvBufferParams *params);
110 
117 int NvBufferDestroy (int dmabuf_fd);
118 
119 #ifdef __cplusplus
120 }
121 #endif
122 
123 #endif
uint32_t num_planes
Definition: nvbuf_utils.h:62
uint32_t nv_buffer_size
Definition: nvbuf_utils.h:60
uint32_t pixel_format
Definition: nvbuf_utils.h:61
#define MAX_NUM_PLANES
Definition: nvbuf_utils.h:36
uint32_t height[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:64
struct _NvBufferParams NvBufferParams
uint32_t width[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:63
uint32_t pitch[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:65
int NvBufferCreate(int *dmabuf_fd, int width, int height, NvBufferLayout layout, NvBufferColorFormat colorFormat)
Use this method to allocate HW buffer.
EGLImageKHR NvEGLImageFromFd(EGLDisplay display, int dmabuf_fd)
This method must be used for getting EGLImage from dmabuf-fd.
uint32_t dmabuf_fd
Definition: nvbuf_utils.h:58
uint32_t offset[MAX_NUM_PLANES]
Definition: nvbuf_utils.h:66
void * nv_buffer
Definition: nvbuf_utils.h:59
int NvBufferGetParams(int dmabuf_fd, NvBufferParams *params)
Use this method to get buffer parameters.
NvBufferLayout
Definition: nvbuf_utils.h:38
int NvBufferDestroy(int dmabuf_fd)
This method must be used for destroying hw_buffer.
NvBufferColorFormat
Definition: nvbuf_utils.h:44
int NvDestroyEGLImage(EGLDisplay display, EGLImageKHR eglImage)
This method must be used for destroying EGLImage object.