123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- #ifndef _EGLSTREAM_NV_IMAGE_NATIVE_BUFFER_H
- #define _EGLSTREAM_NV_IMAGE_NATIVE_BUFFER_H
- #include "nvbufsurface.h"
- namespace EGLStream
- {
- DEFINE_UUID(Argus::ExtensionName, NV_IMAGE_NATIVE_BUFFER, ce9e8c60,1792,11e6,bdf4,08,00,20,0c,9a,66);
- namespace NV
- {
- enum Rotation
- {
- ROTATION_0,
- ROTATION_90,
- ROTATION_180,
- ROTATION_270,
- ROTATION_COUNT
- };
- DEFINE_UUID(Argus::InterfaceID, IID_IMAGE_NATIVE_BUFFER, 2f410340,1793,11e6,bdf4,08,00,20,0c,9a,66);
- class IImageNativeBuffer : public Argus::Interface
- {
- public:
- static const Argus::InterfaceID& id() { return IID_IMAGE_NATIVE_BUFFER; }
-
- virtual int createNvBuffer(Argus::Size2D<uint32_t> size,
- NvBufSurfaceColorFormat format,
- NvBufSurfaceLayout layout,
- Rotation rotation = ROTATION_0,
- Argus::Status* status = NULL) const = 0;
-
- virtual Argus::Status copyToNvBuffer(int fd, Rotation rotation = ROTATION_0) const = 0;
- protected:
- ~IImageNativeBuffer() {}
- };
- }
- }
- #endif
|