1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

880 Commits

Author SHA1 Message Date
Clément Bœsch
7004cad36d Changelog: notify GIF improvements. 2013-04-19 23:59:22 +02:00
Clément Bœsch
7c1a002c78 subtitles: introduce ASS codec id and use it.
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
2013-04-18 23:23:59 +02:00
Paul B Mahol
212960eea4 colorchannelmixer filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 15:31:35 +00:00
Paul B Mahol
449cdd547b colorbalance filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-18 15:30:10 +00:00
Clément Bœsch
7a92ec93c6 lavfi: port IVTC filters from vapoursynth. 2013-04-14 15:59:37 +02:00
Paul B Mahol
03e2ec32b8 lavfi: add smptehdbars source
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-14 00:25:09 +00:00
Michael Niedermayer
ebbd4fd5f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a test for the interlace filter
  lavfi: new interlace filter

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:32:33 +02:00
Vittorio Giovara
3fce136798 lavfi: new interlace filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:07 +02:00
Paul B Mahol
661e284b4a telecine filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-11 11:12:39 +00:00
Michael Niedermayer
cb20ca14a3 Merge commit '2e81acc687e64d15dd93c74793060bb5a233f44d'
* commit '2e81acc687e64d15dd93c74793060bb5a233f44d':
  x86inc: Fix number of operands for cmp* instructions
  af_channelmap: fix uninitialized variable use introduced in ba8efac977
  lavfi: add a bump and docs entries for the AVOptions switch

Conflicts:
	Changelog
	doc/APIchanges
	libavfilter/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 11:20:55 +02:00
Clément Bœsch
2a7f885fe1 lavf: add libquvi demuxer. 2013-04-10 12:09:20 +02:00
Paul B Mahol
d0073c7a0b separatefields filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-10 00:08:57 +00:00
Anton Khirnov
cdac3acb11 lavfi: add a bump and docs entries for the AVOptions switch 2013-04-09 19:13:27 +02:00
Paul B Mahol
bf65752848 aphaser filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-03 08:33:59 +00:00
Michael Niedermayer
ce841bc032 Changelog: add entry for OpenCL
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-01 13:32:34 +02:00
Michael Niedermayer
ac1a1fd708 Merge commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c'
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
  lavfi/gradfun: remove rounding to match C and SSE code.
  lavfi/gradfun: fix dithering in MMX code.
  lavfi/gradfun: fix rounding in MMX code.
  lavfi/gradfun: do not increment DC pointer for odd values.
  fate: filter: Add dependencies
  avconv: add options for reading filtergraphs from a file.

Conflicts:
	Changelog
	doc/ffmpeg.texi
	doc/filters.texi
	ffmpeg.h
	ffmpeg_opt.c
	libavfilter/vf_gradfun.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:00:39 +01:00
Anton Khirnov
a4208b9b7d avconv: add options for reading filtergraphs from a file. 2013-03-28 07:55:48 +01:00
Michael Niedermayer
dda04a5899 Changelog: add WebP
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-22 23:19:07 +01:00
Nicolas George
21b092de7c lavfi: add sine audio source. 2013-03-20 21:04:28 +01:00
Compn
b964b0fc5c changelog: 10% faster aac encoding on x86 and MIPS 2013-03-19 13:23:05 -04:00
Marton Balint
e96175ad7b ffplay: add -af option
Based on a patch by Stefano Sabatini <stefasab@gmail.com>:
http://ffmpeg.org/pipermail/ffmpeg-devel/2013-February/138452.html

Signed-off-by: Marton Balint <cus@passwd.hu>
2013-03-17 03:43:36 +01:00
Clément Bœsch
3b2b636a2a lavfi: add perms and aperms filters. 2013-03-16 16:04:59 +01:00
Compn
7d15cd4f4a changelog: add support for Monkey's Audio versions from 3.93 2013-03-15 23:41:03 -04:00
Michael Niedermayer
2ec30267fe Changelog: fix project name
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:45:51 +01:00
Michael Niedermayer
d64b854075 Merge commit '666fe5da47d127074be7f0e2bac93db6af8b4a30'
* commit '666fe5da47d127074be7f0e2bac93db6af8b4a30':
  atomic: Exclude the unsupported implementation headers from checkheaders
  avconv: do not silently ignore unused codec AVOptions.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:34:24 +01:00
Michael Niedermayer
a75f01d7e0 Merge commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111'
* commit 'd8b31be6caebd8d1321ecb754b6e7daaf81dc111':
  Add the bumps and APIchanges entries for reference counted buffers changes.

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/version.h
	libavdevice/version.h
	libavfilter/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 15:35:39 +01:00
Clément Bœsch
65fc80f012 lavfi: add curves filter. 2013-03-10 03:00:10 +01:00
Anton Khirnov
e7553f4c78 avconv: do not silently ignore unused codec AVOptions.
Print an error and abort when the option is of the wrong type (decoding
for output file or vice versa), since this could never be correct for
any input or output configuration.

Print a warning and continue when the option is of the correct type,
just unused, so same commandlines can be reused for different kinds of
input or output files.
2013-03-08 14:15:51 +01:00
Anton Khirnov
d8b31be6ca Add the bumps and APIchanges entries for reference counted buffers changes. 2013-03-08 07:41:49 +01:00
Paul B Mahol
3f35f36a2e lavfi: port MP stereo3d filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-03-05 18:36:40 +00:00
Paul B Mahol
47619e41c4 blend filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-21 20:16:23 +00:00
Clément Bœsch
f796399344 lavc: support subtitles character encoding conversion. 2013-02-17 12:57:56 +01:00
James Almer
b8bb661dab Changelog: Add entry for encrypted TTA stream decoding
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-17 00:37:12 +01:00
Stefano Sabatini
2bac1535db Changelog: add missing empty line after the version line 2013-02-16 16:08:06 +01:00
Paul B Mahol
af882e1819 lavfi: port MP noise filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-16 11:42:41 +00:00
Daniel Verkamp
1ecce266fa WAV muxer: add RF64 support 2013-02-12 14:50:27 +00:00
Michael Niedermayer
9a714d871a Merge commit 'f5fac6f77752931347ab302563802dcaa49c2419'
* commit 'f5fac6f77752931347ab302563802dcaa49c2419':
  asfdec: support reading ID3v2 tags in ASF files

Conflicts:
	Changelog
	libavformat/asfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-10 13:06:16 +01:00
Paul B Mahol
6e9abce5e2 lavfi: port MP il filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 21:41:53 +00:00
Nicolas George
f43d09cd60 lavf: add tee pseudo-muxer. 2013-02-09 20:50:11 +01:00
Vladimir Pantelic
f5fac6f777 asfdec: support reading ID3v2 tags in ASF files
Yes, these files do exist

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-09 18:57:21 +01:00
Paul B Mahol
29a92c0114 histogram filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-02-09 11:45:56 +00:00
Rudolf Polzer
81f2549ec9 lavfi/showspectrum: display multiple channels in separate row
The showspectrum filter gets multiple channel (any count) support.

Signed-off-by: Rudolf Polzer <divverent@xonotic.org>
2013-02-04 13:37:43 +00:00
Paul B Mahol
b70ea49ca3 Port biquads filters from SoX
Adds allpass, bass, bandpass, bandreject, biquad,
equalizer, highpass, lowpass and treble filter.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-31 12:13:55 +00:00
Paul B Mahol
27cadb9ce3 remove av_strnstr from Changelog
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-26 14:04:30 +00:00
Nicolas George
255ae9f380 lavfi: version bump and change log entries after the last commits. 2013-01-26 11:25:21 +01:00
Michael Niedermayer
25be63005f Merge commit 'b85a5e87af4254b80913fe33591d96361f30832b'
* commit 'b85a5e87af4254b80913fe33591d96361f30832b':
  lavu: Add av_strnstr()
  h264: Allow discarding the cropping information from SPS

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 14:36:45 +01:00
Vladimir Pantelic
b85a5e87af lavu: Add av_strnstr()
This is a length limited version of strstr()

Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 10:47:51 +01:00
Paul B Mahol
6ea8a830e8 afade filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-21 15:20:42 +00:00
Paul B Mahol
098d3891be EVRC decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-21 10:24:45 +00:00
Michael Niedermayer
bc15fcb8cf theora: support midstream reconfiguration
Fixes Ticket868

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-20 17:55:24 +01:00