Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
45
Src/nsavi/ParserBase.h
Normal file
45
Src/nsavi/ParserBase.h
Normal file
|
@ -0,0 +1,45 @@
|
|||
#pragma once
|
||||
#include "read.h"
|
||||
#include "avi_header.h"
|
||||
#include "avi_reader.h"
|
||||
#include "info.h"
|
||||
|
||||
namespace nsavi
|
||||
{
|
||||
|
||||
|
||||
struct HeaderList
|
||||
{
|
||||
const AVIH *avi_header;
|
||||
const STRL *stream_list;
|
||||
size_t stream_list_size;
|
||||
const DMLH *odml_header;
|
||||
};
|
||||
|
||||
class ParserBase
|
||||
{
|
||||
public:
|
||||
ParserBase(nsavi::avi_reader *_reader);
|
||||
int GetRIFFType(uint32_t *type);
|
||||
|
||||
|
||||
protected:
|
||||
int ParseHeaderList(uint32_t chunk_size, uint32_t *out_bytes_read);
|
||||
int ParseStreamList(uint32_t chunk_size, STRL *stream, uint32_t *out_bytes_read);
|
||||
int ParseODML(uint32_t chunk_size, uint32_t *out_bytes_read);
|
||||
|
||||
nsavi::avi_reader *reader;
|
||||
|
||||
/* RIFF header (12 bytes at start of file) */
|
||||
ParseState riff_parsed;
|
||||
riff_chunk riff_header;
|
||||
uint64_t riff_start; // should normally be 12
|
||||
|
||||
/* header list */
|
||||
ParseState header_list_parsed;
|
||||
AVIH *avi_header;
|
||||
STRL *stream_list;
|
||||
size_t stream_list_size;
|
||||
DMLH *odml_header;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue