]> git.sesse.net Git - ffmpeg/log
ffmpeg
8 years agoaacenc: allocate a larger buffer for the TNS LPC context
Rostislav Pehlivanov [Tue, 1 Sep 2015 05:40:12 +0000 (06:40 +0100)]
aacenc: allocate a larger buffer for the TNS LPC context

Turns out autocorrelating more than 750 coefficients at once
will cause a segfault, despite there being enough space to
hold an entire frame of samples into the buffer.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agolpc: add ff_lpc_calc_ref_coefs_f() function
Rostislav Pehlivanov [Tue, 1 Sep 2015 05:34:50 +0000 (06:34 +0100)]
lpc: add ff_lpc_calc_ref_coefs_f() function

This commit adds a function to get the reflection coefficients on
floating point samples. It's functionally identical to
ff_lpc_calc_ref_coefs() except it works on float samples and will
return the global prediction gain. The Welch window implementation
which is more optimized works only on int32_t samples so a slower
generic expression was used.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agolpc: remove unused ff_lpc_calc_levinson() function
Rostislav Pehlivanov [Tue, 1 Sep 2015 05:32:35 +0000 (06:32 +0100)]
lpc: remove unused ff_lpc_calc_levinson() function

Not needed anymore, it was only used by the AAC TNS
encoder and was replaced with a more suitable function
in the following commit.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenctab: add tns_min_sfb[] to the encoder tables header
Rostislav Pehlivanov [Tue, 1 Sep 2015 05:30:08 +0000 (06:30 +0100)]
aacenctab: add tns_min_sfb[] to the encoder tables header

Needed for following commits. Contains the starting sfb for
every samplerate and window type.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: populate tns_max_bands
Rostislav Pehlivanov [Tue, 1 Sep 2015 05:20:24 +0000 (06:20 +0100)]
aacenc: populate tns_max_bands

Needed for the following commits.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoavcodec/truemotion1: Check for even width
Michael Niedermayer [Tue, 1 Sep 2015 02:57:22 +0000 (04:57 +0200)]
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>
8 years agoavcodec/mpeg12dec: Set dimensions in mpeg1_decode_sequence() only in absence of errors
Michael Niedermayer [Tue, 1 Sep 2015 00:45:10 +0000 (02:45 +0200)]
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>
8 years agoavcodec/movtextdec: Free ftab_temp
Michael Niedermayer [Mon, 31 Aug 2015 21:43:43 +0000 (23:43 +0200)]
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>
8 years agoavcodec/movtextdec: Make tx3g_ptr unsigned
Michael Niedermayer [Mon, 31 Aug 2015 21:01:23 +0000 (23:01 +0200)]
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>
8 years agotests: Renamed pix_fmts wording in ffv1 test target name to match pix_fmt parameter.
Peter B [Mon, 31 Aug 2015 01:02:36 +0000 (03:02 +0200)]
tests: Renamed pix_fmts wording in ffv1 test target name to match pix_fmt parameter.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agofate: use 'c' for setting the channel_layout
Andreas Cadhalpun [Sat, 8 Aug 2015 18:01:50 +0000 (20:01 +0200)]
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>
8 years agoavcodec/pngdec: fully support the tRNS chunk
Donny Yang [Fri, 28 Aug 2015 13:53:07 +0000 (13:53 +0000)]
avcodec/pngdec: fully support the tRNS chunk

Signed-off-by: Donny Yang <work@kota.moe>
8 years agoMerge commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc'
Hendrik Leppkes [Mon, 31 Aug 2015 08:08:18 +0000 (10:08 +0200)]
Merge commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc'

* commit 'c457bdebe7af643b380aa0f6add3cb4335d218dc':
  checkasm: Fix floating point arguments on 64-bit Windows

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6'
Hendrik Leppkes [Mon, 31 Aug 2015 08:07:34 +0000 (10:07 +0200)]
Merge commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6'

* commit 'b1abd2aaf91be249f24cb74db9c205d9e4ca9da6':
  vf_scale: Add an option to pass the scaler params

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'c23999be134bde0a0554261a9043be7dbc01de0c'
Hendrik Leppkes [Mon, 31 Aug 2015 08:01:58 +0000 (10:01 +0200)]
Merge commit 'c23999be134bde0a0554261a9043be7dbc01de0c'

* commit 'c23999be134bde0a0554261a9043be7dbc01de0c':
  avconv_opt: Add an option that lists all supported hwaccels

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3'
Hendrik Leppkes [Mon, 31 Aug 2015 08:00:07 +0000 (10:00 +0200)]
Merge commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3'

* commit '629d4c5b4deee08bf3a4f3ab45fd4f8b76d7aff3':
  avconv_opt: Add missing comma

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoswscale/utils: If cascaded contexts are used forward sws_setColorspaceDetails() to...
Michael Niedermayer [Sun, 30 Aug 2015 22:34:55 +0000 (00:34 +0200)]
swscale/utils: If cascaded contexts are used forward sws_setColorspaceDetails() to the first context

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoswscale/utils: Split scaling if possible and yuv->yuv with different matrixes is...
Michael Niedermayer [Sun, 30 Aug 2015 21:58:37 +0000 (23:58 +0200)]
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>
8 years agoavfilter/vf_scale: If no output color matrix is specified, use the input
Michael Niedermayer [Sun, 30 Aug 2015 22:17:50 +0000 (00:17 +0200)]
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>
8 years agoavfilter/vf_scale: Do not skip scale if the color matrix mismatches
Michael Niedermayer [Sun, 30 Aug 2015 21:49:04 +0000 (23:49 +0200)]
avfilter/vf_scale: Do not skip scale if the color matrix mismatches

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavfilter/vf_scale: Do not skip scale if range mismatches
Carl Eugen Hoyos [Sun, 30 Aug 2015 21:46:11 +0000 (23:46 +0200)]
avfilter/vf_scale: Do not skip scale if range mismatches

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agofate: add -fflags +bitexact to the relevant targets
Andreas Cadhalpun [Sat, 22 Aug 2015 13:34:28 +0000 (15:34 +0200)]
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>
8 years agomux: warn if the encoders bitexact flag is set, but not the muxers
Andreas Cadhalpun [Mon, 24 Aug 2015 22:37:04 +0000 (00:37 +0200)]
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>
8 years agoavfilter: add missing FF_API_AVFILTERBUFFER guards
Andreas Cadhalpun [Sun, 16 Aug 2015 22:34:58 +0000 (00:34 +0200)]
avfilter: add missing FF_API_AVFILTERBUFFER guards

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
8 years agoavfilter/vf_separatefields: use the name 's' for the pointer to the private context
Ganesh Ajjanagadde [Sun, 30 Aug 2015 15:46:08 +0000 (08:46 -0700)]
avfilter/vf_separatefields: use the name 's' for the pointer to the private context

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavcodec/qsv : Added look ahead rate control mode
Sven Dueking [Fri, 21 Aug 2015 08:17:35 +0000 (09:17 +0100)]
avcodec/qsv : Added look ahead rate control mode

Reviewed-by: Ivan Uskov <ivan.uskov@nablet.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavfilter/vf_vectorscope: make color mode more useful
Paul B Mahol [Sun, 30 Aug 2015 13:34:17 +0000 (13:34 +0000)]
avfilter/vf_vectorscope: make color mode more useful

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoswresample/swresample-test: Make layouts static const
Michael Niedermayer [Sun, 30 Aug 2015 10:45:53 +0000 (12:45 +0200)]
swresample/swresample-test: Make layouts static const

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavdevice/libdc1394: Make dc1394_frame_format and dc1394_frame_rate, static
Michael Niedermayer [Sun, 30 Aug 2015 10:42:42 +0000 (12:42 +0200)]
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>
8 years agoavcodec/options: Make dummy_v?_encoder static
Michael Niedermayer [Sun, 30 Aug 2015 09:56:41 +0000 (11:56 +0200)]
avcodec/options: Make dummy_v?_encoder static

It does not need to be non static

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agodoc/filters: mention all short names for vectorscope options
Paul B Mahol [Sun, 30 Aug 2015 08:35:02 +0000 (08:35 +0000)]
doc/filters: mention all short names for vectorscope options

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavfilter/vf_vectorscope: implement envelope support
Paul B Mahol [Sat, 29 Aug 2015 21:18:53 +0000 (21:18 +0000)]
avfilter/vf_vectorscope: implement envelope support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavcodec/snowenc: Support setting the iterative dia size separately
Michael Niedermayer [Fri, 24 Jul 2015 18:50:55 +0000 (20:50 +0200)]
avcodec/snowenc: Support setting the iterative dia size separately

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoaacenc_tns: do not limit the filter size
Rostislav Pehlivanov [Sat, 29 Aug 2015 20:59:38 +0000 (21:59 +0100)]
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>
8 years agolpc: rename ff_lpc_calc_levinsion to ff_lpc_calc_levinson
Rostislav Pehlivanov [Sat, 29 Aug 2015 18:29:18 +0000 (19:29 +0100)]
lpc: rename ff_lpc_calc_levinsion to ff_lpc_calc_levinson

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc_tns: fix out-of-bounds array access
Rostislav Pehlivanov [Sat, 29 Aug 2015 18:21:35 +0000 (19:21 +0100)]
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>
8 years agoaacenc_tns: actually apply TNS filter to the coefficients
Rostislav Pehlivanov [Sat, 29 Aug 2015 18:18:18 +0000 (19:18 +0100)]
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>
8 years agoaacenc: initialize LPC context with MAX_LPC_ORDER
Rostislav Pehlivanov [Sat, 29 Aug 2015 18:15:52 +0000 (19:15 +0100)]
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>
8 years agoaacenc_tns: fix triggering an assertion with assert-level=2
Rostislav Pehlivanov [Sat, 29 Aug 2015 18:01:59 +0000 (19:01 +0100)]
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>
8 years agoavfilter/af_apad: use the name 's' for the pointer to the private context
Ganesh Ajjanagadde [Wed, 26 Aug 2015 17:03:32 +0000 (13:03 -0400)]
avfilter/af_apad: use the name 's' for the pointer to the private context

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavfilter/vf_vectorscope: add yet another mode
Paul B Mahol [Sat, 29 Aug 2015 13:40:25 +0000 (13:40 +0000)]
avfilter/vf_vectorscope: add yet another mode

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavfilter: add allrgb
Clément Bœsch [Sat, 15 Aug 2015 23:22:59 +0000 (01:22 +0200)]
avfilter: add allrgb

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Clément Bœsch <u@pkh.me>
8 years agofate: adjust AAC encoder TNS test fuzziness
Rostislav Pehlivanov [Sat, 29 Aug 2015 08:26:05 +0000 (09:26 +0100)]
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>
8 years agofate: add a test for encoding AAC-Main prediction
Rostislav Pehlivanov [Sat, 29 Aug 2015 06:00:54 +0000 (07:00 +0100)]
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>
8 years agofate: reenable TNS test
Rostislav Pehlivanov [Sat, 29 Aug 2015 06:00:17 +0000 (07:00 +0100)]
fate: reenable TNS test

Hopefully without errors like last time, but I'm prepared.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: remove TNS from the todo list
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:57:08 +0000 (06:57 +0100)]
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>
8 years agoaacenc_tns: rework the way coefficients are calculated
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:47:31 +0000 (06:47 +0100)]
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>
8 years agoaac: remove now-unused redundant array
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:44:20 +0000 (06:44 +0100)]
aac: remove now-unused redundant array

This commit removes the array which was made redundant with
the last commit. The current prediction system gets the
quantization error directly (and without the single-frame delay)
in the search_for_pred function.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc_pred: rework the way prediction is done
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:34:08 +0000 (06:34 +0100)]
aacenc_pred: rework the way prediction is done

This commit completely alters the algorithm of prediction.
The original commit which introduced prediction was completely
incorrect to even remotely care about what the actual coefficients
contain or whether any options were enabled. Not my actual fault.

This commit treats prediction the way the decoder does and expects
to do: like lossy encryption. Everything related to prediction now
happens at the very end but just before quantization and encoding
of coefficients. On the decoder side, prediction happens before
anything has had a chance to even access the coefficients.

Also the original implementation had problems because it actually
touched the band_type of special bands which already had their
scalefactor indices marked and it's a wonder the asserion wasn't
triggered when transmitting those.

Overall, this now drastically increases audio quality and you should
think about enabling it if you don't plan on playing anything encoded
on really old low power ultra-embedded devices since they might not
support decoding of prediction or AAC-Main. Though the specifications
were written ages ago and as times change so do the FLOPS.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: change FF_PROFILE_UNKNOWN to AAC-Main if prediction is enabled
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:28:21 +0000 (06:28 +0100)]
aacenc: change FF_PROFILE_UNKNOWN to AAC-Main if prediction is enabled

This was missed when the original commits were done. FF_PROFILE_UNKNOWN
is what's in avctx->profile when no audio profile is specified.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agolpc: create a simplified Levinson-Durbin LPC handling float samples
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:14:13 +0000 (06:14 +0100)]
lpc: create a simplified Levinson-Durbin LPC handling float samples

This commit simply duplicates the functionality of ff_lpc_calc_coefs()
for the case of a Levinson-Durbin LPC with the only difference being
that floating point samples are accepted and the resulting coefficients
are raw and unquantized.
The motivation behind doing this is the fact that the AAC encoder
requires LPC in TNS and LTP and converting non-normalized floating
point coefficients to int32_t using SWR and again back for the LPC
coefficients was very impractical.
The current LPC interfaces were designed for int32_t in mind possibly
because FLAC and ALAC use this type for most internal operations.
The mathematics in case of floats remains of course identical.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaac: move the TNS tables from aacdectab to the shared aactab
Rostislav Pehlivanov [Sat, 29 Aug 2015 05:07:12 +0000 (06:07 +0100)]
aac: move the TNS tables from aacdectab to the shared aactab

This commit simply moves the TNS tables to a more appropriate
aactab.h since then they can be accessed by both the decoder
and encoder.

The encoder _shouldn't_ normally need the tables since the
specs describe a specific quantization process, but the exact
reason for this can be seen in the TNS commit following.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoavcodec/vc1dec: Re-order init to avoid initting hwaccel too early
Philip Langdale [Sat, 8 Aug 2015 21:59:09 +0000 (14:59 -0700)]
avcodec/vc1dec: Re-order init to avoid initting hwaccel too early

At least for vdpau, the hwaccel init code tries to check the video
profile and ensure that there is a matching vdpau profile available.

If it can't find a match, it will fail to initialise.

In the case of wmv3/vc1, I observed initialisation to fail all the
time. It turns out that this is due to the hwaccel being initialised
very early in the codec init, before the profile has been extracted
and set.

Conceptually, it's a simple fix to reorder the init code, but it gets
messy really fast because ff_get_format(), which is what implicitly
trigger hwaccel init, is called multiple times through various shared
init calls from h263, etc. It's incredibly hard to prove to my own
satisfaction that it's safe to move the vc1 specific init code
ahead of this generic code, but all the vc1 fate tests pass, and I've
visually inspected a couple of samples and things seem correct.

Signed-off-by: Philip Langdale <philipl@overt.org>
8 years agoffmpeg: force 128k default audio bitrate if nothing is specified and there is no...
Michael Niedermayer [Tue, 18 Aug 2015 01:27:52 +0000 (03:27 +0200)]
ffmpeg: force 128k default audio bitrate if nothing is specified and there is no specific default

This prevents breaking existing command lines in case the "ab" default is removed from libavcodec

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavfilter/vf_dejudder: use the name 's' for the pointer to the private context
Paul B Mahol [Thu, 20 Aug 2015 15:14:27 +0000 (15:14 +0000)]
avfilter/vf_dejudder: use the name 's' for the pointer to the private context

This is shorter and consistent across filters.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoffserver: use -b instead of -ab for setting audio bitrate.
Ronald S. Bultje [Tue, 18 Aug 2015 12:19:26 +0000 (08:19 -0400)]
ffserver: use -b instead of -ab for setting audio bitrate.

8 years agoPut remaining pieces of CODEC_FLAG_EMU_EDGE under FF_API_EMU_EDGE.
Ronald S. Bultje [Mon, 17 Aug 2015 16:25:39 +0000 (12:25 -0400)]
Put remaining pieces of CODEC_FLAG_EMU_EDGE under FF_API_EMU_EDGE.

The amv one probably looks suspicious, but since it's an intra-only
codec, I couldn't possibly imagine what it would use the edge for,
and the vsynth fate result doesn't change, so it's probably OK.

8 years agoChangelog: Add VDPAU HEVC to the list
Philip Langdale [Fri, 28 Aug 2015 15:15:57 +0000 (08:15 -0700)]
Changelog: Add VDPAU HEVC to the list

Signed-off-by: Philip Langdale <philipl@overt.org>
8 years agoavfilter/vf_histogram: 9 and 10 bit depth support
Paul B Mahol [Tue, 25 Aug 2015 18:02:42 +0000 (18:02 +0000)]
avfilter/vf_histogram: 9 and 10 bit depth support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agodoc/examples/filtering_video: better demo ffmpeg filters; demos chaining the filters
Harshit Mittal [Wed, 5 Aug 2015 19:41:49 +0000 (12:41 -0700)]
doc/examples/filtering_video: better demo ffmpeg filters; demos chaining the filters

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoChangelog: Clarify that the new asf demuxer is optional.
Carl Eugen Hoyos [Fri, 28 Aug 2015 09:08:28 +0000 (11:08 +0200)]
Changelog: Clarify that the new asf demuxer is optional.

8 years agocheckasm: Fix floating point arguments on 64-bit Windows
Henrik Gramner [Mon, 24 Aug 2015 20:53:56 +0000 (22:53 +0200)]
checkasm: Fix floating point arguments on 64-bit Windows

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agoChangelog: Mention the change of the default webm codecs.
Thilo Borgmann [Fri, 28 Aug 2015 04:05:41 +0000 (06:05 +0200)]
Changelog: Mention the change of the default webm codecs.

Signed-off-by: Carl Eugen Hoyos <cehoyos@ag.or.at>
8 years agoconfigure: Do not let the webm muxer suggest external libraries.
Carl Eugen Hoyos [Fri, 28 Aug 2015 04:00:49 +0000 (06:00 +0200)]
configure: Do not let the webm muxer suggest external libraries.

This can fail as seen on fate and the usefulness of the suggestion is limited.

8 years agoapng: Support inter-frame compression
Donny Yang [Wed, 19 Aug 2015 06:41:23 +0000 (06:41 +0000)]
apng: Support inter-frame compression

The current algorithm is just "try all the combinations, and pick the best".
It's not very fast either, probably due to a lot of copying, but will do for
an initial implementation.

Signed-off-by: Donny Yang <work@kota.moe>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/dnxhddata: Fix inconsistent table entry
Michael Niedermayer [Fri, 28 Aug 2015 01:34:40 +0000 (03:34 +0200)]
avcodec/dnxhddata: Fix inconsistent table entry

Fixes segfault
Fixes Ticket4809

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoconfigure: Print out enabled programs
rogerdpack [Thu, 27 Aug 2015 22:16:44 +0000 (16:16 -0600)]
configure: Print out enabled programs

Better message that ffplay is not going to be built by printing out what
will be built.

Based on a patch by Moritz Barsnick.

Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
8 years agoavformat/segment: atomically update list if possible
Michael Niedermayer [Thu, 27 Aug 2015 21:40:25 +0000 (23:40 +0200)]
avformat/segment: atomically update list if possible

Fixes Ticket4802

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoffplay: remove unused include libavutil/colorspace.h
Zhang Rui [Thu, 27 Aug 2015 06:00:30 +0000 (14:00 +0800)]
ffplay: remove unused include libavutil/colorspace.h

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavfilter/af_amerge: use the name 's' for the pointer to the private context
Ganesh Ajjanagadde [Wed, 26 Aug 2015 16:53:44 +0000 (12:53 -0400)]
avfilter/af_amerge: use the name 's' for the pointer to the private context

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavfilter: add framerate video filter
Paul B Mahol [Fri, 24 Jul 2015 07:09:16 +0000 (07:09 +0000)]
avfilter: add framerate video filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agolavf/mpegenc: provide better feedback in case of invalid media type
Stefano Sabatini [Thu, 27 Aug 2015 15:41:52 +0000 (17:41 +0200)]
lavf/mpegenc: provide better feedback in case of invalid media type

8 years agoavcodec: Assert on codec->encode2 in encode_audio2
lummax [Thu, 27 Aug 2015 10:40:30 +0000 (12:40 +0200)]
avcodec: Assert on codec->encode2 in encode_audio2

Assert on `avctx->codec->encode2` to avoid a SEGFAULT on the subsequent
function call.

avcodec_encode_video2() uses a similar assertion.
Calling the wrong function on a stream is a serious inconsistency
which could at other places be potentially dangerous and exploitable,
it is thus safer to stop execution and not continue with such
inconsistency after returning an error.

Commit-message-extended-by commiter
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agovaapi: Add hevc hwaccel support
Timo Rothenpieler [Wed, 26 Aug 2015 12:55:40 +0000 (14:55 +0200)]
vaapi: Add hevc hwaccel support

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
8 years agoconfigure: warn if GCC 4.2 is being used
Ganesh Ajjanagadde [Wed, 26 Aug 2015 13:36:25 +0000 (09:36 -0400)]
configure: warn if GCC 4.2 is being used

The wiki, Ticket1464, and Ticket3970 warn about the usage of GCC 4.2.
This fixes Ticket3970.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agolavc: Describe eia_608 as text subtitles.
Carl Eugen Hoyos [Thu, 27 Aug 2015 14:42:39 +0000 (16:42 +0200)]
lavc: Describe eia_608 as text subtitles.

8 years agoavcodec/libopusenc: Fix infinite loop on flushing after 0 input
Michael Niedermayer [Thu, 27 Aug 2015 10:44:31 +0000 (12:44 +0200)]
avcodec/libopusenc: Fix infinite loop on flushing after 0 input

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoconfigure: remove unused apply() function
Ganesh Ajjanagadde [Thu, 27 Aug 2015 05:08:34 +0000 (01:08 -0400)]
configure: remove unused apply() function

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoMerge commit 'e176639bcbf4b580edb462a6b0650e53cd5e3c04'
Hendrik Leppkes [Thu, 27 Aug 2015 07:53:07 +0000 (09:53 +0200)]
Merge commit 'e176639bcbf4b580edb462a6b0650e53cd5e3c04'

* commit 'e176639bcbf4b580edb462a6b0650e53cd5e3c04':
  webm: Explicitly select libvpx, libopus and libvorbis encoders

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '413d4e54a9bffe2d0afdc6d8a80f516e5df6a421'
Hendrik Leppkes [Thu, 27 Aug 2015 07:50:53 +0000 (09:50 +0200)]
Merge commit '413d4e54a9bffe2d0afdc6d8a80f516e5df6a421'

* commit '413d4e54a9bffe2d0afdc6d8a80f516e5df6a421':
  nvenc: Properly free the fifos

Not merged, ffmpeg's nvenc doesn't use these fifos.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '2157df425bd909854fd4afcec4aa3311d8a3b31b'
Hendrik Leppkes [Thu, 27 Aug 2015 07:49:21 +0000 (09:49 +0200)]
Merge commit '2157df425bd909854fd4afcec4aa3311d8a3b31b'

* commit '2157df425bd909854fd4afcec4aa3311d8a3b31b':
  hlsenc: Support outputting specific versions

Not merged, the version is auto-selected in ffmpeg based on enabled features.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'd68705c9756e6558c8e28d90b4c364f25ba72083'
Hendrik Leppkes [Thu, 27 Aug 2015 07:40:06 +0000 (09:40 +0200)]
Merge commit 'd68705c9756e6558c8e28d90b4c364f25ba72083'

* commit 'd68705c9756e6558c8e28d90b4c364f25ba72083':
  dnxhddata: Add tables for missing DNx100 profiles

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'a4615572b576d3ef7ee2f11529d935e61bf4ebb8'
Hendrik Leppkes [Thu, 27 Aug 2015 07:31:52 +0000 (09:31 +0200)]
Merge commit 'a4615572b576d3ef7ee2f11529d935e61bf4ebb8'

* commit 'a4615572b576d3ef7ee2f11529d935e61bf4ebb8':
  dnxhddata: Merge a few duplicated RUN tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'efbfb1ad1112cea79bef51fd9f30c0c94735abfc'
Hendrik Leppkes [Thu, 27 Aug 2015 07:29:54 +0000 (09:29 +0200)]
Merge commit 'efbfb1ad1112cea79bef51fd9f30c0c94735abfc'

* commit 'efbfb1ad1112cea79bef51fd9f30c0c94735abfc':
  dnxhddata: Group together RUN-related tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '403ea4ac7289ac39229452b6b5e2f8ebcc00f2a1'
Hendrik Leppkes [Thu, 27 Aug 2015 07:27:02 +0000 (09:27 +0200)]
Merge commit '403ea4ac7289ac39229452b6b5e2f8ebcc00f2a1'

* commit '403ea4ac7289ac39229452b6b5e2f8ebcc00f2a1':
  dnxhddata: Merge a few duplicated DC tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '5e129ed655bff5b6d90355c0b713d7aaba3898ec'
Hendrik Leppkes [Thu, 27 Aug 2015 07:26:14 +0000 (09:26 +0200)]
Merge commit '5e129ed655bff5b6d90355c0b713d7aaba3898ec'

* commit '5e129ed655bff5b6d90355c0b713d7aaba3898ec':
  dnxhddata: Group together DC-related tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'd3ae4c65942d67a294fd56eabbbdcce6756fab5f'
Hendrik Leppkes [Thu, 27 Aug 2015 07:19:41 +0000 (09:19 +0200)]
Merge commit 'd3ae4c65942d67a294fd56eabbbdcce6756fab5f'

* commit 'd3ae4c65942d67a294fd56eabbbdcce6756fab5f':
  dnxhddata: List the reused tables in a comment

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'fdd021884d5c06fb9ad65cb0040bb5717a7b084b'
Hendrik Leppkes [Thu, 27 Aug 2015 07:17:37 +0000 (09:17 +0200)]
Merge commit 'fdd021884d5c06fb9ad65cb0040bb5717a7b084b'

* commit 'fdd021884d5c06fb9ad65cb0040bb5717a7b084b':
  dnxhddata: Keep a single CID in the table names

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoavformat/oggenc: Check segments_count for headers too
Michael Niedermayer [Thu, 27 Aug 2015 02:08:42 +0000 (04:08 +0200)]
avformat/oggenc: Check segments_count for headers too

Fixes infinite loop and segfault in ogg_buffer_data()
Fixes Ticket4806

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoffmpeg_opt: Add -hwaccels option that lists all supported hwaccels
Timothy Gu [Tue, 25 Aug 2015 23:43:53 +0000 (16:43 -0700)]
ffmpeg_opt: Add -hwaccels option that lists all supported hwaccels

8 years agolavf/mov: Support unusual alac files without frma and alac atoms.
Carl Eugen Hoyos [Thu, 27 Aug 2015 01:29:29 +0000 (03:29 +0200)]
lavf/mov: Support unusual alac files without frma and alac atoms.

Fixes ticket #4747.

8 years agolavc/dnxhdenc: Fix ibias default.
Carl Eugen Hoyos [Thu, 27 Aug 2015 00:59:43 +0000 (02:59 +0200)]
lavc/dnxhdenc: Fix ibias default.

Fixes a regression since a8ab64d2 reported by Rens Dijkshoorn, rens offlinemedia nl.

8 years agoavfilter: add hstack & vstack filter
Paul B Mahol [Mon, 24 Aug 2015 20:00:59 +0000 (20:00 +0000)]
avfilter: add hstack & vstack filter

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavfilter/framesync: allocate FFFrameSyncIn internally
Paul B Mahol [Sat, 5 Oct 2013 20:19:23 +0000 (20:19 +0000)]
avfilter/framesync: allocate FFFrameSyncIn internally

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavfilter/vf_histogram: fix bug in checking pixel format flags
Paul B Mahol [Wed, 26 Aug 2015 11:02:50 +0000 (11:02 +0000)]
avfilter/vf_histogram: fix bug in checking pixel format flags

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavfilter/vf_vectorscope: fix bug in checking pixel format flags
Paul B Mahol [Wed, 26 Aug 2015 11:01:03 +0000 (11:01 +0000)]
avfilter/vf_vectorscope: fix bug in checking pixel format flags

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agovf_scale: Add an option to pass the scaler params
Luca Barbato [Tue, 25 Aug 2015 21:04:12 +0000 (23:04 +0200)]
vf_scale: Add an option to pass the scaler params

Reported-By: zehan@magicpony.technology
8 years agoconfigure: do not fork off grep subprocess while testing for whitespace
Ganesh Ajjanagadde [Wed, 26 Aug 2015 03:22:49 +0000 (23:22 -0400)]
configure: do not fork off grep subprocess while testing for whitespace

grep is not necessary for the functionality.
This avoids an unnecessary fork.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavfilter/af_aphaser: use the name 's' for the pointer to the private context
Paul B Mahol [Wed, 26 Aug 2015 09:49:02 +0000 (09:49 +0000)]
avfilter/af_aphaser: use the name 's' for the pointer to the private context

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavconv_opt: Add an option that lists all supported hwaccels
Timothy Gu [Tue, 25 Aug 2015 23:45:21 +0000 (16:45 -0700)]
avconv_opt: Add an option that lists all supported hwaccels

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>