VLC 4.0.0-dev
|
This file defines picture structures and functions in vlc. More...
Go to the source code of this file.
Data Structures | |
struct | plane_t |
Description of a planar graphic field. More... | |
struct | picture_context_t |
struct | picture_buffer_t |
struct | vlc_video_context_operations |
struct | picture_t |
Video picture. More... | |
struct | vlc_pic_chain |
picture chaining helpers More... | |
struct | picture_resource_t |
Resource for a picture. More... | |
Macros | |
#define | PICTURE_PLANE_MAX (VOUT_MAX_PLANES) |
Maximum number of plane for a picture. | |
#define | Y_PIXELS p[Y_PLANE].p_pixels |
#define | Y_PITCH p[Y_PLANE].i_pitch |
#define | U_PIXELS p[U_PLANE].p_pixels |
#define | U_PITCH p[U_PLANE].i_pitch |
#define | V_PIXELS p[V_PLANE].p_pixels |
#define | V_PITCH p[V_PLANE].i_pitch |
#define | A_PIXELS p[A_PLANE].p_pixels |
#define | A_PITCH p[A_PLANE].i_pitch |
Typedefs | |
typedef uint32_t | vlc_ancillary_id |
typedef struct plane_t | plane_t |
Description of a planar graphic field. | |
typedef struct picture_context_t | picture_context_t |
typedef struct picture_buffer_t | picture_buffer_t |
typedef struct vlc_decoder_device | vlc_decoder_device |
typedef struct vlc_video_context | vlc_video_context |
typedef struct vlc_pic_chain | vlc_picture_chain_t |
picture chaining helpers | |
Enumerations | |
enum | vlc_video_context_type { VLC_VIDEO_CONTEXT_VAAPI = 1 , VLC_VIDEO_CONTEXT_VDPAU , VLC_VIDEO_CONTEXT_DXVA2 , VLC_VIDEO_CONTEXT_D3D11VA , VLC_VIDEO_CONTEXT_AWINDOW , VLC_VIDEO_CONTEXT_NVDEC , VLC_VIDEO_CONTEXT_CVPX , VLC_VIDEO_CONTEXT_MMAL , VLC_VIDEO_CONTEXT_GSTDECODE } |
Decoder device type. More... | |
enum | { Y_PLANE = 0 , U_PLANE = 1 , V_PLANE = 2 , A_PLANE = 3 } |
Functions | |
vlc_video_context * | vlc_video_context_Create (vlc_decoder_device *, enum vlc_video_context_type private_type, size_t private_size, const struct vlc_video_context_operations *) |
void | vlc_video_context_Release (vlc_video_context *) |
enum vlc_video_context_type | vlc_video_context_GetType (const vlc_video_context *) |
void * | vlc_video_context_GetPrivate (vlc_video_context *, enum vlc_video_context_type) |
vlc_video_context * | vlc_video_context_Hold (vlc_video_context *) |
vlc_decoder_device * | vlc_video_context_HoldDevice (vlc_video_context *) |
Get the decoder device used by the device context. | |
static vlc_video_context * | picture_GetVideoContext (picture_t *pic) |
static bool | picture_HasChainedPics (const picture_t *pic) |
Check whether a picture has other pictures linked. | |
static void | vlc_picture_chain_Init (vlc_picture_chain_t *chain) |
Initializes or reset a picture chain. | |
static bool | vlc_picture_chain_IsEmpty (const vlc_picture_chain_t *chain) |
Check whether a picture chain holds pictures or not. | |
static bool | vlc_picture_chain_HasNext (const vlc_picture_chain_t *chain) |
Check whether a picture chain has more than one picture. | |
static picture_t * | vlc_picture_chain_PopFront (vlc_picture_chain_t *chain) |
Pop the front of a picture chain. | |
static picture_t * | vlc_picture_chain_PeekFront (vlc_picture_chain_t *chain) |
Peek the front of a picture chain. | |
static void | vlc_picture_chain_Append (vlc_picture_chain_t *chain, picture_t *pic) |
Append a picture to a picture chain. | |
static void | vlc_picture_chain_AppendChain (picture_t *chain, picture_t *tail) |
Append a picture chain to a picture chain. | |
static void | vlc_picture_chain_GetAndClear (vlc_picture_chain_t *in, vlc_picture_chain_t *out) |
Copy the picture chain in another picture chain and clear the original picture chain. | |
static vlc_picture_chain_t | picture_GetAndResetChain (picture_t *pic) |
Reset a picture chain. | |
picture_t * | picture_New (vlc_fourcc_t i_chroma, int i_width, int i_height, int i_sar_num, int i_sar_den) |
This function will create a new picture. | |
picture_t * | picture_NewFromFormat (const video_format_t *p_fmt) |
This function will create a new picture using the given format. | |
picture_t * | picture_NewFromResource (const video_format_t *, const picture_resource_t *) |
This function will create a new picture using the provided resource. | |
void | picture_Destroy (picture_t *picture) |
Destroys a picture without references. | |
static picture_t * | picture_Hold (picture_t *picture) |
Increments the picture reference count. | |
static void | picture_Release (picture_t *picture) |
Decrements the picture reference count. | |
void | picture_CopyProperties (picture_t *p_dst, const picture_t *p_src) |
This function will copy all picture dynamic properties. | |
void | picture_Reset (picture_t *) |
This function will reset a picture information (properties and quantizers). | |
void | picture_CopyPixels (picture_t *p_dst, const picture_t *p_src) |
This function will copy the picture pixels. | |
void | plane_CopyPixels (plane_t *p_dst, const plane_t *p_src) |
void | picture_Copy (picture_t *p_dst, const picture_t *p_src) |
This function will copy both picture dynamic properties and pixels. | |
picture_t * | picture_Clone (picture_t *pic) |
Perform a shallow picture copy. | |
int | picture_AttachAncillary (picture_t *pic, struct vlc_ancillary *ancillary) |
Attach an ancillary to the picture. | |
void * | picture_AttachNewAncillary (picture_t *pic, vlc_ancillary_id id, size_t size) |
Allocate a new ancillary and attach it to a picture. | |
struct vlc_ancillary * | picture_GetAncillary (const picture_t *pic, vlc_ancillary_id id) |
Return the ancillary identified by an ID. | |
int | picture_Export (vlc_object_t *p_obj, block_t **pp_image, video_format_t *p_fmt, picture_t *p_picture, vlc_fourcc_t i_codec, int i_override_width, int i_override_height, bool b_crop) |
This function will export a picture to an encoded bitstream. | |
int | picture_Setup (picture_t *, const video_format_t *) |
This function will setup all fields of a picture_t without allocating any memory. | |
static void | picture_SwapUV (picture_t *picture) |
Swap UV planes of a Tri Planars picture. | |
This file defines picture structures and functions in vlc.
typedef uint32_t vlc_ancillary_id |