30 #include "libavutil/channel_layout.h"
31 #include "libavutil/intreadwrite.h"
37 #define QCP_MAX_MODE 4
47 0x6d, 0x7f, 0x5e, 0x15, 0xb1, 0xd0, 0x11, 0xba,
48 0x91, 0x00, 0x80, 0x5f, 0xb4, 0xb9, 0x7e
55 0x8d, 0xd4, 0x89, 0xe6, 0x76, 0x90, 0xb5, 0x46,
56 0x91, 0xef, 0x73, 0x6a, 0x51, 0x00, 0xce, 0xb4
63 0x75, 0x2b, 0x7c, 0x8d, 0x97, 0xa7, 0x49, 0xed,
64 0x98, 0x5e, 0xd5, 0x3c, 0x8c, 0xc7, 0x5f, 0x84
72 return (guid[0] == 0x41 || guid[0] == 0x42)
104 }
else if (!memcmp(buf,
guid_evrc, 16)) {
106 }
else if (!memcmp(buf,
guid_smv, 16)) {
122 nb_rates =
FFMIN(nb_rates, 8);
123 for (i=0; i<nb_rates; i++) {
140 unsigned int chunk_size,
tag;
173 case MKTAG(
'v',
'r',
'a',
't'):
178 case MKTAG(
'd',
'a',
't',
'a'):
static const uint8_t guid_smv[16]
SMV GUID as stored in the file.
#define AV_LOG_WARNING
Something somehow does not look correct.
AVCodecContext * codec
Codec context associated with this stream.
void av_log(void *avcl, int level, const char *fmt,...) av_printf_format(3
Send the specified message to the log if the level is less than or equal to the current av_log_level...
static int qcp_read_packet(AVFormatContext *s, AVPacket *pkt)
uint32_t data_size
size of data chunk
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
void * priv_data
Format private data.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
uint64_t channel_layout
Audio channel layout.
int bit_rate
the average bitrate
static int qcp_probe(AVProbeData *pd)
static int read_header(FFV1Context *f)
enum AVMediaType codec_type
static int qcp_read_header(AVFormatContext *s)
int sample_rate
samples per second
AVIOContext * pb
I/O context.
static int read_packet(AVFormatContext *ctx, AVPacket *pkt)
#define MKTAG(a, b, c, d)
AVInputFormat ff_qcp_demuxer
static const uint8_t guid_evrc[16]
EVRC GUID as stored in the file.
static const uint8_t guid_qcelp_13k_part[15]
Last 15 out of 16 bytes of QCELP-13K GUID, as stored in the file; the first byte of the GUID can be e...
This structure contains the data a format has to probe a file.
int16_t rates_per_mode[QCP_MAX_MODE+1]
contains the packet size corresponding to each mode, -1 if no size.
#define AVERROR_INVALIDDATA
int channels
number of audio channels
static int is_qcelp_13k_guid(const uint8_t *guid)
#define AV_CH_LAYOUT_MONO
This structure stores compressed data.