1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-18 03:19:31 +02:00
Go to file
Kevin Mark 05feeeb813 libavfilter/scale: Populate ow/oh when using 0 as w/h
The input width and height is known at parse time so there's no
reason ow/oh should not be usable when using 0 as the width or
height expression.

Previously in "scale=0:ow" ow would be set to "0" which works,
conveniently, as "scale=0:0" is perfectly valid input but this breaks
down when you do something like "scale=0:ow/4" which one could
reasonably expect to work as well, but does not as ow is 0 not the
real value.

This change handles the 0 case for w/h immediately so the ow/oh
variables work as expected. Consequently, the rest of the code does
not need to handle 0 input. w/h will always be > 0 or < 0.

The second explicit (int) cast ensures that ow/oh appear as integers
as a user might expect when dealing with pixel dimensions.

Signed-off-by: Kevin Mark <kmark937@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2017-06-19 14:27:52 -04:00
compat compat/cuda: make cuvidGetDecoderCaps optional 2017-06-01 12:39:06 +02:00
doc doc/filters: Correct scale doc regarding w/h <= 0 2017-06-19 14:24:55 -04:00
ffbuild build: remove --enable-raise-major configure option 2017-05-17 22:52:59 -03:00
libavcodec avcodec/wavpack: Fix undefined integer negation 2017-06-19 17:54:40 +02:00
libavdevice Use AVOnce as a static variable consistently 2017-05-22 12:36:32 +02:00
libavfilter libavfilter/scale: Populate ow/oh when using 0 as w/h 2017-06-19 14:27:52 -04:00
libavformat avformat/hlsenc: donnot show duplicate segment warning at byterange mode 2017-06-19 10:35:41 +08:00
libavresample Merge commit '92db5083077a8b0f8e1050507671b456fd155125' 2017-05-04 19:59:30 -03:00
libavutil x86/aacpsdsp: add ff_ps_hybrid_synthesis_deint_{sse,sse4} 2017-06-18 22:33:27 -03:00
libpostproc Merge commit '92db5083077a8b0f8e1050507671b456fd155125' 2017-05-04 19:59:30 -03:00
libswresample Merge commit '92db5083077a8b0f8e1050507671b456fd155125' 2017-05-04 19:59:30 -03:00
libswscale Merge commit '92db5083077a8b0f8e1050507671b456fd155125' 2017-05-04 19:59:30 -03:00
presets
tests fate: use do_md5sum instead of the md5 protocol for most md5 fate tests 2017-06-18 23:19:48 +02:00
tools tools/sofa2wavs: add license header 2017-06-12 22:14:30 +02:00
.gitattributes fate: add SCC test 2017-01-27 17:06:42 +01:00
.gitignore build: add support for building .cu files via nvcc 2017-05-15 11:46:50 +02:00
.travis.yml
Changelog avfilter: add roberts cross operator 2017-06-19 14:04:44 +02:00
cmdutils_opencl.c cmdutils_opencl: Fix read of uinitialized cl_mem 2017-05-11 13:02:12 +02:00
cmdutils.c avformat, ffmpeg: deprecate old rotation API 2017-03-27 13:20:27 +02:00
cmdutils.h Merge commit '122de16dd8108a59a55d30543c9f28b5f61b02d1' 2017-05-05 14:04:30 +02:00
configure configure: use -x instead of -wN ..@ to strip assembly files 2017-06-16 15:25:31 +01:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_cuvid.c ffmpeg_cuvid: adapt for recent filter graph initialization changes 2017-03-03 08:45:43 +01:00
ffmpeg_dxva2.c
ffmpeg_filter.c ffmpeg: Support setting the hardware device to use when filtering 2017-06-14 22:27:07 +01:00
ffmpeg_hw.c avconv_hw: Free device on initialisation failure 2017-06-18 17:07:25 +01:00
ffmpeg_opt.c ffmpeg: Support setting the hardware device to use when filtering 2017-06-14 22:27:07 +01:00
ffmpeg_qsv.c ffmpeg: init filtergraphs only after we have a frame on each input 2017-03-03 08:45:43 +01:00
ffmpeg_videotoolbox.c ffmpeg_videotoolbox: fix usage of av_get_codec_tag_string() 2017-03-29 14:49:29 +02:00
ffmpeg.c ffmpeg: Generic device setup 2017-06-14 22:26:32 +01:00
ffmpeg.h ffmpeg: Support setting the hardware device to use when filtering 2017-06-14 22:27:07 +01:00
ffplay.c Merge commit '122de16dd8108a59a55d30543c9f28b5f61b02d1' 2017-05-05 14:04:30 +02:00
ffprobe.c ffprobe: Use pixdesc API to provide color space names 2017-06-05 12:18:27 -04:00
ffserver_config.c ffserver_config: Check for failure to allocate FFServerIPAddressACL 2016-12-22 19:23:08 +01:00
ffserver_config.h ffsrever: Make the status page bitexact if any stream is bitexact 2016-11-29 19:26:26 +01:00
ffserver.c Merge commit '122de16dd8108a59a55d30543c9f28b5f61b02d1' 2017-05-05 14:04:30 +02:00
INSTALL.md
LICENSE.md Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c' 2017-03-15 22:07:47 +01:00
MAINTAINERS MAINTAINERS: Add Manojkumar Bhosale for MIPS, remove myself. 2017-06-08 01:25:15 +02:00
Makefile ffmpeg: Enable generic hwaccel support for VDPAU 2017-06-14 22:26:32 +01:00
README.md
RELEASE Bump minor versions for master after release/3.3 branchpoint 2017-03-31 13:21:06 +02:00

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.