Martin Storsjö
0676de935b
arm: Implement a NEON version of 422 h264_h_loop_filter_chroma
...
Previously, the 420 version was used even for 422.
This fixes occasional checkasm failures.
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years ago
James Almer
7b9ca44cbc
arm/h264dsp: change loop filter stride argument to ptrdiff_t
...
This was missed in d5d699ab6e
Signed-off-by: James Almer <jamrial@gmail.com>
6 years ago
Carl Eugen Hoyos
f9f9ae1b77
lavc/arm: Use the neon vertical chroma loop filter also for H.264 4:2:2.
10 years ago
Bernd Kuhls
6b733be755
Fix compile error on arm4/arm5 platform
...
Since these commits
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed
http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=db7f1c7c5a1d37e7f4da64a79a97bea1c4b6e9f8
compilation on arm4/arm5 fails:
libavcodec/libavcodec.so: undefined reference to
`ff_startcode_find_candidate_armv6'
Because libavcodec/arm/Makefile contains
ARMV6-OBJS-$(CONFIG_STARTCODE) += arm/startcode_armv6.o
function ff_startcode_find_candidate_armv6 is not included for older ARM
archs. The bug was found during automatic buildroot builds:
http://autobuild.buildroot.net/results/ec7/ec71e4f16ee9106747dff5f15999cbd17903e76f//build-end.log
Quote from configure summary:
ARCH arm (armv4t)
big-endian no
runtime cpu detection yes
ARMv5TE enabled no
ARMv6 enabled no
ARMv6T2 enabled no
http://autobuild.buildroot.net/results/be7/be72eb182eaccf0064a32c9dfc2ac1c0d6555506/build-end.log
ARCH arm (armv5te)
big-endian no
runtime cpu detection yes
ARMv5TE enabled yes
ARMv6 enabled no
ARMv6T2 enabled no
This patch provides the necessary #if clauses as discussed with Michael:
https://ffmpeg.org/pipermail/ffmpeg-devel/2014-September/163329.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Ben Avison
db7f1c7c5a
h264: Move start code search functions into separate source files.
...
This permits re-use with parsers for codecs which use similar start codes.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years ago
Ben Avison
6869612f5c
arm: Macroize the test for 'setend' CPU instruction support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Martin Storsjö
79fce1ec8a
arm: Avoid using the 'setend' instruction on ARMv7 and newer
...
This instruction is deprecated on ARMv8, and it is serializing on
some ARMv7 cores as well [1].
[1] http://article.gmane.org/gmane.linux.ports.arm.kernel/339293
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Ben Avison
270cede3f3
h264: Move search code search functions into separate source files.
...
This permits re-use with parsers for codecs which use similar start codes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Martin Storsjö
67bb3a4e28
arm: cosmetics: Reindent the h264dsp neon init function
...
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Anton Khirnov
a03a642d5c
h264: do not use 422 functions for monochrome
...
Fixes invalid memory access.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
11 years ago
Ben Avison
45e10e5c8d
arm: Add assembly version of h264_find_start_code_candidate
...
Before After
Mean StdDev Mean StdDev Change
This function 508.8 23.4 185.4 9.0 +174.4%
Overall 3068.5 31.7 2752.1 29.4 +11.5%
In combination with the preceding patch:
Before After
Mean StdDev Mean StdDev Change
Overall 2925.6 26.2 2752.1 29.4 +6.3%
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Diego Biurrun
383fd4d478
arm: Drop unnecessary ff_ name prefixes from static functions
12 years ago
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
12 years ago
Diego Biurrun
c9f933b5b6
Add av_cold attributes to arch-specific init functions
12 years ago
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years ago
Michael Niedermayer
7febc5aa93
arm: fix compile with disable-optimizations on android
...
Fixes Ticket1241
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mans Rullgard
d526c5338d
ARM: allow runtime masking of CPU features
...
This allows masking CPU features with the -cpuflags avconv option
which is useful for testing different optimisations without rebuilding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
13 years ago
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Michael Niedermayer
565cabf5c8
h264: Try to fix 422 intra NEON
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Baptiste Coudurier
231a6df9ea
h264dec: h264: 4:2:2 intra decoding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Mans Rullgard
88ff180ad6
ARM: update ff_h264_idct8_add4_neon for 4:4:4 changes
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Jason Garrett-Glaser
c90b94424c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
14 years ago
Oskar Arvidsson
19a0729b4c
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Oskar Arvidsson
8dbe585641
Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
...
This patch lets e.g. dsputil_init chose dsp functions with respect to
the bit depth to decode. The naming scheme of bit depth dependent
functions is <base name>_<bit depth>[_<prefix>] (i.e. the old
clear_blocks_c is now named clear_blocks_8_c).
Note: Some of the functions for high bit depth is not dependent on the
bit depth, but only on the pixel size. This leaves some room for
optimizing binary size.
Preparatory patch for high bit depth h264 decoding support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Måns Rullgård
fa2d5d54b9
ARM: NEON H264 8x8 IDCT
...
Parts by David Conrad.
Originally committed as revision 24706 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
30d87675f1
ARM: remove some unnecessary ifdefs, fix implicit declaration warnings
...
Originally committed as revision 23437 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Måns Rullgård
4693b031a3
Move H264 dsputil functions into their own struct
...
This moves the H264-specific functions from DSPContext to the new
H264DSPContext. The code is made conditional on CONFIG_H264DSP
which is set by the codecs requiring it.
The qpel and chroma MC functions are not moved as these are used by
non-h264 code.
Originally committed as revision 22565 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago