xine-lib 1.2.13-20230125hg15249
Data Structures | Macros | Typedefs | Functions
buffer.h File Reference
#include <string.h>
#include <sys/types.h>
#include <pthread.h>
#include <xine/os_types.h>
#include <xine/attributes.h>
#include <xine/tickets.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_VIDEO_AV1   0x026B0000
 
#define BUF_VIDEO_PNG   0x026C0000
 
#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_SPU_HDMV_TEXT   0x04090000
 
#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.
 
fifo_buffer_t_x_dummy_fifo_buffer_new (int num_buffers, uint32_t buf_size)
 Allocate and initialise new dummy FIFO buffers.
 
void _x_free_buf_elements (buf_element_t *head)
 Free chained list of buffer elements.
 
uint32_t _x_fourcc_to_buf_video (uint32_t fourcc_int)
 Returns the BUF_VIDEO_xxx for the given fourcc.
 
const char * _x_buf_video_name (uint32_t buf_type)
 Returns video codec name given the buffer type.
 
uint32_t _x_formattag_to_buf_audio (uint32_t formattag)
 Returns the BUF_AUDIO_xxx for the given formattag.
 
const char * _x_buf_audio_name (uint32_t buf_type)
 Returns audio codec name given the buffer type.
 
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)
 
size_t _x_tag32_me2str (char *s, uint32_t tag)
 Make string from machine endian 32bit tag, eg a fourcc or a chunk ID.
 

Macro Definition Documentation

◆ BUF_AUDIO_14_4

#define BUF_AUDIO_14_4   0x03230000

◆ BUF_AUDIO_28_8

#define BUF_AUDIO_28_8   0x03240000

◆ BUF_AUDIO_4X_ADPCM

#define BUF_AUDIO_4X_ADPCM   0x03310000

Referenced by open_fourxm_file().

◆ BUF_AUDIO_A52

#define BUF_AUDIO_A52   0x03000000

◆ BUF_AUDIO_AAC

#define BUF_AUDIO_AAC   0x030e0000

◆ BUF_AUDIO_AAC_LATM

#define BUF_AUDIO_AAC_LATM   0x03420000

◆ BUF_AUDIO_ACELPNET

#define BUF_AUDIO_ACELPNET   0x030d0000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_ADPCM_G726

#define BUF_AUDIO_ADPCM_G726   0x03430000

◆ BUF_AUDIO_ALAC

#define BUF_AUDIO_ALAC   0x03340000

◆ BUF_AUDIO_ALAW

#define BUF_AUDIO_ALAW   0x031D0000

Referenced by open_snd_file(), and read_flv_packet().

◆ BUF_AUDIO_AMR_NB

#define BUF_AUDIO_AMR_NB   0x033F0000

◆ BUF_AUDIO_AMR_WB

#define BUF_AUDIO_AMR_WB   0x03400000

◆ BUF_AUDIO_ATRK

#define BUF_AUDIO_ATRK   0x03220000

◆ BUF_AUDIO_BASE

#define BUF_AUDIO_BASE   0x03000000

◆ BUF_AUDIO_COOK

#define BUF_AUDIO_COOK   0x03210000

◆ BUF_AUDIO_DIALOGIC_IMA

#define BUF_AUDIO_DIALOGIC_IMA   0x032A0000

◆ BUF_AUDIO_DK3ADPCM

#define BUF_AUDIO_DK3ADPCM   0x03110000

◆ BUF_AUDIO_DK4ADPCM

#define BUF_AUDIO_DK4ADPCM   0x03120000

◆ BUF_AUDIO_DNET

#define BUF_AUDIO_DNET   0x030f0000

◆ BUF_AUDIO_DTS

#define BUF_AUDIO_DTS   0x03050000

◆ BUF_AUDIO_DV

#define BUF_AUDIO_DV   0x032D0000

◆ BUF_AUDIO_EA_ADPCM

#define BUF_AUDIO_EA_ADPCM   0x031F0000

◆ BUF_AUDIO_EAC3

#define BUF_AUDIO_EAC3   0x03410000

◆ BUF_AUDIO_FLAC

#define BUF_AUDIO_FLAC   0x032C0000

◆ BUF_AUDIO_FLVADPCM

#define BUF_AUDIO_FLVADPCM   0x033C0000

Referenced by read_flv_packet().

◆ BUF_AUDIO_GSM610

#define BUF_AUDIO_GSM610   0x031E0000

◆ BUF_AUDIO_IMC

#define BUF_AUDIO_IMC   0x030a0000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_INTERPLAY

#define BUF_AUDIO_INTERPLAY   0x03270000

Referenced by process_ipmovie_chunk().

◆ BUF_AUDIO_LH

#define BUF_AUDIO_LH   0x030b0000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_LPCM_BE

#define BUF_AUDIO_LPCM_BE   0x03020000

◆ BUF_AUDIO_LPCM_LE

#define BUF_AUDIO_LPCM_LE   0x03030000

◆ BUF_AUDIO_MAC3

#define BUF_AUDIO_MAC3   0x03150000

◆ BUF_AUDIO_MAC6

#define BUF_AUDIO_MAC6   0x03160000

◆ BUF_AUDIO_MP3ADU

#define BUF_AUDIO_MP3ADU   0x033E0000

◆ BUF_AUDIO_MPC

#define BUF_AUDIO_MPC   0x03350000

◆ BUF_AUDIO_MPEG

#define BUF_AUDIO_MPEG   0x03010000

◆ BUF_AUDIO_MSADPCM

#define BUF_AUDIO_MSADPCM   0x03060000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_MSGSM

#define BUF_AUDIO_MSGSM   0x03080000

◆ BUF_AUDIO_MSIMAADPCM

#define BUF_AUDIO_MSIMAADPCM   0x03070000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_MULAW

#define BUF_AUDIO_MULAW   0x031C0000

Referenced by open_snd_file(), and read_flv_packet().

◆ BUF_AUDIO_NSF

#define BUF_AUDIO_NSF   0x032B0000

◆ BUF_AUDIO_OPUS

#define BUF_AUDIO_OPUS   0x03440000

◆ BUF_AUDIO_QCLP

#define BUF_AUDIO_QCLP   0x03190000

Referenced by parse_trak_atom(), and qta_init_driver().

◆ BUF_AUDIO_QDESIGN1

#define BUF_AUDIO_QDESIGN1   0x03170000

Referenced by qta_init_driver().

◆ BUF_AUDIO_QDESIGN2

#define BUF_AUDIO_QDESIGN2   0x03180000

Referenced by qta_init_driver().

◆ BUF_AUDIO_QTIMAADPCM

#define BUF_AUDIO_QTIMAADPCM   0x03140000

◆ BUF_AUDIO_RAWPCM

#define BUF_AUDIO_RAWPCM   0x03300000

◆ BUF_AUDIO_ROQ

#define BUF_AUDIO_ROQ   0x03130000

◆ BUF_AUDIO_SHORTEN

#define BUF_AUDIO_SHORTEN   0x03360000

◆ BUF_AUDIO_SIPRO

#define BUF_AUDIO_SIPRO   0x03250000

◆ BUF_AUDIO_SMACKER

#define BUF_AUDIO_SMACKER   0x033B0000

◆ BUF_AUDIO_SMJPEG_IMA

#define BUF_AUDIO_SMJPEG_IMA   0x031A0000

Referenced by open_smjpeg_file().

◆ BUF_AUDIO_SPEEX

#define BUF_AUDIO_SPEEX   0x032F0000

◆ BUF_AUDIO_TRUEHD

#define BUF_AUDIO_TRUEHD   0x03450000

Referenced by parse_track_entry().

◆ BUF_AUDIO_TRUESPEECH

#define BUF_AUDIO_TRUESPEECH   0x03390000

◆ BUF_AUDIO_TTA

#define BUF_AUDIO_TTA   0x033A0000

◆ BUF_AUDIO_UNKNOWN

#define BUF_AUDIO_UNKNOWN   0x03ff0000

◆ BUF_AUDIO_VIVOG723

#define BUF_AUDIO_VIVOG723   0x03100000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_VMD

#define BUF_AUDIO_VMD   0x03320000

◆ BUF_AUDIO_VORBIS

#define BUF_AUDIO_VORBIS   0x03090000

◆ BUF_AUDIO_VOXWARE

#define BUF_AUDIO_VOXWARE   0x030c0000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_VQA_IMA

#define BUF_AUDIO_VQA_IMA   0x031B0000

◆ BUF_AUDIO_WAVPACK

#define BUF_AUDIO_WAVPACK   0x033D0000

◆ BUF_AUDIO_WESTWOOD

#define BUF_AUDIO_WESTWOOD   0x03290000

Referenced by open_aud_file().

◆ BUF_AUDIO_WESTWOOD_SND1

#define BUF_AUDIO_WESTWOOD_SND1   0x03370000

◆ BUF_AUDIO_WMALL

#define BUF_AUDIO_WMALL   0x03380000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_WMAPRO

#define BUF_AUDIO_WMAPRO   0x03260000

◆ BUF_AUDIO_WMAV

#define BUF_AUDIO_WMAV   0x032E0000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_WMAV1

#define BUF_AUDIO_WMAV1   0x03040000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_WMAV2

#define BUF_AUDIO_WMAV2   0x03200000

Referenced by get_auds_codec_name().

◆ BUF_AUDIO_WMAV3

#define BUF_AUDIO_WMAV3   BUF_AUDIO_WMAPRO

◆ BUF_AUDIO_XA_ADPCM

#define BUF_AUDIO_XA_ADPCM   0x03280000

◆ BUF_AUDIO_XAN_DPCM

#define BUF_AUDIO_XAN_DPCM   0x03330000

◆ BUF_CONTROL_AUDIO_CHANNEL

#define BUF_CONTROL_AUDIO_CHANNEL   0x01050000

◆ BUF_CONTROL_BASE

#define BUF_CONTROL_BASE   0x01000000

◆ BUF_CONTROL_DISCONTINUITY

#define BUF_CONTROL_DISCONTINUITY   0x01030000

former AVSYNC_RESET

Referenced by audio_decoder_loop(), and video_decoder_loop().

◆ BUF_CONTROL_END

#define BUF_CONTROL_END   0x01010000

◆ BUF_CONTROL_FLUSH_DECODER

#define BUF_CONTROL_FLUSH_DECODER   0x010a0000

◆ BUF_CONTROL_HEADERS_DONE

#define BUF_CONTROL_HEADERS_DONE   0x01090000

◆ BUF_CONTROL_NEWPTS

#define BUF_CONTROL_NEWPTS   0x01070000

◆ BUF_CONTROL_NOP

#define BUF_CONTROL_NOP   0x01040000

◆ BUF_CONTROL_QUIT

#define BUF_CONTROL_QUIT   0x01020000

◆ BUF_CONTROL_RESET_DECODER

#define BUF_CONTROL_RESET_DECODER   0x01080000

◆ BUF_CONTROL_RESET_TRACK_MAP

#define BUF_CONTROL_RESET_TRACK_MAP   0x010b0000

◆ BUF_CONTROL_SPU_CHANNEL

#define BUF_CONTROL_SPU_CHANNEL   0x01060000

◆ BUF_CONTROL_START

#define BUF_CONTROL_START   0x01000000

◆ BUF_DECODER_MASK

#define BUF_DECODER_MASK   0x00FF0000

◆ BUF_DEMUX_BLOCK

#define BUF_DEMUX_BLOCK   0x05000000

◆ BUF_FLAG_ASPECT

#define BUF_FLAG_ASPECT   0x0800

◆ 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 _aom_decode_data(), _dav1d_decode_data(), _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(), bitplane_decode_data(), collect_data(), decode_audio_header(), decode_dshow_header(), decode_flac_header(), decode_opus_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_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_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_ivf_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(), ff_handle_header_buffer(), fooaudio_decode_data(), foovideo_decode_data(), gsm610_decode_data(), hevc_decode_data(), image_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_mpeg1_packet(), parse_mpeg2_packet(), parse_private_stream_1(), parse_video_stream(), png_decode_data(), 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(), a52dec_decode_data(), asf_send_audio_header(), asf_send_video_header(), audio_decoder_loop(), decode_audio_header(), decode_dshow_header(), decode_flac_header(), decode_opus_header(), decode_video_header(), demux_aac_send_headers(), demux_ac3_send_headers(), demux_aiff_send_headers(), demux_aud_send_headers(), demux_cdda_send_headers(), demux_dts_send_headers(), demux_eawve_send_headers(), demux_film_send_headers(), demux_flac_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_ivf_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(), 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(), video_decoder_loop(), 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 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 _aom_decode_data(), _dav1d_decode_data(), asf_send_audio_header(), asf_send_video_header(), bitplane_decode_data(), decode_audio_header(), decode_dshow_header(), decode_flac_header(), decode_opus_header(), decode_video_header(), demux_aiff_send_headers(), demux_aud_send_headers(), demux_cdda_send_headers(), demux_eawve_send_headers(), demux_film_send_headers(), demux_flac_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_ivf_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(), 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_MAJOR_MASK

#define BUF_MAJOR_MASK   0xFF000000

◆ 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().

◆ BUF_SPECIAL_ASPECT

#define BUF_SPECIAL_ASPECT   3

In a BUF_SPECIAL_ASPECT buffer: decoder_info[1] = BUF_SPECIAL_ASPECT decoder_info[2] = MPEG2 aspect ratio code decoder_info[3] = stream scale prohibitions This buffer is used to force mpeg decoders to use a certain aspect. Currently xine-dvdnav uses this, because it has more accurate information about the aspect from the dvd ifo-data. The stream scale prohibitions are also delivered, with bit 0 meaning "deny letterboxing" and bit 1 meaning "deny pan&scan"

Referenced by dvd_plugin_read_block(), dxr3_decode_data(), mpeg2_video_decode_data(), and mpeg2dec_decode_data().

◆ BUF_SPECIAL_CHARSET_ENCODING

#define BUF_SPECIAL_CHARSET_ENCODING   7

In a BUF_SPECIAL_CHARSET_ENCODING buffer: decoder_info[1] = BUF_SPECIAL_CHARSET_ENCODING decoder_info[2] = size of charset encoding string decoder_info_ptr[2] = pointer to charset encoding string This is used mostly with subtitle buffers when encoding is known at demuxer level (take precedence over xine config settings such as subtitles.separate.src_encoding)

Referenced by demux_sputext_next(), handle_hdmv_textst(), handle_sub_ssa(), handle_sub_utf8(), and spudec_decode_data().

◆ BUF_SPECIAL_DECODER_CONFIG

#define BUF_SPECIAL_DECODER_CONFIG   4

In a BUF_SPECIAL_DECODER_CONFIG buffer: decoder_info[1] = BUF_SPECIAL_DECODER_CONFIG decoder_info[2] = data size decoder_info_ptr[2] = pointer to data This buffer is used to pass config information from .mp4 files (atom esds) to decoders. both mpeg4 and aac streams use that.

Referenced by demux_qt_send_headers(), faad_decode_data(), ff_audio_handle_special_buffer(), ff_handle_special_buffer(), init_codec_aac(), init_codec_audio(), read_flv_packet(), real_parse_headers(), vdpau_h264_alter_decode_data(), vdpau_h264_decode_data(), and vorbis_decode_data().

◆ BUF_SPECIAL_LPCM_CONFIG

#define BUF_SPECIAL_LPCM_CONFIG   6

In a BUF_SPECIAL_LPCM_CONFIG buffer: decoder_info[1] = BUF_SPECIAL_LPCM_CONFIG decoder_info[2] = config data lpcm data encoded into mpeg2 streams have a format configuration byte in every frame. this is used to detect the sample rate, number of bits and channels.

Referenced by demux_ts_parse_pes_header(), lpcm_decode_data(), parse_mpeg2_packet(), parse_private_stream_1(), and parse_private_stream_1().

◆ BUF_SPECIAL_PALETTE

#define BUF_SPECIAL_PALETTE   1

In a BUF_SPECIAL_PALETTE buffer: decoder_info[1] = BUF_SPECIAL_PALETTE decoder_info[2] = number of entries in palette table decoder_info_ptr[2] = pointer to palette table This buffer type is used to provide a file- and decoder-independent facility to transport RGB color palettes from demuxers to decoders. A palette table is an array of palette_entry_t structures. A decoder should not count on this array to exist for the duration of the program's execution and should copy, manipulate, and store the palette data privately if it needs the palette information.

Referenced by asf_send_video_header(), bitplane_decode_data(), demux_idcin_send_chunk(), demux_iff_send_chunk(), demux_ipmovie_send_headers(), demux_mve_send_chunk(), demux_qt_send_headers(), ff_handle_special_buffer(), process_ipmovie_chunk(), rgb_decode_data(), and vdpau_h264_decode_data().

◆ BUF_SPECIAL_RV_CHUNK_TABLE

#define BUF_SPECIAL_RV_CHUNK_TABLE   10

In a BUF_SPECIAL_RV_CHUNK_TABLE: decoder_info[1] = BUF_SPECIAL_RV_CHUNK_TABLE decoder_info[2] = number of entries in chunk table decoder_info_ptr[2] = pointer to the chunk table

This buffer transports the chunk table associated to each RealVideo frame.

Referenced by demux_real_send_chunk(), ff_handle_special_buffer(), handle_realvideo(), and realdec_decode_data().

◆ BUF_SPECIAL_SPU_DVB_DESCRIPTOR

#define BUF_SPECIAL_SPU_DVB_DESCRIPTOR   9

In a BUF_SPECIAL_SPU_DVB_DESCRIPTOR decoder_info[1] = BUF_SPECIAL_SPU_DVB_DESCRIPTOR decoder_info[2] = size of spu_dvb_descriptor_t decoder_info_ptr[2] = pointer to spu_dvb_descriptor_t, or NULL decoder_info[3] =

This buffer is used to tell a DVBSUB decoder when the stream changes. For more information on how to write a DVBSUB decoder, see the comment at the top of src/demuxers/demux_ts.c

Referenced by demux_ts_update_spu_channel(), init_codec_dvbsub(), and spudec_decode_data().

◆ BUF_SPECIAL_SPU_DVD_SUBTYPE

#define BUF_SPECIAL_SPU_DVD_SUBTYPE   8

In a BUF_SPECIAL_SPU_DVD_SUBTYPE: decoder_info[1] = BUF_SPECIAL_SPU_DVD_SUBTYPE decoder_info[2] = subtype decoder_info[3] = This buffer is pass SPU subtypes from DVDs

Referenced by dvd_plugin_read_block(), dxr3_spudec_decode_data(), handle_vobsub(), init_codec_vobsub(), parse_mpeg2_packet(), parse_private_stream_1(), parse_private_stream_1(), parse_private_stream_2(), and spudec_decode_data().

◆ BUF_SPECIAL_STSD_ATOM

#define BUF_SPECIAL_STSD_ATOM   5

In a BUF_SPECIAL_STSD_ATOM buffer: decoder_info[1] = BUF_SPECIAL_STSD_ATOM decoder_info[2] = size of the ImageDescription atom, minus the four length bytes at the beginning decoder_info_ptr[2] = pointer to ImageDescription atom, starting with the codec fourcc Some Quicktime decoders need information contained within the ImageDescription atom inside a Quicktime file's stsd atom. This special buffer carries the ImageDescription atom from the QT demuxer to an A/V decoder.

Referenced by demux_qt_send_headers(), ff_audio_handle_special_buffer(), ff_handle_special_buffer(), qta_decode_data(), and qtv_decode_data().

◆ BUF_SPU_BASE

#define BUF_SPU_BASE   0x04000000

◆ BUF_SPU_CC

#define BUF_SPU_CC   0x04020000

Referenced by process_userdata().

◆ BUF_SPU_CMML

#define BUF_SPU_CMML   0x04070000

◆ BUF_SPU_CVD

#define BUF_SPU_CVD   0x04050000

◆ BUF_SPU_DVB

#define BUF_SPU_DVB   0x04030000

◆ BUF_SPU_DVD

#define BUF_SPU_DVD   0x04000000

◆ BUF_SPU_HDMV

#define BUF_SPU_HDMV   0x04080000

◆ BUF_SPU_HDMV_TEXT

#define BUF_SPU_HDMV_TEXT   0x04090000

◆ BUF_SPU_OGM

#define BUF_SPU_OGM   0x04060000

◆ BUF_SPU_SVCD

#define BUF_SPU_SVCD   0x04040000

◆ BUF_SPU_TEXT

#define BUF_SPU_TEXT   0x04010000

Referenced by demux_sputext_next().

◆ BUF_VIDEO_3IVX

#define BUF_VIDEO_3IVX   0x021A0000

◆ BUF_VIDEO_4XM

#define BUF_VIDEO_4XM   0x023F0000

◆ BUF_VIDEO_8BPS

#define BUF_VIDEO_8BPS   0x02470000

◆ BUF_VIDEO_AASC

#define BUF_VIDEO_AASC   0x02500000

◆ BUF_VIDEO_ALGMM

#define BUF_VIDEO_ALGMM   0x025B0000

◆ BUF_VIDEO_ASV1

#define BUF_VIDEO_ASV1   0x02480000

◆ BUF_VIDEO_ASV2

#define BUF_VIDEO_ASV2   0x02490000

◆ BUF_VIDEO_ATIVCR1

#define BUF_VIDEO_ATIVCR1   0x020b0000

◆ BUF_VIDEO_ATIVCR2

#define BUF_VIDEO_ATIVCR2   0x020c0000

◆ BUF_VIDEO_AV1

#define BUF_VIDEO_AV1   0x026B0000

Referenced by parse_track_entry().

◆ BUF_VIDEO_AVS

#define BUF_VIDEO_AVS   0x025D0000

◆ BUF_VIDEO_BASE

#define BUF_VIDEO_BASE   0x02000000

◆ BUF_VIDEO_BITPLANE

#define BUF_VIDEO_BITPLANE   0x024A0000

Amiga typical picture and animation format

Referenced by bitplane_decode_data(), and read_iff_chunk().

◆ BUF_VIDEO_BITPLANE_BR1

#define BUF_VIDEO_BITPLANE_BR1   0x024B0000

the same with Bytrun compression 1

Referenced by bitplane_decode_data(), and read_iff_chunk().

◆ BUF_VIDEO_CAVS

#define BUF_VIDEO_CAVS   0x02620000

◆ BUF_VIDEO_CINEPAK

#define BUF_VIDEO_CINEPAK   0x02020000

◆ BUF_VIDEO_CSCD

#define BUF_VIDEO_CSCD   0x025A0000

◆ BUF_VIDEO_CYUV

#define BUF_VIDEO_CYUV   0x021B0000

◆ BUF_VIDEO_DIVX5

#define BUF_VIDEO_DIVX5   0x021C0000

◆ BUF_VIDEO_DUCKTM1

#define BUF_VIDEO_DUCKTM1   0x02220000

◆ BUF_VIDEO_DUCKTM2

#define BUF_VIDEO_DUCKTM2   0x02590000

◆ BUF_VIDEO_DV

#define BUF_VIDEO_DV   0x02160000

◆ BUF_VIDEO_FLASHSV

#define BUF_VIDEO_FLASHSV   0x02610000

◆ BUF_VIDEO_FLI

#define BUF_VIDEO_FLI   0x02230000

◆ BUF_VIDEO_FLV1

#define BUF_VIDEO_FLV1   0x024C0000

Referenced by read_flv_packet().

◆ BUF_VIDEO_FPS1

#define BUF_VIDEO_FPS1   0x02580000

◆ BUF_VIDEO_GREY

#define BUF_VIDEO_GREY   0x022E0000

Referenced by yuv_decode_data().

◆ BUF_VIDEO_H261

#define BUF_VIDEO_H261   0x024F0000

◆ BUF_VIDEO_H263

#define BUF_VIDEO_H263   0x02190000

Referenced by read_flv_packet().

◆ BUF_VIDEO_H264

#define BUF_VIDEO_H264   0x024D0000

◆ BUF_VIDEO_HEVC

#define BUF_VIDEO_HEVC   0x026A0000

◆ BUF_VIDEO_HUFFYUV

#define BUF_VIDEO_HUFFYUV   0x023C0000

Referenced by init_video_codec().

◆ BUF_VIDEO_I263

#define BUF_VIDEO_I263   0x020d0000

◆ BUF_VIDEO_I420

#define BUF_VIDEO_I420   0x02400000

◆ BUF_VIDEO_IDCIN

#define BUF_VIDEO_IDCIN   0x02280000

◆ BUF_VIDEO_IMAGE

#define BUF_VIDEO_IMAGE   0x023D0000

Referenced by _probe(), and demux_image_next().

◆ BUF_VIDEO_INTERPLAY

#define BUF_VIDEO_INTERPLAY   0x02380000

◆ BUF_VIDEO_IV31

#define BUF_VIDEO_IV31   0x020a0000

◆ BUF_VIDEO_IV32

#define BUF_VIDEO_IV32   0x02090000

◆ BUF_VIDEO_IV41

#define BUF_VIDEO_IV41   0x02080000

◆ BUF_VIDEO_IV50

#define BUF_VIDEO_IV50   0x02070000

◆ BUF_VIDEO_JPEG

#define BUF_VIDEO_JPEG   0x02120000

◆ BUF_VIDEO_KMVC

#define BUF_VIDEO_KMVC   0x02600000

◆ BUF_VIDEO_LOCO

#define BUF_VIDEO_LOCO   0x02510000

◆ BUF_VIDEO_MJPEG

#define BUF_VIDEO_MJPEG   0x02060000

Referenced by init_video_codec().

◆ BUF_VIDEO_MJPEG_B

#define BUF_VIDEO_MJPEG_B   0x024E0000

◆ BUF_VIDEO_MPEG

#define BUF_VIDEO_MPEG   0x02000000

◆ BUF_VIDEO_MPEG4

#define BUF_VIDEO_MPEG4   0x02010000

◆ BUF_VIDEO_MSMPEG4_V1

#define BUF_VIDEO_MSMPEG4_V1   0x02260000

◆ BUF_VIDEO_MSMPEG4_V2

#define BUF_VIDEO_MSMPEG4_V2   0x02040000

◆ BUF_VIDEO_MSMPEG4_V3

#define BUF_VIDEO_MSMPEG4_V3   0x02050000

◆ BUF_VIDEO_MSRLE

#define BUF_VIDEO_MSRLE   0x02210000

◆ BUF_VIDEO_MSS1

#define BUF_VIDEO_MSS1   0x02270000

◆ BUF_VIDEO_MSVC

#define BUF_VIDEO_MSVC   0x02150000

◆ BUF_VIDEO_MSZH

#define BUF_VIDEO_MSZH   0x02450000

◆ BUF_VIDEO_MVI2

#define BUF_VIDEO_MVI2   0x02350000

◆ BUF_VIDEO_NUV

#define BUF_VIDEO_NUV   0x025F0000

◆ BUF_VIDEO_PGVV

#define BUF_VIDEO_PGVV   0x02290000

◆ BUF_VIDEO_PNG

#define BUF_VIDEO_PNG   0x026C0000

Referenced by _probe().

◆ BUF_VIDEO_PSX_MDEC

#define BUF_VIDEO_PSX_MDEC   0x023A0000

◆ BUF_VIDEO_QDRW

#define BUF_VIDEO_QDRW   0x02520000

◆ BUF_VIDEO_QPEG

#define BUF_VIDEO_QPEG   0x02530000

◆ BUF_VIDEO_QTRLE

#define BUF_VIDEO_QTRLE   0x02200000

◆ BUF_VIDEO_REAL

#define BUF_VIDEO_REAL   0x02170000

◆ BUF_VIDEO_RGB

#define BUF_VIDEO_RGB   0x02100000

◆ BUF_VIDEO_ROQ

#define BUF_VIDEO_ROQ   0x02240000

◆ BUF_VIDEO_RPZA

#define BUF_VIDEO_RPZA   0x021F0000

◆ BUF_VIDEO_RT21

#define BUF_VIDEO_RT21   0x02570000

◆ BUF_VIDEO_RV10

#define BUF_VIDEO_RV10   0x020e0000

Referenced by ff_handle_header_buffer().

◆ BUF_VIDEO_RV20

#define BUF_VIDEO_RV20   0x02330000

◆ BUF_VIDEO_RV30

#define BUF_VIDEO_RV30   0x02340000

◆ BUF_VIDEO_RV40

#define BUF_VIDEO_RV40   0x02390000

◆ BUF_VIDEO_SEGA

#define BUF_VIDEO_SEGA   0x02320000

◆ BUF_VIDEO_SMACKER

#define BUF_VIDEO_SMACKER   0x025E0000

◆ BUF_VIDEO_SMC

#define BUF_VIDEO_SMC   0x021E0000

◆ BUF_VIDEO_SNOW

#define BUF_VIDEO_SNOW   0x02670000

◆ BUF_VIDEO_SORENSON_V1

#define BUF_VIDEO_SORENSON_V1   0x02030000

◆ BUF_VIDEO_SORENSON_V3

#define BUF_VIDEO_SORENSON_V3   0x02250000

◆ BUF_VIDEO_THEORA

#define BUF_VIDEO_THEORA   0x023E0000

◆ BUF_VIDEO_THEORA_RAW

#define BUF_VIDEO_THEORA_RAW   0x02640000

Referenced by parse_track_entry().

◆ BUF_VIDEO_TSCC

#define BUF_VIDEO_TSCC   0x022B0000

◆ BUF_VIDEO_UCOD

#define BUF_VIDEO_UCOD   0x02360000

◆ BUF_VIDEO_ULTI

#define BUF_VIDEO_ULTI   0x02540000

◆ BUF_VIDEO_UNKNOWN

#define BUF_VIDEO_UNKNOWN   0x02ff0000

◆ BUF_VIDEO_VC1

#define BUF_VIDEO_VC1   0x02650000

◆ BUF_VIDEO_VMD

#define BUF_VIDEO_VMD   0x02440000

◆ BUF_VIDEO_VMNC

#define BUF_VIDEO_VMNC   0x02660000

◆ BUF_VIDEO_VP31

#define BUF_VIDEO_VP31   0x02180000

◆ BUF_VIDEO_VP4

#define BUF_VIDEO_VP4   0x02410000

◆ BUF_VIDEO_VP5

#define BUF_VIDEO_VP5   0x02420000

◆ BUF_VIDEO_VP6

#define BUF_VIDEO_VP6   0x02430000

◆ BUF_VIDEO_VP6F

#define BUF_VIDEO_VP6F   0x02630000

Referenced by read_flv_packet().

◆ BUF_VIDEO_VP8

#define BUF_VIDEO_VP8   0x02680000

◆ BUF_VIDEO_VP9

#define BUF_VIDEO_VP9   0x02690000

◆ BUF_VIDEO_VQA

#define BUF_VIDEO_VQA   0x022D0000

◆ BUF_VIDEO_WC3

#define BUF_VIDEO_WC3   0x02300000

◆ BUF_VIDEO_WMV7

#define BUF_VIDEO_WMV7   0x02130000

◆ BUF_VIDEO_WMV8

#define BUF_VIDEO_WMV8   0x02140000

◆ BUF_VIDEO_WMV9

#define BUF_VIDEO_WMV9   0x02370000

◆ BUF_VIDEO_WNV1

#define BUF_VIDEO_WNV1   0x02550000

◆ BUF_VIDEO_XL

#define BUF_VIDEO_XL   0x02560000

◆ BUF_VIDEO_XVID

#define BUF_VIDEO_XVID   0x021D0000

◆ BUF_VIDEO_XXAN

#define BUF_VIDEO_XXAN   0x022F0000

◆ BUF_VIDEO_YUV_FRAMES

#define BUF_VIDEO_YUV_FRAMES   0x023B0000

uncompressed YUV, delivered by v4l input plugin

◆ BUF_VIDEO_YUY2

#define BUF_VIDEO_YUY2   0x02110000

◆ BUF_VIDEO_YV12

#define BUF_VIDEO_YV12   0x02310000

Referenced by yuv_decode_data().

◆ BUF_VIDEO_YVU9

#define BUF_VIDEO_YVU9   0x022C0000

Referenced by yuv_decode_data().

◆ BUF_VIDEO_ZLIB

#define BUF_VIDEO_ZLIB   0x02460000

◆ BUF_VIDEO_ZMBV

#define BUF_VIDEO_ZMBV   0x025C0000

◆ BUF_VIDEO_ZYGO

#define BUF_VIDEO_ZYGO   0x022A0000

◆ SPU_DVD_SUBTYPE_CLUT

#define SPU_DVD_SUBTYPE_CLUT   1

◆ SPU_DVD_SUBTYPE_NAV

#define SPU_DVD_SUBTYPE_NAV   4

◆ SPU_DVD_SUBTYPE_PACKAGE

#define SPU_DVD_SUBTYPE_PACKAGE   2

◆ SPU_DVD_SUBTYPE_VOBSUB_PACKAGE

#define SPU_DVD_SUBTYPE_VOBSUB_PACKAGE   3

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_names, BUF_AUDIO_BASE, and buf_type.

Referenced by asf_read_header(), and audio_decoder_loop().

◆ _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 buf_type, BUF_VIDEO_BASE, and video_names.

Referenced by asf_read_header(), 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 )

Allocate and initialise new (empty) FIFO buffers.

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

Only used by video and audio decoder loops.

References _fifo_mark_native(), _fifo_mux_init(), fifo_buffer_s::alloc_cb, fifo_buffer_s::alloc_cb_data, _fifo_buffer_t::b, buffer_pool_alloc(), fifo_buffer_s::buffer_pool_alloc, fifo_buffer_s::buffer_pool_base, fifo_buffer_s::buffer_pool_buf_size, fifo_buffer_s::buffer_pool_capacity, fifo_buffer_s::buffer_pool_cond_not_empty, buffer_pool_free(), fifo_buffer_s::buffer_pool_large_wait, fifo_buffer_s::buffer_pool_mutex, fifo_buffer_s::buffer_pool_num_free, fifo_buffer_s::buffer_pool_num_waiters, buffer_pool_realloc(), fifo_buffer_s::buffer_pool_realloc, buffer_pool_size_alloc(), fifo_buffer_s::buffer_pool_size_alloc, fifo_buffer_s::buffer_pool_top, buffer_pool_try_alloc(), fifo_buffer_s::buffer_pool_try_alloc, fifo_buffer_s::clear, fifo_buffer_s::data_size, fifo_buffer_s::dispose, be_ei_t::ei, be_ei_t::elem, buf_element_s::extra_info, fifo_buffer_clear(), fifo_buffer_data_size(), fifo_buffer_dispose(), fifo_buffer_get(), fifo_buffer_insert(), fifo_buffer_num_free(), fifo_buffer_put(), fifo_buffer_size(), fifo_buffer_tget(), fifo_buffer_s::fifo_num_waiters, fifo_register_alloc_cb(), fifo_register_get_cb(), fifo_register_put_cb(), fifo_buffer_s::fifo_size, fifo_unregister_alloc_cb(), fifo_unregister_get_cb(), fifo_unregister_put_cb(), fifo_buffer_s::first, buf_element_s::free_buffer, fifo_buffer_s::get, fifo_buffer_s::get_cb, fifo_buffer_s::get_cb_data, fifo_buffer_s::insert, LARGE_NUM, fifo_buffer_s::last, buf_element_s::max_size, buf_element_s::mem, fifo_buffer_s::mutex, be_ei_t::nbufs, buf_element_s::next, fifo_buffer_s::not_empty, NULL, fifo_buffer_s::num_free, fifo_buffer_s::put, fifo_buffer_s::put_cb, fifo_buffer_s::put_cb_data, fifo_buffer_s::register_alloc_cb, fifo_buffer_s::register_get_cb, fifo_buffer_s::register_put_cb, fifo_buffer_s::size, buf_element_s::source, fifo_buffer_s::tget, fifo_buffer_s::unregister_alloc_cb, fifo_buffer_s::unregister_get_cb, fifo_buffer_s::unregister_put_cb, and xine_mallocz_aligned().

Referenced by _x_audio_decoder_init(), _x_dummy_fifo_buffer_new(), and _x_video_decoder_init().

◆ _x_formattag_to_buf_audio()

uint32_t _x_formattag_to_buf_audio ( uint32_t formattag)

Returns the BUF_AUDIO_xxx for the given formattag.

Parameters
formattagg32-bit format tag value in machine endianness
See also
_x_fourcc_to_buf_video

References BE_FOURCC, sorted_audio_4ccs, and sorted_audio_tags.

Referenced by asf_read_header(), decode_audio_header(), open_ac3_file(), open_dts_file(), open_nsv_file(), open_ra_file(), open_smjpeg_file(), open_wav_file(), parse_track_entry(), parse_trak_atom(), and real_parse_headers().

◆ _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 sorted_video_4ccs, and sorted_video_tags.

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

◆ _x_free_buf_elements()

void _x_free_buf_elements ( buf_element_t * head)

Free chained list of buffer elements.

Parameters
headList to free. May be NULL.

References buf_element_s::free_buffer, buf_element_s::next, and NULL.

Referenced by audio_decoder_loop().

◆ _x_is_fourcc()

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

◆ _x_tag32_me2str()

size_t _x_tag32_me2str ( char * s,
uint32_t tag )

Make string from machine endian 32bit tag, eg a fourcc or a chunk ID.

Parameters
sPointer to string buffer of at least 20 bytes.
tagThe 32bit tag value in native byte order.
Returns
The length of target string written to s, without the trailing \0.

References tab_hex, and z.

Referenced by asf_read_header(), demux_ts_get_reg_desc(), ff_handle_buffer(), ff_handle_mpeg12_buffer(), parse_trak_atom(), real_parse_audio_specific_data(), and real_parse_headers().

◆ _x_waveformatex_le2me()

void _x_waveformatex_le2me ( xine_waveformatex * wavex)