| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
it more clear what is being calculated.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
|
|
|
|
|
|
| |
Also fix a typo.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
|
|
|
|
| |
Signed-off-by: Alex Converse <alex.converse@gmail.com>
|
|
|
|
|
|
| |
Macroify sanity checks and check return values of allocs and other functions.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
|
|
|
|
| |
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
|
|
|
|
|
|
|
| |
This matches the spec as well as the reference decoder, and fixes a bug
with interlaced frame decoding.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
|
|
|
|
|
|
| |
Reported and reviewed by Derek Buitenhuis.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
|
|
|
|
| |
Using threaded decoding by default breaks backward compatibility if
AVHWAccel is used or if an appliction sets threadunsafe callbacks.
Avconv and avplay still use -threads auto if not specified.
|
|
|
|
|
| |
They are used to signal the number of slices and offsets of each slice
out of band to the decoder.
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
|
|
|
|
| |
When either video dimension is only one macroblock, subtractions
based on v_edge_pos and the macroblock size may be negative. In
that situation, an unsigned comparison isn't sufficent to test for
MV overruns, because a limit of (unsigned)-1 will let any other
value pass.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
| |
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
| |
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
| |
fixes "warning: assignment from incompatible pointer type"
|
|
|
|
|
|
|
| |
Overall almost 4% faster, idct_add down from 350 to 85 cycles, idct_dc_add
down from 83 to 30 cycles.
squash: rv34 idct rearrange partial register loads
|
|
|
|
| |
Implement 1-pass inverse transform and reconstruction for inter blocks.
|
|
|
|
| |
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This allows audio encoders to optionally take an AVFrame as input and write
encoded output to an AVPacket.
This also adds AVCodec.encode2() which will also be usable by video and
subtitle encoders once support is implemented in the public functions.
|
|
|
|
| |
This is a convenience function for the user to fill audio AVFrame information.
|
|
|
|
|
|
|
| |
Extract processing of intra 16x16 blocks from intra macroblock
processing.
Also implement a function performing inverse transform and block
reconstruction for DC-only blocks in 1 pass instead of 2.
|
|
|
|
|
|
|
|
| |
Split inter/intra macroblock handling code. This will allow further
optimizations such as performing inverse transform and block reconstruction
in a single pass as well as specialize code.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not fail audio decoding with avcodec_decode_audio3 if user has set a
custom get_buffer. Strictly speaking, this was never allowed by the API,
but it seems that some software packages did so anyways. In order to
unbreak applications (cf. http://bugs.debian.org/655890), this change
clarifies the API and overrides the custom get_buffer() with the defaults.
This change is inspired by a similar
commit (c3846e3ebab610be691adb8b40d376dc2f675dc4) in FFmpeg.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
|
|
|
|
|
|
| |
Reference decoder clips data before shifting it to final range and also
forces 32-bit lossy mode to be actually 24-bit lossy mode in order to be
able to perform proper clipping.
|
|
|
|
| |
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
|
|
|
|
| |
The patch also adds several bytestream macros to deal with native endian.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
|
|
|
|
| |
Fixes several "‘static’ is not at beginning of declaration" warnings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
max_b_frames is initialized to -1 for libx264, to allow
distinguishing between an explicit user set 0 and a default not
touched 0 (see bb73cda2).
If max_b_frames is left as -1, this affects dts generation (where
expressions like max_b_frames != 0 are used), so make sure it is
left at the default 0 after the libx264 init function returns.
This avoids unnecessarily producing dts != pts when using
profile=baseline.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
| |
|
|
|
|
|
|
|
|
| |
The alignment directive must obviously precede the label.
This was never noticed in ARM mode since the location is
already aligned there.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Due to apprent bugs in the GNU assembler and/or linker, relocations
can be incorrectly processed if the alignment of a Thumb instruction
is changed in the output file compared to the input object.
This fixes crashes in h264 decoding with Thumb enabled. No effect in
ARM mode since everything is 4-byte aligned there.
Signed-off-by: Mans Rullgard <mans@mansr.com>
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes standalone compilation of some decoders with --disable-optimizations.
cabac.h defines some inline functions that use symbols from cabac.c. Without
optimizations these inline functions are not eliminated and linking fails with
references to non-existing symbols.
Splitting the inline functions off into their own header and only #including
it in the places where the inline functions are used allows #including cabac.h
from anywhere without ill effects.
|
| |
|
|
|
|
| |
It was only ever used in the cabac test program, but never initialized.
|
| |
|
|
|
|
|
| |
Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
|
|
|
|
|
|
| |
The sporadic threading errors during fate-rv30 were caused by calling
ff_thread_await_progress with mb row -1 as argument. That returns
immediately since progress is initialized to -1. Not yet computed
motion vectors from the reference could be used for the first
macroblocks.
|
|
|
|
|
| |
30-50% faster than the C implementation, 0.5% overall speedup on
bourne.rmvb.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
From the patch by Reimar Döffinger.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When decoding coefficients, detect whether the block is DC-only, and take
advantage of this knowledge to perform DC-only inverse transform.
This is achieved by:
- first, changing the 108x4 element modulo_three_table into a 108 element
table (kind of base4), and accessing each value using mask and shifts.
- then, checking low bits for 0 (as they represent the presence of higher
frequency coefficients)
Also provide x86 SIMD code for the DC-only inverse transform.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
|
|
|
|
|
|
|
| |
This is different than a normal get_bits() over read because
decode_audio_specific_config() creates its own GetBitContext.
Fixes Bug 170.
|
|
|
|
|
|
|
|
| |
This is required to handle clobbering of XMM registers on Win64
correctly. Fixes FFT and all tests depending on FFT on Win64.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
|
|
|
|
|
| |
This indicates that the actual frame size is based on the buf_size passed to
avcodec_encode_audio().
|