27#define MARKER_16LE 0x72F81F4E
28#define MARKER_20LE 0x20876FF0E154
29#define MARKER_24LE 0x72F8961F4EA5
31#define IS_16LE_MARKER(state) ((state & 0xFFFFFFFF) == MARKER_16LE)
32#define IS_20LE_MARKER(state) ((state & 0xF0FFFFF0FFFF) == MARKER_20LE)
33#define IS_24LE_MARKER(state) ((state & 0xFFFFFFFFFFFF) == MARKER_24LE)
34#define IS_LE_MARKER(state) (IS_16LE_MARKER(state) || IS_20LE_MARKER(state) || IS_24LE_MARKER(state))
38 int data_type,
int data_size,
54 if ((data_type & 0x1F) != 0x1C) {
63 switch (data_size / word_bits) {
83 *
offset *= (word_bits + 7 >> 3) * 2;
90 int markers[3] = { 0 };
99 buf = p->buf +
pos + 1;
122 if (markers[
max] < markers[
i])
126 if (markers[
max] > 3 && markers[
max] * 4 > sum * 3)
150 int ret, data_type, data_size,
offset;
178 if (!
s->nb_streams) {
int avio_feof(AVIOContext *s)
Similar to feof() but also returns nonzero on read errors.
unsigned int avio_rl16(AVIOContext *s)
unsigned int avio_rl24(AVIOContext *s)
int avio_r8(AVIOContext *s)
#define i(width, name, range_min, range_max)
static struct @346255127015250356166251341105367306144006377143 state
AVCodecID
Identify the syntax and semantics of the bitstream.
AVStream * avformat_new_stream(AVFormatContext *s, const struct AVCodec *c)
Add a new stream to a media file.
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
#define AVERROR_EOF
End of file.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
void avpriv_report_missing_feature(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
#define FFSWAP(type, a, b)
static int s337m_read_header(AVFormatContext *s)
static int s337m_probe(const AVProbeData *p)
#define IS_20LE_MARKER(state)
#define IS_LE_MARKER(state)
#define IS_16LE_MARKER(state)
static int s337m_read_packet(AVFormatContext *s, AVPacket *pkt)
static void bswap_buf24(uint8_t *data, int size)
static int s337m_get_offset_and_codec(void *avc, uint64_t state, int data_type, int data_size, int *offset, enum AVCodecID *codec)
#define FF_ARRAY_ELEMS(a)
void ff_spdif_bswap_buf16(uint16_t *dst, const uint16_t *src, int w)
enum AVMediaType codec_type
General type of the encoded data.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
This structure stores compressed data.
This structure contains the data a format has to probe a file.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
enum AVStreamParseType need_parsing