33339 Commits

Author SHA1 Message Date
Rostislav Pehlivanov
20962b567b 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>
2015-08-29 06:14:13 +01:00
Rostislav Pehlivanov
f55cc57911 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>
2015-08-29 06:07:12 +01:00
Philip Langdale
91f1115a0e 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>
2015-08-28 19:11:55 -07:00
Ronald S. Bultje
2fb593dcb9 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.
2015-08-28 14:40:59 -04:00
Donny Yang
51ca703222 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>
2015-08-28 04:25:15 +02:00
Michael Niedermayer
3322f0d415 avcodec/dnxhddata: Fix inconsistent table entry
Fixes segfault
Fixes Ticket4809

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-28 04:07:42 +02:00
lummax
0c800b2761 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>
2015-08-27 17:26:24 +02: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
Carl Eugen Hoyos
0382c546cc lavc: Describe eia_608 as text subtitles. 2015-08-27 16:42:39 +02:00
Michael Niedermayer
6701c92fa4 avcodec/libopusenc: Fix infinite loop on flushing after 0 input
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-27 12:44:31 +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
Hendrik Leppkes
f30132f9c4 Merge commit 'a4615572b576d3ef7ee2f11529d935e61bf4ebb8'
* commit 'a4615572b576d3ef7ee2f11529d935e61bf4ebb8':
  dnxhddata: Merge a few duplicated RUN tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:31:52 +02:00
Hendrik Leppkes
f19a283867 Merge commit 'efbfb1ad1112cea79bef51fd9f30c0c94735abfc'
* commit 'efbfb1ad1112cea79bef51fd9f30c0c94735abfc':
  dnxhddata: Group together RUN-related tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:29:54 +02:00
Hendrik Leppkes
305f461754 Merge commit '403ea4ac7289ac39229452b6b5e2f8ebcc00f2a1'
* commit '403ea4ac7289ac39229452b6b5e2f8ebcc00f2a1':
  dnxhddata: Merge a few duplicated DC tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:27:02 +02:00
Hendrik Leppkes
3b0af76c1b Merge commit '5e129ed655bff5b6d90355c0b713d7aaba3898ec'
* commit '5e129ed655bff5b6d90355c0b713d7aaba3898ec':
  dnxhddata: Group together DC-related tables

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:26:14 +02:00
Hendrik Leppkes
3f491224fe Merge commit 'd3ae4c65942d67a294fd56eabbbdcce6756fab5f'
* commit 'd3ae4c65942d67a294fd56eabbbdcce6756fab5f':
  dnxhddata: List the reused tables in a comment

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:19:41 +02:00
Hendrik Leppkes
bd074bde02 Merge commit 'fdd021884d5c06fb9ad65cb0040bb5717a7b084b'
* commit 'fdd021884d5c06fb9ad65cb0040bb5717a7b084b':
  dnxhddata: Keep a single CID in the table names

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-27 09:17:37 +02:00
Carl Eugen Hoyos
7f9656f10d lavc/dnxhdenc: Fix ibias default.
Fixes a regression since a8ab64d2 reported by Rens Dijkshoorn, rens offlinemedia nl.
2015-08-27 02:59:43 +02:00
James Almer
4c39892b67 avcodec/vdpau: fix compilation of mpeg1/mpeg4/vc1 decoders when h264 is disabled
Tested-by: wm4 <nfxjfg@googlemail.com>
Tested-by: Philip Langdale <philipl@overt.org>
Signed-off-by: James Almer <jamrial@gmail.com>
2015-08-25 23:58:54 -03:00
Michael Niedermayer
fa9af304f0 avcodec/mjpegdec: Remove message asking for a non mod 16 AMV sample
Ticket4770 contains such a sample and it decodes fine

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-24 19:50:01 +02: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
Vittorio Giovara
a4615572b5 dnxhddata: Merge a few duplicated RUN tables 2015-08-24 13:20:04 +02:00
Vittorio Giovara
efbfb1ad11 dnxhddata: Group together RUN-related tables
This helps in finding duplicates.
2015-08-24 13:19:58 +02:00
Vittorio Giovara
403ea4ac72 dnxhddata: Merge a few duplicated DC tables 2015-08-24 13:19:43 +02:00
Vittorio Giovara
5e129ed655 dnxhddata: Group together DC-related tables
This helps in finding duplicates.
2015-08-24 13:19:36 +02:00
Vittorio Giovara
d3ae4c6594 dnxhddata: List the reused tables in a comment 2015-08-24 13:19:28 +02:00
Vittorio Giovara
fdd021884d dnxhddata: Keep a single CID in the table names
Use a comment to list the reused tables, since it's more flexible than a
table name to keep information like this. The list will expand in later
commits.
2015-08-24 13:19:06 +02:00
Hendrik Leppkes
87ee98c898 Merge commit '167ea1fbf15ecefa30729f9b8d091ed431bf43bd'
* commit '167ea1fbf15ecefa30729f9b8d091ed431bf43bd':
  xavs: Do not try to set the bitrate tolerance without a bitrate

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-24 10:37:50 +02:00
Hendrik Leppkes
a4c13f95fb Merge commit 'f9ab4fe1f7c1e9d410ca5ee2c9ff8d2892aad068'
* commit 'f9ab4fe1f7c1e9d410ca5ee2c9ff8d2892aad068':
  h264: Discard currently unsupported registered sei

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-24 10:36:07 +02:00
Hendrik Leppkes
001ea567ff Merge commit 'a1926a29fb4325afa46842883f197c74d4535c36'
* commit 'a1926a29fb4325afa46842883f197c74d4535c36':
  hevc: avoid invalid shifts of negative values

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-24 10:29:26 +02:00
Andreas Cadhalpun
01594ebb07 options_table: fix compatibility with MSVC
Including libavutil/internal.h breaks compilation of doc/print_options.c
with MSVC due to linking avpriv_strtod/avpriv_snprintf.

This reverts part of commit 095347f.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-23 23:35:14 +02:00
Andreas Cadhalpun
03e71cccba avcodec: remove FF_API_LOWRES around max_lowres
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-23 23:34:02 +02:00
Luca Barbato
167ea1fbf1 xavs: Do not try to set the bitrate tolerance without a bitrate
Avoid a division by zero.

Bug-Id: CID 1257655
2015-08-23 21:44:38 +02:00
Luca Barbato
d5eab59a53 aac: Make sure to set err on the failure path
Bug-Id: CID 1308153
2015-08-23 21:44:38 +02:00
Ganesh Ajjanagadde
6638e4a950 avcodec/x86/mpegaudiodsp: correct asm guards
Fixes -Wunused-function warnings when compiling with --disable-yasm on x86.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-23 02:39:21 +02:00
Rostislav Pehlivanov
f2ba60d4e9 aacenc_tns: temporarily disable
Due to segfaults on some platforms, fix will take a bit longer.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-22 23:49:59 +01:00
Andreas Cadhalpun
095347ffe4 disable deprecation warnings in deprecated code
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-22 19:16:14 +02:00
Timothy Gu
5f1c37aefb avcodec: Fix make checkheaders 2015-08-22 10:14:17 -07:00
Timothy Gu
f0af25ae11 ffv1: Add missing ff_ prefixes 2015-08-22 08:36:20 -07:00
Timothy Gu
ee4cc80653 vp9dsp: Add missing ff_ prefixes 2015-08-22 08:36:20 -07:00
Timothy Gu
e10ef3289d aacsbr_fixed: Make fixed_{exp,log}_table static const 2015-08-22 08:36:20 -07:00
Timothy Gu
1597dba86a aacdec_fixed: Make exp2tab static const 2015-08-22 08:36:20 -07:00
Timothy Gu
8d9fe002b3 fmtconvert: Remove float_interleave*
They were not public or used anywhere.
2015-08-22 08:29:10 -07:00
Rostislav Pehlivanov
7adb6d5aab aacenc_quantization: replace copysign() with a ternary operator
This commit removes the last thing a Windows environment can
complain about the AAC encoder code. Leftover from an old revision.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-22 08:50:41 +01:00
Rostislav Pehlivanov
2c94e45fad aacenc_is: rename struct to follow guidelines
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-22 06:47:14 +01:00
Timothy Gu
e8279880dc acenctab: Fix merge conflict
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2015-08-22 06:16:31 +01:00
Timothy Gu
21dd5279c3 aacenc: Add missing ff_ prefixes
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
2015-08-22 06:11:23 +01:00
Timothy Gu
d4401a9e0d aacenc: Harmonize multiple inclusion guards
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
2015-08-22 04:56:36 +01:00
Timothy Gu
15ebc7787c aacenctab: Add missing ff_ prefixes
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
2015-08-22 04:30:15 +01:00
Timothy Gu
5cbcf2b24d aacenctab: Use FF_ARRAY_ELEMS
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
2015-08-22 04:07:09 +01:00