Go to file
Martin Storsjö 9c008fdbd4 swscale: aarch64: Fix yuv2rgb with negative strides
Treat the 32 bit stride registers as signed.

Alternatively, we could make the stride arguments ptrdiff_t instead
of int, and changing all of the assembly to operate on these
registers with their full 64 bit width, but that's a much larger
and more intrusive change (and risks missing some operation, which
would clamp the intermediates to 32 bit still).

Fixes: https://trac.ffmpeg.org/ticket/9985

Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit cb803a0072)
Signed-off-by: Martin Storsjö <martin@martin.st>
2022-11-04 14:33:49 +02:00
compat compat/cuda: convert to unix line endings 2016-09-23 11:43:00 +02:00
doc Update for 3.2.19 2022-10-21 22:54:56 +02:00
libavcodec avcodec/dstdec: Check for overflow in build_filter() 2022-10-21 22:19:37 +02:00
libavdevice avdevice/iec61883: free the private context at the end 2018-04-18 23:01:33 -03:00
libavfilter avfilter/vsrc_mandelbrot: Check for malloc failure 2022-10-21 22:19:37 +02:00
libavformat avformat/spdifdec: Use 64bit to compute bit rate 2022-10-21 22:19:37 +02:00
libavresample Revert "Bump minor versions after 3.2 branchpoint to seperate release" 2016-10-26 21:22:12 +02:00
libavutil avutil/mathematics: Document av_rescale_rnd() behavior on non int64 results 2021-10-21 15:25:58 +02:00
libpostproc postproc/postprocess_template: remove FF_REG_sp from clobber list 2019-01-15 00:57:27 +01:00
libswresample swresample/swresample: Fix input channel count in resample_first computation 2018-11-18 02:20:43 +01:00
libswscale swscale: aarch64: Fix yuv2rgb with negative strides 2022-11-04 14:33:49 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests avcodec/vp56rac: delay signaling an error on truncated input 2020-07-01 12:49:26 +02:00
tools tools/cws2fws: Check read() for failure 2021-10-09 22:02:21 +02:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore Merge commit '6641819feedb086ebba3d2be89b8d33980f367e1' 2016-06-26 15:43:05 +02:00
.travis.yml Merge commit 'eda183287489b2c705843aa373a19c4e46fb2fec' 2015-11-22 17:12:24 +00:00
CONTRIBUTING.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
Changelog Update for 3.2.19 2022-10-21 22:54:56 +02:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
LICENSE.md lavc: remove libfaac wrapper 2016-10-01 19:58:04 +01:00
MAINTAINERS MAINTAINERS: Add ED25519 key for signing my commits in the future 2022-10-21 22:19:37 +02:00
Makefile Merge commit '6641819feedb086ebba3d2be89b8d33980f367e1' 2016-06-26 15:43:05 +02:00
README.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
RELEASE Update for 3.2.19 2022-10-21 22:54:56 +02:00
RELEASE_NOTES Update missed irc links 2021-10-09 22:02:20 +02:00
arch.mak mips: rename mipsdspr1 to mipsdsp 2015-12-04 02:35:42 +01:00
cmdutils.c cmdutils: fix typos 2016-10-09 20:09:00 +02:00
cmdutils.h cmdutils: fix typos 2016-10-09 20:09:00 +02:00
cmdutils_common_opts.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_opencl.c all: use FFDIFFSIGN to resolve possible undefined behavior in comparators 2015-11-03 16:28:30 -05:00
common.mak Merge commit 'c5fd4b50610f62cbb3baa4f4108139363128dea1' 2016-06-27 19:39:46 +02:00
configure configure: bump year 2022-04-16 10:49:30 +02:00
ffmpeg.c fftools/ffmpeg: Free swresample dictionary during cleanup 2020-07-03 16:17:40 +02:00
ffmpeg.h Merge commit '398f015f077c6a2406deffd9e37ff34b9c7bb3bc' 2016-10-08 11:38:47 +02:00
ffmpeg_cuvid.c doc: fix spelling errors 2016-10-21 23:58:47 +02:00
ffmpeg_dxva2.c Merge commit '18c506e9e6e8df8b1d496d093077b8240ea68c28' 2016-06-26 15:34:01 +02:00
ffmpeg_filter.c ffmpeg: switch to codecpar 2016-09-21 15:39:28 +02:00
ffmpeg_opt.c fftools/ffmpeg_opt: Fix leak of options when parsing options fails 2022-05-04 19:28:24 +02:00
ffmpeg_qsv.c ffmpeg/qsv: fix QSV-accelerated transcode performance drop issue. 2016-08-16 17:09:33 +02:00
ffmpeg_vaapi.c ffmpeg_vaapi: fix choice of decoder_format 2016-09-29 01:23:52 +02:00
ffmpeg_vdpau.c Merge commit 'f72db3f2f3a8c83a4f5dede8fa03434b2bf676c6' 2016-06-26 15:29:39 +02:00
ffmpeg_videotoolbox.c ffmpeg/videotoolbox: protect UTGetOSTypeFromString on both VDA and VT 2015-10-15 10:22:31 +02:00
ffplay.c ffplay: fix sws_scale possible out of bounds array access 2016-12-10 23:24:05 +01:00
ffprobe.c ffprobe: Fix NULL pointer handling in color parameter printing 2017-09-17 12:21:32 +02:00
ffserver.c ffserver: Check chunk size 2016-12-06 00:07:50 +01:00
ffserver_config.c ffserver_config: Setup codecpar in add_codec() 2017-02-07 13:21:14 +01:00
ffserver_config.h ffserver: Use singlejpeg muxer for jpeg 2015-06-08 03:36:22 +02:00
library.mak Merge commit 'c5fd4b50610f62cbb3baa4f4108139363128dea1' 2016-06-27 19:39:46 +02:00
version.sh version.sh: Fix spurious rebuilds. 2016-03-10 09:53:10 +01:00

README.md

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 a mean to alter decoded Audio and Video through chain of 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.
  • ffserver is a multimedia streaming server for live broadcasts.
  • 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.