1 /*
2 * CRYO APC audio format demuxer
3 * Copyright (c) 2007 Anssi Hannula <anssi.hannula@gmail.com>
4 *
5 * This file is part of FFmpeg.
6 *
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
11 *
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */
21
22 #include <string.h>
23
27
29 {
30 if (!strncmp(p->
buf,
"CRYO_APC", 8))
32
33 return 0;
34 }
35
37 {
40
44
46 if (!st)
48
51
54
55 /* initial predictor values for adpcm decoder */
58
62 } else {
65 }
66
71
72 return 0;
73 }
74
75 #define MAX_READ_SIZE 4096
76
78 {
83 return 0;
84 }
85
92 };
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
#define AV_CH_LAYOUT_STEREO
static int apc_read_packet(AVFormatContext *s, AVPacket *pkt)
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
uint64_t channel_layout
Audio only.
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
unsigned int avio_rl32(AVIOContext *s)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
enum AVMediaType codec_type
General type of the encoded data.
int flags
A combination of AV_PKT_FLAG values.
AVInputFormat ff_apc_demuxer
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
int block_align
Audio only.
audio channel layout utility functions
AVIOContext * pb
I/O context.
This structure contains the data a format has to probe a file.
int sample_rate
Audio only.
static int apc_read_header(AVFormatContext *s)
#define AV_PKT_FLAG_CORRUPT
The packet content is corrupted.
int bits_per_coded_sample
The number of bits per sample in the codedwords.
static int apc_probe(AVProbeData *p)
AVCodecParameters * codecpar
Codec parameters associated with this stream.
#define AV_CH_LAYOUT_MONO
This structure stores compressed data.