117 bool b_frame_drop_allowed;
123 int i_extra_picture_buffers;
127 # define VLCDEC_SUCCESS VLC_SUCCESS 128 # define VLCDEC_ECRITICAL VLC_EGENERIC 129 # define VLCDEC_RELOAD (-100) 208 uint8_t i_608_channels;
209 uint64_t i_708_channels;
306 return dec->
cbs->
video.get_device( dec );
406 dec->
cbs->
video.queue( dec, p_pic );
421 if( dec->
cbs->
video.queue_cc == NULL )
424 dec->
cbs->
video.queue_cc( dec, p_cc, p_desc );
439 dec->
cbs->
audio.queue( dec, p_aout_buf );
454 dec->
cbs->
spu.queue( dec, p_spu );
468 return dec->
cbs->
audio.format_update( dec );
493 msg_Warn( dec,
"can't get output subpicture" );
526 if( !dec->
cbs->
video.get_display_date )
529 return dec->
cbs->
video.get_display_date( dec, system_now, i_ts );
541 if( !dec->
cbs->
video.get_display_rate )
544 return dec->
cbs->
video.get_display_rate( dec );
615 #define set_callback_dec_device(activate, priority) \ 617 vlc_decoder_device_Open open__ = activate; \ 619 set_callback(activate) \ 621 set_capability( "decoder device", priority )
void decoder_Clean(decoder_t *p_dec)
Unload a decoder module and reset the input/output formats.
Definition: decoder_helpers.c:52
This file defines picture structures and functions in vlc.
Video picture.
Definition: vlc_picture.h:127
void(* abort_pictures)(decoder_t *, bool b_abort)
Definition: vlc_codec.h:59
void decoder_Destroy(decoder_t *p_dec)
Destroy a decoder and reset the structure.
Definition: decoder_helpers.c:70
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:487
Definition: vlc_codec.h:566
Video subtitle.
Definition: vlc_subpicture.h:166
const struct decoder_owner_callbacks * cbs
Definition: vlc_codec.h:202
Definition: vlc_codec.h:218
struct decoder_owner_callbacks::@186::@190 spu
void(* queue)(decoder_t *, picture_t *)
Definition: vlc_codec.h:61
Definition: vlc_codec.h:559
Internal module descriptor.
Definition: modules.h:75
Definition: vlc_codec.h:207
Definition: vlc_codec.h:564
static float decoder_GetDisplayRate(decoder_t *dec)
This function returns the current input rate.
Definition: vlc_codec.h:538
vlc_tick_t(* get_display_date)(decoder_t *, vlc_tick_t, vlc_tick_t)
Definition: vlc_codec.h:68
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
vlc_decoder_device * vlc_decoder_device_Hold(vlc_decoder_device *device)
Hold a decoder device.
Definition: decoder_helpers.c:208
struct decoder_owner_callbacks::@186::@188 video
block_t * p_next
Definition: vlc_block.h:119
picture_t * decoder_NewPicture(decoder_t *dec)
Allocates an output picture buffer.
Definition: decoder_helpers.c:154
Data block definition and functions.
Definition: decoder_helpers.c:232
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:402
Definition: vlc_codec.h:47
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
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:503
Definition: vlc_configuration.h:331
Definition: vlc_codec.h:565
Definition: vlc_codec.h:560
subpicture_t * p_next
an increasing unique number
Definition: vlc_subpicture.h:177
block_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:805
Definition: vlc_codec.h:569
#define vlc_assert(pred)
Run-time assertion.
Definition: vlc_common.h:267
void(* queue_cc)(decoder_t *, block_t *, const decoder_cc_desc_t *)
Definition: vlc_codec.h:63
float(* get_display_rate)(decoder_t *)
Definition: vlc_codec.h:71
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
static int decoder_UpdateAudioFormat(decoder_t *dec)
This function notifies the audio output pipeline of a new audio output format (fmt_out.audio).
Definition: vlc_codec.h:464
struct picture_t * p_next
Next picture in a FIFO a pictures.
Definition: vlc_picture.h:161
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:223
static vlc_decoder_device * decoder_GetDecoderDevice(decoder_t *dec)
Creates/Updates the output decoder device.
Definition: vlc_codec.h:300
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:450
Definition: vlc_codec.h:563
struct vlc_decoder_device vlc_decoder_device
Decoder context struct.
Decoder context struct.
Definition: vlc_codec.h:577
Definition: vlc_codec.h:561
void decoder_AbortPictures(decoder_t *dec, bool b_abort)
Abort any calls of decoder_NewPicture.
Definition: decoder_helpers.c:162
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:521
#define VLC_API
Definition: fourcc_gen.c:31
int(* format_update)(decoder_t *, vlc_video_context *)
Definition: vlc_codec.h:54
Definition: vlc_codec.h:103
int(* vlc_decoder_device_Open)(vlc_decoder_device *device, vout_window_t *window)
"decoder device" module open entry point
Definition: vlc_codec.h:613
es_format_t fmt_in
Definition: vlc_codec.h:112
struct decoder_owner_callbacks::@186::@189 audio
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:472
Definition: vlc_subpicture.h:135
vlc_decoder_device * vlc_encoder_GetDecoderDevice(encoder_t *)
Creates/Updates the output decoder device.
Definition: decoder_helpers.c:300
vlc_decoder_device * vlc_decoder_device_Create(vlc_object_t *, vout_window_t *window)
Create a decoder device from a window.
Definition: decoder_helpers.c:185
int(* get_attachments)(decoder_t *p_dec, input_attachment_t ***ppp_attachment, int *pi_attachment)
Definition: vlc_codec.h:93
static void decoder_QueueAudio(decoder_t *dec, block_t *p_aout_buf)
This function queues a single audio block to the audio output.
Definition: vlc_codec.h:435
Definition: vlc_block.h:117
int decoder_UpdateVideoFormat(decoder_t *dec)
Updates the video output format.
Definition: decoder_helpers.c:79
void decoder_Init(decoder_t *dec, const es_format_t *)
Initialize a decoder structure before creating the decoder.
void vlc_decoder_device_Release(vlc_decoder_device *device)
Release a decoder device.
Definition: decoder_helpers.c:217
Window object.
Definition: vlc_vout_window.h:336
This file defines the elementary streams format types.
VLC object common members.
Definition: vlc_objects.h:43
vlc_decoder_device_type
Decoder device type.
Definition: vlc_codec.h:557
Definition: vlc_codec.h:562
#define VLC_USED
Definition: fourcc_gen.c:32
Definition: vlc_codec.h:244
int decoder_UpdateVideoOutput(decoder_t *dec, vlc_video_context *vctx_out)
Creates/Updates the rest of the video output pipeline.
Definition: decoder_helpers.c:84
Window modules interface.
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
static void decoder_QueueCc(decoder_t *dec, block_t *p_cc, const decoder_cc_desc_t *p_desc)
This function queues the Closed Captions.
Definition: vlc_codec.h:417