xine-lib  1.2.9
Data Structures | Macros | Typedefs | Functions
buffer.h File Reference
#include <string.h>
#include <stdio.h>
#include <pthread.h>
#include <sys/types.h>
#include <xine/os_types.h>
#include <xine/attributes.h>

Go to the source code of this file.

Data Structures

struct  extra_info_s
 Structure to pass information from input or demuxer plugins to output frames (past decoder). More...
 
struct  buf_element_s
 
struct  spu_dvb_descriptor_s
 
struct  palette_entry_s
 
struct  fifo_buffer_s
 
struct  xine_bmiheader
 xine version of BITMAPINFOHEADER. More...
 
struct  xine_waveformatex
 xine version of WAVEFORMATEX. More...
 

Macros

#define BUF_MAX_CALLBACKS   5
 
#define BUF_MAJOR_MASK   0xFF000000
 
#define BUF_DECODER_MASK   0x00FF0000
 
#define BUF_CONTROL_BASE   0x01000000
 
#define BUF_CONTROL_START   0x01000000
 
#define BUF_CONTROL_END   0x01010000
 
#define BUF_CONTROL_QUIT   0x01020000
 
#define BUF_CONTROL_DISCONTINUITY   0x01030000
 
#define BUF_CONTROL_NOP   0x01040000
 
#define BUF_CONTROL_AUDIO_CHANNEL   0x01050000
 
#define BUF_CONTROL_SPU_CHANNEL   0x01060000
 
#define BUF_CONTROL_NEWPTS   0x01070000
 
#define BUF_CONTROL_RESET_DECODER   0x01080000
 
#define BUF_CONTROL_HEADERS_DONE   0x01090000
 
#define BUF_CONTROL_FLUSH_DECODER   0x010a0000
 
#define BUF_CONTROL_RESET_TRACK_MAP   0x010b0000
 
#define BUF_VIDEO_BASE   0x02000000
 
#define BUF_VIDEO_UNKNOWN   0x02ff0000
 
#define BUF_VIDEO_MPEG   0x02000000
 
#define BUF_VIDEO_MPEG4   0x02010000
 
#define BUF_VIDEO_CINEPAK   0x02020000
 
#define BUF_VIDEO_SORENSON_V1   0x02030000
 
#define BUF_VIDEO_MSMPEG4_V2   0x02040000
 
#define BUF_VIDEO_MSMPEG4_V3   0x02050000
 
#define BUF_VIDEO_MJPEG   0x02060000
 
#define BUF_VIDEO_IV50   0x02070000
 
#define BUF_VIDEO_IV41   0x02080000
 
#define BUF_VIDEO_IV32   0x02090000
 
#define BUF_VIDEO_IV31   0x020a0000
 
#define BUF_VIDEO_ATIVCR1   0x020b0000
 
#define BUF_VIDEO_ATIVCR2   0x020c0000
 
#define BUF_VIDEO_I263   0x020d0000
 
#define BUF_VIDEO_RV10   0x020e0000
 
#define BUF_VIDEO_RGB   0x02100000
 
#define BUF_VIDEO_YUY2   0x02110000
 
#define BUF_VIDEO_JPEG   0x02120000
 
#define BUF_VIDEO_WMV7   0x02130000
 
#define BUF_VIDEO_WMV8   0x02140000
 
#define BUF_VIDEO_MSVC   0x02150000
 
#define BUF_VIDEO_DV   0x02160000
 
#define BUF_VIDEO_REAL   0x02170000
 
#define BUF_VIDEO_VP31   0x02180000
 
#define BUF_VIDEO_H263   0x02190000
 
#define BUF_VIDEO_3IVX   0x021A0000
 
#define BUF_VIDEO_CYUV   0x021B0000
 
#define BUF_VIDEO_DIVX5   0x021C0000
 
#define BUF_VIDEO_XVID   0x021D0000
 
#define BUF_VIDEO_SMC   0x021E0000
 
#define BUF_VIDEO_RPZA   0x021F0000
 
#define BUF_VIDEO_QTRLE   0x02200000
 
#define BUF_VIDEO_MSRLE   0x02210000
 
#define BUF_VIDEO_DUCKTM1   0x02220000
 
#define BUF_VIDEO_FLI   0x02230000
 
#define BUF_VIDEO_ROQ   0x02240000
 
#define BUF_VIDEO_SORENSON_V3   0x02250000
 
#define BUF_VIDEO_MSMPEG4_V1   0x02260000
 
#define BUF_VIDEO_MSS1   0x02270000
 
#define BUF_VIDEO_IDCIN   0x02280000
 
#define BUF_VIDEO_PGVV   0x02290000
 
#define BUF_VIDEO_ZYGO   0x022A0000
 
#define BUF_VIDEO_TSCC   0x022B0000
 
#define BUF_VIDEO_YVU9   0x022C0000
 
#define BUF_VIDEO_VQA   0x022D0000
 
#define BUF_VIDEO_GREY   0x022E0000
 
#define BUF_VIDEO_XXAN   0x022F0000
 
#define BUF_VIDEO_WC3   0x02300000
 
#define BUF_VIDEO_YV12   0x02310000
 
#define BUF_VIDEO_SEGA   0x02320000
 
#define BUF_VIDEO_RV20   0x02330000
 
#define BUF_VIDEO_RV30   0x02340000
 
#define BUF_VIDEO_MVI2   0x02350000
 
#define BUF_VIDEO_UCOD   0x02360000
 
#define BUF_VIDEO_WMV9   0x02370000
 
#define BUF_VIDEO_INTERPLAY   0x02380000
 
#define BUF_VIDEO_RV40   0x02390000
 
#define BUF_VIDEO_PSX_MDEC   0x023A0000
 
#define BUF_VIDEO_YUV_FRAMES   0x023B0000
 
#define BUF_VIDEO_HUFFYUV   0x023C0000
 
#define BUF_VIDEO_IMAGE   0x023D0000
 
#define BUF_VIDEO_THEORA   0x023E0000
 
#define BUF_VIDEO_4XM   0x023F0000
 
#define BUF_VIDEO_I420   0x02400000
 
#define BUF_VIDEO_VP4   0x02410000
 
#define BUF_VIDEO_VP5   0x02420000
 
#define BUF_VIDEO_VP6   0x02430000
 
#define BUF_VIDEO_VMD   0x02440000
 
#define BUF_VIDEO_MSZH   0x02450000
 
#define BUF_VIDEO_ZLIB   0x02460000
 
#define BUF_VIDEO_8BPS   0x02470000
 
#define BUF_VIDEO_ASV1   0x02480000
 
#define BUF_VIDEO_ASV2   0x02490000
 
#define BUF_VIDEO_BITPLANE   0x024A0000
 
#define BUF_VIDEO_BITPLANE_BR1   0x024B0000
 
#define BUF_VIDEO_FLV1   0x024C0000
 
#define BUF_VIDEO_H264   0x024D0000
 
#define BUF_VIDEO_MJPEG_B   0x024E0000
 
#define BUF_VIDEO_H261   0x024F0000
 
#define BUF_VIDEO_AASC   0x02500000
 
#define BUF_VIDEO_LOCO   0x02510000
 
#define BUF_VIDEO_QDRW   0x02520000
 
#define BUF_VIDEO_QPEG   0x02530000
 
#define BUF_VIDEO_ULTI   0x02540000
 
#define BUF_VIDEO_WNV1   0x02550000
 
#define BUF_VIDEO_XL   0x02560000
 
#define BUF_VIDEO_RT21   0x02570000
 
#define BUF_VIDEO_FPS1   0x02580000
 
#define BUF_VIDEO_DUCKTM2   0x02590000
 
#define BUF_VIDEO_CSCD   0x025A0000
 
#define BUF_VIDEO_ALGMM   0x025B0000
 
#define BUF_VIDEO_ZMBV   0x025C0000
 
#define BUF_VIDEO_AVS   0x025D0000
 
#define BUF_VIDEO_SMACKER   0x025E0000
 
#define BUF_VIDEO_NUV   0x025F0000
 
#define BUF_VIDEO_KMVC   0x02600000
 
#define BUF_VIDEO_FLASHSV   0x02610000
 
#define BUF_VIDEO_CAVS   0x02620000
 
#define BUF_VIDEO_VP6F   0x02630000
 
#define BUF_VIDEO_THEORA_RAW   0x02640000
 
#define BUF_VIDEO_VC1   0x02650000
 
#define BUF_VIDEO_VMNC   0x02660000
 
#define BUF_VIDEO_SNOW   0x02670000
 
#define BUF_VIDEO_VP8   0x02680000
 
#define BUF_VIDEO_VP9   0x02690000
 
#define BUF_VIDEO_HEVC   0x026A0000
 
#define BUF_AUDIO_BASE   0x03000000
 
#define BUF_AUDIO_UNKNOWN   0x03ff0000
 
#define BUF_AUDIO_A52   0x03000000
 
#define BUF_AUDIO_MPEG   0x03010000
 
#define BUF_AUDIO_LPCM_BE   0x03020000
 
#define BUF_AUDIO_LPCM_LE   0x03030000
 
#define BUF_AUDIO_WMAV1   0x03040000
 
#define BUF_AUDIO_DTS   0x03050000
 
#define BUF_AUDIO_MSADPCM   0x03060000
 
#define BUF_AUDIO_MSIMAADPCM   0x03070000
 
#define BUF_AUDIO_MSGSM   0x03080000
 
#define BUF_AUDIO_VORBIS   0x03090000
 
#define BUF_AUDIO_IMC   0x030a0000
 
#define BUF_AUDIO_LH   0x030b0000
 
#define BUF_AUDIO_VOXWARE   0x030c0000
 
#define BUF_AUDIO_ACELPNET   0x030d0000
 
#define BUF_AUDIO_AAC   0x030e0000
 
#define BUF_AUDIO_DNET   0x030f0000
 
#define BUF_AUDIO_VIVOG723   0x03100000
 
#define BUF_AUDIO_DK3ADPCM   0x03110000
 
#define BUF_AUDIO_DK4ADPCM   0x03120000
 
#define BUF_AUDIO_ROQ   0x03130000
 
#define BUF_AUDIO_QTIMAADPCM   0x03140000
 
#define BUF_AUDIO_MAC3   0x03150000
 
#define BUF_AUDIO_MAC6   0x03160000
 
#define BUF_AUDIO_QDESIGN1   0x03170000
 
#define BUF_AUDIO_QDESIGN2   0x03180000
 
#define BUF_AUDIO_QCLP   0x03190000
 
#define BUF_AUDIO_SMJPEG_IMA   0x031A0000
 
#define BUF_AUDIO_VQA_IMA   0x031B0000
 
#define BUF_AUDIO_MULAW   0x031C0000
 
#define BUF_AUDIO_ALAW   0x031D0000
 
#define BUF_AUDIO_GSM610   0x031E0000
 
#define BUF_AUDIO_EA_ADPCM   0x031F0000
 
#define BUF_AUDIO_WMAV2   0x03200000
 
#define BUF_AUDIO_COOK   0x03210000
 
#define BUF_AUDIO_ATRK   0x03220000
 
#define BUF_AUDIO_14_4   0x03230000
 
#define BUF_AUDIO_28_8   0x03240000
 
#define BUF_AUDIO_SIPRO   0x03250000
 
#define BUF_AUDIO_WMAPRO   0x03260000
 
#define BUF_AUDIO_WMAV3   BUF_AUDIO_WMAPRO
 
#define BUF_AUDIO_INTERPLAY   0x03270000
 
#define BUF_AUDIO_XA_ADPCM   0x03280000
 
#define BUF_AUDIO_WESTWOOD   0x03290000
 
#define BUF_AUDIO_DIALOGIC_IMA   0x032A0000
 
#define BUF_AUDIO_NSF   0x032B0000
 
#define BUF_AUDIO_FLAC   0x032C0000
 
#define BUF_AUDIO_DV   0x032D0000
 
#define BUF_AUDIO_WMAV   0x032E0000
 
#define BUF_AUDIO_SPEEX   0x032F0000
 
#define BUF_AUDIO_RAWPCM   0x03300000
 
#define BUF_AUDIO_4X_ADPCM   0x03310000
 
#define BUF_AUDIO_VMD   0x03320000
 
#define BUF_AUDIO_XAN_DPCM   0x03330000
 
#define BUF_AUDIO_ALAC   0x03340000
 
#define BUF_AUDIO_MPC   0x03350000
 
#define BUF_AUDIO_SHORTEN   0x03360000
 
#define BUF_AUDIO_WESTWOOD_SND1   0x03370000
 
#define BUF_AUDIO_WMALL   0x03380000
 
#define BUF_AUDIO_TRUESPEECH   0x03390000
 
#define BUF_AUDIO_TTA   0x033A0000
 
#define BUF_AUDIO_SMACKER   0x033B0000
 
#define BUF_AUDIO_FLVADPCM   0x033C0000
 
#define BUF_AUDIO_WAVPACK   0x033D0000
 
#define BUF_AUDIO_MP3ADU   0x033E0000
 
#define BUF_AUDIO_AMR_NB   0x033F0000
 
#define BUF_AUDIO_AMR_WB   0x03400000
 
#define BUF_AUDIO_EAC3   0x03410000
 
#define BUF_AUDIO_AAC_LATM   0x03420000
 
#define BUF_AUDIO_ADPCM_G726   0x03430000
 
#define BUF_AUDIO_OPUS   0x03440000
 
#define BUF_AUDIO_TRUEHD   0x03450000
 
#define BUF_SPU_BASE   0x04000000
 
#define BUF_SPU_DVD   0x04000000
 
#define BUF_SPU_TEXT   0x04010000
 
#define BUF_SPU_CC   0x04020000
 
#define BUF_SPU_DVB   0x04030000
 
#define BUF_SPU_SVCD   0x04040000
 
#define BUF_SPU_CVD   0x04050000
 
#define BUF_SPU_OGM   0x04060000
 
#define BUF_SPU_CMML   0x04070000
 
#define BUF_SPU_HDMV   0x04080000
 
#define BUF_DEMUX_BLOCK   0x05000000
 
#define BUF_NUM_DEC_INFO   5
 
#define BUF_FLAG_KEYFRAME   0x0001
 
#define BUF_FLAG_FRAME_START   0x0002
 
#define BUF_FLAG_FRAME_END   0x0004
 
#define BUF_FLAG_HEADER   0x0008
 
#define BUF_FLAG_PREVIEW   0x0010
 
#define BUF_FLAG_END_USER   0x0020
 
#define BUF_FLAG_END_STREAM   0x0040
 
#define BUF_FLAG_FRAMERATE   0x0080
 
#define BUF_FLAG_SEEK   0x0100
 
#define BUF_FLAG_SPECIAL   0x0200
 
#define BUF_FLAG_STDHEADER   0x0400
 
#define BUF_FLAG_ASPECT   0x0800
 
#define BUF_FLAG_GAPLESS_SW   0x1000
 
#define BUF_FLAG_AUDIO_PADDING   0x2000
 
#define BUF_FLAG_COLOR_MATRIX   0x4000
 
#define BUF_FLAG_MERGE   0x8000
 
#define BUF_SPECIAL_PALETTE   1
 
#define BUF_SPECIAL_ASPECT   3
 
#define BUF_SPECIAL_DECODER_CONFIG   4
 
#define BUF_SPECIAL_STSD_ATOM   5
 
#define BUF_SPECIAL_LPCM_CONFIG   6
 
#define BUF_SPECIAL_CHARSET_ENCODING   7
 
#define BUF_SPECIAL_SPU_DVD_SUBTYPE   8
 
#define SPU_DVD_SUBTYPE_CLUT   1
 
#define SPU_DVD_SUBTYPE_PACKAGE   2
 
#define SPU_DVD_SUBTYPE_VOBSUB_PACKAGE   3
 
#define SPU_DVD_SUBTYPE_NAV   4
 
#define BUF_SPECIAL_SPU_DVB_DESCRIPTOR   9
 
#define BUF_SPECIAL_RV_CHUNK_TABLE   10
 

Typedefs

typedef struct extra_info_s extra_info_t
 
typedef struct buf_element_s buf_element_t
 
typedef struct spu_dvb_descriptor_s spu_dvb_descriptor_t
 
typedef struct palette_entry_s palette_entry_t
 
typedef struct fifo_buffer_s fifo_buffer_t
 

Functions

fifo_buffer_t_x_fifo_buffer_new (int num_buffers, uint32_t buf_size)
 Allocate and initialise new (empty) FIFO buffers. More...
 
fifo_buffer_t_x_dummy_fifo_buffer_new (int num_buffers, uint32_t buf_size)
 Allocate and initialise new dummy FIFO buffers. More...
 
uint32_t _x_fourcc_to_buf_video (uint32_t fourcc_int)
 Returns the BUF_VIDEO_xxx for the given fourcc. More...
 
const char * _x_buf_video_name (uint32_t buf_type)
 Returns video codec name given the buffer type. More...
 
uint32_t _x_formattag_to_buf_audio (uint32_t formattag)
 Returns the BUF_AUDIO_xxx for the given formattag. More...
 
const char * _x_buf_audio_name (uint32_t buf_type)
 Returns audio codec name given the buffer type. More...
 
void _x_bmiheader_le2me (xine_bmiheader *bih)
 
void _x_waveformatex_le2me (xine_waveformatex *wavex)
 
static __inline int _x_is_fourcc (const void *ptr, const void *tag)
 

Macro Definition Documentation

◆ BUF_FLAG_ASPECT

#define BUF_FLAG_ASPECT   0x0800

decoder_info[1] carries numerator for display aspect ratio decoder_info[2] carries denominator for display aspect ratio

Referenced by asf_send_video_header(), demux_yuv4mpeg2_send_headers(), ff_decode_data(), handle_header(), init_codec(), init_codec_real(), init_codec_video(), vdpau_h264_alter_decode_data(), vdpau_vc1_decode_data(), vpx_handle_header(), and yuv_decode_data().

◆ BUF_FLAG_AUDIO_PADDING

#define BUF_FLAG_AUDIO_PADDING   0x2000

◆ BUF_FLAG_COLOR_MATRIX

#define BUF_FLAG_COLOR_MATRIX   0x4000

decoder_info[4] has (mpeg_color_matrix << 1) | fullrange. Useful for raw YUV which cannot tell this otherwise. Valid until revoked or next stream.

Referenced by demux_yuv4mpeg2_send_chunk(), hevc_decode_data(), mmal_decode_data(), vpx_decode_data(), and yuv_decode_data().

◆ BUF_FLAG_END_STREAM

#define BUF_FLAG_END_STREAM   0x0040

set when stream finished naturaly

Referenced by demux_loop(), nbc_put_cb(), open_internal(), and switch_channel().

◆ BUF_FLAG_END_USER

#define BUF_FLAG_END_USER   0x0020

set when user stop the playback

Referenced by dvb_plugin_read(), and nbc_put_cb().

◆ BUF_FLAG_FRAME_END

#define BUF_FLAG_FRAME_END   0x0004

Referenced by _x_demux_read_send_data(), _x_demux_send_data(), asf_send_audio_header(), asf_send_buffer_defrag(), asf_send_buffer_nodefrag(), asf_send_video_header(), AVI_read_audio(), AVI_read_video(), bitplane_decode_data(), collect_data(), decode_audio_header(), decode_dshow_header(), decode_flac_header(), decode_video_header(), demux_aac_send_chunk(), demux_aac_send_headers(), demux_ac3_send_chunk(), demux_ac3_send_headers(), demux_aiff_send_chunk(), demux_aiff_send_headers(), demux_aud_send_chunk(), demux_aud_send_headers(), demux_avi_next_streaming(), demux_avi_send_headers(), demux_cdda_send_chunk(), demux_cdda_send_headers(), demux_dts_send_chunk(), demux_dts_send_headers(), demux_eawve_send_chunk(), demux_eawve_send_headers(), demux_film_send_chunk(), demux_film_send_headers(), demux_flac_send_chunk(), demux_flac_send_headers(), demux_fli_send_chunk(), demux_fli_send_headers(), demux_fourxm_send_chunk(), demux_fourxm_send_headers(), demux_idcin_send_chunk(), demux_idcin_send_headers(), demux_iff_send_chunk(), demux_iff_send_headers(), demux_image_next(), demux_ipmovie_send_headers(), demux_mng_send_chunk(), demux_mng_send_headers(), demux_mod_send_chunk(), demux_mod_send_headers(), demux_mpc_send_chunk(), demux_mpc_send_headers(), demux_mpgaudio_next(), demux_mpgaudio_send_chunk(), demux_mve_send_chunk(), demux_mve_send_headers(), demux_nsf_send_headers(), demux_nsv_send_headers(), demux_pva_send_chunk(), demux_qt_send_chunk(), demux_qt_send_headers(), demux_ra_send_headers(), demux_raw_dv_next(), demux_raw_dv_send_headers(), demux_real_send_chunk(), demux_roq_send_chunk(), demux_roq_send_headers(), demux_shn_send_chunk(), demux_shn_send_headers(), demux_smjpeg_send_chunk(), demux_smjpeg_send_headers(), demux_snd_send_chunk(), demux_snd_send_headers(), demux_str_send_chunk(), demux_str_send_headers(), demux_ts_flush_media(), demux_tta_send_headers(), demux_vc1_es_next_smp(), demux_vc1_es_send_headers(), demux_vmd_send_chunk(), demux_vmd_send_headers(), demux_voc_send_chunk(), demux_voc_send_headers(), demux_vox_send_chunk(), demux_vox_send_headers(), demux_vqa_send_chunk(), demux_vqa_send_headers(), demux_wav_send_chunk(), demux_wav_send_headers(), demux_wv_send_chunk(), demux_wv_send_headers(), demux_yuv4mpeg2_send_chunk(), demux_yuv4mpeg2_send_headers(), dvaudio_decode_data(), faad_decode_data(), ff_audio_decode_data(), ff_handle_buffer(), ff_handle_header_buffer(), fooaudio_decode_data(), foovideo_decode_data(), gsm610_decode_data(), hevc_decode_data(), image_decode_data(), init_codec_audio(), init_codec_real(), init_codec_video(), init_codec_xiph(), jpeg_decode_data(), lpcm_decode_data(), mmal_decode_data(), mpc_decode_data(), nsv_parse_payload(), parse_frame_payload(), parse_private_stream_1(), parse_video_stream(), post_sequence_end(), process_ipmovie_chunk(), qtv_decode_data(), read_flv_packet(), real_parse_headers(), rgb_decode_data(), send_headers_audio(), send_headers_video(), v4l2_input_dequeue_video_buffer(), v4l_plugin_read_block(), vdpau_h264_alter_decode_data(), vdpau_h264_decode_data(), vdpau_vc1_decode_data(), vorbis_decode_data(), vpx_decode_data(), w32a_decode_data(), w32v_decode_data(), wavpack_decode_data(), and yuv_decode_data().

◆ BUF_FLAG_FRAME_START

#define BUF_FLAG_FRAME_START   0x0002

◆ BUF_FLAG_FRAMERATE

#define BUF_FLAG_FRAMERATE   0x0080

◆ BUF_FLAG_GAPLESS_SW

#define BUF_FLAG_GAPLESS_SW   0x1000

◆ BUF_FLAG_HEADER

#define BUF_FLAG_HEADER   0x0008

any out-of-band data needed to initialize decoder must have this flag set.

Referenced by a52dec_decode_data(), asf_send_audio_header(), asf_send_video_header(), audio_decoder_loop(), decode_audio_header(), decode_dshow_header(), decode_flac_header(), decode_video_header(), demux_aac_send_headers(), demux_ac3_send_headers(), demux_aiff_send_headers(), demux_aud_send_headers(), demux_avi_send_headers(), demux_cdda_send_headers(), demux_dts_send_headers(), demux_eawve_send_headers(), demux_film_send_headers(), demux_flac_send_headers(), demux_fli_send_headers(), demux_fourxm_send_headers(), demux_idcin_send_chunk(), demux_idcin_send_headers(), demux_iff_send_chunk(), demux_iff_send_headers(), demux_ipmovie_send_headers(), demux_mng_send_headers(), demux_mod_send_headers(), demux_mpc_send_headers(), demux_mpgaudio_next(), demux_mve_send_chunk(), demux_mve_send_headers(), demux_nsf_send_headers(), demux_nsv_send_headers(), demux_qt_send_headers(), demux_ra_send_headers(), demux_raw_dv_send_headers(), demux_roq_send_headers(), demux_shn_send_headers(), demux_smjpeg_send_headers(), demux_snd_send_headers(), demux_str_send_headers(), demux_tta_send_headers(), demux_vc1_es_send_headers(), demux_vmd_send_headers(), demux_voc_send_headers(), demux_vox_send_headers(), demux_vqa_send_headers(), demux_wav_send_headers(), demux_wv_send_headers(), demux_yuv4mpeg2_send_headers(), dvaudio_decode_data(), ff_audio_decode_data(), ff_decode_data(), init_codec_aac(), init_codec_audio(), init_codec_real(), init_codec_video(), init_codec_xiph(), lpcm_decode_data(), mad_decode_data(), mpc_decode_data(), nsf_decode_data(), process_ipmovie_chunk(), read_flv_packet(), real_parse_headers(), realdec_decode_data(), send_header(), send_headers_audio(), send_headers_video(), send_ogg_buf(), speex_decode_data(), spudec_decode_data(), theora_decode_data(), v4l2_input_read_block(), v4l_plugin_read_block(), vdpau_vc1_decode_data(), and vorbis_decode_data().

◆ BUF_FLAG_KEYFRAME

#define BUF_FLAG_KEYFRAME   0x0001

◆ BUF_FLAG_MERGE

#define BUF_FLAG_MERGE   0x8000

Optimization: try to merge this buf with previous one still in fifo. This is for demuxers that dont know a frame's size before sending it (mpeg-ts). Decoders will never see this.

Referenced by demux_ts_buffer_pes(), and fifo_buffer_put().

◆ BUF_FLAG_PREVIEW

#define BUF_FLAG_PREVIEW   0x0010

◆ BUF_FLAG_SEEK

#define BUF_FLAG_SEEK   0x0100

◆ BUF_FLAG_SPECIAL

#define BUF_FLAG_SPECIAL   0x0200

◆ BUF_FLAG_STDHEADER

#define BUF_FLAG_STDHEADER   0x0400

header use standard xine_bmiheader or xine_waveformatex structs. xine_waveformatex is actually optional since the most important information for audio init is available from decoder_info[]. note: BUF_FLAG_HEADER must also be set.

Referenced by asf_send_audio_header(), asf_send_video_header(), bitplane_decode_data(), decode_audio_header(), decode_dshow_header(), decode_flac_header(), decode_video_header(), demux_aiff_send_headers(), demux_aud_send_headers(), demux_avi_send_headers(), demux_cdda_send_headers(), demux_eawve_send_headers(), demux_film_send_headers(), demux_flac_send_headers(), demux_fli_send_headers(), demux_fourxm_send_headers(), demux_idcin_send_headers(), demux_iff_send_headers(), demux_ipmovie_send_headers(), demux_mng_send_headers(), demux_mod_send_headers(), demux_mpgaudio_next(), demux_mve_send_headers(), demux_nsv_send_headers(), demux_qt_send_headers(), demux_raw_dv_send_headers(), demux_roq_send_headers(), demux_shn_send_headers(), demux_smjpeg_send_headers(), demux_snd_send_headers(), demux_str_send_headers(), demux_tta_send_headers(), demux_vc1_es_send_headers(), demux_vmd_send_headers(), demux_voc_send_headers(), demux_vox_send_headers(), demux_vqa_send_headers(), demux_wav_send_headers(), demux_wv_send_headers(), demux_yuv4mpeg2_send_headers(), dts_decode_data(), dvaudio_decode_data(), faad_decode_data(), ff_handle_header_buffer(), flac_decode_data(), fooaudio_decode_data(), foovideo_decode_data(), gsm610_decode_data(), handle_header(), hevc_decode_data(), init_codec_audio(), init_codec_video(), lpcm_decode_data(), mmal_decode_data(), qta_decode_data(), qtv_decode_data(), read_flv_packet(), real_parse_headers(), rgb_decode_data(), send_headers_audio(), send_headers_video(), speex_decode_data(), theora_decode_data(), v4l2_input_read_block(), v4l_plugin_read_block(), vdpau_h264_alter_decode_data(), vdpau_h264_decode_data(), vdpau_vc1_decode_data(), vorbis_decode_data(), vpx_decode_data(), w32a_decode_data(), w32v_decode_data(), wavpack_decode_data(), and yuv_decode_data().

◆ BUF_MAX_CALLBACKS

#define BUF_MAX_CALLBACKS   5

◆ BUF_NUM_DEC_INFO

#define BUF_NUM_DEC_INFO   5

Referenced by demux_slave_next(), and send_buf().

Typedef Documentation

◆ buf_element_t

typedef struct buf_element_s buf_element_t

◆ extra_info_t

typedef struct extra_info_s extra_info_t

◆ fifo_buffer_t

typedef struct fifo_buffer_s fifo_buffer_t

◆ palette_entry_t

◆ spu_dvb_descriptor_t

Function Documentation

◆ _x_bmiheader_le2me()

void _x_bmiheader_le2me ( xine_bmiheader bih)

◆ _x_buf_audio_name()

const char* _x_buf_audio_name ( uint32_t  buf_type)

Returns audio codec name given the buffer type.

Parameters
buf_typeOne of the BUF_AUDIO_xxx values.
See also
_x_buf_video_name

References audio_db, audio_db_s::buf_type, and audio_db_s::name.

Referenced by asf_read_header(), audio_decoder_loop(), and demux_avi_send_headers().

◆ _x_buf_video_name()

const char* _x_buf_video_name ( uint32_t  buf_type)

Returns video codec name given the buffer type.

Parameters
buf_typeOne of the BUF_VIDEO_xxx values.
See also
_x_buf_audio_name

References video_db_s::buf_type, video_db_s::name, and video_db.

Referenced by asf_read_header(), demux_avi_send_headers(), and video_decoder_loop().

◆ _x_dummy_fifo_buffer_new()

fifo_buffer_t* _x_dummy_fifo_buffer_new ( int  num_buffers,
uint32_t  buf_size 
)

Allocate and initialise new dummy FIFO buffers.

Parameters
num_bufferNumber of dummy buffers to allocate.
buf_sizeSize of each buffer.

Only used by video and audio decoder loops.

References _x_fifo_buffer_new(), dummy_fifo_buffer_insert(), dummy_fifo_buffer_put(), and put.

Referenced by _x_audio_decoder_init(), and _x_video_decoder_init().

◆ _x_fifo_buffer_new()

fifo_buffer_t* _x_fifo_buffer_new ( int  num_buffers,
uint32_t  buf_size 
)

◆ _x_formattag_to_buf_audio()

uint32_t _x_formattag_to_buf_audio ( uint32_t  formattag)

◆ _x_fourcc_to_buf_video()

uint32_t _x_fourcc_to_buf_video ( uint32_t  fourcc_int)

Returns the BUF_VIDEO_xxx for the given fourcc.

Parameters
fourcc_int32-bit FOURCC value in machine endianness
See also
_x_formattag_to_buf_audio

example: fourcc_int = *(uint32_t *)fourcc_char;

References video_db_s::buf_type, video_db_s::fourcc, and video_db.

Referenced by asf_read_header(), decode_dshow_header(), decode_video_header(), demux_avi_send_headers(), demux_qt_send_headers(), open_film_file(), open_nsv_file(), open_smjpeg_file(), parse_track_entry(), and real_parse_headers().

◆ _x_is_fourcc()

static __inline int _x_is_fourcc ( const void *  ptr,
const void *  tag 
)
static

◆ _x_waveformatex_le2me()

void _x_waveformatex_le2me ( xine_waveformatex wavex)