mirror of
https://github.com/pvvx/RTL00MP3.git
synced 2025-07-31 12:41:06 +00:00
add and update
This commit is contained in:
parent
03ed2886cb
commit
bda4d33012
109 changed files with 73065 additions and 85 deletions
110
RTL00_SDKV35a/component/common/media/muxer/mp4_encap.h
Normal file
110
RTL00_SDKV35a/component/common/media/muxer/mp4_encap.h
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
#ifndef _MP4_ENCAP_H_
|
||||
#define _MP4_ENCAP_H_
|
||||
|
||||
#include "basic_types.h"
|
||||
#include "osdep_service.h"
|
||||
|
||||
#define MAX_BOX_CHILD 8
|
||||
#define RBUF_SIZE 1024
|
||||
|
||||
typedef struct _mp4root{
|
||||
unsigned int video_len;
|
||||
unsigned int audio_len;
|
||||
unsigned int total;
|
||||
unsigned int keyindex;
|
||||
}MP4root,*PMP4root;
|
||||
|
||||
#define STORAGE_IDLE 0
|
||||
#define STORAGE_START 1
|
||||
#define STORAGE_WRITE_ALL 2
|
||||
#define STORAGE_WRITE_VIDEO 3
|
||||
#define STORAGE_WRITE_AUDIO 4
|
||||
#define STORAGE_STOP 5
|
||||
#define STORAGE_END 6
|
||||
|
||||
|
||||
#define STORAGE_ALL 0
|
||||
#define STORAGE_VIDEO 1
|
||||
#define STORAGE_AUDIO 2
|
||||
|
||||
typedef struct _mp4_payload{
|
||||
unsigned char *addr;
|
||||
unsigned int len;
|
||||
}mp4_payload,pmp4_payload;
|
||||
|
||||
typedef struct _mp4_write_info{
|
||||
int mp4_start_position;
|
||||
int mp4_end_position;
|
||||
int mp4_occupy_size;
|
||||
int mp4_empty_size;
|
||||
int mp4_write_start_position;
|
||||
int mp4_write_end_position;
|
||||
int mp4_write_occupy_size;
|
||||
int mp4_write_empty_size;
|
||||
int mp4_write_length;
|
||||
}mp4_winfo,*pmp4_winfo;
|
||||
|
||||
typedef struct _mp4_context{
|
||||
FATFS m_fs;
|
||||
int drv_num;
|
||||
char _drv[4];
|
||||
FIL m_file;
|
||||
char filename[32];
|
||||
int Fatfs_ok;
|
||||
int filecount;
|
||||
int width;
|
||||
int height;
|
||||
int sample_rate;
|
||||
int channel_count;
|
||||
int frame_rate;
|
||||
u32 start_time;//rtw_get_current_time()
|
||||
u32 file_name_index;
|
||||
u32 storage_state;
|
||||
MP4root root;
|
||||
MP4root root_reserve;
|
||||
int period_time;
|
||||
int file_total;
|
||||
int sps_start;
|
||||
int type;
|
||||
int sps_len;
|
||||
int pps_len;
|
||||
int sps_pps_mark;
|
||||
unsigned int *video_buffer_index;
|
||||
unsigned int *video_buffer_size;
|
||||
int video_size;
|
||||
unsigned int *audio_buffer_index;
|
||||
unsigned int *audio_buffer_size;
|
||||
int audio_size;
|
||||
unsigned char *moov_box;
|
||||
int moov_box_size;
|
||||
unsigned char *h264_buf;
|
||||
int H264_LENGTH;
|
||||
mp4_payload payload;
|
||||
mp4_payload reserved_payload;
|
||||
int reserved_start_index;
|
||||
int iframe;
|
||||
int reserved_type;
|
||||
_sema start_fatfs_write;
|
||||
int write_status;
|
||||
int audio_write_status;
|
||||
int video_write_status;
|
||||
int buffer_write_status;//0: real write 1: virtual write
|
||||
mp4_winfo winfo;
|
||||
int nal_len;
|
||||
int h264_extra_len;
|
||||
int mp4_muxer_enable;
|
||||
}mp4_context,*pmp4_context;
|
||||
#define IDLE 0
|
||||
#define FATFS_WRITING 1
|
||||
#define FATFS_DONE 2
|
||||
|
||||
void mp4_handle(pmp4_context mp4_ctx,unsigned char *buf,unsigned int size,int type);
|
||||
void set_mp4_audio_buffer(pmp4_context mp4_ctx,unsigned int *audio_index,unsigned int *audio_size,int size);
|
||||
void set_mp4_video_buffer(pmp4_context mp4_ctx,unsigned int *video_index,unsigned int *video_size,int size);
|
||||
void set_mp4_moov_buffer(pmp4_context mp4_ctx,unsigned char *moov,int size);
|
||||
int mp4_set_record(pmp4_context mp4_ctx,int num);
|
||||
void mp4_muxer_init(pmp4_context mp4_ctx);
|
||||
void mp4_muxer_close(pmp4_context mp4_ctx);
|
||||
int mp4_set_start_status(pmp4_context mp4_ctx);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue