1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Go to file
Rémi Denis-Courmont 05115a77e0 lavu/timer: use time for AV_READ_TIME on RISC-V
So far, AV_READ_TIME would return the cycle counter. This posed two
problems:
1) On recent systems, it would just raise an illegal instruction
   exception. Indeed RDCYCLE is blocked in user space to ward off some
   side channel attacks. In particular, this would cause the random
   number generator to crash.
2) It does not match the x86 behaviour and the apparent original intent
   of AV_READ_TIME in the functional code base (outside test cases).

So this replaces the cycle counter with the time counter. The unit is
a platform-dependent constant fraction of time, and the value should be
stable across harts (RISC-V lingo for physical CPU thread).
2023-08-24 20:58:57 +03:00
compat configure: Set WIN32_LEAN_AND_MEAN at configure time 2023-08-14 22:57:28 +03:00
doc doc/APIChanges: remove bogus entry 2023-08-18 08:27:27 -03:00
ffbuild
fftools fftools/ffprobe: Use proper enum type 2023-08-08 20:20:36 +02:00
libavcodec avcodec/wavarc: Check that nb_samples is not negative 2023-08-23 22:52:26 +02:00
libavdevice configure: Set WIN32_LEAN_AND_MEAN at configure time 2023-08-14 22:57:28 +03:00
libavfilter avfilter/vf_ssim: Fix x86 assembly code for SSIM calculation 2023-08-21 17:04:51 +02:00
libavformat avformat/hls: reset the playlist init segment on seek 2023-08-22 23:46:11 +02:00
libavutil lavu/timer: use time for AV_READ_TIME on RISC-V 2023-08-24 20:58:57 +03:00
libpostproc
libswresample libswresample: Prevent out of bounds. 2023-08-02 17:31:13 +02:00
libswscale configure: Set WIN32_LEAN_AND_MEAN at configure time 2023-08-14 22:57:28 +03:00
presets
tests fate/matroska: Stop using unicode in command line paramters 2023-08-22 22:09:40 +03:00
tools tools/target_bsf_fuzzer: fix some filter names 2023-06-29 22:44:11 -03:00
.gitattributes
.gitignore
.mailmap
.travis.yml
Changelog Bump minor libavfilter version and add Changelog entry 2023-08-14 11:24:12 +02:00
configure configure: Include objbase.h when checking for CoTaskMemFree 2023-08-21 23:11:43 +03:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md
MAINTAINERS
Makefile
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.