file_var.h
上传用户:poi891205
上传日期:2013-07-15
资源大小:9745k
文件大小:3k
源码类别:

DVD

开发平台:

C/C++

  1. #ifndef __FILE_VAR_H__
  2. #define __FILE_VAR_H__
  3. #include "types.h"
  4. #ifdef FILEPLAYVAR_HERE
  5. #define FILE_EXTERN
  6. #else
  7. #define FILE_EXTERN extern
  8. #endif
  9. #define FILE_MAX_AUDIO 0x8
  10. #define FILE_MAX_VIDEO 0x1
  11. FILE_EXTERN STRM_TABLE file_audio_table[FILE_MAX_AUDIO]; // only FCC_strf fp is recored, need to retrieve WAVEFORMATEX
  12. FILE_EXTERN STRM_TABLE file_video_table[FILE_MAX_VIDEO]; // only FCC_strf fp is recored, need to retrieve BITMAPINFOHEADER
  13. // file position/length information
  14. FILE_EXTERN UINT32 file_start_lba; // file start lba (in lba)
  15. FILE_EXTERN UINT32 file_cur_fp; // file cur_fp
  16. FILE_EXTERN INT32 file_buf_len; // file init buffer unused size
  17. FILE_EXTERN UINT32 file_size; // file size (in byte)
  18. FILE_EXTERN UINT32 file_data_offset; // data start offset (in byte)
  19. FILE_EXTERN UINT32 file_data_size; // data size (in byte)
  20. FILE_EXTERN UINT32 file_len; // file length, the max of a/v length (in sec)
  21. FILE_EXTERN UINT64 file_len_STC; // file length, the max of a/v length (in 90kHz STC)
  22. FILE_EXTERN UINT64 file_aud_len; // audio length (in 90kHz STC)
  23. FILE_EXTERN UINT64 file_vid_len; // video length (in 90kHz STC)
  24. FILE_EXTERN UINT32 file_chunk_size; // file media chunk size
  25. FILE_EXTERN UINT32 file_vid_skip; // audio data that must be skipped(frame base)
  26. FILE_EXTERN UINT32 file_aud_skip; // audio data that must be skipped(after a/v resync), note that vbr is in audio frame granule.
  27. FILE_EXTERN UINT32 file_aud_accum_size; // For CBR audio, this is the number of bytes accumulated.
  28. // For VBR audio, this is the number of audio frame accumulated.
  29. // file media stream counters
  30. FILE_EXTERN UINT32 file_aud_num; // audio stream number
  31. FILE_EXTERN UINT32 file_vid_num; // video stream number
  32. FILE_EXTERN UINT32 file_sup_num; // subpicture stream number
  33. FILE_EXTERN UINT32 file_default_aud; // default audio stream
  34. FILE_EXTERN UINT32 file_default_vid; // default video stream
  35. FILE_EXTERN UINT32 file_default_sup; // default subpicture stream
  36. // file playback related flags
  37. FILE_EXTERN UINT32 file_type; // file type, such as AVI/ASF/etc.
  38. 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
  39. FILE_EXTERN UINT32 file_play_state; // file playback state
  40. FILE_EXTERN UINT32 file_error_flag; // file error flag
  41. FILE_EXTERN UINT32  strm_offset; // used for srv0 to drop redundant data since data come in in 2k byte unit.
  42. // RISC audio large buffer, two layer buffer to reduce the DSP bitstream buffer
  43. FILE_EXTERN UINT32 audio_prefilled; // turn on DSP feeding function in polling
  44. FILE_EXTERN UINT32 aud_time_marker; // audio buffer ringback flag (input)
  45. FILE_EXTERN UINT32 file_aud_buf; // audio system layer big buffer start
  46. FILE_EXTERN UINT32 file_aud_bufend; // audio system layer big buffer end
  47. FILE_EXTERN INT32 file_aud_buf_size; // audio system layer big buffer size
  48. FILE_EXTERN BYTE *file_aud_wtptr; // file parser write pointer
  49. FILE_EXTERN BYTE *file_aud_rdptr; // file parser read pointer
  50. FILE_EXTERN UINT32 file_vbr_buf; // audio vbr buffer start
  51. FILE_EXTERN UINT32 file_aud_smp_head; // vbr large buffer marker for audio samples
  52. FILE_EXTERN UINT32 file_aud_smp_tail; // vbr large buffer marker for audio samples
  53. #endif // __FILE_VAR_H__