46 #define AMV_STREAM_COUNT 2
47 #define AMV_STREAM_VIDEO 0
48 #define AMV_STREAM_AUDIO 1
49 #define AMV_VIDEO_STRH_SIZE 56
50 #define AMV_VIDEO_STRF_SIZE 36
51 #define AMV_AUDIO_STRH_SIZE 48
52 #define AMV_AUDIO_STRF_SIZE 20
173 "Please change video frame rate. Suggested rates: 10,14,15,18,21,25,30\n");
335 stream_index = (stream_index + 1) %
s->nb_streams;
412 .mime_type =
"video/amv",
static void amv_deinit(AVFormatContext *s)
AVOutputFormat ff_amv_muxer
static void amv_write_alist(AVFormatContext *s, AVCodecParameters *par)
static av_cold int amv_init(AVFormatContext *s)
static int amv_write_header(AVFormatContext *s)
#define AMV_VIDEO_STRH_SIZE
#define AMV_AUDIO_STRH_SIZE
static void amv_write_vlist(AVFormatContext *s, AVCodecParameters *par)
static int64_t amv_start_tag(AVIOContext *pb, const char *tag)
static int amv_write_packet(AVFormatContext *s, AVPacket *pkt)
static void amv_end_tag(AVIOContext *pb, int64_t start)
static int amv_write_packet_internal(AVFormatContext *s, AVPacket *pkt)
static int amv_pad(AVFormatContext *s, AVPacket *pkt)
#define AMV_VIDEO_STRF_SIZE
static int amv_write_trailer(AVFormatContext *s)
#define AMV_AUDIO_STRF_SIZE
simple assert() macros that are a bit more flexible than ISO C assert().
#define av_assert0(cond)
assert() equivalent, that is always enabled.
int64_t avio_seek(AVIOContext *s, int64_t offset, int whence)
fseek() equivalent for AVIOContext.
#define AVIO_SEEKABLE_NORMAL
Seeking works like for a local file.
void avio_wl32(AVIOContext *s, unsigned int val)
void avio_wl16(AVIOContext *s, unsigned int val)
void avio_w8(AVIOContext *s, int b)
static av_always_inline int64_t avio_tell(AVIOContext *s)
ftell() equivalent for AVIOContext.
void avio_write(AVIOContext *s, const unsigned char *buf, int size)
static av_always_inline void ffio_wfourcc(AVIOContext *pb, const uint8_t *s)
void ffio_fill(AVIOContext *s, int b, int count)
static av_cold int init(AVCodecContext *avctx)
#define ss(width, name, subs,...)
static const struct exif_tag tag_list[]
static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
static void write_header(FFV1Context *f)
const char * avcodec_get_name(enum AVCodecID id)
Get the name of a codec.
@ AV_CODEC_ID_ADPCM_IMA_AMV
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
void av_packet_unref(AVPacket *pkt)
Wipe the packet.
AVPacket * av_packet_alloc(void)
Allocate an AVPacket and set its fields to default values.
int av_packet_ref(AVPacket *dst, const AVPacket *src)
Setup a new reference to the data described by a given packet.
int av_new_packet(AVPacket *pkt, int size)
Allocate the payload of a packet and initialize its fields with default values.
#define AV_LOG_TRACE
Extremely verbose debugging, useful for libav* development.
#define AV_LOG_WARNING
Something somehow does not look correct.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
int64_t av_rescale(int64_t a, int64_t b, int64_t c)
Rescale a 64-bit integer with rounding to nearest.
int64_t av_rescale_q(int64_t a, AVRational bq, AVRational cq)
Rescale a 64-bit integer by 2 rational numbers.
#define AV_TIME_BASE
Internal time base represented as integer.
#define AV_TIME_BASE_Q
Internal time base represented as fractional value.
static int bad(InterplayACMContext *s, unsigned ind, unsigned col)
common internal API header
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
internal header for RIFF based (de)muxers do NOT include this in end user applications
void ff_end_tag(AVIOContext *pb, int64_t start)
int64_t ff_start_tag(AVIOContext *pb, const char *tag)
int64_t lastpts[AMV_STREAM_COUNT]
This struct describes the properties of an encoded stream.
int frame_size
Audio only.
int block_align
Audio only.
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.
AVCodecParameters * codecpar
Codec parameters associated with this stream.
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented.
static int write_trailer(AVFormatContext *s1)