Structs
\ingroup FBC_STRUCT
Defines parameters for the ::NvFBCBindContext() API call.
Box used to describe an area of the tracked region to capture.
Defines parameters for the ::NvFBCCreateCaptureSession() API call.
Defines parameters for the CreateHandle() API call.
Defines parameters for the ::NvFBCDestroyCaptureSession() API call.
Defines parameters for the ::NvFBCDestroyHandle() API call.
Describes information about a captured frame.
Defines parameters for the ::NvFBCGetStatus() API call.
Describes an RandR output.
Defines parameters for the ::NvFBCReleaseContext() API call.
Size used to describe the size of a frame.
Defines parameters for the ::NvFBCToCudaGrabFrame() API call.
Defines parameters for the ::NvFBCToCudaSetUp() API call.
Defines parameters for the ::NvFBCToGLGrabFrame() API call.
Defines parameters for the ::NvFBCToGLSetUp() API call.
Defines parameters for the ::NvFBCToSysGrabFrame() API call.
Defines parameters for the ::NvFBCToSysSetUp() API call.
Constants
[in] Forces the destination buffer to be refreshed even if the frame has not changed since previous capture.
Default, capturing waits for a new frame or mouse move.
Capturing does not wait for a new frame nor a mouse move.
Similar to NVFBC_TOCUDA_GRAB_FLAGS_NOFLAGS, except that the capture will not wait if there is already a frame available that the client has never seen yet.
[in] Forces the destination buffer to be refreshed even if the frame has not changed since previous capture.
Default, capturing waits for a new frame or mouse move.
Capturing does not wait for a new frame nor a mouse move.
Similar to NVFBC_TOGL_GRAB_FLAGS_NOFLAGS, except that the capture will not wait if there is already a frame available that the client has never seen yet.
Forces the destination buffer to be refreshed even if the frame has not changed since previous capture.
Default, capturing waits for a new frame or mouse move.
Capturing does not wait for a new frame nor a mouse move.
Similar to NVFBC_TOSYS_GRAB_FLAGS_NOFLAGS, except that the capture will not wait if there is already a frame available that the client has never seen yet.
By default, NvFBC tries to track a connected primary output. If none is found, then it tries to track the first connected output. If none is found then it tracks the entire X screen.
Track an RandR output specified by its ID in the appropriate field.
Track the entire X screen.
This indicates that the API version between the client and the library is not compatible.
This indicates that the API call was not expected. This happens when API calls are performed in a wrong order, such as trying to capture a frame prior to creating a new capture session; or trying to set up a capture to video memory although a capture session to system memory was created.
This indicates an NvFBC context error.
This indicates a CUDA error.
This indicates a HW encoder error.
This indicates an OpenGL error.
This indicates a GLX error.
An internal error occurred.
This indicates that the handle passed to the API call to identify the client is invalid.
This indicates that one or more of the parameter passed to the API call is invalid.
This indicates that one or more of the pointers passed to the API call is invalid.
This indicates that the maximum number of threaded clients of the same process has been reached. The limit is 10 threads per process. There is no limit on the number of process.
This indicates that the application must recreate the capture session.
This indicates that the API call failed because it was unable to allocate enough memory to perform the requested operation.
This indicates that the requested feature is not currently supported by the library.
This indicates a Vulkan error.
This indicates an X error, most likely meaning that the X server has been terminated. When this error is returned, the only resort is to create another FBC handle using NvFBCCreateHandle().
This indicates that the API call returned with no errors.
False value.
True value.
Data will be converted to ARGB8888 byte-order format. 32 bpp.
Native format. No pixel conversion needed. BGRA8888 byte-order format. 32 bpp.
Data will be converted to NV12 format using HDTV weights according to ITU-R BT.709. 12 bpp.
Data will be converted to RGB888 byte-order format. 24 bpp.
Data will be converted to RGBA8888 byte-order format. 32 bpp.
Data will be converted to YUV 444 planar format using HDTV weights according to ITU-R BT.709. 24 bpp
Capture frames to a CUDA device in video memory.
Capture frames to an OpenGL buffer in video memory.
Capture frames to a buffer in system memory.
Functions
\brief Binds the FBC context to the calling thread.
\brief Creates a capture session for an FBC client.
\brief Allocates a new handle for an NvFBC client.
\ingroup FBC_FUNC
\brief Destroys a capture session for an FBC client.
\brief Destroys the handle of an NvFBC client.
Gets the last error message that got recorded for a client.
\brief Gets the current status of the display driver.
\brief Releases the FBC context from the calling thread.
\brief Captures a frame to a CUDA device in video memory.
\brief Sets up a capture to video memory session.
\brief Captures a frame to an OpenGL buffer in video memory.
\brief Sets up a capture to OpenGL buffer in video memory session.
\brief Captures a frame to a buffer in system memory.
\brief Sets up a capture to system memory session.
Type Definitions
Defines error codes.
Defines parameters for the ::NvFBCBindContext() API call.
Defines boolean values.
Box used to describe an area of the tracked region to capture.
Buffer format.
Capture type.
Defines parameters for the ::NvFBCCreateCaptureSession() API call.
Defines parameters for the CreateHandle() API call.
Defines parameters for the ::NvFBCDestroyCaptureSession() API call.
Defines parameters for the ::NvFBCDestroyHandle() API call.
Describes information about a captured frame.
Defines parameters for the ::NvFBCGetStatus() API call.
Describes an RandR output.
Defines parameters for the ::NvFBCReleaseContext() API call.
Handle used to identify an NvFBC session.
Size used to describe the size of a frame.
Defines flags that can be used when capturing to a CUDA buffer in video memory.
Defines parameters for the ::NvFBCToCudaGrabFrame() API call.
Defines parameters for the ::NvFBCToCudaSetUp() API call.
Defines flags that can be used when capturing to an OpenGL buffer in video memory.
Defines parameters for the ::NvFBCToGLGrabFrame() API call.
Defines parameters for the ::NvFBCToGLSetUp() API call.
Defines flags that can be used when capturing to system memory.
Defines parameters for the ::NvFBCToSysGrabFrame() API call.
Defines parameters for the ::NvFBCToSysSetUp() API call.
Tracking type.
\ingroup FBC_FUNC
\cond FBC_PFN
Defines error codes.
Defines boolean values.
Buffer format.
Capture type.