126# define VLCDEC_SUCCESS VLC_SUCCESS
127# define VLCDEC_ECRITICAL VLC_EGENERIC
128# define VLCDEC_RELOAD (-100)
518 msg_Warn( dec,
"can't get output subpicture" );
643#define set_callback_dec_device(activate, priority) \
645 vlc_decoder_device_Open open__ = activate; \
647 set_callback(activate) \
649 set_capability( "decoder device", priority )
#define VLC_USED
Definition fourcc_gen.c:32
#define VLC_API
Definition fourcc_gen.c:31
#define unlikely(p)
Predicted false condition.
Definition vlc_common.h:246
#define vlc_assert(pred)
Run-time assertion.
Definition vlc_common.h:290
vlc_decoder_device * vlc_decoder_device_Create(vlc_object_t *, vlc_window_t *window)
Create a decoder device from a window.
Definition decoder_device.c:49
void vlc_decoder_device_Release(vlc_decoder_device *device)
Release a decoder device.
Definition decoder_device.c:82
int(* vlc_decoder_device_Open)(vlc_decoder_device *device, vlc_window_t *window)
"decoder device" module open entry point
Definition vlc_codec.h:641
vlc_decoder_device_type
Decoder device type.
Definition vlc_codec.h:585
vlc_decoder_device * vlc_decoder_device_Hold(vlc_decoder_device *device)
Hold a decoder device.
Definition decoder_device.c:73
@ VLC_DECODER_DEVICE_AWINDOW
Definition vlc_codec.h:591
@ VLC_DECODER_DEVICE_NVDEC
Definition vlc_codec.h:592
@ VLC_DECODER_DEVICE_D3D11VA
Definition vlc_codec.h:589
@ VLC_DECODER_DEVICE_VIDEOTOOLBOX
Definition vlc_codec.h:590
@ VLC_DECODER_DEVICE_VDPAU
Definition vlc_codec.h:587
@ VLC_DECODER_DEVICE_GSTDECODE
Definition vlc_codec.h:594
@ VLC_DECODER_DEVICE_VAAPI
Definition vlc_codec.h:586
@ VLC_DECODER_DEVICE_DXVA2
Definition vlc_codec.h:588
@ VLC_DECODER_DEVICE_MMAL
Definition vlc_codec.h:593
void decoder_Destroy(decoder_t *p_dec)
Destroy a decoder and reset the structure.
Definition decoder_helpers.c:71
int decoder_UpdateVideoFormat(decoder_t *dec)
Updates the video output format.
Definition decoder_helpers.c:80
static int decoder_GetInputAttachments(decoder_t *dec, input_attachment_t ***ppp_attachment, int *pi_attachment)
This function gives all input attachments at once.
Definition vlc_codec.h:530
static void decoder_QueueSub(decoder_t *dec, subpicture_t *p_spu)
This function queues a single subtitle to the video output.
Definition vlc_codec.h:475
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().
Definition vlc_codec.h:548
static void decoder_QueueAudio(decoder_t *dec, vlc_frame_t *p_aout_buf)
This function queues a single audio block to the audio output.
Definition vlc_codec.h:460
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.
Definition vlc_codec.h:442
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.
Definition decoder.c:1014
int decoder_UpdateVideoOutput(decoder_t *dec, vlc_video_context *vctx_out)
Creates/Updates the rest of the video output pipeline.
Definition decoder_helpers.c:85
static int decoder_UpdateAudioFormat(decoder_t *dec)
This function notifies the audio output pipeline of a new audio output format (fmt_out....
Definition vlc_codec.h:489
static float decoder_GetDisplayRate(decoder_t *dec)
This function returns the current input rate.
Definition vlc_codec.h:565
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_Clean(decoder_t *p_dec)
Unload a decoder module and reset the input/output formats.
Definition decoder_helpers.c:54
picture_t * decoder_NewPicture(decoder_t *dec)
Allocates an output picture buffer.
Definition decoder_helpers.c:159
static vlc_decoder_device * decoder_GetDecoderDevice(decoder_t *dec)
Creates/Updates the output decoder device.
Definition vlc_codec.h:330
static void decoder_QueueVideo(decoder_t *dec, picture_t *p_pic)
This function queues a single picture to the video output.
Definition vlc_codec.h:427
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.
Definition vlc_codec.h:512
static block_t * vlc_encoder_EncodeAudio(encoder_t *encoder, block_t *audio)
Definition vlc_codec.h:293
static block_t * vlc_encoder_EncodeSub(encoder_t *encoder, subpicture_t *sub)
Definition vlc_codec.h:300
static block_t * vlc_encoder_EncodeVideo(encoder_t *encoder, picture_t *pic)
Definition vlc_codec.h:286
void vlc_encoder_Destroy(encoder_t *encoder)
Definition decoder_helpers.c:177
#define VLC_EGENERIC
Unspecified error.
Definition vlc_common.h:480
#define msg_Warn(p_this,...)
Definition vlc_messages.h:104
static bool picture_HasChainedPics(const picture_t *pic)
Check whether a picture has other pictures linked.
Definition vlc_picture.h:177
Definition vlc_configuration.h:320
Definition vlc_codec.h:207
int i_reorder_depth
Definition vlc_codec.h:210
uint8_t i_608_channels
Definition vlc_codec.h:208
uint64_t i_708_channels
Definition vlc_codec.h:209
Definition vlc_codec.h:48
int(* get_attachments)(decoder_t *p_dec, input_attachment_t ***ppp_attachment, int *pi_attachment)
Definition vlc_codec.h:91
int(* format_update)(decoder_t *, vlc_video_context *)
Definition vlc_codec.h:54
void(* queue)(decoder_t *, picture_t *)
Definition vlc_codec.h:59
void(* queue_cc)(decoder_t *, vlc_frame_t *, const decoder_cc_desc_t *)
Definition vlc_codec.h:61
struct decoder_owner_callbacks::@195::@198 audio
picture_t *(* buffer_new)(decoder_t *)
Definition vlc_codec.h:57
struct decoder_owner_callbacks::@195::@197 video
struct decoder_owner_callbacks::@195::@199 spu
vlc_tick_t(* get_display_date)(decoder_t *, vlc_tick_t, vlc_tick_t)
Definition vlc_codec.h:66
vlc_decoder_device *(* get_device)(decoder_t *)
Definition vlc_codec.h:53
float(* get_display_rate)(decoder_t *)
Definition vlc_codec.h:69
Definition vlc_codec.h:102
module_t * p_module
Definition vlc_codec.h:106
struct vlc_object_t obj
Definition vlc_codec.h:103
void(* pf_flush)(decoder_t *)
Definition vlc_codec.h:184
void * p_sys
Definition vlc_codec.h:107
es_format_t fmt_out
Definition vlc_codec.h:114
bool b_frame_drop_allowed
Definition vlc_codec.h:117
const es_format_t * fmt_in
Definition vlc_codec.h:111
int i_extra_picture_buffers
Number of extra (ie in addition to the DPB) picture buffers needed for decoding.
Definition vlc_codec.h:123
const struct decoder_owner_callbacks * cbs
Definition vlc_codec.h:201
vlc_meta_t * p_description
Definition vlc_codec.h:198
int(* pf_decode)(decoder_t *, vlc_frame_t *frame)
Definition vlc_codec.h:151
Definition vlc_codec.h:218
struct encoder_owner_callbacks::@202 video
Definition vlc_codec.h:255
void * p_sys
Definition vlc_codec.h:260
config_chain_t * p_cfg
Definition vlc_codec.h:276
es_format_t fmt_in
Definition vlc_codec.h:263
int i_threads
Definition vlc_codec.h:270
module_t * p_module
Definition vlc_codec.h:259
struct vlc_object_t obj
Definition vlc_codec.h:256
es_format_t fmt_out
Definition vlc_codec.h:267
int i_tolerance
Definition vlc_codec.h:273
int i_iframes
Definition vlc_codec.h:271
const struct encoder_owner_callbacks * cbs
Definition vlc_codec.h:280
int i_bframes
Definition vlc_codec.h:272
const struct vlc_encoder_operations * ops
Definition vlc_codec.h:279
vlc_video_context * vctx_in
Definition vlc_codec.h:264
Internal module descriptor.
Definition modules.h:76
Video picture.
Definition vlc_picture.h:130
Video subtitle.
Definition vlc_subpicture.h:234
subpicture_t * p_next
an increasing unique number
Definition vlc_subpicture.h:244
bool b_subtitle
subtitle with timestamps relative to the video
Definition vlc_subpicture.h:259
Definition vlc_subpicture.h:203
Definition vlc_codec.h:598
void(* close)(struct vlc_decoder_device *)
Definition vlc_codec.h:599
Decoder context struct.
Definition vlc_codec.h:606
enum vlc_decoder_device_type type
Must be set from the "decoder device" module open entry point.
Definition vlc_codec.h:616
void * sys
Private context that could be used by the "decoder device" module implementation.
Definition vlc_codec.h:613
void * opaque
Could be set from the "decoder device" module open entry point and will be used by hardware decoder m...
Definition vlc_codec.h:632
const struct vlc_decoder_device_operations * ops
Definition vlc_codec.h:609
struct vlc_object_t obj
Definition vlc_codec.h:607
Definition vlc_codec.h:244
void(* close)(encoder_t *)
Definition vlc_codec.h:245
block_t *(* encode_audio)(encoder_t *, block_t *)
Definition vlc_codec.h:249
block_t *(* encode_sub)(encoder_t *, subpicture_t *)
Definition vlc_codec.h:250
block_t *(* encode_video)(encoder_t *, picture_t *)
Definition vlc_codec.h:248
Definition vlc_frame.h:123
vlc_frame_t * p_next
Definition vlc_frame.h:124
VLC object common members.
Definition vlc_objects.h:53
Definition decoder_device.c:98
Window object.
Definition vlc_window.h:373
#define block_Release
Definition vlc_block.h:87
vlc_decoder_device * vlc_encoder_GetDecoderDevice(encoder_t *)
Creates/Updates the output decoder device.
Definition decoder_helpers.c:168
This file is a collection of common definitions and types.
#define VLC_TICK_INVALID
Definition vlc_config.h:44
This file defines the elementary streams format types.
@ SPU_ES
Definition vlc_es.h:620
@ AUDIO_ES
Definition vlc_es.h:619
@ VIDEO_ES
Definition vlc_es.h:618
This file defines picture structures and functions in vlc.
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48
Window modules interface.