1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-07 11:13:41 +02:00
Commit Graph

562 Commits

Author SHA1 Message Date
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Diego Biurrun
0177b7d23a Improve descriptiveness of a number of codec and container long names 2012-07-30 20:46:55 +02:00
Diego Biurrun
6774247a9d avformat: Drop pointless "format" from container long names 2012-07-30 13:59:06 +02:00
Ronald S. Bultje
fd48721849 lavf: use conditional notation for default codec in muxer declarations.
This removes the use of macro nesting in these code constructs, which
makes it easier to parse in pre-processors.
2012-07-22 16:10:21 -07:00
Ronald S. Bultje
5354a904fe rtsp: remove terminal comma in FF_RTP_FLAG_OPTS macro.
This makes usage of the macro look more natural when
used with array entries.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-21 15:35:01 -04:00
Martin Storsjö
9e74db6850 mov: Support muxing/demuxing iLBC
The packet size, signalled via block_align, has to be passed via
the container.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Alex Converse
41e9682af2 movenc: Write chan atom for all audio tracks in mov mode movies. 2012-06-04 10:08:31 -07:00
Alex Converse
ed7bdd8647 movenc: Don't write the 'wave' atom or its child 'enda' for lpcm audio.
It's left over from stsd v0. QuickTime 7 no longer writes 'wave' or 'enda'
when 'lpcm' is the audio tag.
2012-05-25 11:24:43 -07:00
Alex Converse
dc878b96a7 movenc: Support high sample rates in isomedia formats by setting the sample rate field in stsd to 0.
Libisomediafile appears to always set this field to zero.
2012-04-20 13:45:35 -07:00
Alex Converse
73b7437f1d movenc: Remove a dead initialization 2012-04-12 18:34:45 -07:00
Luca Barbato
ebbede2265 movenc: small refactor mov_write_packet
Share the formerly internal write_packet with the hinter and move the
fragment flush logic to the user facing one since it is not concerned
about movtrack-only streams.

Fixes bug #263

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-11 14:38:37 +03:00
Luca Barbato
18b59956e0 movenc: remove redundant check
The proper check is already in mov_write_header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-11 14:38:36 +03:00
Martin Storsjö
20234a4bd7 cosmetics: Align muxer/demuxer declarations
Also add missing trailing commas, break long codec_tag lines and
add spaces in codec_tag declarations.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 19:19:59 +03:00
Diego Biurrun
a92be9b856 Replace memset(0) by zero initializations.
Also remove one pointless zero initialization in rangecoder.c.
2012-03-28 09:38:33 +02:00
Martin Storsjö
68893afe1d movenc: Merge if statements
This isn't exactly equivalent with the earlier code for codecs
other than H264 and VC1, but those are two only codecs supported
by this codepath anyway, and it simplifies it a bit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-25 01:06:49 +02:00
Martin Storsjö
d5ed5e7d0c avc: Add a function for converting mp4 style extradata to annex b
Make movenc use this function instead of the current custom
conversion function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-24 22:53:18 +02:00
Martin Storsjö
39f5a5462c movenc: Add a min_frag_duration option
The other fragmentation options (frag_duration, frag_size and
frag_keyframe) are combined with OR, cutting fragments at the
first of the conditions being fulfilled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-03-20 11:18:05 +02:00
Justin Ruggles
f234e8a32e movenc: use timestamps instead of frame_size for samples-per-packet
For encoding, AVCodecContext.frame_size is the number of input samples to
send to the encoder and does not necessarily correspond directly to the
timestamps of the output packets.
2012-02-27 04:33:37 -05:00
Justin Ruggles
f3dab5fb6d movenc: use the first cluster duration as the tfhd default duration 2012-02-27 04:33:37 -05:00
Justin Ruggles
681d17264f movenc: factorize calculation of cluster duration into a separate function 2012-02-27 04:33:37 -05:00
Martin Storsjö
c2ff63e3ac rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTS
This simplifies adding more flags to the macro.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-23 15:27:42 +02:00
Martin Storsjö
0c7b8b758a movenc: Buffer the mdat for the initial moov fragment, too
This allows writing QuickTime-compatible fragmented mp4 (with
a non-empty moov atom) to a non-seekable output.

This buffers the mdat for the initial fragment just as it does
for all normal fragments, too. Previously, the resulting
atom structure was mdat,moov, moof,mdat ..., while it now
is moov,mdat, moof,mdat.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-22 12:27:39 +02:00
Martin Storsjö
5be805d38c mov: Use defines for sample flags in fragments
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 21:13:36 +02:00
Martin Storsjö
3eec23f3cd mov: Use defines for trun flags
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 21:13:35 +02:00
Martin Storsjö
73328f24fa mov: Use defines for tfhd flags
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 21:13:33 +02:00
Martin Storsjö
5302633919 movenc: Write the unknown duration as 64 bit fields in ismv
This is required for the files to play back properly in
windows media player.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 00:03:32 +02:00
Martin Storsjö
99a357f4c5 movenc: Write track durations with all bits set if duration is unknown
According to 14496-12, the duration should be all 1s if
the duration is unknown. This is the case if writing a moov
atom without any samples described in it (e.g. as in ismv files).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 00:03:30 +02:00
Martin Storsjö
51df7b232f movenc: Don't set a default sample duration when creating ismv
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-16 17:49:07 +01:00
Martin Storsjö
167f3b8de7 libavformat: Add an ff_ prefix to some lavf internal symbols
Prefix the functions/tables brktimegm, pcm_read_seek,
dv_offset_reset, voc_get_packet, codec_movaudio_tags,
codec_movvideo_tags.

After this, lavf has no global symbols without the proper prefix.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:17 +02:00
Martin Storsjö
4ace130ee6 movenc: Support muxing VC1
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 16:12:18 +02:00
Martin Storsjö
5d561514b7 movenc: Support muxing wmapro in ismv/isma
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-13 19:57:28 +02:00
Martin Storsjö
b7d3dd907f movenc: cosmetics: Get rid of camelCase identifiers
Also add spacing around operators on touched lines, and split
one line to match the common style.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-30 19:24:39 +02:00
Martin Storsjö
e771e6dd63 movenc: Allow writing to a non-seekable output if using empty moov
In this mode, no seeks will be done except for within moov/moof
fragments, which should fit within the AVIOContext buffer.

This allows pushing live smooth streaming format data to
a live publishing point on IIS over http.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-27 21:12:41 +02:00
Martin Storsjö
f532210499 movenc: Support adding isml (smooth streaming live) metadata
This metadata is required for pushing a live stream to an IIS
publishing point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-27 21:12:28 +02:00
Anton Khirnov
df0bb26aca lavf: remove disabled FF_API_TIMESTAMP cruft 2012-01-27 10:52:42 +01:00
Anton Khirnov
2d70912cc2 lavf: remove disabled FF_API_FLAG_RTP_HINT cruft 2012-01-27 10:52:42 +01:00
Martin Storsjö
9f9c45f4b6 movenc: Don't require frame_size to be set for modes other than mov
The field frame_size isn't written to the output anywhere except
than in mov.

This facilitates stream copy from formats that don't set frame_size.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 22:25:56 +02:00
Martin Storsjö
990a746cec movenc: Reindent a block
Also add some space around operators and wrap a comment
that extends past the 80 char "limit"/guideline.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 22:13:56 +02:00
Martin Storsjö
3b5d4428ac movenc: Write the sample rate instead of time scale in the stsd atom
For ismv/isma, the time scale might not be the same as the sample
rate.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 12:15:41 +02:00
Martin Storsjö
4ddd54dab4 movenc: Add a separate ismv/isma (smooth streaming) muxer
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 12:15:41 +02:00
Martin Storsjö
b613ff5e93 movenc: Allow the caller to decide on fragmentation
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 12:15:41 +02:00
Martin Storsjö
83988d58ed movenc: Add support for writing fragmented mov files
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 12:15:41 +02:00
Martin Storsjö
6ca3856894 movenc: Add a separate start_pts
This fixes calculation of trackDuration if the MOVIentry array
is cleared. This is required by the fragmentation support in the
next patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-25 12:15:40 +02:00
Martin Storsjö
a78dbada55 movenc: Don't store a nonzero creation time if nothing was set by the caller
If the creation time is stored in the file as a zero, the
mov demuxer skips exporting the creation time. Currently,
files muxed without a creation time get demuxed with a
Jan 1st 1970 creation timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-01-10 16:02:07 +02:00
Alex Converse
4bf3c8f226 mov: Don't stick the QuickTime field ordering atom in extradata.
The 'fiel' atoms can be found in H.264 tracks clobbering the extradata.
MJPEG supports non field based extradata, and this data should be
preserved when copying.
2011-12-21 22:04:37 -08:00
Alex Converse
d3b8bde2f1 movenc: Rudimentary IODs support. 2011-12-15 14:06:13 -08:00
Mans Rullgard
3383a53e7d lavu: replace int/float punning functions
The existing functions defined in intfloat_readwrite.[ch] are
both slow and incorrect (infinities are not handled).

This introduces a new header with fast, inline conversion
functions using direct union punning assuming an IEEE-754
system, an assumption already made throughout the code.

The one use of Intel/Motorola extended 80-bit format is
replaced by simpler code sufficient under the present
constraints (positive normal values).

The old functions are marked deprecated and retained for
compatibility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:47:19 +00:00
Mans Rullgard
373211d828 Remove extraneous semicolons
These semicolons cause invalid empty top-level declarations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 17:23:24 +00:00
Martin Storsjö
e2484fb644 movenc: Use the actual converted sample for RTP hinting
If an annex b bitstream is muxed into mov, the actual written
sample is reformatted to mp4 syntax before writing.

Currently, the RTP hints that copy data from the normal video
track, where the payload data might be offset compared to the
original sample that the RTP hinting used (when 3 byte
annex b startcodes have been converted into 4 byte mp4 format
startcodes).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-11 01:37:26 +02:00
Diego Biurrun
da9cea77e3 Fix a bunch of common typos. 2011-12-11 00:32:25 +01:00
Justin Ruggles
60cd802daf movenc: write 'chan' tag for AC-3 in MOV 2011-12-09 16:12:58 -05:00
Justin Ruggles
1fdf18f4b7 mov: add support for reading and writing the 'chan' tag
This implements reading the tag in the demuxer and adds support for writing it
in the muxer. Some example channel layout tables for muxing are included for
ac3, aac, and alac, but they are not utilized yet.
2011-12-09 16:12:58 -05:00
Justin Ruggles
8e8c51318c movenc: simplify handling of pcm vs. adpcm vs. other compressed codecs
Use Sound Sample Description Version 2 for all MOV files.
Updated FATE references accordingly.
Note that ADPCM is treated as compressed audio in version 2.
2011-12-09 16:12:58 -05:00
Anton Khirnov
c3f9ebf743 lavf: make av_set_pts_info private.
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01:00
Carl Eugen Hoyos
ed669c9bec movenc: Set a correct packet size for AMR-NB mode 15, "no data"
These packets are valid packets, and consist of 1 byte (which
contains the mode bits).

This had been analyzed and reported by Igor Levin, igor d levin comverse com.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:35:34 +02:00
Anton Khirnov
145f741e11 AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_* 2011-10-12 16:51:16 +02:00
Anton Khirnov
a4ea00d021 lavc/lavf: use unique private classes.
This is needed by the new AVOptions API.
2011-10-05 07:52:30 +02:00
Anton Khirnov
c92a2a4eb8 movenc: fix NULL reference in mov_write_tkhd_tag
st may be NULL when there are more mov streams than AVStreams, e.g. when
chapters are present.
2011-09-19 16:44:42 +02:00
Anton Khirnov
7574cacbd5 movenc: create an alternate group for each media type
Partially fixes bug 44.
2011-09-17 08:42:30 +02:00
Laurent Aimar
b59efc9434 Fixed size given to init_get_bits().
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-15 13:23:04 -07:00
Anton Khirnov
fb42d156ed movenc: use libx264 by default when possible for mov, mp4 and psp 2011-08-22 07:17:35 +02:00
Anton Khirnov
eb97dbb05a movenc: change AV_LOG_INFO to AV_LOG_WARNING for some warnings 2011-08-16 10:34:17 +02:00
Anton Khirnov
dfc2c4d900 lavf: use designated initialisers for all (de)muxers.
It's more readable and less prone to breakage.
2011-07-17 06:58:37 +02:00
Anton Khirnov
001d668d40 lavf: factor out conversion of ISO8601 string to unix time 2011-07-13 12:14:25 +02:00
Anton Khirnov
5f847bf61d lavf: deprecate AVFormatContext.timestamp
It's replaced by 'creation_time' metadata tag.
2011-07-12 15:30:10 +02:00
Anton Khirnov
71a861cf40 lavc: make avcodec_alloc_context3 officially public.
Deprecate avcodec_alloc_context/2.
2011-07-10 17:09:28 +02:00
Mans Rullgard
0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Mans Rullgard
ee8aecd23a Do not include intfloat_readwrite.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Martin Storsjö
d16cccac98 movenc: Add RTP muxer/hinter options
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:52:32 +03:00
Martin Storsjö
f3f82296a4 movenc: Pass the RTP AVFormatContext to the SDP generation
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:52:25 +03:00
Martin Storsjö
0558e266a2 sdp: Allow passing an AVFormatContext to the SDP generation
Options from the AVFormatContext can be read for modifying
the generated SDP.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:45:22 +03:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Gil Pedersen
c16919487e improved 'edts' atom writing support
The 'edts' write function can now generate an initial empty edit resulting in a track-specific presentation delay.
This is automatically calculated and inserted for any track where the initial DTS != 0.
Added support for long (version==1) timecodes.
2011-05-31 08:16:18 -07:00
Martin Storsjö
28734ac995 movenc: Deprecate the global RTP hinting flag, use a private AVOption instead
Instead of -fflags rtphint, set -movflags rtphint instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-27 19:56:44 +03:00
Martin Storsjö
91e3a25ef6 movenc: Add an AVClass for setting muxer specific options
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-27 19:56:33 +03:00
Baptiste Coudurier
7e19a6e868 movenc: always write esds descriptor length using 4 bytes.
ipod shuffle doesn't support anything else.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-13 07:38:54 +02:00
Baptiste Coudurier
304e983dc7 movenc: fix yuv range in avid atoms used by dnxhd.
yuv range: full 1 / normal 2

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 13:07:21 +02:00
Alex Converse
7fe3207e25 movenc: fix adpcm mono muxing.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 13:05:30 +02:00
Alex Converse
1a5e4fd8c5 Replace strncpy() with av_strlcpy(). 2011-05-03 21:20:13 -07:00
Anton Khirnov
6dc7d80de7 avio: avio_ prefix for url_close_dyn_buf 2011-04-03 22:47:05 +02:00
Anton Khirnov
b92c545282 avio: avio_ prefix for url_open_dyn_buf 2011-04-03 22:46:56 +02:00
Anton Khirnov
8978fedaee avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
2011-04-03 22:46:40 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
b7f2fdde74 avio: rename put_flush_packet -> avio_flush
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:59:39 -04:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Baptiste Coudurier
06ed4873e6 movenc: use correct tag for dvcpro hd
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-02 00:23:08 +00:00
Baptiste Coudurier
fffdee89cc movenc: fix tkhd height for imx
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-01 23:45:03 +00:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Ronald S. Bultje
13ff92d197 movenc: remove uses of deprecated API.
Replace put_tag() with ffio_wfourcc() and ByteIOContext with AVIOContext.
2011-02-25 17:41:00 -05:00
Maksym Veremeyenko
d184c86cd3 store pasp atom for all types of quicktime movie
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-02-25 22:31:16 +01:00
Maksym Veremeyenko
77d207cbe6 reindent after tapt patch
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-02-25 22:31:16 +01:00
Maksym Veremeyenko
ea1afa124c use tapt atom for sample aspect ratio
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-02-25 22:31:16 +01:00
Anton Khirnov
0abdb29317 lavf: use a new ffio_wfourcc macro instead of put_tag() where possible
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 14:38:22 -05:00
Anton Khirnov
77eb5504d3 avio: avio: avio_ prefixes for put_* functions
In the name of consistency:
put_byte           -> avio_w8
put_<type>         -> avio_w<type>
put_buffer         -> avio_write

put_nbyte will be made private
put_tag will be merged with avio_put_str

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 14:25:15 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Takashi Mochizuki
44b1120724 movenc: Force first sample as SYNC
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 01:16:30 +00:00
Janne Grunau
795ed278e6 movenc: byteswap codec_tag in mov_write_ms_tag
based on Alex Converse's "Fix ADPCM MS in mov muxing" patch
2011-01-28 01:06:57 +01:00
Baptiste Coudurier
f258964217 In mov muxer, mux adpcm_ms and adpcm_ima_wav the way quicktime supports it
In mov demuxer, set adpcm_ms and adpcm_ima_wav frame size to stsd samples per packet.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-28 01:06:57 +01:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Baptiste Coudurier
a2b7ed3274 In mov muxer, override codec tag for dv in mov, fix remuxing from avi
Originally committed as revision 26257 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 19:56:31 +00:00
Baptiste Coudurier
10d8eac98d In mov muxer, override codec tag for h263 in mov, fix remuxing from 3gp
Originally committed as revision 26255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 19:55:08 +00:00
Baptiste Coudurier
91360ce61d Unset variable fps for mov and mp4 muxer, they support it
but timestamps must start at 0 currently, and this causes sync
problem.

Originally committed as revision 25805 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 00:41:28 +00:00
Baptiste Coudurier
96d1e75a0c In mov muxer, write artist metadata tag
Originally committed as revision 25498 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 23:23:47 +00:00
Baptiste Coudurier
edd33cb6fa In mov muxer, use correct metadata tag for encoder, and use the generic metadata api name
Originally committed as revision 25497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 23:16:11 +00:00
Baptiste Coudurier
6bd296f1e4 In mov muxer, write reduced sample aspect ratio values in pasp
Originally committed as revision 25082 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-08 20:22:02 +00:00
Martin Storsjö
7ad1dc5447 Properly handle IPv6 addresses in the SDP generation
Originally committed as revision 24915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 12:29:32 +00:00
Martin Storsjö
8b6e0aec9f movenc: Free the buffer returned by url_close_dyn_buffer, regardless of the size
This fixes a leak introduced in rev 23942, since we write padding to the
buffer unconditionally.

Originally committed as revision 24342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 05:23:28 +00:00
Baptiste Coudurier
b015be2142 In mov muxer, write pixel aspect ratio tag in mov files.
Based on a patch by Daniel Kristjansson, danielk at cuymedia dot net

Originally committed as revision 24124 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 21:57:20 +00:00
Baptiste Coudurier
9a191b3a21 Support gray16be and rgb48be in mov
Originally committed as revision 23608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-15 09:14:00 +00:00
Baptiste Coudurier
a7cc89e2f6 fix raw 555 pixel format, add abgr fourcc
Originally committed as revision 23479 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 23:30:58 +00:00
Baptiste Coudurier
a4de2b6ecf write 3gp perf tag for artist metadata
Originally committed as revision 23268 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 21:06:11 +00:00
Baptiste Coudurier
221ed48602 albm 3gp tag has optional track field not date
Originally committed as revision 23267 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 21:04:39 +00:00
Baptiste Coudurier
ea4c4d7fe3 change author metadata to artist in mov de/muxer
Originally committed as revision 23266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 21:03:14 +00:00
Martin Storsjö
e977af6f2e Add initial support for RTP hinting in the mov muxer
Originally committed as revision 23164 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:47:24 +00:00
Martin Storsjö
27a826c941 Make mov_write_packet non-static, add ff_ prefix
Originally committed as revision 23163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:40:17 +00:00
Martin Storsjö
f72dad4142 Move the mov muxer structures to a separate header
Originally committed as revision 23162 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:38:37 +00:00
David Conrad
ddb630177a movenc: Write QuickTime chapters
Originally committed as revision 23022 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:10 +00:00
David Conrad
1b206f62ea movenc: Swap positions of mov_write_header and mov_write_packet
Originally committed as revision 23021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-05 08:41:06 +00:00
David Conrad
dc75e4e3b3 movenc: Write nero chapters
Originally committed as revision 22927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-21 06:36:05 +00:00
Tomas Härdin
6b174197b5 Predicting the size of the hdlr, string data and trkn tags in the MOV muxer
Originally committed as revision 22846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-12 07:24:30 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Baptiste Coudurier
fe3ab8adfa Fix encoder metadata string langcode in mov muxer
Originally committed as revision 22369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:53:16 +00:00
Baptiste Coudurier
cc255afeb5 Correctly mark mov metadata as utf-8, using iso language code
Originally committed as revision 22368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 01:21:09 +00:00
Anton Khirnov
ca76a11948 Add a list of generic tags and change demuxers to follow it.
Patch by Anton Khirnov, wyskas at gmail dot com

Originally committed as revision 21587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 11:39:10 +00:00
Stefano Sabatini
ade5b91dda Use av_match_ext() rather than the deprecated match_ext(), fix
warnings.

Originally committed as revision 21263 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-17 15:57:51 +00:00
Mike Melanson
2cf9c7ef9c Add support for these widely-used iTunes metadata fields: Album Artist,
Grouping, and Lyrics.

Originally committed as revision 21010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-04 02:52:40 +00:00
Baptiste Coudurier
1bd26e51f3 100l, max value for timescale is UINT16_MAX
Originally committed as revision 20661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 18:26:51 +00:00
Baptiste Coudurier
729ef3ba62 remove useless mov timescale field
Originally committed as revision 20652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:46:49 +00:00
Baptiste Coudurier
74ccc66099 change track timescale to unsigned int, fix warning
Originally committed as revision 20651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:41:48 +00:00
Baptiste Coudurier
7506e117db track time can be 64bit
Originally committed as revision 20650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:40:27 +00:00
Baptiste Coudurier
7c4b7d0f41 support pcm_f32/64le in mov
Originally committed as revision 20649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:27:08 +00:00
Baptiste Coudurier
ba7c0ece61 cosmetics, reindent after last commit
Originally committed as revision 20648 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:04:44 +00:00
Baptiste Coudurier
feaa8d110d support sample rates > INT16_MAX in mov using stsd v2
Originally committed as revision 20647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 02:03:24 +00:00
David Conrad
7382902b86 MOV: Add several iTunes metadata tags
Originally committed as revision 20586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 08:47:44 +00:00
David Conrad
620af1a17a MOV: Fix writing \251wrt metadata (r20453 only fixed the demuxer)
Originally committed as revision 20585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-23 08:47:40 +00:00
Justin Ruggles
aca857ecd3 Do not write an extra byte in the iTunes 'hdlr' tag. The files on iTMS have an
extra byte and are not compliant with ISO 14496-12.  This causes some strict
demuxers (notably the MPEG-4 ALS reference software) to fail.  It has been
confirmed that not writing the extra byte will still allow the generated MP4
files to work with QuickTime/iTunes/iPod.

Originally committed as revision 20571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-22 02:07:10 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Larbi Joubala
15c315b7f1 fix 3gp metadata, write strings in UTF8, patch by Larbi Joubala, larbi dot joubala at resonate-mp4 dot com
Originally committed as revision 19023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-31 05:24:16 +00:00
Larbi Joubala
606d48cee1 fix hdlr descr in mp4 which use c string, patch by Larbi Joubala, larbi dot joubala at resonate-mp4 dot com
Originally committed as revision 18911 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 07:17:17 +00:00
Baptiste Coudurier
e1316b19ea write 'stps' for mpeg-2 open gop in .mov
Originally committed as revision 18838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-15 06:11:53 +00:00
Baptiste Coudurier
ab4752e382 use flags field and remove key_frame field
Originally committed as revision 18831 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 21:05:52 +00:00
Baptiste Coudurier
fe335ff530 change cts type to int, save some space
Originally committed as revision 18830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-14 20:54:19 +00:00
Baptiste Coudurier
3a86d3f646 factorize av_set_pts_info
Originally committed as revision 18808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 04:22:53 +00:00
Baptiste Coudurier
1fbbedff85 cosmetics, alignment
Originally committed as revision 18807 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-13 04:20:23 +00:00
Baptiste Coudurier
f65aad9587 rgb555le, rgb565le, rgb565be, bgr24 in .mov muxing
Originally committed as revision 18790 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:41:01 +00:00
Baptiste Coudurier
5b50b8f57f bgra in .mov muxing
Originally committed as revision 18789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:14:42 +00:00
Baptiste Coudurier
dfb0471fce correct pixfmt for argb
Originally committed as revision 18788 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:12:36 +00:00
Baptiste Coudurier
ed88074a32 rgba in .mov muxing
Originally committed as revision 18787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 20:11:11 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Stefano Sabatini
b275500706 Split bitstream.h, put the bitstream writer stuff in the new file
put_bits.h.

Originally committed as revision 18461 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-12 08:35:26 +00:00
Baptiste Coudurier
3c8d144789 move codec tag tables near corresponding code
Originally committed as revision 18370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:34:05 +00:00
Baptiste Coudurier
08680ab8c2 cosmetics, reindent
Originally committed as revision 18369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:31:53 +00:00
Baptiste Coudurier
0872acc45c cosmetics, add empty line and remove useless braces
Originally committed as revision 18368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:31:17 +00:00
Baptiste Coudurier
b6cb99469f fix compilation, add missing parenthesis
Originally committed as revision 18367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:28:39 +00:00
Baptiste Coudurier
130ba4b17a comment the ipod subtitle check
Originally committed as revision 18366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:26:47 +00:00
Baptiste Coudurier
6452af7a33 invert condition to simplify code
Originally committed as revision 18365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:25:11 +00:00
Baptiste Coudurier
cf9ce6a3d6 remove no more needed code, tag is set by default
Originally committed as revision 18364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:23:15 +00:00
Baptiste Coudurier
2ab57c0443 cosmetics, reindent, add empty lines
Originally committed as revision 18363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:21:43 +00:00
Baptiste Coudurier
6b60028595 split mov_find_codec_tag in separate per format functions
Originally committed as revision 18362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 22:19:58 +00:00
Baptiste Coudurier
2fa6bc789f set bits_per_coded_sample for rawvideo
Originally committed as revision 18356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 20:47:56 +00:00
Baptiste Coudurier
50d2d05d34 override mov fourcc for pcm audio, this is safer when stream copying
Originally committed as revision 18355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-07 20:37:30 +00:00
Baptiste Coudurier
5c5776e10d allocate tracks instead of using MAX_STREAMS
Originally committed as revision 18140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-22 03:52:55 +00:00
Baptiste Coudurier
7c4502c8c4 typo in the mail, the 4am commit is always the worst
Originally committed as revision 17981 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:53:12 +00:00
Baptiste Coudurier
4909e517fd cosmetics
Originally committed as revision 17980 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:49:52 +00:00
Baptiste Coudurier
983bdd3788 add my copyright in mov de/muxer
Originally committed as revision 17979 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-15 10:49:28 +00:00
Baptiste Coudurier
d168b3fd2d reindent
Originally committed as revision 17940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:05:18 +00:00
Baptiste Coudurier
7943a90a0d keep original tag when stream copying subs with ipod format
Originally committed as revision 17939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:04:44 +00:00
Baptiste Coudurier
c569bd0632 ipod supports both subs tags
Originally committed as revision 17938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:03:42 +00:00
Baptiste Coudurier
80357cfcfb reindent
Originally committed as revision 17937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:02:59 +00:00
Baptiste Coudurier
9f52055463 write correct atoms based on tag and not format, fixes subs stream copy
Originally committed as revision 17936 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 08:01:39 +00:00
Baptiste Coudurier
d1df4da00b use correct codec tag list for ipod format
Originally committed as revision 17935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 07:59:38 +00:00
Baptiste Coudurier
a2523ce2e2 fix subs track height, set track->height to codec height if not set
Originally committed as revision 17929 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-11 06:04:56 +00:00
Ronald S. Bultje
2d243fb3fc Rename movenc.c MOVContext to MOVMuxContext, since MOVContext is already used
in mov.c for the demuxer. See "[PATCH] rename movenc.c MOVContext to
MOVMuxContext" thread on the mailinglist.

Originally committed as revision 17659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 16:02:29 +00:00
Aurelien Jacobs
d9fc9ff31b movenc: add muxing of language along with metadata tags when available
Originally committed as revision 17612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 13:13:48 +00:00
Aurelien Jacobs
2904fd398f return -1 for errors in ff_mov_iso639_to_lang() to allow for error checking
Originally committed as revision 17611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 13:11:18 +00:00
Aurelien Jacobs
b97fb809b8 cosmetics: indentation
Originally committed as revision 17610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 13:08:22 +00:00
Aurelien Jacobs
1ee2d44805 use new metadata API in mov muxer
Originally committed as revision 17609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 13:06:49 +00:00
Michael Niedermayer
2591821213 Add AVFMT_VARIABLE_FPS to specify which muxers do not need duplicated frames.
Originally committed as revision 17554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 15:04:18 +00:00
Baptiste Coudurier
6a460c36b6 write active picture height for d-10/imx in mov
Originally committed as revision 17178 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-12 09:15:36 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Baptiste Coudurier
5d2160a0dd move actual writing before so new size can be taken into account
Originally committed as revision 16623 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-16 01:12:32 +00:00
Luca Abeni
ca93bc175a Reindent after last commit
Originally committed as revision 16617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 14:07:59 +00:00
Luca Abeni
0a63a676ec Do not reallocate AVPacket's data when muxing a packet
Originally committed as revision 16616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 14:03:07 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Baptiste Coudurier
87609b51da cosmetics
Originally committed as revision 16535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:42:24 +00:00
Baptiste Coudurier
985688b8e5 remove warnings about uninitialized vars
Originally committed as revision 16534 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:41:43 +00:00
Baptiste Coudurier
3d1b0fcd59 cosmetics
Originally committed as revision 16532 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:36:19 +00:00
David Conrad
f620488654 Add support for muxing mov/mp4/3gp timed text streams
Originally committed as revision 16531 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 10:26:44 +00:00
Baptiste Coudurier
c3e92a6cb4 remove _t in typedef for POSIX compatibility
Originally committed as revision 16063 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-11 20:06:56 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Baptiste Coudurier
bed4fc54c9 write copyright metadata tag
Originally committed as revision 15276 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 19:11:53 +00:00
Luca Abeni
dd1c8f3e6e Bump Major version, this commit is almost just renaming bits_per_sample to
bits_per_coded_sample but that cannot be done seperately.
Patch by Luca Abeni
Also reset the minor version and fix the forgotton change to libfaad.
Note: The API/ABI should not be considered stable yet, there still may
be a change done here or there if some developer has some cleanup ideas and
patches!

Originally committed as revision 15262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 14:24:59 +00:00
Baptiste Coudurier
1993f8d640 terminate tag tables by CODEC_ID_NONE
Originally committed as revision 15259 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-08 00:58:24 +00:00
Baptiste Coudurier
cf74dd4a5c do not fail if audio is uncompressed and frame size is not set, just set it
Originally committed as revision 15216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-05 02:30:27 +00:00
Baptiste Coudurier
efa1fb39d2 cosmetics, remove whitespace
Originally committed as revision 15198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 18:26:31 +00:00
Kurtnoise
4ed1942008 actually write dac3 atom, patch by Kurtnoise, kurtnoise at free dot fr
Originally committed as revision 15197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 18:25:55 +00:00
Damiano Galassi
544a0f47af skip 2 bytes more when parsing ac3 frame, syncword 16bits + crc 16bits,
patch by Damiano Galassi, damiog at gmail dot com

Originally committed as revision 15196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 18:17:21 +00:00
Baptiste Coudurier
c4e02d702c change the logic to mux 13818-3 and 11172-3 in mp4, less code
Originally committed as revision 15190 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 19:42:09 +00:00
Baptiste Coudurier
e00c3de821 forbid mp3 < 16000hz in anything except mov
Originally committed as revision 15189 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-03 19:31:03 +00:00