75081 Commits

Author SHA1 Message Date
Michael Niedermayer
63fb5a6aef avcodec/truemotion1: Check for even width
Fixes out of array access
Fixes: 87196d8bbc633629fc9dd851fce73e70/asan_heap-oob_26f6853_862_cov_585961513_sonic3dblast_intro-partial.avi

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-01 05:15:04 +02:00
Michael Niedermayer
b54e03c9dc avcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
Fixes assertion failure
Fixes: 56dcafde14a8397161bb61a16c511179/signal_sigabrt_7ffff6ac8cc9_686_cov_1897408623_microsoft_new_way_to_shove_mpeg2_in_asf.dvr_ms

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-01 02:47:11 +02:00
Michael Niedermayer
a047ccbb9f avcodec/movtextdec: Free ftab_temp
Fixes memleak
Fixes: efe937780e95574250dabe07151bdc23/unknown_unknown_351_849_cov_3187578556_shellymanne.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 23:44:39 +02:00
Michael Niedermayer
a1a32fdb0e avcodec/movtextdec: Make tx3g_ptr unsigned
Fixes integer overflow
Fixes: efe937780e95574250dabe07151bdc23/unknown_unknown_351_849_cov_3187578556_shellymanne.mov

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 23:44:39 +02:00
Luca Barbato
4dc9f00365 build: Skip libvpx.h if libvpx is not enabled 2015-08-31 21:37:18 +02:00
Luca Barbato
1a164e0a83 tools: Drop a stale header 2015-08-31 21:37:18 +02:00
Michael Niedermayer
87a11db220 dnxhddata: Double frame_size for cid 1260
Despite '417792' being reported in the binary decoder, the buffer at
encoding time needs to be bigger to avoid running out of space due to
interlace handling.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-08-31 17:14:08 +02:00
Vittorio Giovara
a686e58165 des: Add missing include 2015-08-31 17:06:32 +02:00
Peter B
baeb8f5f71 tests: Renamed pix_fmts wording in ffv1 test target name to match pix_fmt parameter.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 16:14:38 +02:00
Vittorio Giovara
87e5d8d78c ismindex: Use the correct abs() version 2015-08-31 15:24:56 +02:00
Vittorio Giovara
9a003fc388 lavr: Remove unused label 2015-08-31 15:24:41 +02:00
Vittorio Giovara
b0d94324d2 libfdk-aacdec: Remove unused variable 2015-08-31 15:24:30 +02:00
Andreas Cadhalpun
2ac5b6ce8d fate: use 'c' for setting the channel_layout
Without this fate-filter-join failes with
FF_API_GET_CHANNEL_LAYOUT_COMPAT disabled.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-31 13:49:46 +02:00
Donny Yang
51d4bca5a4 avcodec/pngdec: fully support the tRNS chunk
Signed-off-by: Donny Yang <work@kota.moe>
2015-08-31 09:52:46 +00:00
Hendrik Leppkes
d5911e6963 Merge commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc'
* commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc':
  checkasm: Fix floating point arguments on 64-bit Windows

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-31 10:08:18 +02:00
Hendrik Leppkes
ea1061e147 Merge commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6'
* commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6':
  vf_scale: Add an option to pass the scaler params

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-31 10:07:34 +02:00
Hendrik Leppkes
80a12be10f Merge commit 'c23999be134bde0a0554261a9043be7dbc01de0c'
* commit 'c23999be134bde0a0554261a9043be7dbc01de0c':
  avconv_opt: Add an option that lists all supported hwaccels

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-31 10:01:58 +02:00
Hendrik Leppkes
ad79fa471b Merge commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3'
* commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3':
  avconv_opt: Add missing comma

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-31 10:00:07 +02:00
Michael Niedermayer
1acd6311a1 swscale/utils: If cascaded contexts are used forward sws_setColorspaceDetails() to the first context
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 02:00:55 +02:00
Michael Niedermayer
8e05f9217a swscale/utils: Split scaling if possible and yuv->yuv with different matrixes is requested
This uses a RGB intermediate, a more optimal solution would be to perform the rematrixing
directly in subsampled YUV, this is quite a bit more complicated though

Fixes Ticket4805

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 02:00:19 +02:00
Michael Niedermayer
58a0b7f114 avfilter/vf_scale: If no output color matrix is specified, use the input
This should only affect yuv->yuv, and not change behavior

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 01:33:05 +02:00
Michael Niedermayer
5a00c30041 avfilter/vf_scale: Do not skip scale if the color matrix mismatches
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 01:33:05 +02:00
Carl Eugen Hoyos
75d9006475 avfilter/vf_scale: Do not skip scale if range mismatches
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-31 01:33:05 +02:00
Andreas Cadhalpun
c64060d56a fate: add -fflags +bitexact to the relevant targets
This fixes fate with FF_API_LAVF_BITEXACT disabled.

Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-30 23:31:10 +02:00
Andreas Cadhalpun
c34363acd2 mux: warn if the encoders bitexact flag is set, but not the muxers
Based-on-patch-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-30 23:30:09 +02:00
Andreas Cadhalpun
e6c20e214e avfilter: add missing FF_API_AVFILTERBUFFER guards
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-30 23:24:22 +02:00
Ganesh Ajjanagadde
0169c4dc81 avfilter/vf_separatefields: use the name 's' for the pointer to the private context
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-08-30 15:58:12 +00:00
Sven Dueking
67e87f8050 avcodec/qsv : Added look ahead rate control mode
Reviewed-by: Ivan Uskov <ivan.uskov@nablet.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 16:00:05 +02:00
Paul B Mahol
dead1964ea avfilter/vf_vectorscope: make color mode more useful
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-30 13:37:21 +00:00
Michael Niedermayer
fb42e77516 swresample/swresample-test: Make layouts static const
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 13:10:11 +02:00
Michael Niedermayer
ab800add7b avdevice/libdc1394: Make dc1394_frame_format and dc1394_frame_rate, static
These are not used outside nor are in installed headers

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 13:10:11 +02:00
Federico Tomassetti
6bcd3e0599 build: Add support for travis CI
It is useful to support a future staging branch and to have an
automated consistency check on github pull requests.
2015-08-30 12:54:05 +02:00
Michael Niedermayer
845fb3d4a5 avcodec/options: Make dummy_v?_encoder static
It does not need to be non static

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 12:02:07 +02:00
Paul B Mahol
a902bebdab doc/filters: mention all short names for vectorscope options
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-30 08:35:02 +00:00
Paul B Mahol
7516aa9a4a avfilter/vf_vectorscope: implement envelope support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-30 08:34:05 +00:00
Michael Niedermayer
4bd99f715d avcodec/snowenc: Support setting the iterative dia size separately
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-30 04:23:30 +02:00
Rostislav Pehlivanov
21bfeec27f aacenc_tns: do not limit the filter size
This was copied from the decoder, but is unneeded for the encoder.
tns_max_bands is unused and set to zero which zeroed out start, end
and size and thus no filter was actually applied.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 21:59:38 +01:00
Rostislav Pehlivanov
141d80ded7 lpc: rename ff_lpc_calc_levinsion to ff_lpc_calc_levinson
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 19:29:18 +01:00
Rostislav Pehlivanov
e924967fd5 aacenc_tns: fix out-of-bounds array access
Since the coefficients are stepped up to order + 1 it was possible
that it went over TNS_MAX_ORDER. Also just return in case the only
coefficient is less than the threshold.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 19:21:35 +01:00
Rostislav Pehlivanov
902ac9ca74 aacenc_tns: actually apply TNS filter to the coefficients
The encoder-side filter isn't that important. The PSNR
shouldn't change so the FATE test should still be fine.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 19:18:18 +01:00
Rostislav Pehlivanov
49854c56c2 aacenc: initialize LPC context with MAX_LPC_ORDER
The order should never go above TNS_MAX_ORDER (and thus cause
the context to be reinitialized) but this is just in case.

Also fix a comparison, since the coefficients are zero-indexed.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 19:15:52 +01:00
Rostislav Pehlivanov
0818705bf3 aacenc_tns: fix triggering an assertion with assert-level=2
It also made no sense to actually make the filter span the entire
window including the first band of the next window.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 19:01:59 +01:00
Ganesh Ajjanagadde
47b41feb72 avfilter/af_apad: use the name 's' for the pointer to the private context
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-08-29 16:38:38 +00:00
Paul B Mahol
16229fae9c avfilter/vf_vectorscope: add yet another mode
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-08-29 14:05:03 +00: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
Rostislav Pehlivanov
8323d9b8af fate: adjust AAC encoder TNS test fuzziness
Tests fails on some ARM builds but it's close enough so it's okay.
NEON, half-precision floats, rounding errors, who knows.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 09:26:05 +01:00
Rostislav Pehlivanov
4ff897a536 fate: add a test for encoding AAC-Main prediction
This commit introduces a test for AAC-Main prediction
which was just reworked in this series of commits.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 07:00:54 +01:00
Rostislav Pehlivanov
fe12ba6f30 fate: reenable TNS test
Hopefully without errors like last time, but I'm prepared.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 07:00:17 +01:00
Rostislav Pehlivanov
f04d86c16a aacenc: remove TNS from the todo list
Pulses are already on the way so expect to see the list
gone in the close future.

TNS is already of sufficiently high quality to be enabled
by default (but isn't yet, so you too can help by testing!).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 06:57:08 +01:00
Rostislav Pehlivanov
f20b67173c aacenc_tns: rework the way coefficients are calculated
This commit abandons the way the specifications state to
quantize the coefficients, makes use of the new LPC float
functions and is much better.

The original way of converting non-normalized float samples
to int32_t which out LPC system expects was wrong and it was
wrong to assume the coefficients that are generated are also
valid. It was essentially a full garbage-in, garbage-out
system and it definitely shows when looking at spectrals
and listening. The high frequencies were very overattenuated.
The new LPC function performs the analysis directly.

The specifications state to quantize the coefficients into
four bit index values using an asin() function which of course
had to have ugly ternary operators because the function turns
negative if the coefficients are negative which when encoding
causes invalid bitstream to get generated.

This deviates from this by using the direct TNS tables, which
are fairly small since you only have 4 bits at most for index
values. The LPC values are directly quantized against the tables
and are then used to perform filtering after the requantization,
which simply fetches the array values.

The end result is that TNS works much better now and doesn't
attenuate anything but the actual signal, e.g. TNS removes
quantization errors and does it's job correctly now.

It might be enabled by default soon since it doesn't hurt and
helps reduce nastyness at low bitrates.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-29 06:47:31 +01:00