This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Device is able to use existing window, that can be a
part of existing GUI - instead of newly created one.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
After this commit applications needs to call av_format_inject_global_side_data()
or handle AVStream side data by some other means if they want it not to be lost.
This fixes a API incompatibility with libav.
libav API does not allow the data to be passed through AVPackets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This adds a new "replaygain_noclip" option to the filter, and, if enabled,
limits the gain applied for tracks where clipping would occur.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
This aims to standardize the English used in the libavfilter
documentation, describing the same thing in the same way more often,
and significantly reduce the amount of outright errors, including
run-on sentences and sentence fragments.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Provides API to query device capabilities.
Each device must implement callbacks to benefit from this API.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Ported asettb (including the sr option for audio sample rate) from FFmpeg,
and copied/modified the existing settb documentation for asettb.
Signed-off-by: Katerina Barone-Adesi <katerinab+libav@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
The old implementation is unusable due to changes in the Xvid API.
Further fixes by Michael Niedermayer <michaelni@gmx.at>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* commit '6f273093e54cba130f3ffde3d6433e74baa4ad89':
LucasArts SMUSH VIMA audio decoder
Conflicts:
Changelog
libavcodec/avcodec.h
libavcodec/codec_desc.c
libavcodec/version.h
libavcodec/vima.c
This commit adds a AV_CODEC_ID_ADPCM_VIMA alias in addition to the previously
used AV_CODEC_ID_VIMA, as well as a AVCodec with name "adpcm_vima" in addition
to the previously used name "vima"
These changes are needed for compatibility with the renamed codec in libav
See: b18357326c and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This adds a new "replaygain_preamp" option to the filter, and simply adds its
value to the replaygain gain value.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
According to the ReplayGain spec, the peak amplitude may overflow and may result
in peak amplitude values greater than 1.0 with psychoacoustically coded audio,
such as MP3. Fully compliant decoders must allow peak overflows.
Additionally, having peak values in the 0<->UINT32_MAX scale makes it more
difficult for applications to actually use the peak values (e.g. when
implementing clipping prevention) since values have to be rescaled down.
This patch corrects the peak parsing by removing the rescaling of the decoded
values between 0 and UINT32_MAX and the 1.0 upper limit.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Further performance improvements and security fixes by
Vittorio Giovara, Luca Barbato and Diego Biurrun.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
And provide extended coloring capabilities for debugging.
The default colors do not change in 256 more to keep
supporting people using Black on White, White on Black and
Solarized terminals.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
AVOptionRange is not flexible enough to store AV_OPT_TYPE_IMAGE_SIZE
ranges. Current implementation can only store pixel count.
This patch aims to keep backward compatibility and extend
AVOptionRange with possibility to store width/height ranges.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Based on original code by Christophe Gisquet in 2010, updated to work
with current ffmpeg APIs.
Supports grabbing a single window or an area of the screen, including
support for multiple monitors (Windows does funky stuff with negative
coordinates here).
I've moved most of the configuration to AVOptions; the input file name
is now only the string "desktop", or "title=<windowname>" to select a
single window. The AVOptions are the same as x11grab where possible.
Code has been added to support a "show_region" mode, like x11grab, which
will draw a rectangle on the screen around the area being captured.
Instead of duplicating code for paletted image handling, I make use of
the GDI API's ability to output DIB (BMP) images, which can be run
through ffmpeg's existing BMP decoder.
Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Additional fixes and enhancements by Vittorio Giovara, Gonzalo Garramuno,
Nicolas George, Paul B Mahol and Michael Niedermayer.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* qatar/master:
avconv: make the ASCII flow charts narrower to fit onto TTY
Conflicts:
doc/ffmpeg.texi
See: 8fe1076094
Merged-by: Michael Niedermayer <michaelni@gmx.at>
av_dynarray_add_nofree function have similar functionality
as existing av_dynarray_add, but it doesn't deallocate memory
on fails.
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Both of these dithering methods are from http://pippin.gimp.org/a_dither/ for
GIF they can be considered better than bayer (provides more gray-levels), and
spatial stability - often more than twice as good compression and less visual
flicker than error diffusion methods (the methods also avoids error-shadow
artifacts of diffusion dithers).
These methods are similar to blue/green noise type dither masks; but are
simple enough to generate their mask on the fly. They are still research work
in progress; though more expensive to generate masks (which can be used in a
LUT) like 'void and cluster' and similar methods will yield superior results
* commit '06c3cd3c0186803619bc6aad2d8f06c3e9015d15':
af_volume: support using replaygain frame side data
Conflicts:
doc/filters.texi
libavfilter/af_volume.c
libavfilter/af_volume.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd161ae0a37900cbd36c1390ca32a56b892c02ab5':
frame: add a function for removing side data from a frame
Conflicts:
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '5a7e35dd2351c30bab45177b9482cb8833a0ca78':
Add replaygain side data type and code for parsing replaygain tags.
Conflicts:
libavcodec/avcodec.h
libavcodec/version.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '25b32586566f285d797737863c97a1c5c9c84e2b':
lavf: add an AVStream field for exporting stream-global side data
Conflicts:
libavformat/utils.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0e2c3ee9a335d8a0a5edf0509e222e804d7b2619':
lavc: give a typedeffed name to the AVPacket.side_data struct
Conflicts:
doc/APIchanges
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '57f09608e1600d1cf1679885a46f5004d522d68f':
dsputil: Move thirdpel-related bits into their own context
Conflicts:
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1481d24c3a0abf81e1d7a514547bd5305232be30':
RGBA64 pixel formats
Conflicts:
doc/APIchanges
libavutil/pixdesc.c
libavutil/pixfmt.h
libavutil/version.h
libswscale/utils.c
See: 9569a3c9f4
See: 92afb43162, as well as others
Note: the enum values added in libav are incompatible/different to what ffmpeg used since 3 years
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b4dd424d96f09f9bafb88e47f37df65dc4529143':
Remove all SPARC architecture optimizations
Conflicts:
Makefile
configure
libavcodec/sparc/dsputil_vis.c
libavcodec/sparc/dsputil_vis.h
libavcodec/sparc/hpeldsp_vis.c
libavcodec/sparc/simple_idct_vis.c
libavcodec/sparc/vis.h
libswscale/sparc/yuv2rgb_vis.c
libswscale/swscale_internal.h
If someone wants to maintain these (or other) SPARC optimizations, please
contact me or ffmpeg-devel.
I am happy to revert this removial if theres someone considering to
maintain this code.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
avconv: Match stream id
Conflicts:
cmdutils.c
doc/fftools-common-opts.texi
See: ea07063fd8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'd15c536123a44362ace6299c391a492c90b83fc7':
doc: Point to the correct, actually maintained gas-preprocessor repo
Conflicts:
doc/platform.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
For muxing, it accepts
both 0 and AV_NOPTS_VALUE. For demuxing, it will present
AV_NOPTS_VALUE when start_time_realtime is unknown.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
FFmpeg provides local copies of these headers in compat/avisynth/,
and there is no restriction against using 2.5.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
http: Allow setting a Content-Type for POST requests
Conflicts:
libavformat/http.c
See: c01d1d4ddf
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2ec33d27127251bbc45e1f88e60691ad59cf2319':
http: Add support for selecting a request range
Conflicts:
doc/protocols.texi
libavformat/http.c
See: d52882faef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Export the metadata as a icy_metadata_packet avoption.
Based on the work of wm4 and Alessandro Ghedini.
Bug-Id: https://bugs.debian.org/739936
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
If set, and if TCP is available as RTSP RTP transport, then TCP will be
tried first as RTP transport.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
lavfi: add compand audio filter
Conflicts:
Changelog
doc/filters.texi
libavfilter/Makefile
libavfilter/af_compand.c
libavfilter/allfilters.c
libavfilter/version.h
The filter is added as new one so as to ease clean merging of its changes
in debug-able steps
See: 6b68e2a43b
Merged-by: Michael Niedermayer <michaelni@gmx.at>