FFmpeg git repo
Go to file
Martin Storsjö de23b384fd aarch64: hevc: Produce epel_bi_hv functions for both neon and i8mm
In addition to just templating, this contains one change to
ff_hevc_put_hevc_epel_bi_hv32_8, by setting the w6 register
which ff_hevc_put_hevc_epel_h32_8_neon requires.

AWS Graviton 3:
put_hevc_epel_bi_hv4_8_c: 176.5
put_hevc_epel_bi_hv4_8_neon: 62.0
put_hevc_epel_bi_hv4_8_i8mm: 58.0
put_hevc_epel_bi_hv6_8_c: 343.7
put_hevc_epel_bi_hv6_8_neon: 109.7
put_hevc_epel_bi_hv6_8_i8mm: 105.7
put_hevc_epel_bi_hv8_8_c: 536.0
put_hevc_epel_bi_hv8_8_neon: 112.7
put_hevc_epel_bi_hv8_8_i8mm: 111.7
put_hevc_epel_bi_hv12_8_c: 1107.7
put_hevc_epel_bi_hv12_8_neon: 254.7
put_hevc_epel_bi_hv12_8_i8mm: 239.0
put_hevc_epel_bi_hv16_8_c: 1927.7
put_hevc_epel_bi_hv16_8_neon: 356.2
put_hevc_epel_bi_hv16_8_i8mm: 334.2
put_hevc_epel_bi_hv24_8_c: 4195.2
put_hevc_epel_bi_hv24_8_neon: 736.7
put_hevc_epel_bi_hv24_8_i8mm: 715.5
put_hevc_epel_bi_hv32_8_c: 7280.5
put_hevc_epel_bi_hv32_8_neon: 1287.7
put_hevc_epel_bi_hv32_8_i8mm: 1162.2
put_hevc_epel_bi_hv48_8_c: 16857.7
put_hevc_epel_bi_hv48_8_neon: 2836.2
put_hevc_epel_bi_hv48_8_i8mm: 2908.5
put_hevc_epel_bi_hv64_8_c: 29248.2
put_hevc_epel_bi_hv64_8_neon: 5051.7
put_hevc_epel_bi_hv64_8_i8mm: 4491.5

Signed-off-by: Martin Storsjö <martin@martin.st>
2024-03-26 09:03:16 +02:00
compat
doc avutil/timestamp: introduce av_ts_make_time_string2 for better precision 2024-03-25 21:30:51 +01:00
ffbuild makefile: Clean up missed object files with "make clean" 2024-03-10 23:45:51 +02:00
fftools fftools/ffmpeg_mux_init: Fix double-free on error 2024-03-26 06:48:35 +01:00
libavcodec aarch64: hevc: Produce epel_bi_hv functions for both neon and i8mm 2024-03-26 09:03:16 +02:00
libavdevice avformat/internal: Move FF_FMT_INIT_CLEANUP to demux.h 2024-03-26 06:36:43 +01:00
libavfilter avfilter/af_channelmap: add some additional checks for the mappings 2024-03-24 21:27:55 +01:00
libavformat avformat/internal: Move FF_FMT_INIT_CLEANUP to demux.h 2024-03-26 06:36:43 +01:00
libavutil avutil/timestamp: change precision of av_ts_make_time_string() 2024-03-25 21:30:51 +01:00
libpostproc libs: bump major version for all libraries 2024-03-07 11:29:43 -03:00
libswresample libs: bump major version for all libraries 2024-03-07 11:29:43 -03:00
libswscale avutil/x86util: Fix broken pre-SSE4.1 PMINSD emulation 2024-03-17 13:52:27 +01:00
presets
tests avutil/timestamp: change precision of av_ts_make_time_string() 2024-03-25 21:30:51 +01:00
tools tools/target_dec_fuzzer: Adjust RKA threshold up further 2024-03-25 21:41:26 +01:00
.gitattributes lavf/assenc: normalize line endings to \n 2024-02-11 17:01:07 -08:00
.gitignore
.mailmap .mailmap: Update my mailmap entry 2024-02-23 00:17:21 +01:00
.travis.yml
Changelog Changelog: add dnn libtorch backend entry 2024-03-23 11:42:13 +01:00
configure configure: Make hls demuxer select AAC, AC3 and EAC3 demuxers 2024-03-26 06:36:43 +01:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add myself as dvdvideo demuxer, rcwt muxer maintainer 2024-03-10 15:21:23 +01:00
Makefile tools: Add target_sws_fuzzer.c 2024-02-21 18:24:17 +01:00
README.md
RELEASE

FFmpeg README

FFmpeg 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 means to alter decoded audio and video through a directed graph of connected filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis 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

Coding examples are available in the doc/examples directory.

License

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

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.