The 4-tap filters should only access one row/column before the
reference block.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e0e46cae377347cbe1cd27c0d85568921b12c2ad)
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>
(cherry picked from commit 381efba0ecedd41575f99ba9e9bd3826551079f6)
In the name of consistency:
put_byte -> avio_w8
put_<type> -> avio_w<type>
put_buffer -> avio_write
put_nbyte will be made private
put_tag will be merged with avio_put_str
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 77eb5504d3b3e1047900382350e0bc5e0bfb16b5)
In the name of consistency:
get_byte -> avio_r8
get_<type> -> avio_r<type>
get_buffer -> avio_read
get_partial_buffer will be made private later
get_strz is left out becase I want to change it later to return
something useful.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b7effd4e8338f6ed5bda630ad7ed0809bf458648)
Merging these functions allows merging some loops, which makes the
results (particularly after SIMD optimizations) much faster.
(cherry picked from commit f8bed30d8b176fa030f6737765338bb4a2bcabc9)
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.
(cherry picked from commit bbfd2e7ab4e2ae0b934657fe51afdbbbaead52b7)
This ensures the tools are rebuilt when necessary. Specifically,
lavfi-showfiltfmts was sometimes not rebuilt causing spurious test
failures.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 08df7f866663f83ba42398cea9f3eeff4681ea9a)
lsf_r is an array of int16_t, not float.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 1efa772e20be5869817b2370a557bb14e7ce2fff)
This allows the CPU detection to work with assemblers not supporting
the xgetbv mnemonic. These include clang and some BSD versions.
All AVX code will be written for yasm, where the main assembler
is not involved.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit ef6695387522fc783105ac187c84beaa284e7cff)
the following additions:
* support to anti-aliased glyph rendering
* support to UTF-8 text and Unicode chars rendering
* support for RGB packed formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add drawutils.h and drawutils.c, and use them in the pad filter.
The new functions are going to be shared by other filters.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Update libavformat/version.h and doc/APIChanges after renaming
init_put_byte() and ByteIOContext to ffio_init_context() (private)
and AVIOContext, (public), and deprecating the originals.
(cherry picked from commit d2bbf82e65e4a128ab1f0bf48df5d1e43c43c698)
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e731b8d8729e75bfb69f5540e6446d6118dac549)
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().
(cherry picked from commit 70aa916e4630bcec14439a2d703074b6d4c890a8)
This adds configure and runtime checks for AVX support on x86 CPUs.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 87f1355f9b4fc11414d0e6a91404203c2745f89f)
Allows playback of nonprimary audio streams in multiple bitrate sources,
such as mmsh://wmscr1.dr.dk/e02ch03m
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 74d6871d6244865b5863a01c3dab16a2f06a1706)
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.
(cherry picked from commit a89f4ca005efa5ee82089583c7b8bc00bcee816a)
Also remove qscale_table code; this didn't make sense anyways as VP3 doesn't
use an MPEG-like quantizer scale.
(cherry picked from commit 902685b8abf4e2089802528a32a50f3c68033fda)
On some versions of gcc, these weren't always getting inlined due to hitting
the inline cap limit in some files. This is generally bad, as most of these
functions are smaller inlined than not.
(cherry picked from commit eb3755a5aa65da685d81399cfae4bd35e4a178b6)
If the client sends PLAY/PAUSE requests with the same url as
specified in Content-Base, these requests may have urls with
trailing slashes.
(cherry picked from commit c2ca851b234e169b50730ef357aeade8047491eb)