19 #ifndef AVUTIL_HWCONTEXT_H 20 #define AVUTIL_HWCONTEXT_H 420 const void *hwconfig);
This struct aggregates all the (hardware/vendor-specific) "high-level" state, i.e.
This structure describes decoded (raw) audio or video data.
void av_hwframe_constraints_free(AVHWFramesConstraints **constraints)
Free an AVHWFrameConstraints structure.
int width
The allocated dimensions of the frames in this pool.
enum AVPixelFormat format
The pixel format identifying the underlying HW surface type.
struct AVHWFramesInternal AVHWFramesInternal
void * user_opaque
Arbitrary user data, to be used e.g.
int max_width
The maximum size of frames in this hw_frames_ctx.
AVBufferRef * av_hwframe_ctx_alloc(AVBufferRef *device_ctx)
Allocate an AVHWFramesContext tied to a given device context.
int av_hwframe_transfer_data(AVFrame *dst, const AVFrame *src, int flags)
Copy data to or from a hw surface.
AVHWFramesConstraints * av_hwdevice_get_hwframe_constraints(AVBufferRef *ref, const void *hwconfig)
Get the constraints on HW frames given a device and the HW-specific configuration to be used with tha...
void * hwctx
The format-specific data, allocated and freed by libavutil along with this context.
int av_hwframe_transfer_get_formats(AVBufferRef *hwframe_ctx, enum AVHWFrameTransferDirection dir, enum AVPixelFormat **formats, int flags)
Get a list of possible source or target formats usable in av_hwframe_transfer_data().
const AVClass * av_class
A class for logging.
struct AVBufferPool AVBufferPool
The buffer pool.
AVBufferRef * av_hwdevice_ctx_alloc(enum AVHWDeviceType type)
Allocate an AVHWDeviceContext for a given pixel format.
struct AVDictionary AVDictionary
int av_hwframe_get_buffer(AVBufferRef *hwframe_ctx, AVFrame *frame, int flags)
Allocate a new frame attached to the given AVHWFramesContext.
enum AVHWDeviceType type
This field identifies the underlying API used for hardware access.
struct AVHWDeviceInternal AVHWDeviceInternal
reference-counted frame API
int initial_pool_size
Initial size of the frame pool.
Transfer the data from the queried hw frame.
AVHWDeviceContext * device_ctx
The parent AVHWDeviceContext.
int av_hwframe_ctx_init(AVBufferRef *ref)
Finalize the context before use.
int min_width
The minimum size of frames in this hw_frames_ctx.
Transfer the data to the queried hw frame.
This struct describes the constraints on hardware frames attached to a given device with a hardware-s...
int av_hwdevice_ctx_init(AVBufferRef *ref)
Finalize the device context before use.
void * hwctx
The format-specific data, allocated and freed automatically along with this context.
const AVClass * av_class
A class for logging.
Describe the class of an AVClass context structure.
This struct describes a set or pool of "hardware" frames (i.e.
refcounted data buffer API
enum AVPixelFormat * valid_hw_formats
A list of possible values for format in the hw_frames_ctx, terminated by AV_PIX_FMT_NONE.
void * user_opaque
Arbitrary user data, to be used e.g.
AVBufferRef * device_ref
A reference to the parent AVHWDeviceContext.
A reference to a data buffer.
AVHWFrameTransferDirection
AVBufferPool * pool
A pool from which the frames are allocated by av_hwframe_get_buffer().
int av_hwdevice_ctx_create(AVBufferRef **device_ctx, enum AVHWDeviceType type, const char *device, AVDictionary *opts, int flags)
Open a device of the specified type and create an AVHWDeviceContext for it.
enum AVPixelFormat * valid_sw_formats
A list of possible values for sw_format in the hw_frames_ctx, terminated by AV_PIX_FMT_NONE.
void(* free)(struct AVHWDeviceContext *ctx)
This field may be set by the caller before calling av_hwdevice_ctx_init().
void * av_hwdevice_hwconfig_alloc(AVBufferRef *device_ctx)
Allocate a HW-specific configuration structure for a given HW device.
enum AVPixelFormat sw_format
The pixel format identifying the actual data layout of the hardware frames.
AVPixelFormat
Pixel format.