Justin Ruggles
8745e9c458
ac3enc: remove check for mismatching channels and channel_layout
2011-04-27 12:57:43 -04:00
Justin Ruggles
688b09fa59
If AVCodecContext.channels is 0 and AVCodecContext.channel_layout is
...
non-zero, set channels based on channel_layout.
This allows the user to set only channel_layout and not channels.
2011-04-27 12:57:43 -04:00
Justin Ruggles
168f9e8c40
If AVCodecContext.channel_layout and AVCodecContext.channels are both
...
non-zero, check to make sure they do not contradict eachother.
2011-04-27 12:57:43 -04:00
Justin Ruggles
3dfc3e70c0
cosmetics: indentation
2011-04-27 12:57:43 -04:00
Justin Ruggles
8b00ab0113
Check AVCodec.supported_samplerates and AVCodec.channel_layouts in
...
avcodec_open().
If the encoder has a channel_layouts list and AVCodecContext.channel_layout
is 0, then only print a warning and let the encoder decide how to handle it.
2011-04-27 12:57:42 -04:00
Alex Converse
767848d761
aacdec: remove sf_scale and sf_offset.
...
Instead, scalefactors are adjusted by the offset amount, removing the need
for sf_scale, and the MDCT scales are adjusted to compensate for the higher
scalefactors. Floating-point output will be handled by modifying the MDCT
scales.
2011-04-27 12:39:37 -04:00
Justin Ruggles
6271794041
aacdec: use a scale of 2 in the LTP MDCT rather than doubling the coefficient
...
table values from the spec.
2011-04-27 12:39:37 -04:00
Alex Converse
d70fa4c423
Define POW_SF2_ZERO in aac.h and use for ff_aac_pow2sf_tabp[] offsets instead
...
of hardcoding 200 everywhere.
2011-04-27 12:39:37 -04:00
Alex Converse
e4744b59aa
Large intensity stereo and PNS indices are legal. Clip them instead of
...
erroring out. A magnitude of 100 corresponds to 2^25 so the will most
likely result in clipped output anyway.
None of the conformance streams fall in the range that need to be clipped.
2011-04-27 12:39:37 -04:00
Stefano Sabatini
f4e043ff63
qpeg: use reget_buffer() in decode_frame()
...
Decoder relies on previous frame data, so use reget_buffer().
This also set frame->reference to 3, as the frame will be requested
unmodified later so it shouldn't be modified by the application.
Fix playback of file Clock.avi.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-27 07:44:40 -07:00
Stefano Sabatini
4f0b80599a
ultimotion: use reget_buffer() in ulti_decode_frame()
...
Decoder relies on previous frame data, so use reget_buffer().
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-27 07:42:42 -07:00
Stefano Sabatini
4f2954e232
smacker: remove unnecessary call to avctx->release_buffer in decode_frame()
...
The release_buffer was cleaning the provided frame, thus causing the
successive call to avctx->reget_buffer() to allocate a new frame. In
case the returned frame was not the same one previously returned but a
new one with different data, it resulted in artifacts.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-27 07:41:59 -07:00
Ronald S. Bultje
5eef4afb9a
avparser: don't av_malloc(0).
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-26 22:07:17 -07:00
Justin Ruggles
79ee8977c2
ac3enc: correct the flipped sign in the ac3_fixed encoder
2011-04-26 17:19:37 -04:00
Diego Biurrun
e6ff064845
Eliminate pointless '#if 1' statements without matching '#else'.
2011-04-26 20:18:27 +02:00
Vitor Sessak
9d35fa520e
Add AVX FFT implementation.
...
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-26 18:25:24 +02:00
Vitor Sessak
33cbfa6fa3
Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX.
...
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-26 18:18:22 +02:00
Michael Niedermayer
76cd98b445
mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rbultje@google.com>
2011-04-26 09:29:08 +02:00
Stefano Sabatini
bebe72f4a0
lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
...
Also deprecate av_get_pict_type_char() in favor of
av_get_picture_type_char().
The new enum and av_get_picture_type_char() are defined in libavutil.
This allows the use in libavfilter without the need to link against
libavcodec.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:38:57 +02:00
Michael Niedermayer
30fe971934
aac: add headers needed for log2f()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:33:21 +02:00
Anton Khirnov
6deae83e55
lavc: remove FF_API_MB_Q cruft
2011-04-26 08:16:06 +02:00
Anton Khirnov
694c142434
lavc: remove FF_API_RATE_EMU cruft
2011-04-26 08:16:05 +02:00
Anton Khirnov
e7021c0ed5
lavc: remove FF_API_HURRY_UP cruft
2011-04-26 08:16:05 +02:00
Janne Grunau
6ad2bafcfd
ac3: fix memleak in fixed-point encoder
...
caused by typo in mdct_end
2011-04-25 20:27:05 +02:00
Diego Biurrun
a14c08247d
flashsv: Return more meaningful error values.
2011-04-25 16:01:58 +02:00
Diego Biurrun
46cb2da1f0
flashsv: Employ explicit AVCodec struct initializers.
2011-04-25 15:41:10 +02:00
Diego Biurrun
293fe6da01
cosmetics: K&R coding style and more whitespace for Flash Screen Video
2011-04-25 01:50:07 +02:00
Diego Biurrun
2441003d3f
vorbisdec: Employ proper printf format specifiers for uint_fast32_t.
...
libavcodec/vorbisdec.c:543: warning: format ‘%d’ expects type ‘int’, but argument 4 has type ‘uint_fast32_t’
libavcodec/vorbisdec.c:543: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘uint_fast32_t’
2011-04-25 01:39:55 +02:00
Diego Biurrun
43fb279f56
Replace more FFmpeg instances by Libav or ffmpeg.
2011-04-23 19:12:23 +02:00
Diego Biurrun
046f3cb789
vorbis: Rename decoder/encoder files to follow general file naming scheme.
2011-04-23 14:23:20 +02:00
Nathan Caldwell
f50d937725
aacenc: Fix whitespace after last commit.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-23 15:02:34 +03:00
Diego Biurrun
62582a696b
cook: Fix small typo in av_log_ask_for_sample message.
2011-04-23 12:05:32 +02:00
Nathan Caldwell
230c1a9075
aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
...
There is still are still a few sections missing relating to TNS (not present)
and mid/side (contains other bugs).
Overall this improves quality, and vastly improves rate-control.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-23 12:30:05 +03:00
Alex Converse
785c441828
Add some debug log messages to AAC extradata
...
On Wed, Apr 20, 2011 at 11:39 AM, Justin Ruggles
<justin.ruggles@gmail.com> wrote:
> On 04/20/2011 02:26 PM, Alex Converse wrote:
>
>> ---
>> libavcodec/aacdec.c | 10 +++++++++-
>> 1 files changed, 9 insertions(+), 1 deletions(-)
>>
>>
>>
>> 0002-Add-some-Debug-log-messages-to-AAC-extradata.patch
>>
>>
>> diff --git a/libavcodec/aacdec.c b/libavcodec/aacdec.c
>> index c9761a1..3ec274f 100644
>> --- a/libavcodec/aacdec.c
>> +++ b/libavcodec/aacdec.c
>> @@ -79,7 +79,6 @@
>> Parametric Stereo.
>> */
>>
>> -
>> #include "avcodec.h"
>> #include "internal.h"
>> #include "get_bits.h"
>
>
> stray whitespace change
>
oops, fixed
>From 94e8d0eea77480630f84368c97646cabc0f50628 Mon Sep 17 00:00:00 2001
From: Alex Converse <aconverse@google.com>
Date: Wed, 20 Apr 2011 11:23:34 -0700
Subject: [PATCH] Add some debug log messages to AAC extradata
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="------------1"
This is a multi-part message in MIME format.
--------------1
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit
2011-04-22 20:36:57 -07:00
Diego Biurrun
d9dee728b8
Use av_log_ask_for_sample() to request samples from users.
2011-04-22 20:12:39 +02:00
Diego Biurrun
44f566b79a
Make av_log_ask_for_sample() accept a variable number of arguments.
2011-04-22 20:12:27 +02:00
Diego Biurrun
b2832c3904
vqavideo: We no longer need to ask for version 1 samples.
2011-04-22 20:02:24 +02:00
Young Han Lee
9978ed7d6c
aacdec: indentation cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-04-22 14:47:47 +02:00
Ronald S. Bultje
94f7451a3a
Introduce slice threads flag.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-21 19:42:19 -04:00
Diego Biurrun
70fb031ce2
Use av_log_ask_for_sample() where appropriate.
2011-04-21 19:58:54 +02:00
Anton Khirnov
65af48b559
lavc: provide deprecated avcodec_thread_init until next major version
...
It was deprecated only recently.
2011-04-21 07:22:23 +02:00
Anton Khirnov
095290f9a4
lavc: provide the opt.h header until the next bump
...
AVOptions were moved to libavutil only recently.
2011-04-21 07:14:51 +02:00
Justin Ruggles
31d76ec288
In avcodec_open(), set return code to an error value only when an error occurs
...
instead of unconditionally at the start of the function.
This fixes a bug where a successful call to ff_thread_init() masks errors that
occur after that point in the function. It also makes future bugs like this
less likely since the error code is now set near to the point in the code
where the error is found.
2011-04-19 14:10:03 -04:00
Anton Khirnov
cda7aa9eba
lavc: remove reference to opt.h from Makefile.
...
Fixes make install after 3453a231a6
.
2011-04-19 19:50:23 +02:00
Anton Khirnov
3453a231a6
lavc: remove misc disabled cruft.
2011-04-19 19:01:22 +02:00
Anton Khirnov
251cf997cf
lavc: remove the FF_API_INOFFICIAL cruft.
2011-04-19 18:41:32 +02:00
Anton Khirnov
41d0eb1c81
lavc: remove the FF_API_SET_STRING_OLD cruft.
2011-04-19 18:41:00 +02:00
Anton Khirnov
01a4259b8d
lavc: remove the FF_API_USE_LPC cruft.
2011-04-19 18:40:35 +02:00
Anton Khirnov
db4d3a7421
lavc: remove the FF_API_SUBTITLE_OLD cruft.
2011-04-19 18:39:40 +02:00
Anton Khirnov
e89e5afdd0
lavc: remove the FF_API_VIDEO_OLD cruft.
2011-04-19 18:37:21 +02:00
Anton Khirnov
9b4f1cdb6a
lavc: remove the FF_API_AUDIO_OLD cruft.
2011-04-19 18:37:03 +02:00
Anton Khirnov
20d33ee8b1
lavc: remove the FF_API_OPT_SHOW cruft.
2011-04-19 18:36:15 +02:00
Anton Khirnov
42420e7b94
lavc: remove the FF_API_MM_FLAGS cruft.
2011-04-19 18:35:56 +02:00
Diego Biurrun
151cd4f982
pcm: Add const to cast in ENCODE macro.
...
This fixes a lot of warnings of the sort:
libavcodec/pcm.c:105: warning: cast discards qualifiers from pointer target type
2011-04-19 16:18:59 +02:00
Luca Barbato
facc48f157
libvo-aacenc,libvo-amrwbenc}: fix api usage
...
Use the correct error codes and format identifier.
2011-04-18 22:21:13 +02:00
Anton Khirnov
139f3ac42d
Bump major versions of all libraries.
...
They've accumulated enough new APIs and corresponding deprecated cruft.
This breaks API and ABI.
2011-04-18 20:19:47 +02:00
Diego Biurrun
f0a41afd8a
Replace mplayerhq.hu URLs by libav.org.
2011-04-18 18:23:16 +02:00
Diego Biurrun
259a3e70ed
ptx: Use av_log_ask_for_sample() where appropriate.
2011-04-18 09:41:02 +02:00
Diego Biurrun
6001dad6e2
Replace more FFmpeg references by Libav.
2011-04-17 19:31:49 +02:00
Justin Ruggles
4c64c8e95a
ac3dec: fix processing of delta bit allocation information.
...
The number of dba segments is the coded value + 1.
The coupling dba offset starts at the first coupling band, not at zero.
2011-04-17 12:33:41 -04:00
Ronald S. Bultje
0b05864eef
vc1: fix fate-vc1 after previous commit.
...
PROFILE_ADVANCED doesn't set res_fasttx, so make that a special case
in the condition that decides which IDCT to use (and whether to read
coefficients transposed or not).
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2011-04-17 08:45:10 +02:00
Ronald S. Bultje
58bb6b7d93
wmv3dec: fix playback of complex WMV3 files using simple_idct.
...
IDCT coefficients are read transposed, but simple_idct does not expect
this. Therefore, only do tranposed coefficient reading if we're not
using simple_idct.
Fixes http://forum.videolan.org/viewtopic.php?f=14&t=89651
2011-04-16 15:19:53 -04:00
Kostya Shishkov
c0eee89337
make av_dup_packet() more cautious on allocation failures
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-15 18:02:05 +02:00
Kostya Shishkov
2d8591c27e
make containers pass palette change in AVPacket
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-15 18:02:05 +02:00
Kostya Shishkov
4de339e219
introduce side information for AVPacket
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-15 18:01:53 +02:00
Martin Storsjö
302152d40b
libavcodec: Bump micro after adding the dtx AVOptions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 09:34:26 +03:00
Martin Storsjö
651b276ef7
libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
...
DTX, discontinuous transmission, allows emitting frames with
comfort noise when no voice is detected in the input audio.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 00:31:39 +03:00
Martin Storsjö
3dd82afc74
libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
...
Also rename the incorrectly named enc_bitrate to enc_mode, use the
enc_bitrate variable for storing the last chosen bitrate.
This avoids continuous warning log messages if not using an
exactly matching bitrate, while still allowing changing bitrate
at any point.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 00:31:34 +03:00
Martin Storsjö
7073938121
libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
...
Dynamically print the supported bitrates from the local table,
instead of using a hardcoded log message.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-14 00:31:33 +03:00
Martin Storsjö
957635ba14
libvo-*: Fix up the long codec names
...
Include VisualOn to clarify the codec name, but remove the
actual library name from the user-friendly description.
Also mention Android, to clarify which VisualOn implementation
this refers to, since they do sell other variants of the same
code, too.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 22:38:18 +03:00
Martin Storsjö
567ad0e31d
libavcodec: Mark AVCodec->priv_class const
...
This avoids warnings of this kind, everywhere priv_class
is initialized:
warning: initialization discards qualifiers from pointer target type
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 22:14:33 +03:00
Martin Storsjö
2d3267936a
libvo-aacenc: Only produce extradata if the global header flag is set
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 15:43:46 +03:00
Anton Khirnov
c776732712
lavc: postpone removal of request_channels
...
No decoder uses the supposed replacement, request_channel_layout, yet.
2011-04-13 13:50:17 +02:00
Anton Khirnov
d6ead39ee7
lavc: postpone removal of audioconvert and sample_fmt wrappers
...
Those were moved to libavutil only recently.
2011-04-13 13:50:17 +02:00
Martin Storsjö
882221afde
libopencore-amr: Cosmetics: Rewrap and align
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 13:00:21 +03:00
Martin Storsjö
02c63a109f
libopencore-amr, libvo-amrbwenc: Rename variables and functions
...
Avoid camelCase names for functions and variables.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 13:00:14 +03:00
Martin Storsjö
9b9c6405fd
libopencore-amr: Convert commented out debug logging into av_dlog
...
Also add the avctx as logging context.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 13:00:07 +03:00
Martin Storsjö
89e7e640f7
libopencore-amr: Remove an unused state variable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 12:59:58 +03:00
Martin Storsjö
5d211e034e
libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
...
The bitrate modes are equal to the array indices.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
0e03f94d61
libopencore-amr: Remove a useless local variable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
c48ce4eb50
libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
900a129f4f
libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
a8ec07c933
libopencore-amr: Don't print carriage returns in log messages
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
587331414b
libopencore-amr: Remove an old workaround for libamr header weirdness
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
57ddffe843
libopencore-amr: Make the opaque encoder pointer a void*
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Martin Storsjö
dbff4da914
libopencore-amr: Remove unused code fragments
...
This parts are heritage from the encoder part from the old
libamr code removed in SVN rev 19365.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-13 11:30:38 +03:00
Alberto Delmas
d294015510
Check for successful h263 init in msmpeg4 init
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-12 19:46:44 -04:00
Martin Storsjö
c5e03cebd3
libvo-*: Don't use deprecated sample format names and enum names
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-12 12:52:47 +03:00
Martin Storsjö
c41eb2ade4
libavcodec: Use "const enum AVSampleFormat[]" in AVCodec initialization
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-12 12:38:37 +03:00
Alex Converse
2f072b55a4
Fix the conversion of AV_SAMPLE_FMT_FLT and _DBL to AV_SAMPLE_FMT_S32.
...
(1<<31) is undefined and seems to be evaluated by gcc to -2^31 when
these formulae require 2^31.
These conversions still need fate tests.
2011-04-11 21:47:53 -07:00
Alex Converse
187a537904
Convert some undefined 1<<31 shifts into 1U<<31.
...
According to ISO 9899:1999 S 6.5.7/4:
The result of E1 << E2 is E1 left-shifted E2 bit positions; vacated bits
are filled with zeros. If E1 has an unsigned type, the value of the
result is E1× 2^E2, reduced modulo one more than the maximum value
representable in the result type. If E1 has a signed type and
nonnegative value, and E1× 2^E2 is representable in the result type, then
that is the resulting value; otherwise, the behavior is undefined.
2011-04-11 21:47:42 -07:00
Martin Storsjö
f502ff3f61
Add support for AMR-WB encoding via libvo-amrwbenc
...
The wrapper code is based on the libamr wrapper removed in SVN rev 19365.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 14:55:53 +03:00
Martin Storsjö
d89e738a0c
Add an AAC encoder by using the libvo-aacenc library
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 14:55:51 +03:00
Martin Storsjö
029f966c3a
g722: Return 8 bits per sample for g722 in av_get_bits_per_sample
...
This fixes a failing assert in ff_raw_read_header (in
fate-g722dec-1), where bits_per_coded_sample is set using this
function and is required to have a positive value.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-11 11:35:43 +03:00
Alberto Delmás
768c525114
Parse sprite data for WMVP and WVP2, and decode sprites for the latter
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-10 10:07:49 +02:00
Alexander Strange
cf39b461d3
pthread: validate_thread_parameters() ignored slice-threading being intentionally off
...
The thread_type API allows you to request only FF_THREAD_FRAME (instead of
FRAME | SLICE), but it was being ignored.
We don't implement both of them at the same time, so there isn't an effect
on current codecs, except that you can request no kinds of threading now
(a bit useless).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-09 08:23:22 -04:00
Reimar Döffinger
f82163cf1c
Use consistent condition for whether to run slice-threading execute function.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-09 08:23:22 -04:00
Gwenole Beauchesne
da21440d46
vaapi: cope with VA-API 0.32, i.e. fix VC-1 decoding on Sandy Bridge.
...
(cherry picked from commit a18e7b4fb7
)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-09 12:02:04 +02:00
Gwenole Beauchesne
09ce846206
vaapi: filter out DELAYED_PIC_REF flag to determine field.
...
This fixes ticket #23 .
(cherry picked from commit 621f4c98df
)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-04-09 12:00:57 +02:00
Anton Khirnov
9f5ddd1e46
lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
...
And hide request_channels AVOption under it.
2011-04-07 18:11:24 +02:00
Brad
1f6265e011
Fix parser: mark av_parser_parse() for removal on next major bump
...
Fix the breakage introduced with 9073ca6c6e
2011-04-06 23:45:34 +02:00
Nathan Caldwell
5371803dd5
psymodel: extend API to include PE and bit allocation.
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-04-05 22:21:04 +02:00
Alexander Strange
ba9ef8d04e
Remove unnecessary parameter from ff_thread_init() and fix behavior
...
thread_count passed to ff_thread_init() is only used to set AVCodecContext.
thread_count, and can be removed. Instead move it to the legacy implementation
of avcodec_thread_init().
This also fixes the problem that calling avcodec_thread_init() with pthreads
enabled did not set it since ff1efc524c
.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-04-05 16:53:26 +02:00
Janne Grunau
d6f66edd65
Revert "aac_latm_dec: use aac context and aac m4ac"
...
This reverts commit 36864ac354
since it
breaks LATM decoding in ffplay.
2011-04-05 12:21:50 +02:00
Mans Rullgard
5f2e6c0fd1
ac3enc: NEON optimised extract_exponents
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-05 01:11:16 +01:00
Mans Rullgard
2310ee4b1c
ac3enc: move extract_exponents inner loop to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-04 18:27:22 +01:00
Young Han Lee
57cc1ad35f
aacenc: reduce the number of loop index variables
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-04-04 09:12:37 +02:00
Justin Ruggles
e05a3ac713
ac3enc: select bandwidth based on bit rate, sample rate, and number of
...
full-bandwidth channels.
This reduces high-frequency artifacts and improves the quality of the lower
frequency audio at low bit rates.
2011-04-03 20:59:14 -04:00
Mans Rullgard
f7653904c8
ARM: NEON fixed-point forward MDCT
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-03 22:39:52 +01:00
Mans Rullgard
dba9852935
ARM: NEON fixed-point FFT
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-03 22:39:52 +01:00
Mans Rullgard
79997def65
ac3enc: use generic fixed-point mdct
...
This makes the AC3 encoder use the shared fixed-point MDCT rather
than its own implementation. The checksum changes are due to
different rounding in the MDCT.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-03 19:01:53 +01:00
Anton Khirnov
4e3945fd28
lavc: deprecate AVCodecContext.antialias_algo
...
It's been unused since mp3float decoder was added.
2011-04-03 08:43:11 +02:00
Anton Khirnov
4a49d2d59c
lavc: mark mb_qmin/mb_qmax for removal on next major bump.
...
They've been unused and deprecated for about five years.
2011-04-03 08:43:09 +02:00
Mans Rullgard
bc154882e1
Fixed-point MDCT with 32-bit unscaled output
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-02 21:06:07 +01:00
Anton Khirnov
ed5fcd60b2
lavc: deprecate rate_emu
...
It's not used anywhere and apparrently hasn't been for a very long time.
2011-04-02 16:18:37 +02:00
Anton Khirnov
8ed2ae09a2
lavc: mark hurry_up for removal on next major bump
...
It has been deprecated for about five years, skip_idct/skip_frame should
be used instead.
2011-04-02 16:17:24 +02:00
Anton Khirnov
9073ca6c6e
parser: mark av_parser_parse() for removal on next major bump
...
Fixes build with the bump, since the prototype is already marked for
removal.
2011-04-02 16:17:15 +02:00
Anton Khirnov
6f3d3eacf6
lavc: add missing audioconvert includes
2011-04-02 16:17:01 +02:00
Anton Khirnov
b4b167ecbf
jvdec: don't use deprecated CODEC_TYPE_*/PKT_FLAG_KEY
2011-04-02 16:16:44 +02:00
Mans Rullgard
aa05f2126e
ac3enc: ARM optimised ac3_compute_matissa_size
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 22:46:21 +01:00
Mans Rullgard
182826c884
ac3: armv6 optimised bit_alloc_calc_bap
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 22:46:05 +01:00
Mans Rullgard
41327cca61
FFT: simplify fft8()
...
Part of the fft8() function corresponds to the BUTTERFLIES macro,
so use it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 17:50:59 +01:00
Mans Rullgard
6efe6028ed
Fixed-point support in fft-test
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-04-01 15:16:06 +01:00
Mans Rullgard
7087ce08c8
Fixed-point FFT and MDCT
2011-03-31 12:01:27 +01:00
Mans Rullgard
7f6e05cdfd
ac3enc: simplify sym_quant()
...
These expressions are equivalent since levels is always odd, and
overflow is impossible due to the constraints set by the assert().
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-31 12:01:27 +01:00
John Stebbins
4b6f097b21
mlp_parse.c: set AVCodecContext channel_layout
...
The channel layout isn't getting set for mlp and truehd audio.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-30 17:41:48 +02:00
anatoly
ce02f9becf
Add MxPEG decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-30 07:18:34 +02:00
anatoly
e0e3b8b297
Add support for picture_ptr field in MJpegDecodeContext
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-30 07:18:34 +02:00
anatoly
f16055eedf
Move MJPEG's input buffer preprocessing in separate public function
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-30 07:18:34 +02:00
anatoly
8f0bd2c07d
Support reference picture defined by bitmask in MJPEG's SOS decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-30 07:18:34 +02:00
Mans Rullgard
52fd16a264
ac3enc: move compute_mantissa_size() to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-30 01:21:56 +01:00
Mans Rullgard
6f718471ea
ac3enc: move mant*_cnt and qmant*_ptr out of AC3EncodeContext
...
These fields are only used in quantize_mantissas() and reset
on each call, no need to store them in the main context.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-30 00:38:45 +01:00
Mans Rullgard
d782bca415
ac3enc: NEON optimised float_to_fixed24
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-29 19:40:13 +01:00
Mans Rullgard
6d9f52b2cd
ac3: move ff_ac3_bit_alloc_calc_bap to ac3dsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-29 19:31:45 +01:00
Ronald S. Bultje
d38345878c
dfa: protect pointer range checks against overflows.
2011-03-29 07:14:44 -07:00
Alexander Strange
a75529e81e
mimic: implement multithreading.
2011-03-28 21:50:46 -07:00
Justin Ruggles
c4549bd66a
ac3enc: avoid memcpy() of exponents and baps in EXP_REUSE case by using
...
exponent reference blocks.
2011-03-28 14:46:17 -04:00
Kostya Shishkov
42315dabce
Chronomaster DFA decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-03-28 16:55:03 +02:00
Justin Ruggles
991f3de1bb
ac3enc: Add codec-specific options for writing AC-3 metadata.
2011-03-27 11:30:09 -04:00
Alexander Strange
1500be13f2
dsputil: allow to skip drawing of top/bottom edges.
2011-03-26 17:45:38 -04:00
Justin Ruggles
be18738801
Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser
...
and decoder, and vice-versa for the AC-3 encoder.
2011-03-25 16:59:00 -04:00
Justin Ruggles
34b47d7cbc
Add audio_service_type field to AVCodecContext for encoding and reporting
...
of the service type in the audio bitstream.
2011-03-25 16:51:53 -04:00
Young Han Lee
00f0b4b92e
aacenc: indentation
2011-03-24 21:13:29 -07:00
Young Han Lee
92efa2bdd9
aacenc: fix the side calculation in search_for_ms
2011-03-24 21:12:23 -07:00
Alexander Strange
66f608a6aa
vp8.c: rename EDGE_* to VP8_EDGE_*.
2011-03-24 21:48:18 -04:00
Mans Rullgard
d743065e18
ARM: fix ff_apply_window_int16_neon() prototype
...
The length argument should be unsigned. No change in code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-24 20:43:47 +00:00
Mans Rullgard
2d3b21ffb9
ARM: NEON optimised apply_window_int16()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-24 19:24:03 +00:00
Mans Rullgard
245c78313f
ac3enc: NEON optimised shift functions
2011-03-24 16:30:54 +00:00
Mans Rullgard
f4855a904e
ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min
2011-03-24 16:30:49 +00:00
Ronald S. Bultje
f711424969
mpeg12.c: fix slice threading for mpeg2 field picture mode.
...
Fixes "make THREADS=2 fate-mpeg2-field-enc".
2011-03-24 12:16:22 -04:00
Anton Khirnov
3dd851c46b
lavc: move the version macros to a new installed header.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-22 21:48:33 -04:00
Justin Ruggles
e6e9823488
Add apply_window_int16() to DSPContext with x86-optimized versions and use it
...
in the ac3_fixed encoder.
2011-03-22 21:08:30 -04:00
Vitor Sessak
ee26abf2a4
Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-22 18:26:46 -04:00
Kieran Kunhya
a6d2227bc8
Add kbdwin.o to AC3 decoder
...
Fixes --disable-everything --enable-decoder=ac3
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-22 22:26:20 +00:00
Reimar Döffinger
4c886d613d
Detect byte-swapped AC-3 and support decoding it directly.
...
This allows the AC-3 decoder to be used directly with RealMedia
decoders that unlike the libavformat one do not byte-swap automatically.
Since the new code is only used in case we would fail directly otherwise
there should be no risk for regressions.
2011-03-22 15:36:47 -04:00
Justin Ruggles
40728b5169
cosmetics: indentation
2011-03-22 15:36:47 -04:00
Justin Ruggles
67fc8652b9
Always copy input data for AC3 decoder.
...
Depending on error_recognition is not correct, low values do
certainly not mean it is ok to crash.
Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-03-22 15:36:47 -04:00
Justin Ruggles
85ab290470
ac3enc: make sym_quant() branch-free
2011-03-22 14:36:18 -04:00
Ronald S. Bultje
c47d383502
vc1: make P-frame deblock filter bit-exact.
2011-03-21 21:28:17 -04:00
Ronald S. Bultje
f44d6445b7
vc1: slice support.
...
Also reset coded_block at each new slice, fixes problems in slice playback.
2011-03-21 10:00:43 -04:00
Ronald S. Bultje
b81a935bd9
vc1: fix up memleaks in the error codepath.
...
Introduce end: and err: labels at the end of vc1_decode_frame(), which
will clean up allocated memory consistently.
2011-03-21 09:51:16 -04:00
Ronald S. Bultje
72452cc475
vc1: warn for unimplemented pan-scan feature.
2011-03-21 09:43:21 -04:00
Mans Rullgard
027f60f32b
ffv1: allocate correct size for sample buffer
...
This fixes a typo in the size calculation for the sample buffer
introduced in cbabccc367
.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 22:17:20 +00:00
Mans Rullgard
e87a6f0dc9
Move ff_dct_init_mmx declaration to dct.h
...
This was missed in 0aded94
.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 21:12:00 +00:00
Mans Rullgard
8eec00278c
dct: remove superflous #include
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 17:15:41 +00:00
Mans Rullgard
0aded9484d
Move dct and rdft definitions to separate files
...
This leaves fft.h with only the core FFT and MDCT definitions
thus making it more managable.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 17:15:33 +00:00
Mans Rullgard
4538729afe
Move sine windows to a separate file
...
These windows do not really belong in fft/mdct files and were
easily confused with the similarly named tables used by rdft.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 13:25:19 +00:00
Mans Rullgard
a45fbda994
Move ff_kbd_window_init() to a separate file
...
This function is not tightly coupled to mdct, and it's in the way
of making a fixed-point mdct implementation.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:27 +00:00
Mans Rullgard
26f548bb59
fft: remove inline wrappers for function pointers
...
This removes the rather pointless wrappers (one not even inline)
for calling the fft_calc and related function pointers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 19:49:18 +00:00
Mans Rullgard
42cfb3835b
Remove Sonic experimental audio codec
...
Since initially committed in 2004, this codec has only been touched
for maintenanance. Functionally, it contains no novel ideas and
its intended audience is better served by existing mature codecs.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 15:24:31 +00:00
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Nathan Caldwell
350785a662
aacenc: 10l, missed a reference when refactoring the psymodel.
2011-03-17 21:01:08 -07:00
Justin Ruggles
0f999cfddb
ac3enc: add float_to_fixed24() with x86-optimized versions to AC3DSPContext
...
and use in scale_coefficients() for the floating-point AC-3 encoder.
2011-03-17 16:46:48 -04:00
Nathan Caldwell
4afedfd8e5
aacenc: cosmetics, indentation, and comment clarification
...
Correct bad indentation in aaccoder
Clarify and correct comments in 3GPP psymodel, other cosmetics.
2011-03-16 23:35:39 -04:00
Nathan Caldwell
b7c96769c5
aacenc: Refactor the parts of the AAC psymodel.
...
3GPP:
Remove ffac from and move min_snr out of AacPsyBand.
Rearrange AacPsyCoeffs to make it easier to implement energy spreading.
Rename the band[] array to bands[]
Copy energies and thresholds at the end of analysis.
LAME:
Use a loop instead of an if chain in LAME windowing.
2011-03-16 23:34:12 -04:00
Young Han Lee
f578854efc
aaccoder: Change FFMAX for allzero flag to OR bit operation
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 23:12:43 -04:00
Ramiro Polla
cbf5d22d24
Remove occurrences of my old email address
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-16 23:19:40 +00:00
Mans Rullgard
381d37fda9
dsputil: add bswap16_buf()
...
There are several places where a buffer is byte-swapped in 16-bit units.
This allows them to share code which can be optimised for various
architectures.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-16 23:19:40 +00:00
Janne Grunau
a03be6e1ba
use LIBAV_LICENSE and LIBAV_VERSION instead of FFMPEG_*
2011-03-16 21:54:39 +01:00
Janne Grunau
29ba091136
replace FFMPEG with LIBAV in FFMPEG_CONFIGURATION
...
also update the multiple inclusion guards in config.h|mak
2011-03-16 21:54:39 +01:00
Justin Ruggles
79414257e2
mathops: fix MULL() when the compiler does not inline the function.
...
If the function is not inlined, an immmediate cannot be used for the
shift parameter, so the %cl register must be used instead in that case.
This fixes compilation for x86-32 using gcc with --disable-optimizations.
2011-03-15 20:49:37 -04:00
Justin Ruggles
aaff3b312e
mathops: change "g" constraint to "rm" in x86-32 version of MUL64().
...
The 1-arg imul instruction cannot take an immediate argument, only a register
or memory argument.
2011-03-15 13:43:47 -04:00
Justin Ruggles
b181b8fb96
mathops: convert MULL/MULH/MUL64 to inline functions rather than macros.
...
This fixes unexpected name collisions that were occurring with variables
declared within the macros.
It also fixes the fate-acodec-ac3_fixed regression test on x86-32.
2011-03-15 13:43:47 -04:00
Philip Langdale
025225d7ee
h264_mp4toannexb_bsf: Fix spurious warning when stream has SPS and PPS units.
...
Signed-off-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-15 07:20:44 -04:00
Justin Ruggles
f1efbca5e9
ac3enc: add SIMD-optimized shifting functions for use with the fixed-point AC3 encoder.
2011-03-14 08:45:31 -04:00
Justin
323e6fead0
ac3enc: do not right-shift fixed-point coefficients in the final MDCT stage.
...
This increases the accuracy of coefficients, leading to improved quality.
Rescaling of the coefficients to full 25-bit accuracy is done rather than
offsetting the exponent values. This requires coefficient scaling to be done
before determining the rematrixing strategy. Also, the rematrixing strategy
calculation must use 64-bit math to prevent overflow due to the higher
precision coefficients.
2011-03-14 08:45:26 -04:00
Peter Ross
6e7cf13b6b
mm decoder: move buffer allocation from decode_init() to decode_frame()
...
This permits playback in ffplay when libavfilter is enabled.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-14 08:07:29 -04:00
Peter Ross
0697440c1e
Bitmap Brothers JV video decoder
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-14 08:05:01 -04:00
Johan Andersson
21de920472
Update the url to the site website and change ffmpeg-devel to libav-devel
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-13 18:45:29 -04:00
Jason Garrett-Glaser
81a131312d
VP8: fix other function declaration
...
Was missed in 3efbe137
.
2011-03-12 15:36:15 -08:00
Hendrik Leppkes
0215006ab7
VC1: Export profile/level
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-12 14:08:27 +00:00
Jason Garrett-Glaser
1eeca88691
VP8: optimize VP8Context struct ordering
...
Shaves at least 3KB off code size on x86, should improve cache utilization.
This would probably be useful to do for other decoders/encoders as well.
2011-03-12 03:43:42 -08:00
Jason Garrett-Glaser
3efbe13739
VP8: fix function declaration
2011-03-12 03:41:39 -08:00
Jason Garrett-Glaser
b1d2f812c9
VP8: token probs doesn't need padding
...
prob[0] is the only prob array ever accessed, so prob[1] can serve as padding
for prob[0].
2011-03-12 03:41:36 -08:00
Jason Garrett-Glaser
628b48db85
VP8: use a goto to break out of two loops
...
A break statement was supposed to break out of two loops, but only broke out of one.
Didn't affect output, just could have been marginally slower.
2011-03-12 03:41:33 -08:00
Mans Rullgard
a5444fee06
Add CONFIG_AC3DSP symbol to simplify makefiles
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-12 11:35:26 +00:00
Benjamin Larsson
aecd0a4496
Export profiles from the mpeg2 video decoder
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-10 18:05:35 -05:00
Nathan Caldwell
31ff9bd7b8
aacenc: Fix a segfault in search_for_quantizers
...
This reverts the removal of scoefs from AACEncContext.
It resulted in scoefs being a NULL pointer when
search_for_quantizers() is called.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-08 17:45:08 -05:00
Ronald S. Bultje
4e84f994d3
reindent.
2011-03-07 13:18:57 -05:00
Young Han Lee
2790d7a9ff
aacenc: remove the data arrays
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 12:25:36 -05:00
Thadeu Lima de Souza Cascardo
36864ac354
aac_latm_dec: use aac context and aac m4ac
...
When decoding latm config, use the corresponding aac context and its
m4ac instead of using NULL and a local variable. This fixes decoding of
audio in MPEG TS from SBTVD (the Brazillian Digital TV Sytem), when
there is no extradata. This is the case when using the decoder with
gst-ffmpeg and a GStreamer mpegts demuxer.
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 12:25:36 -05:00
Justin Ruggles
2d9a101a1f
ac3enc: add some assertions
2011-03-07 11:18:59 -05:00
Justin Ruggles
7100d63ca5
ac3enc: use av_assert2() instead of assert() to make debugging easier.
2011-03-07 11:18:51 -05:00
Justin Ruggles
d21be5f15b
cosmetics: rename ff_fmt_convert_init_ppc() to ff_fmt_convert_init_altivec().
...
It only has Altivec functions and is not compiled if Altivec is disabled.
2011-03-07 11:15:29 -05:00
Carl Eugen Hoyos
159683ddec
Fix compilation on powerpc with --disable-altivec.
2011-03-07 11:15:25 -05:00
Sean McGovern
02dd3666c2
h264_mp3toannexb_bsg: don't crash, but warn, if PPS/SPS not found.
...
Should an AVC-1 in MP4 stream not contain SPS or PPS NAL units,
this BSF is then unable to allocate an output buffer for the
modified stream. Warn that the resulting stream may be unplayable.
Fix roundup issue #2386 .
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 10:19:46 -05:00
Justin Ruggles
53e35fd340
ac3enc: add num_rematrixing_bands to AC3EncodeContext and use it instead of the hardcoded value.
...
Currently it is always 4, but this change will allow it to be adjusted when
bandwidth-related features are added such as channel coupling, enhanced
channel coupling, and spectral extension.
2011-03-04 17:40:24 -05:00
Justin Ruggles
b35743ffb4
ac3: define AC3_MAX_CPL_BANDS and use it in ac3dec.h
2011-03-04 16:48:09 -05:00
Ronald S. Bultje
8cf9a09d40
vp3-mt: fix deadlock when first frame is not a keyframe.
2011-03-02 12:15:07 -05:00
Mans Rullgard
ff1efc524c
threads: allow thread count of zero
...
This moves setting the thread count to a minimum of 1 to
frame_thread_init(), allowing a value of zero to propagate
through to the codec if frame threading is not used. This
makes auto-threads work in libx264.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-02 14:06:48 +00:00
Baptiste Coudurier
fb98507126
vc1: fix decoding when end sequence is present
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-02 13:32:58 +00:00
Baptiste Coudurier
99bbc781e9
dnxhd: allow encoding with Avid Nitris compatibility.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-01 23:55:55 +00:00
Alexander Strange
76d8846c4e
huffyuv: Add multithreading support
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 11:39:25 -05:00
Alexander Strange
ad9791e12b
pthreads: Fix bug introduced with thread_safe_callbacks
...
For intra codecs, ff_thread_finish_setup() is called before decoding starts
automatically. However, get_buffer can only be used before it's called, so
adding this requirement broke frame threading for them. Fixed by moving the
call until after get_buffer is finished.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 11:39:12 -05:00
Mans Rullgard
0b32da90f8
ARM: VP8: fix build on systems with global symbol prefix
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-27 13:53:26 +00:00
Mans Rullgard
8b454c352f
ARM: fix vp8 neon with pic enabled
...
The assembler emits literal pools too far from the load instructions,
so we must do it explicitly at a suitable location.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-27 13:53:21 +00:00
Peter Ross
e211e255aa
bink: prevent overflows within binkidct by using int-sized intermediate array
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 15:24:35 -05:00
Peter Ross
ccfcddb3f2
Bink version 'b' audio decoder
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 15:24:35 -05:00
Peter Ross
8a8c283edd
binkaudio: simplify frame_len_bits and frame_len calculation
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 15:24:35 -05:00
Peter Ross
a304def1dc
binkaudio: remove unnecessary loop
...
decode_init sets bands[0] == 2, so this loop always sets the band table
index (k) to zero.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 15:24:35 -05:00
Peter Ross
582ac86d19
binkaudio: perform band table scaling in decode_init
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-25 15:24:35 -05:00
Mans Rullgard
8997bb8807
bink: use LOCAL_ALIGNED for aligned stack data
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-25 19:50:14 +00:00
Kyle
04973f8082
dxva2: define required feature selection macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-25 19:48:20 +00:00
Anssi Hannula
7e06e0ede3
dca: use EXT_AUDIO_ID field to determine core extensions
...
This avoids the core substream extensions scan when the EXT_AUDIO_ID
field indicates no extensions or only unsupported extensions. The scan
is done only if the value of EXT_AUDIO_ID is unknown or indicates a
present XCh extension which we can decode.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-24 21:22:37 +00:00
Justin Ruggles
1108f8998c
vmdaudio: output 8-bit audio as AV_SAMPLE_FMT_U8.
...
There is no need to expand to 16-bits. Just use memcpy() to copy the raw data.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:52:51 -05:00
Justin Ruggles
2ec7862db8
vmdaudio: remove unnecessary fields from VmdAudioContext and use the corresponding AVCodecContext fields instead.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:52:12 -05:00
Justin Ruggles
1e86d685e0
vmdaudio: add out_bps to VmdAudioContext and use it to replace hard-coded sample size.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:51:44 -05:00
Justin Ruggles
1574eff3d2
vmdaudio: simplify vmdaudio_decode_frame() by handling block_type first, then making a single call to vmdaudio_loadsound().
...
This also adds output buffer size checks for AUDIO and SILENCE block types.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:51:12 -05:00
Justin Ruggles
ba9516cca8
cosmetics: reindent after previous commit
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:49:59 -05:00
Justin Ruggles
762b386e4a
vmdaudio: move all silence chunk handling to vmdaudio_loadsound().
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:49:58 -05:00
Justin Ruggles
8e9027d266
cosmetics: remove debugging cruft
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:49:56 -05:00
Justin Ruggles
868f2f4d90
cosmetics: reindent after previous commit
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:48:04 -05:00
Justin Ruggles
2d213695fc
vmdaudio: simplify buffer pointer and header size handling.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:12:39 -05:00
Justin Ruggles
7a4fb3fd93
vmdaudio: set *data_size to zero when skipping small packets and add a warning log message.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:11:36 -05:00
Justin Ruggles
22f893e1c9
vmdaudio: validate block type
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:10:12 -05:00
Justin Ruggles
dd1af5136f
vmdaudio: use macros and a local variable for block type.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:08:31 -05:00
Justin Ruggles
6989cb2dae
vmdaudio: correct the silent chunk count in the first block.
...
This fixes A/V sync with several samples, notably:
http://samples.mplayerhq.hu/game-formats/sierra-vmd/swat_*.vmd
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:06:33 -05:00
Justin Ruggles
9b73f78600
vmdaudio: output audio samples for standalone silent blocks.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:04:51 -05:00
Justin Ruggles
1328d43313
vmdaudio: remove duplicated code by merging mono and stereo decoding.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 21:02:19 -05:00
Justin Ruggles
a58bcb40b1
vmdaudio: fix raw_block_size calculation.
...
The size should depend on the output sample size, not the internal bit depth.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 20:58:56 -05:00
Young Han Lee
e22910b21a
aacdec: Reduce the size of buf_mdct.
...
It was doubled in size for the LTP implementation. This brings it back
down to its original size.
2011-02-21 16:35:22 -08:00
Mans Rullgard
e0e46cae37
vp8: ppc: fix invalid reads in altivec epel mc
...
The 4-tap filters should only access one row/column before the
reference block.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-21 20:28:41 +00:00
Mans Rullgard
381efba0ec
ppc: fix vc1 inverse transform, unbreak build
...
GCC 4.3 and later are more particular about signedness matching
in vector operations. The operations under if(rangered) were
missing assignments and thus had no effect.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-21 20:28:37 +00:00
Ronald S. Bultje
78e2380a6d
targa: prevent integer overflow in bufsize check.
2011-02-21 13:44:37 -05:00
Ronald S. Bultje
f8bed30d8b
VC1: merge idct8x8, coeff adjustments and put_pixels.
...
Merging these functions allows merging some loops, which makes the
results (particularly after SIMD optimizations) much faster.
2011-02-21 10:23:44 -05:00
Ronald S. Bultje
484a337cd7
dsputil: make {add/put/put_signed}_pixels_clamped() non-static.
2011-02-21 10:23:44 -05:00
Ronald S. Bultje
bbfd2e7ab4
VC1: inline vc1_put_block() in vc1_decode_i_blocks().
...
Advantage is that it allows us to combine several loops into a single
one, and these can eventually be merged into the IDCT itself. Also, it
allows us to remove vc1_put_block(), and makes CODEC_FLAG_GRAY faster.
2011-02-21 10:23:44 -05:00
Mans Rullgard
1efa772e20
amrnb: use correct size when copying lsf_r array
...
lsf_r is an array of int16_t, not float.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-20 17:31:48 +00:00
Ronald S. Bultje
70aa916e46
VC1: don't use vc1_put_block() in vc1_decode_i_blocks_adv().
...
Advanced profile never uses "range reduction", so vc1_put_block() quite
literally just calls put_pixels_clamped() from vc1_decode_i_blocks_adv().
By inlining the function, we can prevent calling IDCT8x8 if
CODEC_FLAG_GRAY is set, and we don't have to scale the coeffs in the
[0,256] range, but can instead use put_signed_pixels_clamped().
2011-02-20 08:31:14 -05:00
Ronald S. Bultje
bf6fa73245
dsputil_mmx.c: remove ff_vector128.
...
Remove ff_vector128, it is identical to ff_pb_80.
2011-02-19 10:51:15 -05:00
Reimar Döffinger
2bbec1eda4
Fix invalid reads in VC1 decoder
...
Patch discussed and taken from https://roundup.ffmpeg.org/issue2584
2011-02-19 11:33:01 +01:00
David Conrad
a89f4ca005
Fix VP3 edge emulation
...
With negative stride, the start of the edge_emu buffer should be pointing to
the last line, not the end of the buffer.
With positive stride, pointing to the end of the buffer was completely wrong.
2011-02-19 01:42:12 -08:00
Young Han Lee
9707f84fa7
aacdec: dsputilize the scalar multiplication in intensity stereo
2011-02-19 00:57:09 -08:00
Jason Garrett-Glaser
902685b8ab
VP3: fix decoding of videos with stride > 2048
...
Also remove qscale_table code; this didn't make sense anyways as VP3 doesn't
use an MPEG-like quantizer scale.
2011-02-18 14:40:57 -08:00
Jean-Daniel Dupas
351423ae1f
targa: fix potential buffer overreads
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-18 15:04:47 +00:00
Ronald S. Bultje
ed040f35f2
Fix PPC build.
2011-02-17 20:22:39 -05:00
Jason Garrett-Glaser
891b1f15a7
VP8: init one less near_mv
...
This one didn't actually need to be initialized.
2011-02-17 15:25:28 -08:00
Jason Garrett-Glaser
bcf4568f18
VP8: split out declarations to new header
2011-02-17 15:25:16 -08:00
Jason Garrett-Glaser
7634771e70
VP8: faster MV clipping
2011-02-17 15:23:53 -08:00
Ronald S. Bultje
12802ec060
dsputil: move VC1-specific stuff into VC1DSPContext.
2011-02-17 17:35:35 -05:00
Ronald S. Bultje
0b16cdc3fa
VC1: simplify a calculation in a loop.
2011-02-17 17:35:35 -05:00
Ronald S. Bultje
1da6ea3954
VC1: transpose IDCT 8x8 coeffs while reading.
2011-02-17 17:35:35 -05:00
Young Han Lee
979395bbbb
mdct: remove unnecessary multiplication
...
3*n4 was already calculated in n3.
2011-02-17 11:59:28 +00:00
Justin Ruggles
5b54d4b376
ac3enc: fix bug in stereo rematrixing decision.
...
The rematrixing strategy reuse flags are not reset between frames, so they
need to be initialized for all blocks, not just block 0.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:57 +00:00
Michael Niedermayer
50a82c2c75
vbv_delay AVOption for ABI compatibility
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-16 23:05:46 +01:00
Carl Eugen Hoyos
2e3c56a29f
Set maximum lowres value for the MJPEG decoder to 3.
...
While 4 works for some samples, 3 is the correct value since 8x8
DCT is used by (m)jpeg.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-16 23:05:46 +01:00
Justin Ruggles
1f004fc512
ac3dsp: Change punpckhqdq to movhlps in ac3_max_msb_abs_int16().
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-16 14:08:34 -05:00
Stefano Sabatini
938b62538a
Document audio_resample_close().
...
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-16 10:34:09 +01:00
Stefano Sabatini
5495528365
Apply minor cosmetics fixes to the av_audio_resample_init() doxy.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-16 10:33:54 +01:00
Justin Ruggles
50d7140441
ac3enc: change default floor code to 7.
...
This is to match the value in every (E-)AC-3 file from commercial sources.
It has a negligible effect on audio quality.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-15 21:40:42 +00:00
Reinhard Tartler
737eb5976f
Merge libavcore into libavutil
...
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Christophe Massiot
55bad0c602
Pass VBV delay to the calling application via ctx
...
VBV delay is useful for T-STD compliance in some TS muxers. It is
certainly possible to retrieve it by parsing the output of FFmpeg, but
getting it from the context makes it simpler and less error-prone.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-15 14:20:19 +00:00
Peter Ross
71f88b1f38
binkaudio: remove unused copy of AVCodecContext*
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-15 14:20:19 +00:00
Peter Ross
9806fbd535
binkaudio: fix channel count check
...
Perform validity check on AVFormatContext.channels instead of
uninitialised field.
This fixes issue 2001.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-15 14:20:19 +00:00
Young Han Lee
ead15f1dc1
aacdec: Implement LTP support.
...
Ported from gsoc svn.
2011-02-14 21:43:42 -08:00
Alex Converse
916dee9f45
aac: remove dead SBR input scaling
...
It has been unused since 9d06d7bce3
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-14 09:46:29 +00:00
Justin Ruggles
fbb6b49dab
ac3enc: Add x86-optimized function to speed up log2_tab().
...
AC3DSPContext.ac3_max_msb_abs_int16() finds the maximum MSB of the absolute
value of each element in an array of int16_t.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-13 16:49:39 -05:00
Anatoly Nenashev
7a4abe5912
mpeg4video: ignore broken GOP headers
...
Some MPEG4 cameras produce files with empty GOP headers.
This patch makes the decoder ignore such broken headers and proceed
with the following I-frame. Without this change, the following
start code is missed resulting in the entire I-frame being skipped.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 16:22:14 +00:00
Loren Merritt
e6b1ed693a
FFT: factor a shuffle out of the inner loop and merge it into fft_permute.
...
6% faster SSE FFT on Conroe, 2.5% on Penryn.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-13 15:36:39 +01:00
Peter Ross
2315392174
bink: permute Bink version 'b' quant matrices by inverse scan order
...
This fixes visual glitches in Bink version 'b' files, as the quantization
tables were not being permuted.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 13:39:07 +00:00
Peter Ross
cb62510cab
bink: simplify how quantization matrices are passed to read_dct_coeffs()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-13 12:34:01 +00:00
Vitor Sessak
47d62c965b
Make tables generation insensitive to floating-point implementation
...
Using doubles make the double -> int cast well defined for all the values
used, with the exception of when s[i]==1.0, which is special-cased.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-12 15:47:46 +00:00
Ronald S. Bultje
2a03e87330
Add missing terminating backslash
2011-02-11 16:58:18 -05:00
Mans Rullgard
a7878c9f73
VP8: ARM optimised decode_block_coeffs_internal
...
Approximately 5% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:11 +00:00
Mans Rullgard
7da48fd011
ARM optimised vp56_rac_get_prob()
...
Approximately 3% faster on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-11 15:48:10 +00:00
Peter Ross
adb1ad0d80
bink: reindent after last commit
...
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-11 13:47:52 +01:00
Peter Ross
e00f41d574
Bink version 'b' video decoder
...
Based on original patch by Kostya Shishkov
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-11 13:47:23 +01:00
Alexander Strasser
0605cb4332
vorbis dec: Remove obsolete comment
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-10 21:34:29 -05:00
Alexander Strasser
4f03c5d793
vorbis dec: cosmetics: Indent consistently
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-10 21:34:29 -05:00
Alexander Strasser
97f5f97108
vorbis dec: cosmetics: Indent CPP cond properly
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-10 21:34:29 -05:00
Alexander Strasser
07f06540f6
vorbis dec: Delete useless scopes, and reindent after scope deletion
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-10 21:34:29 -05:00
Jason Garrett-Glaser
f3d09d44b7
VP8: optimized mv prediction and decoding
...
Merge find_near_mvs and mv bitstream decoding: don't do prediction steps
until absolutely necessary.
2011-02-10 16:18:16 -08:00
Justin Ruggles
626264b11b
ac3enc: Remove unneeded clipping of shift amount.
...
s->windowed_samples will always have a range of [-32767,32767] due to the
window function, so the return value from log2_tab() will always be in the
range [0,14].
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 23:16:23 +00:00
Justin Ruggles
d4582889ee
ac3enc: remove right shifting from lshift_tab() and make lshift unsigned.
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 23:16:22 +00:00
Mans Rullgard
44adbebe17
Remove final semicolon from some macros
...
This avoids double semicolons after macro expansion.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 21:45:17 +00:00
Ronen Mizrahi
df211c3ab7
dvbsubenc: Fix placement of the object version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 21:45:17 +00:00
Janne Grunau
493aa30adf
dvbsubdec: check against buffer overreads
...
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-10 21:37:31 +01:00
Reimar Döffinger
4a72765a1c
Do not fail DVB sub decoding because of a few padding bytes
...
Instead of returning an error when bytes are left over, just return
the number of actually used bytes as other decoders do.
Instead add a special case so an error will be returned when none
of the data looks valid to avoid making debugging a pain.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-10 21:37:31 +01:00
Justin Ruggles
dda3f0ef48
Add x86-optimized versions of exponent_min().
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-10 15:32:47 -05:00
Mans Rullgard
b4668274b9
Remove incorrect return statement from avcodec_thread_free()
...
The function return type is void, so a return statement with an
expression is forbidden (and pointless).
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 14:17:24 +00:00