It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.
avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.
Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c0b102ca03)
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.
avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.
Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
No behavior change; this makes DTS reliable with the next patch.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b47495397)
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.
Simplify usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4359288c56)
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.
Simplify usage.
Signed-off-by: Mans Rullgard <mans@mansr.com>
It's consistent with the -metadata option and easier to write.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 87e4d9b252)
If audio_sync_method is >1 the resampler is used for audio drift
compensation, and do_audio_out() was causing an assert failure because
audio_resample was not set.
Fix issue 2516, which was introduced by SVN r25939.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 07b48f8c7a)
If audio_sync_method is >1 the resampler is used for audio drift
compensation, and do_audio_out() was causing an assert failure because
audio_resample was not set.
Fix issue 2516, which was introduced by SVN r25939.
Signed-off-by: Mans Rullgard <mans@mansr.com>
fixes issue2465.
The problem is that the ffmpeg (the app) -streamid option did not work
with -newaudio/-newvideo/-newsubtitle.
The cause was a conflict between the feature where streamid values were
reset to default for each output filename, and the implementation of
-new*, which requires that the -new* option be specified after the
target filename.
My patch changes the ffmpeg behavior so that user-specified streamid
values apply to all the following output files on the command line
(rather than just the next output filename.)
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 20ac9de3df)
fixes issue2465.
The problem is that the ffmpeg (the app) -streamid option did not work
with -newaudio/-newvideo/-newsubtitle.
The cause was a conflict between the feature where streamid values were
reset to default for each output filename, and the implementation of
-new*, which requires that the -new* option be specified after the
target filename.
My patch changes the ffmpeg behavior so that user-specified streamid
values apply to all the following output files on the command line
(rather than just the next output filename.)
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
ffmpeg.c: In function ‘new_video_stream’:
ffmpeg.c:3701:18: warning: ‘codec_id’ may be used uninitialized in this function
ffmpeg.c: In function ‘new_audio_stream’:
ffmpeg.c:3848:18: warning: ‘codec_id’ may be used uninitialized in this function
ffmpeg.c: In function ‘new_subtitle_stream’:
ffmpeg.c:3926:18: warning: ‘codec_id’ may be used uninitialized in this function
Originally committed as revision 26313 to svn://svn.ffmpeg.org/ffmpeg/trunk
ffmpeg.c: In function ‘parse_meta_type’:
ffmpeg.c:3323:13: warning: assignment discards qualifiers from pointer target type
Originally committed as revision 26312 to svn://svn.ffmpeg.org/ffmpeg/trunk
Fixes issue 2072 and issue 2421.
Patch by Anatoly Nenashev, anatoly d nenashev a ovsoft d ru
Originally committed as revision 26252 to svn://svn.ffmpeg.org/ffmpeg/trunk
transcoding.
Fix issue #2292.
Patch sponsored by KIM Keep In Mind GmbH, srl.
Originally committed as revision 25939 to svn://svn.ffmpeg.org/ffmpeg/trunk
This also allows to remove a linking dependency of libavfilter on
libavcodec.
Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
avfilter_graph_parse() declaration to libavfilter/avfiltergraph.h.
Simplify, and less confusing for the user.
Originally committed as revision 25705 to svn://svn.ffmpeg.org/ffmpeg/trunk
The new name is shorter and more consistent with the rest of the API.
This change breaks libavfilter API/ABI.
Originally committed as revision 25674 to svn://svn.ffmpeg.org/ffmpeg/trunk
The timestamps for all the buffered frames are scaled against
AV_TIME_BASE_Q, and need to be scaled back to AV_TIME_BASE_Q when they
are extracted from the filterchain.
Originally committed as revision 25646 to svn://svn.ffmpeg.org/ffmpeg/trunk
ages.
The user is requested to specify "-f image2" in place of "-f pgmyuv"
for reading/writing PGMYUV files, as for the other image formats.
Originally committed as revision 25629 to svn://svn.ffmpeg.org/ffmpeg/trunk
Fixes issue 2317.
Patch by Rocky Cardwell, rocky d cardwell a lifespringschool d org
Originally committed as revision 25603 to svn://svn.ffmpeg.org/ffmpeg/trunk
The option is useful to ensure that there is a seek point exactly at a
place the user will probably want to jump precisely sometime, the
major example would be the end of an opening and the beginning of a
chapter. The scene change detection system will often make it happen,
but not always for example if there is a fade-in.
See the thread:
Subject: [FFmpeg-devel] [PATCH] -force_key_frames option
Date: Tue, 12 Oct 2010 15:16:26 +0200
Patch by Nicolas George -mail nicolas,george,normalesup,org.
Originally committed as revision 25526 to svn://svn.ffmpeg.org/ffmpeg/trunk
greatly simplifying its handling and reducing code duplication.
Patch by Nicolas George -bsf nicolas*george|normalesup+org.
Originally committed as revision 25501 to svn://svn.ffmpeg.org/ffmpeg/trunk
code flow, in the new_video_stream() / new_audio_stream() /
new_subtitle_stream() functions.
Patch by Nicolas George <$name.$surname@normalesup.org>.
Originally committed as revision 25500 to svn://svn.ffmpeg.org/ffmpeg/trunk
There was an off-by-one when addressing bitstream_filters[] in this situation.
Originally committed as revision 25398 to svn://svn.ffmpeg.org/ffmpeg/trunk
between ffmpeg and ffplay and avoids a valgrind error by freeing
avformat_opts->key.
Originally committed as revision 25309 to svn://svn.ffmpeg.org/ffmpeg/trunk
With this the developer can now choose if he wants an assert always enabled or at which
compile time assert level. This can thus replace the #define NDEBUG hacks
Originally committed as revision 25278 to svn://svn.ffmpeg.org/ffmpeg/trunk
Options are not yet set for video encoders and for codec specific
defaults it is desireable to set the codec options only after the codec
is known.
Originally committed as revision 25230 to svn://svn.ffmpeg.org/ffmpeg/trunk
Slightly more intuitive and required by a pending changes for making
the filter parametric.
Originally committed as revision 25184 to svn://svn.ffmpeg.org/ffmpeg/trunk
instead of current "make output file of size less than ss".
Also use it to make MP3 tests more readable (using -fs xxx where xxx is
the requested output size, not something slightly lower).
Originally committed as revision 24884 to svn://svn.ffmpeg.org/ffmpeg/trunk
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name);
to:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);
This way it is possible to propagate an error code telling the reason
of the failure.
Originally committed as revision 24765 to svn://svn.ffmpeg.org/ffmpeg/trunk
Define a new struct AVFilterBufferRefVideoProps and add a type field
to AVFilterBufferRef.
Video specific properties in AVFilterBufferRefVideoProps are now
referred to by *video pointer in AVFilterBufferRef.
Patch by S.N. Hemanth Meenakshisundaram smeenaks->ucsd.edu.
Originally committed as revision 24763 to svn://svn.ffmpeg.org/ffmpeg/trunk
AVFilterLink.srcpic -> AVFilterLink.src_buf
AVFilterLink.cur_pic -> AVFilterLink.cur_buf
AVFilterLink.outpic -> AVFilterLink.out_buf
The new names are more generic and more consistent, since the struct
they contain, which was named AVFilterPicRef, has been renamed to
AVFilterBufferRef.
Patch by S.N. Hemanth Meenakshisundaram %smeenaks%ucsd%edu%.
Originally committed as revision 24732 to svn://svn.ffmpeg.org/ffmpeg/trunk
avfilter_(un)ref_pic -> avfilter_(un)ref_buffer
avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
AVFilterBufferRef.pic -> AVFilterBufferRef.buffer
They have been renamed to allow sharing with audio.
Patch by S.N. Hemanth Meenakshisundaram $smeenaks$ucsd$edu$.
Originally committed as revision 24731 to svn://svn.ffmpeg.org/ffmpeg/trunk
The struct is going to be used for storing audio buffer references as
well, and the new name is more generic.
Patch by S.N. Hemanth Meenakshisundaram @smeenaks@ucsd@edu@.
Originally committed as revision 24730 to svn://svn.ffmpeg.org/ffmpeg/trunk
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.
This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.
Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
av_ prefix is reserved for libav* libraries functions, it is confusing
to use it for an application function.
Originally committed as revision 24505 to svn://svn.ffmpeg.org/ffmpeg/trunk
av_ is a prefix reserved for av* libraries functions, using that for an
application function is confusing.
Originally committed as revision 24497 to svn://svn.ffmpeg.org/ffmpeg/trunk
and update the manual page accordingly.
Based on a patch by John Calcote $(echo "<kpio.dbmdpuf@hnbjm.dpn>" | tr "b-za" "a-z").
Originally committed as revision 24049 to svn://svn.ffmpeg.org/ffmpeg/trunk
ffmpeg.c: In function 'new_audio_stream':
ffmpeg.c:665: warning: 'best' may be used uninitialized in this function
ffmpeg.c:665: note: 'best' was declared here
Originally committed as revision 24034 to svn://svn.ffmpeg.org/ffmpeg/trunk
ffmpeg.c: In function 'new_audio_stream':
ffmpeg.c:665: warning: 'best' may be used uninitialized in this function
ffmpeg.c:665: note: 'best' was declared here
Originally committed as revision 24033 to svn://svn.ffmpeg.org/ffmpeg/trunk
and options. Keep old options until next major version bump.
Patch by Rodney Baker, rodney d baker a iinet d net d au
Originally committed as revision 24021 to svn://svn.ffmpeg.org/ffmpeg/trunk
BeOS support has been broken for many years and the "maintainer" of the port
has not reacted to countless requests to get the port fixed.
approved by Mans
Originally committed as revision 23562 to svn://svn.ffmpeg.org/ffmpeg/trunk
the output codec context (instead of just copying a pointer to the extradata).
Originally committed as revision 23538 to svn://svn.ffmpeg.org/ffmpeg/trunk
unsigned int, as the corresponding variable set in
AVCodecContext.codec_tag is unsigned int.
Originally committed as revision 23441 to svn://svn.ffmpeg.org/ffmpeg/trunk
This fixes a regression on Windows introduced by r22769 in which the data read
from the file was not properly zero terminated. The file was read as text,
which caused the \r characters to be suppressed. Since the zero termination
happens at the end of the buffer, and there was one byte less read per line,
this caused the remaining space on the buffer to contain random data.
Originally committed as revision 23251 to svn://svn.ffmpeg.org/ffmpeg/trunk
in its place.
av_metadata_set() is going to be dropped at the next major bump.
Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
we'd memset() the codec context to zero, thereby setting audio input to U8
and video to YUV420P. For most video encoders, that actually works, but for
most audio codecs, it doesn't. This patch changes defaults to those set by
avcodec_context_get_defaults() and have ffmpeg figure out the optimal encoding
format itself if not set explicitely (as it does for the non-ffserver-cases
also).
Originally committed as revision 22751 to svn://svn.ffmpeg.org/ffmpeg/trunk
ffmpeg.c uses lrintf(), which is missing on some systems. Previously
it picked up the replacement via libavutil/internal.h due to
HAVE_AV_CONFIG_H being erroneously defined.
Moving these replacements to a separate header enables ffmpeg.c to
use them without being exposed to internal interfaces.
This use of a non-public header is justified by the header in question
not being part of the internal interface either. It should rather be
considered as part of the build system, which is shared between the
libraries and the applications.
This header cannot be installed since the tested conditions depend on
the compiler.
Originally committed as revision 22399 to svn://svn.ffmpeg.org/ffmpeg/trunk
Its now possible to also select programs per input file and there is
less code duplication.
Originally committed as revision 21999 to svn://svn.ffmpeg.org/ffmpeg/trunk
floating point.
Should fix different results between PPC and x86 for the idroq-video-encode
FATE test.
Originally committed as revision 21745 to svn://svn.ffmpeg.org/ffmpeg/trunk
Guess the duration before converting video and write guessed duration
into flv header.
Patch by Justin Johnson, justin D johnson3 A gmail
The change to ffmpeg.c is wrong as input and output files arent connected 1:1
(i seem to have missed that)
Also it can segfault see ([FFmpeg-devel] rtp streaming x264+audio issues (and some ideas to fix them))
Originally committed as revision 21652 to svn://svn.ffmpeg.org/ffmpeg/trunk
fix the warning:
ffmpeg.c: In function ‘output_packet’:
ffmpeg.c:1317: warning: suggest parentheses around && within ||
Originally committed as revision 21650 to svn://svn.ffmpeg.org/ffmpeg/trunk
This correct the stop point for demuxing with -vcodec copy and -t as well as
packet interleaving. (we already diddrop packets but kept demuxing them
for too long due to opts being wrong)
the change to ffm is due to 2 packets with timestamp 0 being stored
in different order.
Originally committed as revision 21626 to svn://svn.ffmpeg.org/ffmpeg/trunk
This fixes at least ogg encoding with -t where the file was slightly too long.
Originally committed as revision 21598 to svn://svn.ffmpeg.org/ffmpeg/trunk
because CODEC_CAP_SUBFRAMES is primarely misused to hide this warning otherwise
which renders the flag completely useless.
Originally committed as revision 21480 to svn://svn.ffmpeg.org/ffmpeg/trunk
The various avcodec_thread_init() functions are updated to return
immediately after setting avctx->thread_count. This allows -threads 0
to pass through to codecs. It also simplifies the usage for apps
using libavcodec.
Originally committed as revision 21358 to svn://svn.ffmpeg.org/ffmpeg/trunk
This option limits the CPU time used by ffmpeg to the number of seconds
specified. After this time, the OS sends a SIGXCPU signal, which we
handle and attempt to exit cleanly. If the process is stuck, the OS
will deliver a SIGKILL one second later, forcibly terminating the
process.
This functionality is useful in automated setups where a runaway ffmpeg
process would otherwise go undetected.
Originally committed as revision 21347 to svn://svn.ffmpeg.org/ffmpeg/trunk
This is already done by avcodec_thread_init().
Patch by Michael Dorr <dorr <at> inb.uni-luebeck.de>.
Originally committed as revision 20955 to svn://svn.ffmpeg.org/ffmpeg/trunk
This is similar to existing -alang & -slang options.
Patch by Matthieu Crapet m${surname} ^ gmail com.
Originally committed as revision 20880 to svn://svn.ffmpeg.org/ffmpeg/trunk