Faststart moves the moov atom to the beginning of the file and rewrites
the rest of the file after muxing is complete.
Signed-off-by: Martin Storsjö <martin@martin.st>
This allows specifying more dither algorithms without using up flags and
without ambiguities.
Also initialize the new field based on the flags and use it.
Note, improving the logic of the checks is left to subsequent
commits, this here only switches from flags to enum.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Using VDPAU correctly means checking for preemption
and possibly regenerating the context all the time.
With the current API there is no context or other
user-defined pointer and thus this in not possible
during decoding unless using some hack like global
variables.
The need to reinitialize both surfaces and even function
pointers makes handling preemption even more difficult.
This patch introduces a new render2 function that gets
both the AVCodecContext and AVFrame in addition,
in both the user can store additional opaque data.
This allows even advanced approaches like keeping a
"generation counter" for the surfaces so they can be
regenerated on the fly and efficiently.
In addition, the function has a return value that will
be passed through all the way instead of being silently
ignored as for the current render function.
Unfortunately the HWAccel API has no way of providing
API/ABI compatibility, so a currently disallowed
state (render pointer being NULL) is used to extend it.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* commit 'd175a5730b42166704b7262b33f4b780d9d92f60':
doc: Add an example on publishing over RTMP
doc: Add librtmp to the section header for the librtmp specific details
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'a435ca5b4d9efebf0759220681010977c36615f7':
doc: Explain that the default RTMP user agent is different when publishing
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'aa16a6b0c56e3f46c5d7efb706b87a8f7a1603ec':
doc: Extend the rtmp example to include how to pass username/password
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The fact that a different user agent is used is cruicial for getting
publishing authentication working. (When using librtmp, this other
user agent has to be specified manually, but that's not needed
with the libavformat internal RTMP support.)
Signed-off-by: Martin Storsjö <martin@martin.st>
The first sentence of each of the modified man pages are worded a bit
awkwardly. These minor copy-edits should make them clearer.
Signed-off-by: Bryce Harrington <b.harrington@samsung.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* commit '811bd0784679dfcb4ed02043a37c92f9df10500e':
avconv: make input -ss accurate when transcoding
Conflicts:
Changelog
doc/ffmpeg.texi
ffmpeg.h
ffmpeg_filter.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Changes since v1 of the patch:
- enable option by default
- add documentation
- move up PTS override code after PES header parsing, to ensure we use the
last PCR before the first packet of the teletext PES packet.
The option overrides teletext packet PTS and DTS values with the timestamps
calculated from the PCR of the first program which the teletext stream is part
of and is not discarded.
Using the same teletext PID for multiple programs is possible, therefore we
need some kind of heuristics to know which program PCR we should synchronize
to. Using the first non-discarded PCR pid among the programs of the teletext
stream seemed like a good choice.
The patch does not do PCR interpolation to estimate the PCR of the teltetext
packet, it just uses the last PCR of the program, which may cause a slight
error (0.1 sec) in the teletext packet pts-es.
Based on a patch by Reimar Döffinger.
http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2012-September/131610.html
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The bitstream buffers are now private and freed by libavcodec. For
backward compatibility, the hold bitstream buffer pointer is left NULL
(applications were supposed to av_freep() it).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Iterative implementation of 32 bit fixed point split-radix FFT.
Max FFT that can be calculated currently is 2^12.
Signed-off-by: Nedeljko Babic <nbabic@mips.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '79be2c325c5ee8f7ac9e28399e51986ebe99bb3c':
doc/print_options: Move options headers to a saner place
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b5a138652ff8a5b987d3e1191e67fd9f6575527e':
Give less generic names to global library option arrays
Conflicts:
libavcodec/options_table.h
libavfilter/avfilter.c
libavformat/options_table.h
libswscale/options.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0e8c6f221a8ddb7dfb3c9e9bd0b33cb12e9391b8':
avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typo
Conflicts:
doc/general.texi
libavformat/avisynth.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The option is used to sort the streams by program.
Signed-off-by: Florent Tribouilloy <florent.tribouilloy@smartjog.com>
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
* qatar/master:
doc: cosmetics: Consistently format list and table items
Conflicts:
doc/developer.texi
doc/fate.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Format is based on the thread:
"[PATCH] doc/encoders: Add libopus encoder doc" (06-28-2013)
http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/165368/
Also merge the two option sections (Mapping and Private options).
Patch partially edited by Stefano Sabatini.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
There is no reason why this should copy the audio data in a very
complicated way. Also, strictly write the first plane, instead of
writing the whole buffer. This is more helpful in context of the
example. This way a user can clearly confirm that it works by playing
the written data as raw audio.
This assumes one audio packet is decoded one time. This is not true:
packets can be partially decoded. Then you have to "adjust" the packet
and pass the undecoded part of the packet to the decode function again.
It is not completely obvious where delogo's parameter show=1 draws its
rectangle. Document it so that the user can more easily tune the
parameters.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Replace the sections "API" and "Integrating libavcodec or libavformat"
with updated / more accurate text.
See thread:
Subject: [FFmpeg-devel] [PATCH] doc/developer: merge and update sections about external development
Date: Fri, 5 Jul 2013 11:07:07 +0200
Options "show" and "band" are unrelated and should thus be
independent. However, setting "show" to 1 currently resets "band" to
its default value of 4. While this is documented, this still
surprising and confusing IMHO.
Change this behavior and make "show" and "band" independent from each
other. Update the documentation accordingly.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add function avfilter_graph_parse_ptr() and favor it in place of
avfilter_graph_parse(), which will be restored with the old/Libav
signature at the next bump.
If HAVE_INCOMPATIBLE_LIBAV_API is enabled it will use the
Libav-compatible signature for avfilter_graph_parse().
At the next major bump the current implementation of
avfilter_graph_parse() should be dropped in favor of the Libav/old
implementation.
Should address trac ticket #2672.
Replace the inline awk script with a Perl script which tracks the
dependencies recursively.
This allows to correctly track dependencies for files including files
with a second level include (for example: ffmpeg-devices.texi ->
devices.texi -> outdevs.texi).
This also adds a dependency on perl for computing the dependencies, which
should not be a problem since perl is already required all the way for
building documentation.
Allow applications to request reading streamcast metadata. This uses
AVOptions as API, and requires the application to explicitly request
and read metadata. Metadata can be updated mid-stream; if an
application is interested in that, it has to poll for the data by
reading the "icy_metadata_packet" option in regular intervals.
There doesn't seem to be a nice way to transfer the metadata in a nicer
way. Converting the metadata to ID3v2 tags might be a nice idea, but
the libavformat mp3 demuxer doesn't seem to read these tags mid-stream,
and even then we couldn't guarantee that tags are not inserted in the
middle of mp3 packet data.
This commit provides the minimum to enable applications to retrieve
this information at all.
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
Commit f1efaf8371 used parentheses
instead of curly braces in texi syntax, resulting in warnings when
the documentation is generated. Fix that.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cc: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* 'drawbox_exprs' of https://github.com/mjmvisser/FFmpeg:
enabled expressions on x, y, w, h and t parameters for drawgrid and drawbox, added examples
Reviewed-by: Andrey Utkin
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b0ce601c160c87349d093d7e542b5c752754f598':
doc/platform: Add info about ICL
Conflicts:
doc/platform.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
There are 4 separate WebVTT text track kinds: subtitles (the default
if not otherwise specified), captions, descriptions, and metadata.
The WebM muxer needs to know which WebVTT text track kind this is, in
order to synthesize the correct track type and codec id.
To allow a demuxer to indicate the text track kind of the input, a new
set of AV_DISPOSITION flag values has been added, corresponding to
each of the non-default text track kind values.
The drawbox video filter is drawing lines one pixel thinner than
requested. The default thickness is 4 pixel but in fact the lines
drawn by default are only 3 pixel wide.
Change the comparisons in the code to fix this off-by-one bug. Also
change the default thickness from 4 to 3 to minimize the unexpected
changes from the user's perspective.
As I was already touching these lines, I also removed the "maximum" in
the thickness parameter description, as I don't think it was adding
any value and I even found it confusing.
Reviewed-by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Based on the libavfilter SOC filter by Vitor Sessak, with the following additions:
* integer arithmetic
* bilinear interpolation
* RGB path
* configurable parametric angle, output width and height
Address trac issue #1500.
See thread:
Subject: [FFmpeg-devel] [WIP] rotate filter(s)
Date: 2010-10-03 17:35:49 GMT
* commit '3b4feac1ec14f861bdd7f494f288f4d8dd7f449e':
movenc: Keep track of the allocated size for the cluster array
mem: Add av_realloc_array and av_reallocp_array
Conflicts:
doc/APIchanges
libavformat/movenc.c
libavutil/mem.c
libavutil/mem.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Based on the work of Jeff Moguillansky <Jeff.Moguillansky@am.sony.com>.
See thread:
Subject: [FFmpeg-devel] x11 output device for libavdevice
Date: Wed, 10 Apr 2013 23:10:47 +0000
* qatar/master:
doc: Mention the target_samples and ld variables for fate configs
fate.sh: Allow specifying --as via a specific variable
Conflicts:
doc/fate.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This means that typedef struct SomeStruct {...} SomeStruct will only be
documented as SomeStruct in the doxy, without a pointless entry in the
typedefs list.
Also disable it by default since it looks currently buggy. The
usefulness of such library is mostly limited to backward compatibility
with very old devices.
If the "build_only" variable is set in the configuration file, the
FATE client will skip running tests and just compile all targets.
Signed-off-by: Martin Storsjö <martin@martin.st>
* commit '8e673efc6f5b7a095557664660305148f2788d30':
prores: update FATE test to account for alpha plane present in the test sample
configure: Add basic valgrind-massif support
Conflicts:
tests/fate/prores.mak
tests/ref/fate/prores-alpha
Merged-by: Michael Niedermayer <michaelni@gmx.at>
With the parameter --toolchain valgrind-massif, the configure
script sets reasonable defaults that can be overridden as explained
in the documentation.
Some fixes provided by Paul B Mahol <onemda@gmail.com>
and Michael Niedermayer <michaelni@gmx.at> and me.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
With the introduction of AVFilterContext->is_disabled, we can simplify
the custom passthrough mode in filters.
This commit is technically a small compat break, but the timeline was
introduced very recently.
Doxy by Stefano Sabatini.
* jamrial/adpcm:
ADPCM IMA Radical decoder
RedSpark demuxer
RSD demuxer
adpcm_thp: Allow the use of extradata for the adpcm table
ADP demuxer
ADPCM DTK decoder
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '481575d255195c6c2f32e04686b94de984ae78d4':
avconv: remove -deinterlace
Conflicts:
Changelog
doc/ffmpeg.texi
ffmpeg.c
ffmpeg_opt.c
The merge removes the documentation for the deprecated -deinterlace
the code itself has already been replaced a while ago by code
that inserts yadif, that insertion code is left in place.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
With the parameter --valgrind-memcheck, the configure script sets
reasonable defaults that can be overridden as explained in the
documentation.
The idea of using set_defaults is from Luca Barbato.
* commit 'e3b225a4fe0ff1e64a220b757c6f0a5cf9258521':
matroskaenc: add an option to put the index at the start of the file
Conflicts:
doc/muxers.texi
libavformat/matroskaenc.c
libavformat/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
avcodec: Add field order information to AVCodecParserContext.
Conflicts:
doc/APIchanges
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
From various tests, there is no evidence that the filter is faster than
the native tinterlace, and it has several more limitations and a few
bugs.
See thread:
Subject: [FFmpeg-devel] [NOPATCH] lavfi/mp: drop tinterlace wrapper
Date: Wed, 5 Sep 2012 00:26:01 +0200
Force re-generation of the manuals when an included file is modified.
The current dependency generation system is enable to track nested
inclusions.
The drawback is that the files will be generated even when there is no
strict need (for example if filters.texi is modified, ffmpeg.1 is
rebuilt), thus it trades a false negative with a false positive.
vidstabdetect and vidstabtransform common functions for interfacing
vid.stab are in libavfilter/vidstabutils.c
Signed-off-by: Georg Martius <martius@mis.mpg.de>
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Same funcionality is provided by stereo3d=ab[2]{l,r}:sbs[2]{l,r}.
Additional "features" are barely useful and cause crash or artifacts.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
* cigaes/master:
ffmpeg: make -aspect work with -vcodec copy.
lavfi/vf_aspect: improve compatibility of parsing.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA
markup is muxed in a standalone .ass/.ssa file. This means the AVPacket
data starts with a "Dialogue:" string, followed by a timing information
(start and end of the event as string) and a trailing CRLF after each
line. One packet can contain several lines. We'll refer to this layout
as "SSA" or "SSA lines".
In matroska, this markup is not stored as such: it has no "Dialogue:"
prefix, it contains a ReadOrder field, the timing information is not in
the payload, and it doesn't contain the trailing CRLF. See [1] for more
info. We'll refer to this layout as "ASS".
Since we have only one common codec for both formats, the matroska
demuxer is constructing an AVPacket following the "SSA lines" format.
This causes several problems, so it was decided to change this into
clean ASS packets.
Some insight about what is changed or unchanged in this commit:
CODECS
------
- the decoding process still writes "SSA lines" markup inside the ass
fields of the subtitles rectangles (sub->rects[n]->ass), which is
still the current common way of representing decoded subtitles
markup. It is meant to change later.
- new ASS codec id: AV_CODEC_ID_ASS (which is different from the
legacy AV_CODEC_ID_SSA)
- lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of
"ass") for consistency with the codec id and allows to add a real
ass decoder. This ass decoder receives clean ASS lines (so it starts
with a ReadOrder, is followed by the Layer, etc). We make sure this
is decoded properly in a new ass-line rectangle of the decoded
subtitles (the ssa decoder OTOH is doing a simple straightforward
copy). Using the packet timing instead of data string makes sure the
ass-line now contains the appropriate timing.
- lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed
into "ssa" (instead of "ass") for consistency with the codec id, and
allows to add a real "ass" encoder.
One important thing about this encoder is that it only supports one
ass rectangle: we could have put several dialogue events in the
AVPacket (separated by a \0 for instance) but this would have cause
trouble for the muxer which needs not only the start time, but also
the duration: typically, you have merged events with the same start
time (stored in the AVPacket->pts) but a different duration. At the
moment, only the matroska do the merge with the SSA-line codec.
We will need to make sure all the decoders in the future can't add
more than one rectangle (and only one Dialogue line in it
obviously).
FORMATS
-------
- lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets.
In the case of ASS packets as input, it adds the timing based on the
AVPacket pts and duration, and mux it with "Dialogue:", trailing
CRLF, etc.
- lavf/assdec: unchanged; it currently still only outputs SSA-lines
packets.
- lavf/mkv: the demuxer can now output ASS packets without the need of
any "SSA-lines" reconstruction hack. It will become the default at
next libavformat bump, and the SSA support will be dropped from the
demuxer. The muxer can take ASS packets since it's muxed normally,
and still supports the old SSA packets. All the SSA support and
hacks in Matroska code will be dropped at next lavf bump.
[1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
AVABufferSinkParams are ignored by avfilter_graph_create_filter,
therefore the example is misleading. Use av_opt_set_int_list to
configure abuffersink directly.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The next commit will introduce a proper decimation filter to be used
along with the field matching filter. To avoid confusion with this
filter which has currently a very limited usage (and will not work
properly with the fieldmatching filter), the new decimation filter will
take the decimate name, and this filter is renamed to mpdecimate.
* qatar/master:
FATE: add a test for the interlace filter
lavfi: new interlace filter
Conflicts:
Changelog
configure
doc/filters.texi
libavfilter/Makefile
libavfilter/allfilters.c
tests/fate/filter.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '921046008f5335601f9d76dc3a768eb5cd91e1b9':
cmdutils: allow -h filter=<name> to print information about a filter.
Conflicts:
cmdutils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'fa2a34cd40d124161c748bb0f430dc63c94dd0da':
lavfi: change the filter registering system to match the other libraries
Conflicts:
cmdutils.c
ffplay.c
libavfilter/avfilter.c
libavfilter/avfilter.h
This removes the ability to put AVFilters in read only memory and having
them shareable.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7e8fe4be5fb4c98aa3c6a4ed3cec999f4e3cc3aa':
lavfi: add a function for counting elements in AVFilterPad arrays.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '7cdd737ba81b5c2c9521c4509edf0ac315fabc65':
lavfi: mark filters with dynamic number of inputs or outputs with special flags
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1ba95a9cca57b023b9b9de071a5671fc05b05e58':
lavfi: add avfilter_init_dict() for initializing a filter with a dict.
Conflicts:
libavfilter/avfilter.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Move validation from init to query_formats().
Accept the formats lists as binary options.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add av_int_list_length() to compute a list length.
Add av_opt_set_int_list() to set a binary option.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit '48a5adab62bd2a553f5069d41fa632a0701835e5':
lavfi: add avfilter_init_str() to replace avfilter_init_filter().
avfilter_graph_create_filter() opaque is still passed to avfilter_init_filter()
which continues to pass it to init_opaque as its still used in the buffer sinks
the sinks should be changed and the opaque passing removed
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795':
img2enc: add an option for overwriting one file with subsequent images
Conflicts:
doc/muxers.texi
libavformat/img2enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This also drops support for "flat syntax" and "reinit" command.
"reinit" command is not very robust and complicates the logic more than
necessary, since requires to reset all the options in the command.
*This is a syntax break*.
Since this function adds a standalone filter to a filter graph and we do
not support creating such filters, there is no reason for this function
to exist.
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
* cigaes/master:
fate: add tests for unknown channel layouts.
lavfi/buffersrc: update for compatibility with the fork.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2e81acc687e64d15dd93c74793060bb5a233f44d':
x86inc: Fix number of operands for cmp* instructions
af_channelmap: fix uninitialized variable use introduced in ba8efac977
lavfi: add a bump and docs entries for the AVOptions switch
Conflicts:
Changelog
doc/APIchanges
libavfilter/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* richardpl/framestep:
lavfi/framestep: remove request_frame hack
lavfi/framestep: switch to an AVOptions-based system
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* ubitux/shorthand-cleanup:
lavfi/idet: switch to an AVOptions-based system.
lavfi/histogram: switch to an AVOptions-based system.
lavfi/stereo3d: switch to an AVOptions-based system.
lavfi/noise: switch to an AVOptions-based system.
lavfi/histeq: switch to an AVOptions-based system.
Conflicts:
libavfilter/avfilter.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* mbouron/shorthand-cleanup:
lavfi/kerndeint: switch to AVOption-based system
lavfi/il: switch to AVOption-based system
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* ubitux/shorthand-cleanup:
lavfi/mptestsrc: switch to an AVOptions-based system.
lavfi/mandelbrot: switch to an AVOptions-based system.
lavfi/life: switch to an AVOptions-based system.
lavfi/cellauto: switch to an AVOptions-based system.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* ubitux/shorthand-cleanup:
lavfi/subtitles: switch to an AVOptions-based system.
lavfi/pp: switch to an AVOptions-based system.
lavfi/geq: switch to an AVOptions-based system.
lavfi/edgedetect: switch to an AVOptions-based system.
lavfi/curves: switch to an AVOptions-based system.
lavfi/colormatrix: switch to an AVOptions-based system.
lavfi/perms: switch to an AVOptions-based system.
lavfi/ebur128: switch to an AVOptions-based system.
lavfi/showspectrum: switch to an AVOptions-based system.
lavfi/silencedetect: switch to an AVOptions-based system.
lavfi/thumbnail: switch to an AVOptions-based system.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ee0e8d4b15a87932ab6066cd6eae3cab08726319':
vf_libopencv: switch to an AVOptions-based system.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'c334c113d4d9e9a41bc38a3e4458d7ab21010401':
vf_scale: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/avfilter.c
libavfilter/vf_scale.c
scale keeps using our shorthand system due to the alternative not
supporting the more complex syntactical things like 1 parameter
dimensions
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8ec464c61c46a5d088b43d24e384d6c37b7ef14a':
vf_drawtext: switch to an AVOptions-based system.
Conflicts:
libavfilter/vf_drawtext.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In particular, fix wrong vertical mirroring command, and clarify
and extend explanation.
Based on a patch by littlebat <dashing.meng@gmail.com>.
Should fix trac ticket #2413.
* commit '63e58c55c17d7f8b5eec9c082fe0f8edc305a24e':
vf_delogo: switch to an AVOptions-based system.
Conflicts:
libavfilter/vf_delogo.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '62dcdb028cc84845fd263bb09304c4c6500bda7a':
vf_blackframe: switch to an AVOptions-based system.
vf_aspect: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/vf_aspect.c
libavfilter/vf_blackframe.c
In the aspect filter most changes are merged but not the final
switch to the libav API because that is too restrictive and has
difficulty handling the syntax.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e67a87eac814c7805d18c983c43033a8a1bd62af':
vf_(no)format: switch to an AVOptions-based system.
af_aformat: switch to an AVOptions-based system.
Conflicts:
doc/filters.texi
libavfilter/af_aformat.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This expression is useful to enable/disable overlaying on the fly.
Note that this can't be easily done relying on the filtergraph structure,
since this implies caching issues or a null frame overlaying in the best
case, which is better avoided for performance and convenience reasons.
Add support for dynamic x, y expressions evaluation.
Also add support for an evaluation mode which allows to disable per-frame
evaluation, so that there is no speedloss in case the expression does not
depend on frame variables.
Change the mappings separator from comma to '|' to avoid excessive
escaping, since comma is already used for separating filters in the
filtergraph description.
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
* commit 'bcc94328980e6c56546792ab08b0756abdce310b':
opt: check the return values of av_get_token for ENOMEM.
doc: Fix best_nb_channells typo
matroska: pass the lace size to the matroska_parse_rm_audio
Conflicts:
libavformat/matroskadec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
We used to use 'filtergraph' or 'filter graph' randomly.
'filtergraph' was chosen due to having 57 occurrences in
the documentation, whereas 'filter graph' had only 19.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
These are available in the output of -formats.
Similarily, we do not list the fields for e.g. -codecs.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* qatar/master:
doc/platform: Remove part about dllimport
vp8: Fix pthread_cond and pthread_mutex leaks
Conflicts:
doc/platform.texi
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Only deprecated things need this at all anymore, as we have functions
to access them or they are no longer needed.
The document should not encourage use of deprecated APIs.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* qatar/master:
fate: add an option to generate the references
Conflicts:
doc/fate.texi
tests/fate-run.sh
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
lavfi/gradfun: remove rounding to match C and SSE code.
lavfi/gradfun: fix dithering in MMX code.
lavfi/gradfun: fix rounding in MMX code.
lavfi/gradfun: do not increment DC pointer for odd values.
fate: filter: Add dependencies
avconv: add options for reading filtergraphs from a file.
Conflicts:
Changelog
doc/ffmpeg.texi
doc/filters.texi
ffmpeg.h
ffmpeg_opt.c
libavfilter/vf_gradfun.c
tests/fate/filter.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Current code divides before increasing precision.
Also reduce upper bound for strength from 255 to 64. This will prevent
an overflow in the SSSE3 and MMX filter_line code: delta is expressed as
an u16 being shifted by 2 to the left. If it overflows, having a
strength not above 64 will make sure that m is set to 0 (making the
m*m*delta >> 14 expression void).
A value above 64 should not make any sense unless gradfun is used as
a blur filter.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Except for the vintage preset, the values are defined by Lou Logan based
on the ones found in Adobe Photoshop CS6.
Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
An input channel could have been previously set with another application, like
v4l2-ctl, so if no input channel is specified use the previosly selected one.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
configure: Enable hwaccels without external dependencies by default.
doc/developer: Clarify symbol naming prefixes section.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2c328a907978b61949fd20f7c991803174337855':
pixdesc: add a function for counting planes in a pixel format.
avplay: remove the -debug option.
Revert "asfenc: return error on negative timestamp"
Conflicts:
doc/APIchanges
doc/ffplay.texi
ffplay.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Also extends documentation for timestamp related ffmpeg options, in order
to make more apparent the fact that muxer processing may change the
timestamps values.
* qatar/master:
print_options: do not generate docs for options without enc or dec flags
mpeg12: do not fail on zero dimensions in the sequence header.
Conflicts:
libavcodec/mpeg12.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>