summaryrefslogtreecommitdiff
path: root/libavformat/matroskaenc.c
Commit message (Collapse)AuthorAge
* Merge commit 'b14086ca38efa1a86cb0f0c6aa147b05f698877b'Michael Niedermayer2015-06-09
|\ | | | | | | | | | | | | * commit 'b14086ca38efa1a86cb0f0c6aa147b05f698877b': mkv: Correctly report the latest packet had been flushed Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mkv: Correctly report the latest packet had been flushedLuca Barbato2015-06-09
| | | | | | | | | | Bug-Id: 865 CC: libav-stable@libav.org
| * matroskadec: export cover art correctlywm42015-04-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally, libavformat exports cover art pictures as video streams with 1 packet and AV_DISPOSITION_ATTACHED_PIC set. Only matroskadec exported it as attachment with codec_id set to AV_CODEC_ID_MJPEG. Obviously, this should be consistent, so change the Matroska demuxer to export a AV_DISPOSITION_ATTACHED_PIC pseudo video stream. Matroska muxing is probably incorrect too. I know that it can create broken files with an audio track and just 1 video frame when e.g. remuxing mp3 with APIC to mkv. But for now this commit does not change anything about muxing, and also continues to write attachments with AV_CODEC_ID_MJPEG should the muxer application have special knowledge that the Matroska is broken in this way. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavf/matroskaenc: Write Block Keyframe correctlyVignesh Venkatasubramanian2015-06-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per matroska Block Structure [1], for keyframes 0th bit of the flag should not be set (unlike SimpleBlocks). For Blocks, keyframes is inferred by the absence of ReferenceBlock element (as done by matroskadec). This CL writes the flag correctly and inserts the ReferenceBlock element for non-keyframes. The timestamp inserted is that of the immediately preceding frame (which is true for VP8 and VP9 - the only 2 codecs using the matroska block element as of now). It also considers all non-video frames (audio, subtitles, metadata) to be keyframes. [1] http://www.matroska.org/technical/specs/index.html#block_structure Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/matroskaenc: Avoid floats in default duration calculationMichael Niedermayer2015-05-26
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mkv: Only skip prores header if the packet is large enough.Carl Eugen Hoyos2015-05-21
| | | | | | | | Fixes a possible endless loop.
* | avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()Michael Niedermayer2015-05-11
| | | | | | | | | | | | Its currently guaranteed to be smaller but its safer to check anyway Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dtsMichael Niedermayer2015-05-05
| | | | | | | | | | | | | | | | This reduces the number of cases where timestamps need to be shifted Fixes Ticket4487 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf: Add support for WebM Live MuxingVignesh Venkatasubramanian2015-04-07
| | | | | | | | | | | | | | | | | | | | | | This patch adds support for WebM Live Muxing by adding a new WebM Chunk muxer. It writes out live WebM Chunks which can be used for playback using Live DASH Clients. Please see muxers.texi for sample usage. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | matroskadec: export cover art correctlywm42015-04-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Generally, libavformat exports cover art pictures as video streams with 1 packet and AV_DISPOSITION_ATTACHED_PIC set. Only matroskadec exported it as attachment with codec_id set to AV_CODEC_ID_MJPEG. Obviously, this should be consistent, so change the Matroska demuxer to export a AV_DISPOSITION_ATTACHED_PIC pseudo video stream. Matroska muxing is probably incorrect too. I know that it can create broken files with an audio track and just 1 video frame when e.g. remuxing mp3 with APIC to mkv. But for now this commit does not change anything about muxing, and also continues to write attachments with AV_CODEC_ID_MJPEG should the muxer application have special knowledge that the Matroska is broken in this way. Fixes trac #4423. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/matroskaenc: List subtitle codecs with fake codec_tags to allow remuxing.Carl Eugen Hoyos2015-03-24
| | | | | | | | Fixes remuxing of DVBSUB to mkv.
* | lavf/mkv: Ignore ff_isom_write_hvcc() return value as the mov muxer does.Carl Eugen Hoyos2015-03-18
| | | | | | | | This change allows remuxing hevc from mpeg-ts to Matroska.
* | Merge commit '9272c965d9559a90ee64d46aebd99c117e07f7a3'Michael Niedermayer2015-03-11
|\| | | | | | | | | | | | | | | | | | | | | * commit '9272c965d9559a90ee64d46aebd99c117e07f7a3': matroskaenc: Fix type used for chapter timestamps Conflicts: libavformat/matroskaenc.c See: a4cd057bc7ddd2dd094d2ae7b0d6843ade95a626 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: Fix type used for chapter timestampsVittorio Giovara2015-03-11
| |
* | Merge commit '9f25a109922da43c1f81273a431d3b40cb5a785a'Michael Niedermayer2015-03-09
|\| | | | | | | | | | | | | * commit '9f25a109922da43c1f81273a431d3b40cb5a785a': matroskaenc: Also validate chapter end time Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: Also validate chapter end timeVittorio Giovara2015-03-09
| | | | | | | | | | | | | | This prevents it to be written as unsigned. Also add an error message. CC: libav-stable@libav.org Bug-Id: CID 1265717
| * matroskaenc: Allow writing track "forced" flagJohn Stebbins2015-02-24
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/matroskaenc: Use the correct data type for the chapter timesMichael Niedermayer2015-02-17
| | | | | | | | | | | | Fixes potential integer overflow Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '5dc47a2bd52e375ed742c45d08356b45098f458d'Michael Niedermayer2015-02-17
|\| | | | | | | | | | | | | | | | | | | * commit '5dc47a2bd52e375ed742c45d08356b45098f458d': matroskaenc: Validate chapter start and end times Conflicts: libavformat/matroskaenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: Validate chapter start and end timesVittorio Giovara2015-02-17
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 1265717
* | avformat/matroskaenc: add allow_raw_vfw and disable it by defaultMichael Niedermayer2015-02-15
| | | | | | | | | | | | Based on complaint by wm4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'Michael Niedermayer2015-02-14
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e': avformat: Don't anonymously typedef structs Conflicts: libavformat/adtsenc.c libavformat/aiffenc.c libavformat/avidec.c libavformat/gif.c libavformat/iff.c libavformat/img2dec.c libavformat/jvdec.c libavformat/matroskadec.c libavformat/udp.c libavformat/wtvdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Don't anonymously typedef structsDiego Biurrun2015-02-14
| |
* | avformat/matroskaenc: Do not use native mode for raw RGBMichael Niedermayer2015-02-14
| | | | | | | | | | | | This fixes generating totally unplayable files Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/matroskaenc: fix handling of VFW style raw rgbMichael Niedermayer2015-02-14
| | | | | | | | | | | | raw rgb uses 0 as codec tag in "VFW", the code assumed 0 means error Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '51da7d02748cc54b7d009115e76efa940b99a8ef'Michael Niedermayer2015-01-09
|\| | | | | | | | | | | | | * commit '51da7d02748cc54b7d009115e76efa940b99a8ef': matroskaenc: refuse to write AAC without valid extradata Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: refuse to write AAC without valid extradataAnton Khirnov2015-01-09
| |
* | Merge commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e'Michael Niedermayer2014-12-19
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e': check memory errors from av_strdup() Conflicts: avprobe.c libavformat/matroskaenc.c libavutil/opt.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * check memory errors from av_strdup()Vittorio Giovara2014-12-18
| |
| * mkv: Validate ASS Start and End fieldsLuca Barbato2014-12-03
| | | | | | | | CC: libav-stable@libav.org
* | avcodec/xiph: mark returned header pointers const from ↵Michael Niedermayer2014-12-14
| | | | | | | | | | | | | | avpriv_split_xiph_headers() Reviewed-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '090c67d586e3916f9acc49e010b6389d07f97153'Michael Niedermayer2014-10-27
|\| | | | | | | | | | | | | | | | | | | | | * commit '090c67d586e3916f9acc49e010b6389d07f97153': matroskaenc: write correct Display{Width, Height} in stereo encoding Conflicts: libavformat/matroskaenc.c See: 6103faaa51d2f46d6ccecaad9a089b4b42ff66ee Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: write correct Display{Width, Height} in stereo encodingVittorio Giovara2014-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | should be the raw amount of pixels (for example 3840x1080 for full HD side by side) and the DisplayWidth/Height in pixels should be the amount of pixels for one plane (1920x1080 for that full HD stream)." So, move the aspect ratio check in the mkv_write_stereo_mode() function and always write the embl when stereo format and/or aspect ration is set. Also add a few comments to that function. CC: libav-stable@libav.org Found-by: Asan Usipov <asan.usipov@gmail.com>
* | Merge commit '28c020d4df9b060a58a124a7a5406d4313fbe249'Michael Niedermayer2014-10-25
|\| | | | | | | | | | | | | | | | | | | | | * commit '28c020d4df9b060a58a124a7a5406d4313fbe249': matroskaenc: check avio_open_dyn_buf return value Conflicts: libavformat/matroskaenc.c See: b1f517f503139ab9d0c406228b53663e86a128df Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: check avio_open_dyn_buf return valueVittorio Giovara2014-10-24
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 703629
* | Merge commit 'eabdc2a830f1ab1a3f12243eb7e2fba801cb81f0'Michael Niedermayer2014-10-14
|\| | | | | | | | | | | | | | | | | | | * commit 'eabdc2a830f1ab1a3f12243eb7e2fba801cb81f0': lavf: use initial_padding instead of deprecated delay Conflicts: libavformat/matroskaenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * lavf: use initial_padding instead of deprecated delayAnton Khirnov2014-10-13
| |
* | Fix writing first audio Cues in dash mode.Frank Galligan2014-10-09
| | | | | | | | | | | | | | | | | | In dahsmode Matroska is not writing the first Cluster for every audio stream in the Cues element. Signed-off-by: Frank Galligan <frankgalligan@gmail.com> Reviewed-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Kill timed SRTClément Bœsch2014-09-30
| |
* | avformat: remove FF_API_ASS_SSA dead codeClément Bœsch2014-09-09
| |
* | avformat: drop redundant MATROSKA_VIDEO_STEREO_MODE_COUNT identifierMichael Niedermayer2014-08-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '4d686fb721b485ebbc4c7779d927d876c1e630f7'Michael Niedermayer2014-08-29
|\| | | | | | | | | | | | | | | | | | | * commit '4d686fb721b485ebbc4c7779d927d876c1e630f7': matroskaenc: convert avstream stereo3d side data during encoding Conflicts: libavformat/matroskaenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * matroskaenc: convert avstream stereo3d side data during encodingVittorio Giovara2014-08-28
| | | | | | | | Write the StereoMode Embl to bitstream.
* | avformat/matroskaenc: Check alpha_modeMichael Niedermayer2014-08-24
| | | | | | | | | | | | | | Fixes CID1231992 Suggested-by: Timothy Gu <timothygu99@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-15
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39': cosmetics: Write NULL pointer equality checks more compactly Conflicts: cmdutils.c ffmpeg_opt.c ffplay.c libavcodec/dvbsub.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/dxa.c libavcodec/libxvid_rc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/vc1dec.c libavcodec/zmbv.c libavdevice/v4l2.c libavformat/matroskadec.c libavformat/movenc.c libavformat/sdp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * cosmetics: Write NULL pointer equality checks more compactlyGabriel Dume2014-08-15
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avformat/matroskaenc: fix MAX_CUEPOINT_SIZE calculationMichael Niedermayer2014-08-09
| | | | | | | | | | | | | | | | | | Fixes assertion failure Fixes Ticket3822 as a side-effect this makes some mkv files a few bytes smaller Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/matroskaenc: print a warning when the relative timestamp wouldnt ↵Michael Niedermayer2014-07-24
| | | | | | | | | | | | | | | | fit in 16bit This is somewhat unusual so its better to use warning level than debug Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/matroskaenc: Start new cluster if relative timestamp could not ↵Michael Niedermayer2014-07-24
| | | | | | | | | | | | otherwise be stored Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/matroskaenc: Factor mkv_start_new_cluster() outMichael Niedermayer2014-07-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>