Commit Graph

1348 Commits

Author SHA1 Message Date
Paul B Mahol
8e7571eacd avformat: add svag demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-16 16:37:41 +02:00
Claudio Freire
01ecb7172b AAC encoder: Extensive improvements
This finalizes merging of the work in the patches in ticket #2686.

Improvements to twoloop and RC logic are extensive.

The non-exhaustive list of twoloop improvments includes:
 - Tweaks to distortion limits on the RD optimization phase of twoloop
 - Deeper search in twoloop
 - PNS information marking to let twoloop decide when to use it
   (turned out having the decision made separately wasn't working)
 - Tonal band detection and priorization
 - Better band energy conservation rules
 - Strict hole avoidance

For rate control:
 - Use psymodel's bit allocation to allow proper use of the bit
   reservoir. Don't work against the bit reservoir by moving lambda
   in the opposite direction when psymodel decides to allocate more/less
   bits to a frame.
 - Retry the encode if the effective rate lies outside a reasonable
   margin of psymodel's allocation or the selected ABR.
 - Log average lambda at the end. Useful info for everyone, but especially
   for tuning of the various encoder constants that relate to lambda
   feedback.

Psy:
 - Do not apply lowpass with a FIR filter, instead just let the coder
   zero bands above the cutoff. The FIR filter induces group delay,
   and while zeroing bands causes ripple, it's lost in the quantization
   noise.
 - Experimental VBR bit allocation code
 - Tweak automatic lowpass filter threshold to maximize audio bandwidth
   at all bitrates while still providing acceptable, stable quality.

I/S:
 - Phase decision fixes. Unrelated to #2686, but the bugs only surfaced
   when the merge was finalized. Measure I/S band energy accounting for
   phase, and prevent I/S and M/S from being applied both.

PNS:
 - Avoid marking short bands with PNS when they're part of a window
   group in which there's a large variation of energy from one window
   to the next. PNS can't preserve those and the effect is extremely
   noticeable.

M/S:
 - Implement BMLD protection similar to the specified in
   ISO-IEC/13818:7-2003, Appendix C Section 6.1. Since M/S decision
   doesn't conform to section 6.1, a different method had to be
   implemented, but should provide equivalent protection.
 - Move the decision logic closer to the method specified in
   ISO-IEC/13818:7-2003, Appendix C Section 6.1. Specifically,
   make sure M/S needs less bits than dual stereo.
 - Don't apply M/S in bands that are using I/S

Now, this of course needed adjustments in the compare targets and
fuzz factors of the AAC encoder's fate tests, but if wondering why
the targets go up (more distortion), consider the previous coder
was using too many bits on LF content (far more than required by
psy), and thus those signals will now be more distorted, not less.

The extra distortion isn't audible though, I carried extensive
ABX testing to make sure.

A very similar patch was also extensively tested by Kamendo2 in
the context of #2686.
2015-10-11 17:29:50 -03:00
Clément Bœsch
49f4967dd0 avfilter: add selectivecolor filter 2015-10-11 13:44:33 +02:00
Paul B Mahol
0c2b37fed4 avfilter: add displace video filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-10-04 21:44:57 +02:00
Ganesh Ajjanagadde
59594b11f9 Changelog: add note on ffplay dynamic volume control
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
2015-10-04 17:40:30 +02:00
Rodger Combs
a2b8b16300 lavf: add chromaprint muxer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-04 01:37:31 +02:00
Hendrik Leppkes
4d2160c99a Merge commit '9a3202a98b2e095b54dd784c3e01a09a676fc3fa'
* commit '9a3202a98b2e095b54dd784c3e01a09a676fc3fa':
  Screenpresso SPV1 decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-03 12:22:41 +02:00
Vittorio Giovara
9a3202a98b Screenpresso SPV1 decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-09-30 16:45:11 +02:00
Paul B Mahol
691a7df3c5 avfilter: add maskedmerge filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-28 09:20:58 +02:00
Timo Rothenpieler
4af1f37682 avfilter/vf_chromakey: Add chromakey video filter
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-09-23 18:10:14 +02:00
Paul B Mahol
ed4257de2d avfilter: add agate filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-22 22:07:36 +02:00
Kyle Swanson
a9509ad3f0 avfilter: add tremolo filter
Signed-off-by: Kyle Swanson <k@ylo.ph>
2015-09-22 15:59:39 +02:00
Paul B Mahol
2a0fc55995 avfilter: add rubberband wrapper
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-20 19:54:57 +02:00
Paul B Mahol
770b0ed0e0 Changelog: add forgotten entry
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-17 21:16:51 +00:00
Paul B Mahol
b0f9856616 avfilter: add stereowiden filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-15 09:34:22 +00:00
Paul B Mahol
39c61d8459 avfilter: add audio limiter filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-12 13:29:20 +00:00
Paul B Mahol
1bf7bd194b avfilter: add ocr filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-12 02:14:44 +00:00
Paul B Mahol
b31041adc3 avfilter: add extrastereo filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-09-08 10:43:17 +00:00
Hendrik Leppkes
d02d208211 Merge commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b'
* commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b':
  DXV decoder

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-09-07 16:07:07 +02:00
Michael Niedermayer
c5406d5e15 Changelog: add 2.8
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-06 15:59:40 +02:00
Carl Eugen Hoyos
f253c34175 lavc/j2kenc: Remove experimental flag.
The encoder produces valid and - if requested - lossless files.
2015-09-04 23:48:32 +02:00
Vittorio Giovara
c45fcf30cf DXV decoder
Support all DXDI and DXD3 normal quality videos.
2015-09-02 22:22:02 +02:00
Clément Bœsch
b48d8fa3ac avfilter: add allrgb
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Clément Bœsch <u@pkh.me>
2015-08-29 14:57:52 +02:00
Philip Langdale
1e50f953fa Changelog: Add VDPAU HEVC to the list
Signed-off-by: Philip Langdale <philipl@overt.org>
2015-08-28 08:16:39 -07:00
Carl Eugen Hoyos
24e0b14c4f Changelog: Clarify that the new asf demuxer is optional. 2015-08-28 11:08:28 +02:00
Thilo Borgmann
2392da164a Changelog: Mention the change of the default webm codecs.
Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
2015-08-28 06:05:41 +02:00
Paul B Mahol
15f4b3db58 avfilter: add framerate video filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-27 20:00:36 +00:00
Timo Rothenpieler
1dd854e10f vaapi: Add hevc hwaccel support
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2015-08-27 17:05:44 +02:00
Hendrik Leppkes
427598a2f4 Merge commit 'd68705c9756e6558c8e28d90b4c364f25ba72083'
* commit 'd68705c9756e6558c8e28d90b4c364f25ba72083':
  dnxhddata: Add tables for missing DNx100 profiles

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:40:06 +02:00
Paul B Mahol
319440e54f avfilter: add hstack & vstack filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-26 11:16:51 +00:00
Vittorio Giovara
d68705c975 dnxhddata: Add tables for missing DNx100 profiles
1440x1080@8 progressive (1259) and interlaced (1260).

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-08-24 13:20:10 +02:00
Paul B Mahol
14f97bb2bc avfilter: add waveform monitor filter 2015-08-22 19:48:42 +00:00
Paul B Mahol
4e8963fa38 avfilter: add video vectorscope filter 2015-08-20 22:57:47 +00:00
Paul B Mahol
2fa019958b avfilter: add showfreqs filter 2015-08-19 16:15:13 +00:00
Paul B Mahol
f9905e13ea avfilter: add aphasemeter filter 2015-08-12 22:27:43 +02:00
Sebastien Zwickert
11d923d414 avcodec: add new Videotoolbox hwaccel. 2015-08-03 10:12:10 +02:00
Paul B Mahol
5b69fb783e avfilter: add atadenoise 2015-08-02 18:19:19 +02:00
Paul B Mahol
49a14a7616 avfilter: add allyuv source filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-02 14:13:59 +02:00
Paul B Mahol
4a2836eaf3 avfilter: add acrossfade filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-26 21:54:13 +00:00
Michael Niedermayer
508b79e6c1 Merge commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986'
* commit '41d47ea85fb4ad9cfb5c2dc808a46bc1d57f3986':
  lavc: add Intel libmfx-based HEVC decoder.

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/qsvdec.c
	libavcodec/qsvdec_h2645.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 01:20:46 +02:00
Michael Niedermayer
15bcbc9d3b Merge commit 'f89f78c1c563d98f10ee1d7e1ed67c9f9e03b741'
* commit 'f89f78c1c563d98f10ee1d7e1ed67c9f9e03b741':
  lavc: add a HEVC mp4->annex B bitstream filter

Conflicts:
	Changelog

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-26 00:34:27 +02:00
Paul B Mahol
c1fa846d0c avfilter: add sidechain compress audio filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-25 22:07:20 +00:00
Ivan Uskov
fb57bc6c34 avcodec: Add QSV VC-1 video decoder.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 19:32:22 +02:00
Anton Khirnov
41d47ea85f lavc: add Intel libmfx-based HEVC decoder. 2015-07-25 17:37:01 +02:00
Ivan Uskov
6d0123f40e avcodec: Add QSV MPEG-2 video decoder.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-25 17:31:18 +02:00
Anton Khirnov
f89f78c1c5 lavc: add a HEVC mp4->annex B bitstream filter 2015-07-25 17:26:53 +02:00
Paul B Mahol
591741b51d avfilter: add areverse filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-24 02:06:48 +00:00
Jovan Zelincevic
9e3135f49e Edit documentation and versioning for the fixed point AAC decoder
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-22 23:25:33 +02:00
Paul B Mahol
787d370e14 avfilter: add deband filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-22 15:52:02 +00:00
Paul B Mahol
a8fbb7b625 avfilter: add random video filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-07-19 19:01:00 +00:00