32 #define ADTS_HEADER_SIZE 7
46 #define ADTS_MAX_FRAME_BYTES ((1 << 13) - 1)
172 int side_data_size = 0, ret;
176 if (side_data_size) {
183 memcpy(par->
extradata, side_data, side_data_size);
212 #define ENC AV_OPT_FLAG_ENCODING_PARAM
213 #define OFFSET(obj) offsetof(ADTSContext, obj)
230 .mime_type =
"audio/aac",
231 .extensions =
"aac,adts",
239 .priv_class = &adts_muxer_class,
uint8_t pce_data[MAX_PCE_SIZE]
static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
int ff_id3v2_write_simple(struct AVFormatContext *s, int id3v2_version, const char *magic)
Write an ID3v2 tag containing all global metadata from s.
static void put_bits(Jpeg2000EncoderContext *s, int val, int n)
put n times val bit
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
#define LIBAVUTIL_VERSION_INT
static void skip_bits_long(GetBitContext *s, int n)
Skips the specified number of bits.
static av_cold int init(AVCodecContext *avctx)
static int adts_init(AVFormatContext *s)
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
#define ID3v2_DEFAULT_MAGIC
Default magic bytes for ID3v2 header: "ID3".
const char * av_default_item_name(void *ptr)
Return the context name.
static int adts_decode_extradata(AVFormatContext *s, ADTSContext *adts, const uint8_t *buf, int size)
#define ADTS_MAX_FRAME_BYTES
This struct describes the properties of an encoded stream.
static int adts_write_packet(AVFormatContext *s, AVPacket *pkt)
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
static const AVOption options[]
static int adts_write_header(AVFormatContext *s)
AVStream ** streams
A list of all streams in the file.
bitstream reader API header.
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
uint8_t * av_packet_get_side_data(const AVPacket *pkt, enum AVPacketSideDataType type, int *size)
Get side information from packet.
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
int extradata_size
Size of the extradata content in bytes.
static int write_trailer(AVFormatContext *s1)
The AV_PKT_DATA_NEW_EXTRADATA is used to notify the codec or the format that the extradata buffer was...
Libavcodec external API header.
AVIOContext * pb
I/O context.
int ff_ape_write_tag(AVFormatContext *s)
Write an APE tag into a file.
Describe the class of an AVClass context structure.
static int ff_copy_pce_data(PutBitContext *pb, GetBitContext *gb)
static int init_get_bits(GetBitContext *s, const uint8_t *buffer, int bit_size)
Initialize GetBitContext.
#define flags(name, subs,...)
static const AVClass adts_muxer_class
static void flush_put_bits(PutBitContext *s)
Pad the end of the output stream with zeros.
static int adts_write_frame_header(ADTSContext *ctx, uint8_t *buf, int size, int pce_size)
static void init_put_bits(PutBitContext *s, uint8_t *buffer, int buffer_size)
Initialize the PutBitContext s.
#define MAX_PCE_SIZE
Maximum size of a PCE including the 3-bit ID_PCE.
int avpriv_mpeg4audio_get_config(MPEG4AudioConfig *c, const uint8_t *buf, int bit_size, int sync_extension)
Parse MPEG-4 systems extradata from a raw buffer to retrieve audio configuration. ...
void * priv_data
Format private data.
static void write_header(FFV1Context *f)
uint8_t * extradata
Extra binary data needed for initializing the decoder, codec-dependent.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
This structure stores compressed data.
AVOutputFormat ff_adts_muxer
static int adts_write_trailer(AVFormatContext *s)