📄 file_var.h
字号:
#ifndef __FILE_VAR_H__
#define __FILE_VAR_H__
#include "types.h"
#ifdef FILEPLAYVAR_HERE
#define FILE_EXTERN
#else
#define FILE_EXTERN extern
#endif
#define FILE_MAX_AUDIO 0x8
#define FILE_MAX_VIDEO 0x1
FILE_EXTERN STRM_TABLE file_audio_table[FILE_MAX_AUDIO]; // only FCC_strf fp is recored, need to retrieve WAVEFORMATEX
FILE_EXTERN STRM_TABLE file_video_table[FILE_MAX_VIDEO]; // only FCC_strf fp is recored, need to retrieve BITMAPINFOHEADER
// file position/length information
FILE_EXTERN UINT32 file_start_lba; // file start lba (in lba)
FILE_EXTERN UINT32 file_cur_fp; // file cur_fp
FILE_EXTERN INT32 file_buf_len; // file init buffer unused size
FILE_EXTERN UINT32 file_size; // file size (in byte)
FILE_EXTERN UINT32 file_data_offset; // data start offset (in byte)
FILE_EXTERN UINT32 file_data_size; // data size (in byte)
FILE_EXTERN UINT32 file_len; // file length, the max of a/v length (in sec)
FILE_EXTERN UINT64 file_len_STC; // file length, the max of a/v length (in 90kHz STC)
FILE_EXTERN UINT64 file_aud_len; // audio length (in 90kHz STC)
FILE_EXTERN UINT64 file_vid_len; // video length (in 90kHz STC)
FILE_EXTERN UINT32 file_chunk_size; // file media chunk size
FILE_EXTERN UINT32 file_vid_skip; // audio data that must be skipped(frame base)
FILE_EXTERN UINT32 file_aud_skip; // audio data that must be skipped(after a/v resync), note that vbr is in audio frame granule.
FILE_EXTERN UINT32 file_aud_accum_size; // For CBR audio, this is the number of bytes accumulated.
// For VBR audio, this is the number of audio frame accumulated.
// file media stream counters
FILE_EXTERN UINT32 file_aud_num; // audio stream number
FILE_EXTERN UINT32 file_vid_num; // video stream number
FILE_EXTERN UINT32 file_sup_num; // subpicture stream number
FILE_EXTERN UINT32 file_default_aud; // default audio stream
FILE_EXTERN UINT32 file_default_vid; // default video stream
FILE_EXTERN UINT32 file_default_sup; // default subpicture stream
// file playback related flags
FILE_EXTERN UINT32 file_type; // file type, such as AVI/ASF/etc.
FILE_EXTERN UINT32 file_media_flag; // file media flag, byte 0 for contained file media, byte 1 for media supportability, byte 2 for media special type
FILE_EXTERN UINT32 file_play_state; // file playback state
FILE_EXTERN UINT32 file_error_flag; // file error flag
FILE_EXTERN UINT32 strm_offset; // used for srv0 to drop redundant data since data come in in 2k byte unit.
// RISC audio large buffer, two layer buffer to reduce the DSP bitstream buffer
FILE_EXTERN UINT32 audio_prefilled; // turn on DSP feeding function in polling
FILE_EXTERN UINT32 aud_time_marker; // audio buffer ringback flag (input)
FILE_EXTERN UINT32 file_aud_buf; // audio system layer big buffer start
FILE_EXTERN UINT32 file_aud_bufend; // audio system layer big buffer end
FILE_EXTERN INT32 file_aud_buf_size; // audio system layer big buffer size
FILE_EXTERN BYTE *file_aud_wtptr; // file parser write pointer
FILE_EXTERN BYTE *file_aud_rdptr; // file parser read pointer
FILE_EXTERN UINT32 file_vbr_buf; // audio vbr buffer start
FILE_EXTERN UINT32 file_aud_smp_head; // vbr large buffer marker for audio samples
FILE_EXTERN UINT32 file_aud_smp_tail; // vbr large buffer marker for audio samples
#endif // __FILE_VAR_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -