1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Go to file
Magnus Röös 0801853e64 libavcodec: vp8 neon optimizations for aarch64
Partial port of the ARM Neon for aarch64.

Benchmarks from fate:

benchmarking with Linux Perf Monitoring API
nop: 58.6
checkasm: using random seed 1760970128
NEON:
 - vp8dsp.idct       [OK]
 - vp8dsp.mc         [OK]
 - vp8dsp.loopfilter [OK]
checkasm: all 21 tests passed
vp8_idct_add_c: 201.6
vp8_idct_add_neon: 83.1
vp8_idct_dc_add_c: 107.6
vp8_idct_dc_add_neon: 33.8
vp8_idct_dc_add4y_c: 426.4
vp8_idct_dc_add4y_neon: 59.4
vp8_loop_filter8uv_h_c: 688.1
vp8_loop_filter8uv_h_neon: 216.3
vp8_loop_filter8uv_inner_h_c: 649.3
vp8_loop_filter8uv_inner_h_neon: 195.3
vp8_loop_filter8uv_inner_v_c: 544.8
vp8_loop_filter8uv_inner_v_neon: 131.3
vp8_loop_filter8uv_v_c: 706.1
vp8_loop_filter8uv_v_neon: 141.1
vp8_loop_filter16y_h_c: 668.8
vp8_loop_filter16y_h_neon: 242.8
vp8_loop_filter16y_inner_h_c: 647.3
vp8_loop_filter16y_inner_h_neon: 224.6
vp8_loop_filter16y_inner_v_c: 647.8
vp8_loop_filter16y_inner_v_neon: 128.8
vp8_loop_filter16y_v_c: 721.8
vp8_loop_filter16y_v_neon: 154.3
vp8_loop_filter_simple_h_c: 387.8
vp8_loop_filter_simple_h_neon: 187.6
vp8_loop_filter_simple_v_c: 384.1
vp8_loop_filter_simple_v_neon: 78.6
vp8_put_epel8_h4v4_c: 3971.1
vp8_put_epel8_h4v4_neon: 855.1
vp8_put_epel8_h4v6_c: 5060.1
vp8_put_epel8_h4v6_neon: 989.6
vp8_put_epel8_h6v4_c: 4320.8
vp8_put_epel8_h6v4_neon: 1007.3
vp8_put_epel8_h6v6_c: 5449.3
vp8_put_epel8_h6v6_neon: 1158.1
vp8_put_epel16_h6_c: 6683.8
vp8_put_epel16_h6_neon: 831.8
vp8_put_epel16_h6v6_c: 11110.8
vp8_put_epel16_h6v6_neon: 2214.8
vp8_put_epel16_v6_c: 7024.8
vp8_put_epel16_v6_neon: 799.6
vp8_put_pixels8_c: 112.8
vp8_put_pixels8_neon: 78.1
vp8_put_pixels16_c: 131.3
vp8_put_pixels16_neon: 129.8

This contains a fix to include guards by Carl Eugen Hoyos.

Signed-off-by: Martin Storsjö <martin@martin.st>
2019-02-19 11:45:33 +02:00
avbuild build: Rename OBJDIRS variable to OUTDIRS 2019-02-16 13:09:35 +01:00
avtools build: Rename OBJDIRS variable to OUTDIRS 2019-02-16 13:09:35 +01:00
compat w32pthreads: always use Vista+ API, drop XP support 2018-04-09 21:58:39 +02:00
doc build: Rename OBJDIRS variable to OUTDIRS 2019-02-16 13:09:35 +01:00
libavcodec libavcodec: vp8 neon optimizations for aarch64 2019-02-19 11:45:33 +02:00
libavdevice Remove dv1394 input device 2017-10-13 23:57:59 +02:00
libavfilter qsv: Error out if getting session handle failed in avfilter 2018-08-23 08:22:34 +02:00
libavformat srt: Set srto_sender flag to sender srt socket 2019-02-12 11:59:29 +01:00
libavresample Bump major versions of all libraries 2017-03-23 09:56:20 +01:00
libavutil arm: Create proper .rdata sections for COFF 2019-01-25 23:53:37 +02:00
libswscale swscale: Add GRAY10 2018-11-06 12:39:15 -03:00
presets
tests tests: Add a convenience function for video-only lavf tests 2019-02-16 18:15:55 +01:00
tools build: Rename OBJDIRS variable to OUTDIRS 2019-02-16 13:09:35 +01:00
.gitattributes
.gitignore build: Ignore generated .version files 2017-02-03 11:37:53 +01:00
.travis.yml Unbreak travis on macos 2019-02-19 10:05:10 +01:00
Changelog avcodec: libdav1d AV1 decoder wrapper. 2018-11-06 12:40:27 -03:00
configure libdav1d: update API usage to the first stable release 2018-12-12 19:56:16 -03:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL
LICENSE Remove the legacy X11 screen grabber 2016-07-29 19:03:10 +02:00
Makefile build: Rename OBJDIRS variable to OUTDIRS 2019-02-16 13:09:35 +01:00
README.md doc: Add travis badge 2015-09-14 00:19:08 +02:00
RELEASE Make the RELEASE file match with the most recent tag 2016-10-14 13:52:51 -04:00

Libav

Build Status

Libav is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libavresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • avconv is a command line toolbox to manipulate, convert and stream multimedia content.
  • avplay is a minimalistic multimedia player.
  • avprobe is a simple analisys tool to inspect multimedia content.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Conding examples are available in the doc/example directory.

License

Libav codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.