1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-09-13 02:35:50 +02:00
Commit Graph

203 Commits

Author SHA1 Message Date
James Zern
ac9baa716b matroskaenc: Mux clusters better
Start them on keyframes when reasonable, and delay writing audio packets
to help ensure that there's audio samples available for the first frame in
clusters.

Patch by James Zern <jzern at google>

Originally committed as revision 23473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:50 +00:00
David Conrad
7bb83d8ddf matroskaenc: Write codec time base as default duration for video tracks.
This isn't exactly semantically equivalent, but the field has already been
long abused to mean this, and writing it helps in determining a decent cfr
time base when transcoding from a mkv where the video codec stores none (VP8).

Originally committed as revision 23284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 08:58:19 +00:00
David Conrad
577abedb39 matroskaenc: Don't write track timecode scale
It's not required for mkv and unsupported in webm

Originally committed as revision 23247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:38 +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
Jai Menon
4896dd57fa Matroska muxer : Don't create audio tracks for unsupported audio codecs.
Originally committed as revision 22669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 14:34:19 +00:00
Carl Eugen Hoyos
d692850bbb Silence ridiculous gcc warning.
Originally committed as revision 22654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 11:11:25 +00:00
James Darnley
66061a1220 Add VorbisComment writing to FLAC files.
Patch by James Darnley <james darnley at gmail>.

Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:36:43 +00:00
Jai Menon
f75ab7a645 cosmetics : Print newline after error message.
Originally committed as revision 22551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:03:48 +00:00
David Conrad
f9ff7179ff mkvenc: Handle negative timestamps correctly
Originally committed as revision 22372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:36 +00:00
David Conrad
654b65d012 mkvenc: Don't try to write packets with unknown timestamps
Originally committed as revision 22371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:33 +00:00
David Conrad
84d4e599a5 mkvenc: write dts for VFW mode
Originally committed as revision 22370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:28 +00:00
David Conrad
871b641b80 Ensure that we write clusters and blocks with known size when streaming
Too many demuxers can't cope with clusters of unknown size.

Originally committed as revision 22201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:14 +00:00
David Conrad
434a70b8f1 Fix indentation
Originally committed as revision 22200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:11 +00:00
David Conrad
30f06a58a0 Simplify starting and ending clusters
Originally committed as revision 22199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:08 +00:00
David Conrad
7a2a484081 Write the first seekhead if writing to a stream, we won't be able to seek
back and write it at the end

Originally committed as revision 22198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:04 +00:00
David Conrad
2529bb3019 Attempt seeking to write EBML master sizes even if streamed
Most EBML masters are much smaller than IO_BUFFER_SIZE and thus the size
can be updated. This makes parsing the resulting files easier.

Originally committed as revision 22197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:00 +00:00
Anton Khirnov
690b412657 matroskaenc: use "title" tag instead of "description" in track title.
Patch by Anton Khirnov < whyskas at gmail >

Originally committed as revision 22187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:34 +00:00
Rafaël Carré
e380b9182b mkvenc: Write TrackTimecodeScale
patch by Rafael (dot) Carre (a) gmail (d) com

Originally committed as revision 21372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:49:27 +00:00
Anton Khirnov
2bd0758efa matroskaenc: Add support for writing chapters.
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 20277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 12:17:01 +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
Justin Ruggles
2578326f13 Share the function to write a raw FLAC header and use it in the Matroska
muxer.

Originally committed as revision 17606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:41:53 +00:00
Justin Ruggles
59c6178a54 Use a shared function to validate FLAC extradata.
Originally committed as revision 17602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:29:24 +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
Aurelien Jacobs
5e56599878 matroskaenc: use new metadata API
Originally committed as revision 17336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 16:53:05 +00:00
Aurelien Jacobs
5f8bae8d5c matroskaenc: correctly handle h264 streams with 3 bytes nal startcodes
This implies using ff_avc_parse_nal_units_buf instead of ff_avc_parse_nal_units
because with 3 bytes startcodes the parsed packet size will change, and the
size must be written before the packet content.

Originally committed as revision 16690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 00:52:12 +00:00
David Conrad
3194b00479 Cosmetics: indent
Originally committed as revision 16652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:31:42 +00:00
David Conrad
1c3db2aa50 Treat disposition==0 as undefined and don't write the default flag
Originally committed as revision 16651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:31:14 +00:00
David Conrad
8a86aaa3b2 Flush the buffer after writing the header and when done with writing the files
Fixes writing small (~4kb) files.

Originally committed as revision 16650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:30:36 +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
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Aurelien Jacobs
abce34d979 matroskaenc: require global header
fixes issue696

Originally committed as revision 15667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-22 21:14:42 +00:00
Aurelien Jacobs
b7f4e76d3d matroskaenc: correct muxing of ASS packets
- split packets to store one ASS event line per Matroska block
 - reformat ASS events to Matroska modified format
 - extract display duration for ASS events to store as Matroska block duration

Originally committed as revision 15561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:57:56 +00:00
Aurelien Jacobs
291902c274 matroskaenc: use correct EBML ID for block duration
Originally committed as revision 15560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:47:10 +00:00
Aurelien Jacobs
1bfbe8ff9d matroskaenc: pass the packet size directly as parameter of mkv_blockgroup_size()
Originally committed as revision 15559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:44:50 +00:00
Aurelien Jacobs
8401c51407 matroskaenc: remove useless mkv_block_size() function
Originally committed as revision 15558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:41:58 +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
Aurelien Jacobs
62c24705c8 matroska: subtitle display duration must be stored in pkt->convergence_duration
Originally committed as revision 15206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:08:19 +00:00
Reimar Döffinger
c18545929e Change codec_tag type from const struct AVCodecTag ** to const struct AVCodecTag * const *
Originally committed as revision 14947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 16:51:50 +00:00
Aurelien Jacobs
5972945197 convert every muxer/demuxer to write/read sample_aspect_ratio from/to
the corresponding AVStream instead of AVCodecContext

Originally committed as revision 14933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 23:43:20 +00:00
Diego Biurrun
5968d2dd1e misc spelling/grammar fixes
Originally committed as revision 14616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 08:28:57 +00:00
Aurelien Jacobs
cc8be50637 matroska: expand useless define for MS compat codec id strings
Originally committed as revision 14607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:49 +00:00
Aurelien Jacobs
f009e36f75 matroska: add support for V_QUICKTIME track type
Originally committed as revision 14429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 15:11:04 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Justin Ruggles
8a0684f4c4 fix encoding of flac private data
Originally committed as revision 13030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-01 22:04:17 +00:00
Aurelien Jacobs
7bfacd4e75 use common aac sample rate tables
Originally committed as revision 12671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-02 21:41:48 +00:00
Evgeniy Stepanov
90c2295b24 Add 'disposition' bitfield to AVStream and use it for both muxing and demuxing
of matroska and nut.

Originally committed as revision 12358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-07 19:25:09 +00:00
Aurelien Jacobs
73260a11e1 simplification proposed by Rich
Originally committed as revision 12280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 00:26:19 +00:00
Aurelien Jacobs
0b247953c8 makes really sure that no undefined behavior can happen
Originally committed as revision 12258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-27 00:53:34 +00:00
Aurelien Jacobs
d597655f77 Avoid infinite loop.
uint64_t >> 64 is an undefined operation

Originally committed as revision 12253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-26 22:35:07 +00:00
Michael Niedermayer
2024c2262b Write 0 instead of seeking forward (and leaving bytes uninitalized),
fixes odd regression test failure i had.

Originally committed as revision 11512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 00:15:05 +00:00
Aurelien Jacobs
9ab3f71b60 add a ff_ prefix to newly exported functions from avc.c
Originally committed as revision 11511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 23:33:32 +00:00
Aurelien Jacobs
e609806ec6 Matroska muxer needs to format all NAL units, not only extradata.
Originally committed as revision 11510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 23:21:22 +00:00
Aurelien Jacobs
aacc5f227a Use the isom avcc formatting for h264 extradata in matroska.
Originally committed as revision 11499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 01:32:45 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Diego Biurrun
bf898960a7 spelling/wording nits in some Doxygen comments
Originally committed as revision 10417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 20:31:40 +00:00
David Conrad
ab332d0133 Grammar nits
Originally committed as revision 10388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:11 +00:00
David Conrad
b62a33d01b Always use AVFormatContext for av_log messages
Originally committed as revision 10387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:09 +00:00
David Conrad
0f651e8cf3 Rename ebml size functions to indicate that they can be used for more kinds of numbers
Originally committed as revision 10386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:07 +00:00
David Conrad
8b65b9a313 We shouldn't be passing in sizes larger than 2^56-2, so use an assert
Originally committed as revision 10385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:04 +00:00
David Conrad
e5c29287cf Indentation
Originally committed as revision 10384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:03 +00:00
David Conrad
ac9e1177b3 Don't seek when streamed
Originally committed as revision 10383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:00 +00:00
David Conrad
c301d5ae0a Get rid of useless braces
Originally committed as revision 10382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:58 +00:00
David Conrad
7e33d3fee4 Indent
Originally committed as revision 10381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:56 +00:00
David Conrad
dc4a9f6737 Match the behaviour betwen the bmp and wav codec tag lookups
Originally committed as revision 10380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:54 +00:00
David Conrad
46d18a88e1 Write codecprivate to a dynamic buffer so that seeking isn't required
Originally committed as revision 10379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:52 +00:00
David Conrad
5c559894e1 Move writing codec private element to its own function
Originally committed as revision 10378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:49 +00:00
David Conrad
211783a50a Cosmetics
Originally committed as revision 10377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:46 +00:00
David Conrad
91ca969082 Use num_entries directly rather than mixing it with a local copy
Originally committed as revision 10376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:44 +00:00
David Conrad
e3cd80cdac Doxygenify comments
Originally committed as revision 10375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:42 +00:00
David Conrad
7f8582dfc6 Make sure that the calculated duration doesn't decrease
Originally committed as revision 10374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:40 +00:00
David Conrad
8ffc5f9e92 Split some really long lines
Originally committed as revision 10373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:38 +00:00
David Conrad
3967eb5260 Correct message
Originally committed as revision 10372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:35 +00:00
David Conrad
9e2a3e2262 Always check the return of mkv_add_seekhead_entry
Originally committed as revision 10371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:34 +00:00
David Conrad
6d588ecd76 Pass the returned error code of functions up
Originally committed as revision 10370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:32 +00:00
David Conrad
c35de1a131 Check that the seekheads were created
Originally committed as revision 10369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:29 +00:00
David Conrad
0b38843a6c Return AVERROR(ENOMEM) when appropriate
Originally committed as revision 10368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:27 +00:00
David Conrad
47e08c5860 Indentation
Originally committed as revision 10367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:24 +00:00
David Conrad
0580a12256 Use assert for conditions that must be true
Originally committed as revision 10366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:22 +00:00
David Conrad
203cce9a92 Simplify
Originally committed as revision 10365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:20 +00:00
David Conrad
8cf3bb2674 Grammar nits
Originally committed as revision 10364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:18 +00:00
David Conrad
cfde5d18f5 Break long comments
Originally committed as revision 10363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:16 +00:00
David Conrad
a6da1aa057 Use sample format for bit depth if av_get_bits_per_sample() doesn't give one
Originally committed as revision 10362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:14 +00:00
David Conrad
8eb1915395 Calculate and store DAR rather than SAR
Originally committed as revision 10361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:07 +00:00
David Conrad
5045da831b Clarify comments
Originally committed as revision 10360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:04 +00:00
David Conrad
5b66fc16af Use PRIu64/PRId64
Originally committed as revision 10359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:58 +00:00
David Conrad
baf71dca28 Calculate the size of key EBML master elements beforehand so only just enough size is reserved for the size
Originally committed as revision 10358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:56 +00:00
David Conrad
cce800b456 Use cluster_pos when checking cluster position
Originally committed as revision 10357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:53 +00:00
David Conrad
f0e9f44271 Modify put_ebml_size() so that the bytes parameter is exact rather than minimum
Originally committed as revision 10356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:50 +00:00
David Conrad
c635497cb4 Set default subtitle_codec to CODEC_ID_TEXT
Originally committed as revision 10355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:48 +00:00
David Conrad
ddf1646729 Simplify
Originally committed as revision 10354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:44 +00:00
David Conrad
1c73478c8e Move calculating the bytes needed to represent a size in EBML to its own function
Originally committed as revision 10353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:42 +00:00
David Conrad
9f38fd7efa Make a byte always mean a byte
Originally committed as revision 10352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:39 +00:00
David Conrad
432adc130c Simplify put_ebml_id()
Originally committed as revision 10351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:36 +00:00
David Conrad
22ccb69a7f Move ebml_id_size()
Originally committed as revision 10350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:34 +00:00
David Conrad
ec8f4ad909 Correct handling of smaller unknown sizes
Originally committed as revision 10349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:31 +00:00
David Conrad
541d443c03 Use a MD5 hash of some frames to write the segment uid
Originally committed as revision 10348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:29 +00:00
David Conrad
f095a17423 Revert using the time to generate the segment uid
Originally committed as revision 10347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:27 +00:00