Age | Commit message (Collapse) | Author |
|
* commit '141fdc763c2841b572d29a2ad78513e8d5325870':
matroska: add the Opus mapping
Conflicts:
libavformat/matroska.c
See: 30549294ef0f796d48b1ffa482bd9315d4dbb83c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
Avoid long scan and "Could not find codec parameters for stream"
error when an attachment has this type.
|
|
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Removing the /EXPERIMENTAL suffix for codec id field for Opus. Doing this
as the implementation of embedding Opus in Matroska is complete.
Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
WebM files now support inband text tracks, as described in the
following specification:
http://wiki.webmproject.org/webm-metadata/temporal-metadata/webvtt-in-webm
The Matroska demuxer now detects the presence of WebVTT tracks,
synthesizing WebVTT packets (having codec id AV_CODEC_ID_WEBVTT) and
pushing them downstream in the normal way.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA
markup is muxed in a standalone .ass/.ssa file. This means the AVPacket
data starts with a "Dialogue:" string, followed by a timing information
(start and end of the event as string) and a trailing CRLF after each
line. One packet can contain several lines. We'll refer to this layout
as "SSA" or "SSA lines".
In matroska, this markup is not stored as such: it has no "Dialogue:"
prefix, it contains a ReadOrder field, the timing information is not in
the payload, and it doesn't contain the trailing CRLF. See [1] for more
info. We'll refer to this layout as "ASS".
Since we have only one common codec for both formats, the matroska
demuxer is constructing an AVPacket following the "SSA lines" format.
This causes several problems, so it was decided to change this into
clean ASS packets.
Some insight about what is changed or unchanged in this commit:
CODECS
------
- the decoding process still writes "SSA lines" markup inside the ass
fields of the subtitles rectangles (sub->rects[n]->ass), which is
still the current common way of representing decoded subtitles
markup. It is meant to change later.
- new ASS codec id: AV_CODEC_ID_ASS (which is different from the
legacy AV_CODEC_ID_SSA)
- lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of
"ass") for consistency with the codec id and allows to add a real
ass decoder. This ass decoder receives clean ASS lines (so it starts
with a ReadOrder, is followed by the Layer, etc). We make sure this
is decoded properly in a new ass-line rectangle of the decoded
subtitles (the ssa decoder OTOH is doing a simple straightforward
copy). Using the packet timing instead of data string makes sure the
ass-line now contains the appropriate timing.
- lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed
into "ssa" (instead of "ass") for consistency with the codec id, and
allows to add a real "ass" encoder.
One important thing about this encoder is that it only supports one
ass rectangle: we could have put several dialogue events in the
AVPacket (separated by a \0 for instance) but this would have cause
trouble for the muxer which needs not only the start time, but also
the duration: typically, you have merged events with the same start
time (stored in the AVPacket->pts) but a different duration. At the
moment, only the matroska do the merge with the SSA-line codec.
We will need to make sure all the decoders in the future can't add
more than one rectangle (and only one Dialogue line in it
obviously).
FORMATS
-------
- lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets.
In the case of ASS packets as input, it adds the timing based on the
AVPacket pts and duration, and mux it with "Dialogue:", trailing
CRLF, etc.
- lavf/assdec: unchanged; it currently still only outputs SSA-lines
packets.
- lavf/mkv: the demuxer can now output ASS packets without the need of
any "SSA-lines" reconstruction hack. It will become the default at
next libavformat bump, and the SSA support will be dropped from the
demuxer. The muxer can take ASS packets since it's muxed normally,
and still supports the old SSA packets. All the SSA support and
hacks in Matroska code will be dropped at next lavf bump.
[1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
This reverts 312645e :
"Do not set codec_tag property for matroska muxers."
Also adds dummy codec_tag lists with codecs
supported in mkv but not in wav / avi.
Fixes ticket #2169.
|
|
The exact packing of Opus inside Matroska is not finalized.
Use A_OPUS/EXPERIMENTAL as codec name, like mkvtoolnix.
The A_OPUS name stays to let ffmpeg open files it has produced
until now, but newly produced file use the EXPERIMENTAL version.
Once the spec is stabilized it will be possible to consider
options to ensure compatibility with these files.
|
|
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df':
libvpx: make vp8 and vp9 selectable
libvpx: support vp9
nut: support vp9 tag
mkv: support vp9 tag
rtpdec: Make variables that should wrap unsigned
Conflicts:
configure
libavcodec/Makefile
libavcodec/allcodecs.c
libavcodec/avcodec.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
Snow is a toy codec with no real-world use and horrible code.
|
|
* commit '117d8c6d1f1c187ffc6098d9618457e00534e013':
matroska: implement support for ProRes
matroska: implement support for ALAC
Conflicts:
libavformat/matroskaenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Support Matroska native formatting.
On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.
|
|
Support Matroska native formatting.
On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.
On muxing remove the initial 12 bytes
Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
|
|
|
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
While not explicitly stated in the specs, the original author
has stated that S_TEXT/UTF-8 is expected to be text using Subrip
markup, but without Subrip in-band timing.
So, now that we have a decoder that conforms to this expectation,
let's use it.
Note that this change will impact tools that use libavformat. If
they expect srt subtitles to have CODEC_ID_TEXT, they must be
adjusted to expect CODEC_ID_SUBRIP. The actual content is, obviously,
unchanged.
Signed-off-by: Philip Langdale <philipl@overt.org>
|
|
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
Replace all CODEC_ID_* with AV_CODEC_ID_*
lavc: add AV prefix to codec ids.
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
ffprobe.c
ffserver.c
libavcodec/8svx.c
libavcodec/avcodec.h
libavcodec/dnxhd_parser.c
libavcodec/dvdsubdec.c
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/libvorbisenc.c
libavcodec/mjpeg_parser.c
libavcodec/mjpegenc.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/pcm.c
libavcodec/r210dec.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/version.h
libavdevice/alsa-audio-dec.c
libavdevice/bktr.c
libavdevice/v4l2.c
libavformat/asfdec.c
libavformat/asfenc.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/caf.c
libavformat/electronicarts.c
libavformat/flacdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/framecrcenc.c
libavformat/img2.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/matroska.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/mp3dec.c
libavformat/mpeg.c
libavformat/mpegts.c
libavformat/mxf.c
libavformat/mxfdec.c
libavformat/mxfenc.c
libavformat/nsvdec.c
libavformat/nut.c
libavformat/oggenc.c
libavformat/pmpdec.c
libavformat/rawdec.c
libavformat/rawenc.c
libavformat/riff.c
libavformat/sdp.c
libavformat/utils.c
libavformat/vocenc.c
libavformat/wtv.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
|
|
|
|
This patch implements support reading ALAC from Matroska files. The
only non-trivial thing about it is that only the ALAC magic cookie is
stored in Matroska's CodecPrivate element but not the "atom size",
"tag" and "tag version" fields that FFMPEG's ALAC decoder
expects. However, those are trivial to re-create.
Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
|
|
Opus in Matroska is still a draft.
|
|
|
|
|
|
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
Originally committed as revision 24503 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Patch by Google
Originally committed as revision 23192 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 22492 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Patch by Anton Khirnov, wyskas at gmail dot com
Originally committed as revision 21587 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Patch sent to mailing list by Taylor Ralph, taylor D ralph A gmail
Originally committed as revision 21491 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 18254 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Add missing const qualifiers for metadata_conv in AV{In|Out}putFormat.
Originally committed as revision 17671 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 16081 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 16080 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Thanks again Justin !
Originally committed as revision 15146 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 14862 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 14606 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 14430 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
patch by eugeni _dot_ stepanov _at_ gmail.com and myself
Originally committed as revision 11635 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
From: Diego 'Flameeyes' Pettenò < flameeyes _at_ gmail _dot_ com >
Originally committed as revision 11440 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 11352 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 11137 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 10421 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 10200 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 9794 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 9793 to svn://svn.ffmpeg.org/ffmpeg/trunk
|
|
Originally committed as revision 9704 to svn://svn.ffmpeg.org/ffmpeg/trunk
|