mirror of
https://github.com/WerWolv/ImHex-Patterns.git
synced 2026-03-27 23:37:04 -05:00
32 lines
577 B
Rust
32 lines
577 B
Rust
#pragma author WerWolv
|
|
#pragma description OGG Audio format
|
|
|
|
#pragma MIME audio/ogg
|
|
|
|
import std.core;
|
|
import std.mem;
|
|
|
|
bitfield HeaderType {
|
|
Continuation : 1;
|
|
BeginOfStream : 1;
|
|
EndOfStream : 1;
|
|
};
|
|
|
|
struct SegmentData {
|
|
u8 data[parent.segmentTable[std::core::array_index()]];
|
|
};
|
|
|
|
struct Ogg {
|
|
char capturePattern[4];
|
|
u8 version;
|
|
HeaderType headerType;
|
|
u64 granulePosition;
|
|
u32 bitstreamSerialNumber;
|
|
u32 pageSequenceNumber;
|
|
u32 checksum;
|
|
u8 pageSegments;
|
|
u8 segmentTable[pageSegments];
|
|
SegmentData data[pageSegments];
|
|
};
|
|
|
|
Ogg ogg[while(!std::mem::eof())] @ 0x00; |