VLC 4.0.0-dev
|
Decoder and encoder modules interface. More...
Go to the source code of this file.
Data Structures | |
struct | decoder_owner_callbacks |
struct | decoder_t |
struct | decoder_cc_desc_t |
struct | encoder_owner_callbacks |
struct | vlc_encoder_operations |
struct | encoder_t |
struct | vlc_decoder_device_operations |
struct | vlc_decoder_device |
Decoder context struct. More... | |
Macros | |
#define | VLCDEC_SUCCESS VLC_SUCCESS |
#define | VLCDEC_ECRITICAL VLC_EGENERIC |
#define | VLCDEC_RELOAD (-100) |
#define | set_callback_dec_device(activate, priority) |
Typedefs | |
typedef struct decoder_cc_desc_t | decoder_cc_desc_t |
typedef struct vlc_decoder_device | vlc_decoder_device |
Decoder context struct. | |
typedef int(* | vlc_decoder_device_Open) (vlc_decoder_device *device, vlc_window_t *window) |
"decoder device" module open entry point | |
Enumerations | |
enum | vlc_decoder_device_type { VLC_DECODER_DEVICE_VAAPI , VLC_DECODER_DEVICE_VDPAU , VLC_DECODER_DEVICE_DXVA2 , VLC_DECODER_DEVICE_D3D11VA , VLC_DECODER_DEVICE_VIDEOTOOLBOX , VLC_DECODER_DEVICE_AWINDOW , VLC_DECODER_DEVICE_NVDEC , VLC_DECODER_DEVICE_MMAL , VLC_DECODER_DEVICE_GSTDECODE } |
Decoder device type. More... | |
Functions | |
vlc_decoder_device * | vlc_encoder_GetDecoderDevice (encoder_t *) |
Creates/Updates the output decoder device. | |
void | vlc_encoder_Destroy (encoder_t *encoder) |
static block_t * | vlc_encoder_EncodeVideo (encoder_t *encoder, picture_t *pic) |
static block_t * | vlc_encoder_EncodeAudio (encoder_t *encoder, block_t *audio) |
static block_t * | vlc_encoder_EncodeSub (encoder_t *encoder, subpicture_t *sub) |
vlc_decoder_device * | vlc_decoder_device_Create (vlc_object_t *, vlc_window_t *window) |
Create a decoder device from a window. | |
vlc_decoder_device * | vlc_decoder_device_Hold (vlc_decoder_device *device) |
Hold a decoder device. | |
void | vlc_decoder_device_Release (vlc_decoder_device *device) |
Release a decoder device. | |
static vlc_decoder_device * | decoder_GetDecoderDevice (decoder_t *dec) |
Creates/Updates the output decoder device. | |
int | decoder_UpdateVideoOutput (decoder_t *dec, vlc_video_context *vctx_out) |
Creates/Updates the rest of the video output pipeline. | |
int | decoder_UpdateVideoFormat (decoder_t *dec) |
Updates the video output format. | |
picture_t * | decoder_NewPicture (decoder_t *dec) |
Allocates an output picture buffer. | |
void | decoder_Init (decoder_t *dec, es_format_t *fmt_in, const es_format_t *fmt) |
Initialize a decoder structure before creating the decoder. | |
void | decoder_Destroy (decoder_t *p_dec) |
Destroy a decoder and reset the structure. | |
void | decoder_Clean (decoder_t *p_dec) |
Unload a decoder module and reset the input/output formats. | |
static void | decoder_QueueVideo (decoder_t *dec, picture_t *p_pic) |
This function queues a single picture to the video output. | |
static void | decoder_QueueCc (decoder_t *dec, vlc_frame_t *p_cc, const decoder_cc_desc_t *p_desc) |
This function queues the Closed Captions. | |
static void | decoder_QueueAudio (decoder_t *dec, vlc_frame_t *p_aout_buf) |
This function queues a single audio block to the audio output. | |
static void | decoder_QueueSub (decoder_t *dec, subpicture_t *p_spu) |
This function queues a single subtitle to the video output. | |
static int | decoder_UpdateAudioFormat (decoder_t *dec) |
This function notifies the audio output pipeline of a new audio output format (fmt_out.audio). | |
vlc_frame_t * | decoder_NewAudioBuffer (decoder_t *, int i_nb_samples) |
This function will return a new audio buffer usable by a decoder as an output buffer. | |
static subpicture_t * | decoder_NewSubpicture (decoder_t *dec, const subpicture_updater_t *p_dyn) |
This function will return a new subpicture usable by a decoder as an output buffer. | |
static int | decoder_GetInputAttachments (decoder_t *dec, input_attachment_t ***ppp_attachment, int *pi_attachment) |
This function gives all input attachments at once. | |
static vlc_tick_t | decoder_GetDisplayDate (decoder_t *dec, vlc_tick_t system_now, vlc_tick_t i_ts) |
This function converts a decoder timestamp into a display date comparable to vlc_tick_now(). | |
static float | decoder_GetDisplayRate (decoder_t *dec) |
This function returns the current input rate. | |
Decoder and encoder modules interface.
#define VLCDEC_ECRITICAL VLC_EGENERIC |
#define VLCDEC_RELOAD (-100) |
#define VLCDEC_SUCCESS VLC_SUCCESS |
vlc_decoder_device * vlc_encoder_GetDecoderDevice | ( | encoder_t * | enc | ) |
Creates/Updates the output decoder device.
Creates/Updates the output decoder device.
References encoder_t::cbs, encoder_t::fmt_in, encoder_owner_callbacks::get_device, es_format_t::i_cat, unlikely, encoder_owner_callbacks::video, VIDEO_ES, and vlc_assert.