summaryrefslogtreecommitdiff
path: root/libavformat/movenc.c
Commit message (Collapse)AuthorAge
* Merge commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44'Michael Niedermayer2013-06-05
|\ | | | | | | | | | | | | * commit '7c020e1ad37d27c9d5db4d714401f09c80e3cc44': movenc: Grow the frag_info array in chunks Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * movenc: Grow the frag_info array in chunksAndrey Semashev2013-06-04
| | | | | | | | | | | | | | | | Previously it was grown one element at a time, which leads to excessive reallocations. Bug-Id: 525 Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'ab1189766a82a95f108005463cde75f73fcc0ae5'Michael Niedermayer2013-06-05
|\| | | | | | | | | | | | | * commit 'ab1189766a82a95f108005463cde75f73fcc0ae5': movenc: Increase the cluster array allocation by doubling Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * movenc: Increase the cluster array allocation by doublingAndrey Semashev2013-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous allocation increment of 16384 meant that the cluster array was allocated for 0.6 MB initially, which is a bit excessive for cases with fragmentation where only a fraction of that ever actually is used. Therefore, start off at a much smaller value, and increase by doubling (to avoid reallocating too often when writing long non-fragmented mp4 files). Bug-Id: 525 Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e'Michael Niedermayer2013-06-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e': movenc: Keep track of the allocated size for the cluster array mem: Add av_realloc_array and av_reallocp_array Conflicts: doc/APIchanges libavformat/movenc.c libavutil/mem.c libavutil/mem.h libavutil/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * movenc: Keep track of the allocated size for the cluster arrayAndrey Semashev2013-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | When writing fragmented mp4, the cluster array is reset when a fragment is written. Instead of starting off reallocating the array only based on the number of current elements in it, keep track of how many elements there were allocated earlier. This avoids reallocating this array needlessly when writing fragmented mp4 files. Bug-Id: 525 Signed-off-by: Martin Storsjö <martin@martin.st>
| * movenc: Don't add base_data_offset in tfhd for PIFF filesJeremy Hinegardner2013-05-17
| | | | | | | | | | | | | | | | | | | | | | According to the PIFF specification[1] the base_data_offset field MUST be omitteed. See section 5.2.17. Since the ISMV files created by libavformat state that they are 'piff' compatible via 'ftyp' box, this needs to be corrected. [1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format Signed-off-by: Martin Storsjö <martin@martin.st>
* | movenc: add video_track_timescale optionJean First2013-05-18
| | | | | | | | | | Signed-off-by: Jean First <jeanfirst@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Turn off usage of base_data_offset in tfhd for PIFF filesJeremy Hinegardner2013-05-17
| | | | | | | | | | | | | | | | | | | | According to the PIFF specification[1] the base_data_offset field MUST be omitteed. See section 5.2.17. Since the ISMV files created by ffmpeg state that they are 'piff' compatible via 'ftyp' box, this needs to be corrected. [1] http://www.iis.net/learn/media/smooth-streaming/protected-interoperable-file-format Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/movenc: mov/mp4 should support negative timestamps through edit listsMichael Niedermayer2013-04-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Write broken aac frames to mov files instead of skipping them.Carl Eugen Hoyos2013-03-30
| | | | | | | | | | | | Fixes decoding with picky media players. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Only test the first frame for missing aac_adtstoasc bistream filter.Carl Eugen Hoyos2013-03-26
| | | | | | | | | | | | | | Many players ignore broken aac frames, so don't abort mov or flv muxing when encountering one, just print a warning instead. Fixes ticket #2380.
* | movenc: Do not flag secondary audio and subtitle tracks as enabled.Michael Niedermayer2013-03-03
| | | | | | | | | | | | Fixes ticket #468 and ticket #1174. Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
* | movenc: hotfix, dont store fiel for h264 / mpeg4-asp / dnxhdMichael Niedermayer2013-02-14
| | | | | | | | | | | | | | Other software does not store it in this case, and the information is provided by the codec stream Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Write the fiel atom to mov files independently of the used video coded.Carl Eugen Hoyos2013-02-14
| | | | | | | | | | | | | | | | | | | | | | The QuickTime specification does not contain any hint that the atom must not be written in some cases and both the QuickTime and the AVID decoders do not fail if the atom is present. This change allows to signal (visually) interlaced streams with a codec different from uncompressed video. As a side-effect, this fixes ticket #2202
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-01-30
|\| | | | | | | | | | | | | | | * qatar/master: movenc: Simplify code by using avio_wb24 bfin: unbreak compilation Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * movenc: Simplify code by using avio_wb24Martin Storsjö2013-01-30
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | movenc: check that fps for tmcd is within encodable range.Michael Niedermayer2013-01-24
| | | | | | | | | | | | The fps is stored as a 8 bit value thus 255 is the maximum encodable. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: Calculate fps for tmcd without intermediate step.Michael Niedermayer2013-01-24
| | | | | | | | | | | | Fixes part of Ticket2045 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: fix assert failure caused by rounding.Michael Niedermayer2012-11-22
| | | | | | | | | | | | Fixes Ticket1820 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-15
|\| | | | | | | | | | | | | | | | | | | | | * qatar/master: bgmc: Fix av_malloc checks in ff_bgmc_init() rtp: set the payload type as stream id Conflicts: libavformat/rtpenc_chain.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtp: set the payload type as stream idLuca Barbato2012-11-14
| | | | | | | | | | | | | | Support multiple video/audio streams with different format in the same session. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | movenc: remove unneeded checkMichael Niedermayer2012-11-04
| | | | | | | | | | Fixes CID741417 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Add QT CC track mux supportJason2012-11-02
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: Add required 'prof' atom to 'tapt' atom set.Tim Nicholson2012-10-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: add more metadata typesbbraun2012-10-28
| | | | | | | | | | | | Fixes Ticket1052 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/movenc: add {} to complex ifsMichael Niedermayer2012-10-21
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: fix tmcd parametersMichael Niedermayer2012-10-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: fix timescale for timecode trackMichael Niedermayer2012-10-12
| | | | | | | | | | | | regression since b02493e476 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc.c: Force correct value for "Samples per packet" for pcm audioTim Nicholson2012-10-09
| | | | | | | | | | | | Apple spec is for it to always be "1" for uncompressed audio. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '716d413c13981da15323c7a3821860536eefdbbb': Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat Conflicts: doc/examples/muxing.c ffmpeg.h ffmpeg_filter.c ffmpeg_opt.c ffplay.c ffprobe.c libavcodec/8bps.c libavcodec/aasc.c libavcodec/aura.c libavcodec/avcodec.h libavcodec/avs.c libavcodec/bfi.c libavcodec/bmp.c libavcodec/bmpenc.c libavcodec/c93.c libavcodec/cscd.c libavcodec/cyuv.c libavcodec/dpx.c libavcodec/dpxenc.c libavcodec/eatgv.c libavcodec/escape124.c libavcodec/ffv1.c libavcodec/flashsv.c libavcodec/fraps.c libavcodec/h264.c libavcodec/huffyuv.c libavcodec/iff.c libavcodec/imgconvert.c libavcodec/indeo3.c libavcodec/kmvc.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/ljpegenc.c libavcodec/mjpegdec.c libavcodec/mjpegenc.c libavcodec/motionpixels.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo_enc.c libavcodec/pamenc.c libavcodec/pcxenc.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/pnm.c libavcodec/pnmdec.c libavcodec/pnmenc.c libavcodec/ptx.c libavcodec/qdrw.c libavcodec/qpeg.c libavcodec/qtrleenc.c libavcodec/raw.c libavcodec/rawdec.c libavcodec/rl2.c libavcodec/sgidec.c libavcodec/sgienc.c libavcodec/snowdec.c libavcodec/snowenc.c libavcodec/sunrast.c libavcodec/targa.c libavcodec/targaenc.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/tmv.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/vb.c libavcodec/vp3.c libavcodec/wnv1.c libavcodec/xl.c libavcodec/xwddec.c libavcodec/xwdenc.c libavcodec/yop.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/drawutils.c libavfilter/formats.c libavfilter/src_movie.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_format.c libavfilter/vf_hflip.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_transpose.c libavfilter/vf_yadif.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/movenc.c libavformat/mxf.h libavformat/utils.c libavformat/yuv4mpeg.c libavutil/imgutils.c libavutil/pixdesc.c libswscale/input.c libswscale/output.c libswscale/swscale_internal.h libswscale/swscale_unscaled.c libswscale/utils.c libswscale/x86/swscale_template.c libswscale/x86/yuv2rgb.c libswscale/x86/yuv2rgb_template.c libswscale/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
| |
* | movenc: support an alternative to edit lists to handle the first DTS != 0 case.Michael Niedermayer2012-10-07
| | | | | | | | | | | | | | | | | | | | Some software does not support edit lists at all, the adobe flash player seems to be one of these. Which results in AV sync errors when edit lists are used to adjust AV sync. 2nd try on implementing this, the first try had various issues Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: fix regression with yuyv caused by c5f23dMichael Niedermayer2012-10-06
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc.c: Add support for >16bit BE flavoursTim Nicholson2012-10-04
| | | | | | | | | | | | | | Currently only LE handled correctly Updated fate checksums to reflect new headers Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | movenc: force video timebase to be 0.1ms precisse at least.Michael Niedermayer2012-10-04
| | | | | | | | | | | | | | The timebases before where only guranteed to be 1/fps precisse and could cause AV sync errors on low fps Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-10-01
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: avcodec: Convert some commented-out printf/av_log instances to av_dlog avcodec: Drop silly and/or broken printf debug output avcodec: Drop some silly commented-out av_log() invocations avformat: Convert some commented-out printf/av_log instances to av_dlog avformat: Remove non-compiling and/or silly commented-out printf/av_log statements Remove some silly disabled code. ac3dec: ensure get_buffer() gets a buffer for the correct number of channels Conflicts: libavcodec/dnxhddec.c libavcodec/ffv1.c libavcodec/h264.c libavcodec/h264_parser.c libavcodec/mjpegdec.c libavcodec/motion_est_template.c libavcodec/mpegaudiodec.c libavcodec/mpegvideo_enc.c libavcodec/put_bits.h libavcodec/ratecontrol.c libavcodec/wmaenc.c libavdevice/timefilter.c libavformat/asfdec.c libavformat/avidec.c libavformat/avienc.c libavformat/flvenc.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Remove non-compiling and/or silly commented-out printf/av_log ↵Diego Biurrun2012-10-01
| | | | | | | | statements
* | movenc: fix edit list for the case of negative pts.Michael Niedermayer2012-10-01
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/movenc: add faststart option.Clément Bœsch2012-09-27
| |
* | lavf/movenc: make mov_write_stco_tag() not use the offset pos for mode64 ↵Clément Bœsch2012-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | heuristic. At the moment, the moov header is written at the end of the file, so we can use the current offset (which focus on the end of the mdat already written) to guess if 64-bits offset will be required or not. Though, the next commits will make possible the writing of this table at the beginning, so this heuristic can't work. As a consequence, we check all the values within the potential offset table for any value > 32-bits.
* | lavf/movenc: add get_moov_size and use it in fragment code.Clément Bœsch2012-09-27
| | | | | | | | This function will be re-used in the following commits.
* | lavf/movenc: add F4V flavor.Clément Bœsch2012-09-21
| |
* | Merge commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b'Michael Niedermayer2012-09-16
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b': avformat: fix typo in avformat_close_input mp3enc: write Xing TOC mp3enc: support MPEG-2 and MPEG-2.5 in Xing header. mp3enc: downgrade some errors in writing Xing frame to warnings lavf: flush the output AVIOContext in av_write_trailer(). lavf: cosmetics, reformat av_write_trailer(). avio: flush the internal buffer in avio_close() Enhance doc on asyncts audiofilter cmdutils: avoid setting data pointers to invalid values in alloc_buffer() libavcodec: remove av_destruct_packet_nofree() Conflicts: libavcodec/avpacket.c libavformat/mp3enc.c libavformat/nutenc.c libavformat/utils.c libavformat/version.h tests/ref/lavf/voc tests/ref/lavf/voc_s16 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: flush the output AVIOContext in av_write_trailer().Anton Khirnov2012-09-15
| | | | | | | | | | | | | | This is consistent with stdio and is what we want to do in all cases. Fixes a bug in the voc muxer which didn't flush in write_trailer() previously. This is the cause of the change in the test results.
* | Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9': avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member Conflicts: libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/mpeg12enc.c libavcodec/options_table.h libavcodec/snowenc.c libavcodec/tiffenc.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/af_asyncts.c libavfilter/af_join.c libavfilter/buffersrc.c libavfilter/src_movie.c libavfilter/vf_delogo.c libavfilter/vf_drawtext.c libavformat/http.c libavformat/img2dec.c libavformat/img2enc.c libavformat/movenc.c libavformat/mpegenc.c libavformat/mpegtsenc.c libavformat/options_table.h libavformat/segment.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078': avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member Conflicts: libavcodec/libvpxenc.c libavcodec/options_table.h libavfilter/vf_drawtext.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union memberMartin Storsjö2012-09-04
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '124134e42455763b28cc346fed1d07017a76e84e'Michael Niedermayer2012-09-05
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '124134e42455763b28cc346fed1d07017a76e84e': avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member Conflicts: libavcodec/aacenc.c libavcodec/libopenjpegenc.c libavcodec/options_table.h libavdevice/bktr.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/af_amix.c libavfilter/vf_drawtext.c libavformat/movenc.c libavformat/options_table.h libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>