32 #define CODEC2_HEADER_SIZE 7
33 #define CODEC2_MAGIC 0xC0DEC2
37 #define EXPECTED_CODEC2_MAJOR_VERSION 0
38 #define EXPECTED_CODEC2_MINOR_VERSION 8
83 return frame_size_table[
mode];
106 return block_align_table[
mode];
193 if (block_align <= 0 || frame_size <= 0 || c2->frames_per_packet <= 0) {
198 size =
c2->frames_per_packet * block_align;
206 n = ret / block_align;
257 s->internal->data_offset = 0;
264 #define FRAMES_PER_PACKET \
265 { "frames_per_packet", "Number of frames to read at a time. Higher = faster decoding, lower granularity", \
266 offsetof(Codec2Context, frames_per_packet), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM}
302 #if CONFIG_CODEC2_DEMUXER
318 #if CONFIG_CODEC2_MUXER
333 #if CONFIG_CODEC2RAW_DEMUXER
void avio_wb24(AVIOContext *s, unsigned int val)
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
unsigned int avio_rb24(AVIOContext *s)
int ffio_read_size(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
#define flags(name, subs,...)
static int codec2_mode_bit_rate(AVFormatContext *s, int mode)
static const AVClass codec2_mux_class
static int codec2raw_read_header(AVFormatContext *s)
static int codec2_probe(const AVProbeData *p)
static const AVOption codec2raw_options[]
static int codec2_mode_block_align(AVFormatContext *s, int mode)
static int codec2_read_header(AVFormatContext *s)
#define FRAMES_PER_PACKET
static int codec2_read_packet(AVFormatContext *s, AVPacket *pkt)
static int codec2_read_header_common(AVFormatContext *s, AVStream *st)
static const AVClass codec2_demux_class
static int codec2_write_header(AVFormatContext *s)
#define EXPECTED_CODEC2_MAJOR_VERSION
#define EXPECTED_CODEC2_MINOR_VERSION
static const AVClass codec2raw_demux_class
#define CODEC2_HEADER_SIZE
static int codec2_mode_frame_size(AVFormatContext *s, int mode)
static const AVOption codec2_options[]
#define CODEC2_AVOPTIONS(desc, classname, min_val, default_val, option_flags)
static uint8_t codec2_mode_from_extradata(uint8_t *ptr)
#define CODEC2_EXTRADATA_SIZE
static void codec2_make_extradata(uint8_t *ptr, int mode)
mode
Use these values in ebur128_init (or'ed).
static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
static int read_header(FFV1Context *f)
static void write_header(FFV1Context *f)
#define AV_CH_LAYOUT_MONO
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
const char * av_default_item_name(void *ptr)
Return the context name.
@ AV_SAMPLE_FMT_S16
signed 16 bits
#define LIBAVUTIL_VERSION_INT
common internal API header
#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.
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
@ AV_CLASS_CATEGORY_DEMUXER
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding
Describe the class of an AVClass context structure.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
int extradata_size
Size of the extradata content in bytes.
int frame_size
Audio only.
uint64_t channel_layout
Audio only.
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
enum AVMediaType codec_type
General type of the encoded data.
int block_align
Audio only.
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
int sample_rate
Audio only.
This structure stores compressed data.
int64_t duration
Duration of this packet in AVStream->time_base units, 0 if unknown.
This structure contains the data a format has to probe a file.
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
AVCodecParameters * codecpar
Codec parameters associated with this stream.