|
xine-lib
1.2.9
|
#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) |
| #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().
| #define BUF_FLAG_AUDIO_PADDING 0x2000 |
Referenced by mad_decode_data(), and parse_frame_payload().
| #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().
| #define BUF_FLAG_END_STREAM 0x0040 |
set when stream finished naturaly
Referenced by demux_loop(), nbc_put_cb(), open_internal(), and switch_channel().
| #define BUF_FLAG_END_USER 0x0020 |
set when user stop the playback
Referenced by dvb_plugin_read(), and nbc_put_cb().
| #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().
| #define BUF_FLAG_FRAME_START 0x0002 |
frame start/end. BUF_FLAG_FRAME_END is sent on last buf of a frame
Referenced by _x_demux_read_send_data(), _x_demux_send_data(), asf_send_buffer_nodefrag(), collect_data(), demux_eawve_send_chunk(), demux_real_send_chunk(), demux_vc1_es_next_smp(), ff_handle_buffer(), init_codec_xiph(), read_flv_packet(), realdec_decode_data(), v4l2_input_dequeue_video_buffer(), v4l2_input_read_block(), v4l_plugin_read_block(), vdpau_h264_alter_decode_data(), vdpau_h264_decode_data(), vdpau_vc1_decode_data(), and yuv_decode_data().
| #define BUF_FLAG_FRAMERATE 0x0080 |
decoder_info[0] carries the frame step (1/90000).
Referenced by asf_send_video_header(), bitplane_decode_data(), decode_dshow_header(), decode_video_header(), demux_avi_send_headers(), demux_film_send_chunk(), demux_film_send_headers(), demux_fli_send_headers(), demux_fourxm_send_headers(), demux_idcin_send_headers(), demux_iff_send_chunk(), demux_iff_send_headers(), demux_ipmovie_send_headers(), demux_mng_send_chunk(), demux_mve_send_headers(), demux_nsv_send_headers(), demux_qt_send_chunk(), demux_raw_dv_send_headers(), demux_roq_send_headers(), demux_smjpeg_send_chunk(), demux_smjpeg_send_headers(), demux_str_send_headers(), demux_vc1_es_send_headers(), demux_vmd_send_headers(), demux_vqa_send_headers(), demux_yuv4mpeg2_send_headers(), ff_decode_data(), foovideo_decode_data(), handle_realvideo(), init_codec_real(), init_codec_video(), nsv_parse_payload(), process_ipmovie_chunk(), read_flv_packet(), realdec_decode_data(), rgb_decode_data(), vdpau_h264_alter_decode_data(), vdpau_h264_decode_data(), vdpau_vc1_decode_data(), w32v_decode_data(), and yuv_decode_data().
| #define BUF_FLAG_GAPLESS_SW 0x1000 |
Referenced by _x_demux_control_start(), audio_decoder_loop(), and video_decoder_loop().
| #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().
| #define BUF_FLAG_KEYFRAME 0x0001 |
keyframe should be set whenever possible (that is, when demuxer knows about frames and keyframes).
Referenced by demux_film_send_chunk(), demux_fourxm_send_chunk(), demux_idcin_send_chunk(), demux_qt_send_chunk(), demux_smjpeg_send_chunk(), demux_str_send_chunk(), handle_vp9(), parse_block(), process_ipmovie_chunk(), read_flv_packet(), and w32v_decode_data().
| #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().
| #define BUF_FLAG_PREVIEW 0x0010 |
preview buffers are normal data buffers that must not produce any output in decoders (may be used to sneak details about the stream to come).
Referenced by a52dec_decode_data(), bitplane_decode_data(), demux_avi_send_headers(), demux_image_next(), demux_mpeg_block_parse_pack(), demux_mpeg_elem_next(), demux_mpeg_pes_parse_pack(), demux_mpgaudio_send_headers(), demux_pva_send_headers(), dts_decode_data(), dvaudio_decode_data(), dxr3_decode_data(), dxr3_spudec_decode_data(), faad_decode_data(), ff_audio_decode_data(), ff_decode_data(), foovideo_decode_data(), hevc_decode_data(), lpcm_decode_data(), mad_decode_data(), mmal_decode_data(), mpeg2dec_decode_data(), parse_block(), parse_mpeg1_packet(), parse_mpeg2_packet(), parse_video_stream(), realdec_decode_data(), rgb_decode_data(), spudec_decode_data(), vdpau_h264_decode_data(), vdpau_mpeg12_decode_data(), vdpau_mpeg4_decode_data(), vdpau_vc1_decode_data(), vpx_decode_data(), w32a_decode_data(), w32v_decode_data(), and yuv_decode_data().
| #define BUF_FLAG_SEEK 0x0100 |
hint to metronom that seeking has occurred
Referenced by audio_decoder_loop(), check_newpts(), demux_ac3_send_chunk(), demux_aiff_send_chunk(), demux_avformat_seek(), demux_avi_seek_internal(), demux_cdda_seek(), demux_dts_send_chunk(), demux_film_send_chunk(), demux_flac_seek(), demux_flac_send_chunk(), demux_mod_send_chunk(), demux_mpgaudio_seek(), demux_mve_send_chunk(), demux_qt_send_chunk(), demux_ra_send_chunk(), demux_raw_dv_seek(), demux_snd_send_chunk(), demux_str_send_chunk(), demux_tta_seek(), demux_voc_send_chunk(), demux_yuv4mpeg2_send_chunk(), parse_private_stream_2(), switch_buf(), and video_decoder_loop().
| #define BUF_FLAG_SPECIAL 0x0200 |
special information inside, see below.
Referenced by asf_send_video_header(), bitplane_decode_data(), demux_avi_send_headers(), demux_idcin_send_chunk(), demux_iff_send_chunk(), demux_ipmovie_send_headers(), demux_mve_send_chunk(), demux_qt_send_headers(), demux_real_send_chunk(), demux_sputext_next(), demux_ts_parse_pes_header(), demux_ts_update_spu_channel(), dvaudio_decode_data(), dvd_plugin_read_block(), dxr3_decode_data(), dxr3_spudec_decode_data(), faad_decode_data(), ff_audio_decode_data(), ff_decode_data(), handle_hdmv_textst(), handle_realvideo(), handle_sub_ssa(), handle_sub_utf8(), handle_vobsub(), hevc_decode_data(), init_codec_aac(), init_codec_vobsub(), lpcm_decode_data(), mmal_decode_data(), mpc_decode_data(), mpeg2_video_decode_data(), mpeg2dec_decode_data(), parse_mpeg2_packet(), parse_private_stream_1(), parse_private_stream_2(), process_ipmovie_chunk(), qta_decode_data(), qtv_decode_data(), read_flv_packet(), real_parse_headers(), realdec_decode_data(), rgb_decode_data(), spudec_decode_data(), vdpau_h264_alter_decode_data(), vdpau_h264_decode_data(), vorbis_decode_data(), vpx_decode_data(), and yuv_decode_data().
| #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().
| #define BUF_MAX_CALLBACKS 5 |
Referenced by fifo_register_alloc_cb(), fifo_register_get_cb(), and fifo_register_put_cb().
| #define BUF_NUM_DEC_INFO 5 |
Referenced by demux_slave_next(), and send_buf().
| typedef struct buf_element_s buf_element_t |
| typedef struct extra_info_s extra_info_t |
| typedef struct fifo_buffer_s fifo_buffer_t |
| typedef struct palette_entry_s palette_entry_t |
| typedef struct spu_dvb_descriptor_s spu_dvb_descriptor_t |
| void _x_bmiheader_le2me | ( | xine_bmiheader * | bih | ) |
Convert xine_bmiheader struct from little endian
References xine_bmiheader::biBitCount, xine_bmiheader::biClrImportant, xine_bmiheader::biClrUsed, xine_bmiheader::biHeight, xine_bmiheader::biPlanes, xine_bmiheader::biSize, xine_bmiheader::biSizeImage, xine_bmiheader::biWidth, xine_bmiheader::biXPelsPerMeter, xine_bmiheader::biYPelsPerMeter, le2me_16, and le2me_32.
Referenced by asf_read_header(), AVI_init(), and parse_track_entry().
| const char* _x_buf_audio_name | ( | uint32_t | buf_type | ) |
Returns audio codec name given the buffer type.
| buf_type | One of the BUF_AUDIO_xxx values. |
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().
| const char* _x_buf_video_name | ( | uint32_t | buf_type | ) |
Returns video codec name given the buffer type.
| buf_type | One of the BUF_VIDEO_xxx values. |
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().
| fifo_buffer_t* _x_dummy_fifo_buffer_new | ( | int | num_buffers, |
| uint32_t | buf_size | ||
| ) |
Allocate and initialise new dummy FIFO buffers.
| num_buffer | Number of dummy buffers to allocate. |
| buf_size | Size 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().
| fifo_buffer_t* _x_fifo_buffer_new | ( | int | num_buffers, |
| uint32_t | buf_size | ||
| ) |
Allocate and initialise new (empty) FIFO buffers.
| num_buffer | Number of buffers to allocate. |
| buf_size | Size of each buffer. |
Only used by video and audio decoder loops.
References buffer_pool_alloc(), buffer_pool_free(), buffer_pool_size_alloc(), buffer_pool_try_alloc(), 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_register_alloc_cb(), fifo_register_get_cb(), fifo_register_put_cb(), fifo_unregister_alloc_cb(), fifo_unregister_get_cb(), fifo_unregister_put_cb(), buf_element_s::free_buffer, LARGE_NUM, buf_element_s::max_size, buf_element_s::mem, be_ei_t::nbufs, buf_element_s::next, NULL, put, buf_element_s::source, and xine_mallocz_aligned().
Referenced by _x_audio_decoder_init(), _x_dummy_fifo_buffer_new(), and _x_video_decoder_init().
| uint32_t _x_formattag_to_buf_audio | ( | uint32_t | formattag | ) |
Returns the BUF_AUDIO_xxx for the given formattag.
| formattagg | 32-bit format tag value in machine endianness |
References audio_db, audio_db_s::buf_type, and audio_db_s::formattag.
Referenced by asf_read_header(), decode_audio_header(), demux_avi_send_headers(), demux_qt_send_headers(), open_ac3_file(), open_dts_file(), open_nsv_file(), open_ra_file(), open_smjpeg_file(), open_wav_file(), parse_track_entry(), and real_parse_headers().
| uint32_t _x_fourcc_to_buf_video | ( | uint32_t | fourcc_int | ) |
Returns the BUF_VIDEO_xxx for the given fourcc.
| fourcc_int | 32-bit FOURCC value in machine endianness |
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().
|
static |
Referenced by demux_aud_send_chunk(), demux_real_send_chunk(), demux_str_send_chunk(), open_aac_file(), open_aiff_file(), open_film_file(), open_fourxm_file(), open_mve_file(), open_nsv_file(), open_snd_file(), open_str_file(), open_tta_file(), open_vqa_file(), process_header(), real_parse_headers(), and real_parse_index().
| void _x_waveformatex_le2me | ( | xine_waveformatex * | wavex | ) |
Convert xine_waveformatex struct from little endian
References xine_waveformatex::cbSize, le2me_16, le2me_32, xine_waveformatex::nAvgBytesPerSec, xine_waveformatex::nBlockAlign, xine_waveformatex::nChannels, xine_waveformatex::nSamplesPerSec, xine_waveformatex::wBitsPerSample, and xine_waveformatex::wFormatTag.
Referenced by asf_read_header(), AVI_init(), open_ac3_file(), open_dts_file(), open_wav_file(), parse_track_entry(), and parse_trak_atom().
1.8.14