⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file_if.h

📁 Sunplus 8202S source code.
💻 H
字号:
#ifndef __FILE_IF_H__
#define __FILE_IF_H__

#include "avi_if.h"
#include "file_var.h"
#include "file_def.h"

// macros for file_type
#define	RESET_FILE_TYPE()				(file_type = FILE_TYPE_UNKNOWN)
#define	SET_FILE_TYPE(x)				(file_type = (x))
#define	GET_FILE_TYPE(x)				(file_type)

#define	IS_FILE_TYPE_AVI()				(file_type == FILE_TYPE_AVI)
#define	IS_FILE_TYPE_ASF()				(file_type == FILE_TYPE_ASF)
#define	IS_FILE_TYPE_QT()				(file_type == FILE_TYPE_QT)

// macros for file_media_support
#define	RESET_FILE_SUPPORT_MEDIA()		(file_media_support = FILE_MODE_ALL)
#define SET_FILE_SUPPORT_MEDIA(x)		(file_media_support = (x))
#define ADD_FILE_SUPPORT_MEDIA(x)		(file_media_support|= (x))
#define SUB_FILE_SUPPORT_MEDIA(x)		(file_media_support &= ~(x))
#define GET_FILE_SUPPORT_MEDIA()		(file_media_support)

#define	FILE_AUDIO_SUPPORTED()			((file_media_support&FILE_SUPPORT_AUDIO) > 0)
#define	FILE_VIDEO_SUPPORTED()			((file_media_support&FILE_SUPPORT_VIDEO) > 0)
#define	FILE_SUPIC_SUPPORTED()			((file_media_support&FILE_SUPPORT_SUPIC) > 0)
#define	FILE_AVI_IDX1_SUPPORTED()		((file_media_support&FILE_SUPPORT_AVI_IDX1) > 0)

// macros for file_media_flag
#define	RESET_FILE_MEDIA_FLAG()			(file_media_flag = FILE_STRM_FLAG_NONE | FILE_AV_INTERLEAVED)
#define SET_FILE_MEDIA_FLAG(x)			(file_media_flag = (x))
#define ADD_FILE_MEDIA_FLAG(x)			(file_media_flag |= (x))
#define SUB_FILE_MEDIA_FLAG(x)			(file_media_flag &= ~(x))
#define GET_FILE_MEDIA_FLAG()			(file_media_flag)

#define FILE_HAS_AUDIO()				((file_media_flag&FILE_AUDIO) > 0)
#define FILE_HAS_VIDEO()				((file_media_flag&FILE_VIDEO) > 0)
#define FILE_HAS_SUPIC()				((file_media_flag&FILE_SUPIC) > 0)

#define FILE_UNSUPPORT_AUDIO()			((file_media_flag&FILE_SUPPORTED_AUDIO) == 0)
#define FILE_UNSUPPORT_VIDEO()			((file_media_flag&FILE_SUPPORTED_VIDEO) == 0)
#define FILE_UNSUPPORT_SUPIC()			((file_media_flag&FILE_SUPPORTED_SUPIC) == 0)

#define IS_FILE_AUDIO_VBR()				((file_media_flag&FILE_AUDIO_VBR) > 0)
#define IS_FILE_AV_INTERLEAVED()		((file_media_flag&FILE_AV_INTERLEAVED) > 0)

// macros for file_play_state
#define	RESET_FILE_PLAY_STATE()			(file_play_state = FILE_NORMAL_STATE)
#define SET_FILE_PLAY_STATE(x)			(file_play_state = (x))
#define ADD_FILE_PLAY_STATE(x)			(file_play_state |= (x))
#define SUB_FILE_PLAY_STATE(x)			(file_play_state &= ~(x))
#define GET_FILE_PLAY_STATE()			(file_play_state)

#define	IS_FILE_DROP_AUDIO()			((file_play_state&FILE_DROPA_STATE) > 0)
#define	IS_FILE_DROP_VIDEO()			((file_play_state&FILE_DROPV_STATE) > 0)
#define	IS_FILE_DROP_SUPIC()			((file_play_state&FILE_DROPS_STATE) > 0)

// macros for file_error_flag
#define	IS_FILE_ERROR()					(file_error_flag >= AVI_ERR_CNT_THRESHOLD)
#define	CLEAR_FILE_ERROR()				(file_error_flag = 0)


// APIs
int		file_init_playback(UINT32 msf, UINT32 len);
int		file_init_audio();
int		file_init_video();
int		file_init_supic();
int		file_set_audio_stream(int aud_strm_num);
int		file_set_video_stream(int vid_strm_num);
int		file_set_supic_stream(int sup_strm_num);
//void	calc_accm_audio_fPTS();

int		do_file_video();
int		do_file_audio();
int		do_file_drop();

ifunc		file_restruct_sync_table;
ifunc5		file_preparser;
u32func2	file_ready_to_jump;
ifunc4		file_get_next_sync;

ifunc2		file_init_audio_stream;
ifunc2		file_init_video_stream;
ifunc2		file_init_supic_stream;

#if 0
int file_preparser_init(UINT32 msf, UINT32 len, UINT32 mode);

UINT32	file_set_aud_stream(int aud_strm_num);
UINT32	file_set_vid_stream(int vid_strm_num);
UINT32	file_set_sup_stream(int sup_strm_num);

ifunc	file_preparser;
ifunc	file_is_errored;
ifunc	file_clear_error;
ifunc	file_reset_buffer;
ifunc	file_sync_audio_buffer;
ifunc2	file_set_audio_fPTS;
ifunc2	file_set_goto;
ifunc	file_set_goto_next_frame;
ifunc2	file_fast_get_next_I;
ifunc	avi_error_get_next_I;
ifunc2	file_set_fast;
ifunc2	file_set_slow;
#endif

#endif	// __FILE_IF_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -