avfilter_copy_frame_props() avoids code duplication and increases
robustness.
The added files libavfilter/avcodec.[ch] are used for containing
utilities useful for gluing togheter libavfilter and libavcodec.
* qatar/master: (23 commits)
doc: Check standalone compilation before submitting new components.
Fix standalone compilation of pipe protocol.
Fix standalone compilation of ac3_fixed encoder.
Fix standalone compilation of binkaudio_dct / binkaudio_rdft decoders.
Fix standalone compilation of IMC decoder.
Fix standalone compilation of WTV demuxer.
Fix standalone compilation of MXPEG decoder.
flashsv: K&R cosmetics
matroskaenc: fix memory leak
vc1: make overlap filter for I-frames bit-exact.
vc1dec: use s->start/end_mb_y instead of passing them as function args.
Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
Replace strncpy() with av_strlcpy().
indeo3: Eliminate use of long.
get_bits: make cache unsigned to eliminate undefined signed overflow.
asfdec: fix assert failure on invalid files
avfilter: check malloc return values.
Not pulled as reason for reindent is not pulled: mpegvideo: reindent.
nutenc: check malloc return values.
Not pulled due to much simpler solution in ffmpeg *: don't av_malloc(0).
...
Conflicts:
doc/developer.texi
libavcodec/Makefile
libavcodec/get_bits.h
libavcodec/mpegvideo.c
libavformat/Makefile
libavutil/log.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Implement fate-rsync target
Make ffmpeg support generic data stream
Conflicts:
cmdutils.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
vp8: frame-multithreading.
Duplicate Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Duplicate Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().
Bug spoted&removed in last merge: dpx: Do not use DPX encoder for decoding.
Conflicts:
ffmpeg.c
ffplay.c
libavcodec/h264.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Improve consistency with libavcodec.
This breaks libavfilter API/ABI.
The non-sequential 2.1.0 -> 2.4.0 bump is due to the mess previously
done with the lavfi minor number.
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
* qatar/master:
Duplicate AMV: disable DR1 and don't override EMU_EDGE
Duplicate lavf: inspect more frames for fps when container time base is coarse
Wrong and we have correct fix: Fix races in default av_log handler
vorbis: Replace sized int_fast integer types with plain int/unsigned.
Remove disabled non-optimized code variants.
NO bswap.h: Remove disabled code.
Remove some disabled printf debug cruft.
Replace more disabled printf() calls by av_dlog().
NO tests: Remove disabled code.
NO Replace some commented-out debug printf() / av_log() messages with av_dlog().
vorbisdec: Replace some sizeof(type) by sizeof(*variable).
NO vf_fieldorder: Replace FFmpeg by Libav in license boilerplate.
Conflicts:
libavcodec/h264.c
libavcodec/vorbisdec.c
libavutil/log.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
Handle unicode file names on windows
rtp: Rename the open/close functions to alloc/free
Lowercase all ff* program names.
Refer to ff* tools by their lowercase names.
NOT Pulled Replace more FFmpeg instances by Libav or ffmpeg.
Replace `` by $() syntax in shell scripts.
patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled Remove stray libavcore and _g binary references.
vorbis: Rename decoder/encoder files to follow general file naming scheme.
aacenc: Fix whitespace after last commit.
cook: Fix small typo in av_log_ask_for_sample message.
aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
Remove RDFT dependency from AAC decoder.
Add some debug log messages to AAC extradata
Fix mov debug (u)int64_t format strings.
bswap: use native types for av_bwap16().
doc: FLV muxing is supported.
applehttp: Handle AES-128 encrypted streams
Add a protocol handler for AES CBC decryption with PKCS7 padding
doc: Mention that DragonFly BSD requires __BSD_VISIBLE set
Conflicts:
ffplay.c
ffprobe.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
APIChanges: document git revision for CODEC_CAP_SLICE_THREADS addition.
Introduce slice threads flag.
FATE: allow forcing thread-type when doing threaded fate runs.
Use av_log_ask_for_sample() where appropriate.
error: sort, pack, and align error code and string definitions
The stabilization period after version bumps should be one month, not one week.
applehttp: Expose the stream bitrate via metadata
doc: Add some initial docs on the applehttp demuxer
Provide a fallback version of the libm function trunc
libavdevice: Define _XOPEN_SOURCE for usleep
lavc: provide deprecated avcodec_thread_init until next major version
lavc: provide the opt.h header until the next bump
error: change AVERROR_EOF value
error: remove AVERROR_NUMEXPECTED
error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c
Conflicts:
libavcodec/h264.c
libavutil/error.c
libavutil/error.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
In output_packet(), move the pre_process_video_frame() call inside the
if (ist->decoding_needed) { } block. This way
pre_process_video_frame() is not called when stream-copy has been
selected.
Also simplify.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
AVERROR_NUMEXPECTED is used only in the image muxer and demuxer, and
has a too much specific meaning, which is better explained through a
log message. Thus it can be replaced by AVERROR(EINVAL).
This breaks API.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master: (37 commits)
In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
lavc: remove reference to opt.h from Makefile.
prefer avio_check() over url_exist()
avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
lavu: remove misc disabled cruft
lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED lavu: remove FF_API_OLD_EVAL_NAMES cruft
lavc: remove misc disabled cruft.
lavc: remove the FF_API_INOFFICIAL cruft.
lavc: remove the FF_API_SET_STRING_OLD cruft.
lavc: remove the FF_API_USE_LPC cruft.
lavc: remove the FF_API_SUBTITLE_OLD cruft.
lavc: remove the FF_API_VIDEO_OLD cruft.
lavc: remove the FF_API_AUDIO_OLD cruft.
lavc: remove the FF_API_OPT_SHOW cruft.
lavc: remove the FF_API_MM_FLAGS cruft.
lavf: remove misc disabled cruft.
lavf: remove FF_API_INDEX_BUILT cruft
lavf: remove FF_API_URL_CLASS cruft.
lavf: remove FF_API_SYMVER cruft
...
Merged-by: Michael Niedermayer <michaelni@gmx.at>
The problem with url_exist() is that it tries to open a resource in
RDONLY mode. If the file is a FIFO and there is already a reading
client, the open() call will hang.
By using avio_check() with access mode of 0, the second reading
process will check if the file exists without attempting to open it,
thus avoiding the lock.
Fix issue #1663.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Make AVIO_FLAG_ access constants work as flags, and in particular fix
the behavior of functions (such as avio_check()) which expect them to
be flags rather than modes.
This breaks API.
Use av_log() rather than fprintf(stderr, ...), and show information
related to the previous size/pixel format configuration.
Consistent with the corresponding message issued in case of audio
configuration change.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Redesign the way -aspect option is handled. This is done by making
ffmpeg read the sample aspect ratio set in the corresponding input
stream by default, and overriding it using the value specified by
-aspect.
If the output display aspect ratio is specified with -aspect, it is
set at the end of the filterchain, thus overriding the value set by
filters in the filterchain.
This implementation is more robust, since does not modify the
filterchain description (which was creating potential syntax errors).
Prefer parse_number_or_die() over atoi()/atol() parsing for the options:
-pass, -top, -vc, and -qscale.
Improve input validation.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Mostly useful for the audio-filters branch, to make more apparent the
distinction between configure_audio_filters() and
configure_video_filters().
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
I think the documentation of sameq is causing confusion and misuse of
this option.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* qatar/master:
lavf: bump minor and add an APIChanges entry for avformat cleanup
lavf: get rid of ffm-specific stuff in avformat.h
Not pulled: avio: deprecate av_protocol_next().
avio: add a function for iterating though protocol names.
lavf: rename a parameter of av_sdp_create from buff->buf
lavf: rename avf_sdp_create to av_sdp_create.
lavf: make av_guess_image2_codec internal
avio: make URLProtocol internal.
avio: make URLContext internal.
lavf: mark av_pkt_dump(_log) for remove on $next+1 bump.
lavf: use designated initializers for all protocols
applehttp: don't use deprecated url_ functions.
avio: move two ff_udp_* functions from avio_internal to url.h
asfdec: remove a forgotten declaration of nonexistent function
avio: deprecate the typedef for URLInterruptCB
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
proto: include os_support.h in network.h
matroskaenc: don't write an empty Cues element.
lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
avio: move extern url_interrupt_cb declaration from avio.h to url.h
avio: make av_register_protocol2 internal.
avio: avio_ prefix for url_set_interrupt_cb.
avio: AVIO_ prefixes for URL_ open flags.
proto: introduce listen option in tcp
doc: clarify configure features
proto: factor ff_network_wait_fd and use it on udp
Conflicts:
ffmpeg.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
psymodel: extend API to include PE and bit allocation.
avio: always compile dyn_buf functions
Remove unnecessary parameter from ff_thread_init() and fix behavior
Revert "aac_latm_dec: use aac context and aac m4ac"
configure: tell user if libva is enabled like the rest of external libs.
Add silence support for AV_SAMPLE_FMT_U8.
avio: make URL_PROTOCOL_FLAG_NESTED_SCHEME internal
avio: deprecate av_url_read_seek
avio: deprecate av_url_read_pause
ac3enc: NEON optimised extract_exponents
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This is done by adding a setsar filter at the beginning of the
configured filterchain.
This implementation is more robust, since does not modify the
filterchain description (which was creating potential syntax errors),
but directly modifies the filterchain structure.
This also changes the ffmpeg -aspect behavior, as following filters in
the filterchain can change the DAR/SAR set by the inserted setsar
filter.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Currently bits_per_raw_sample is exposed as an AVCodecContext option.
The option is not very useful, because ffmpeg 1) overwrites it with
a value from the upstream codec, or 2) it resets the value whenever
the video is resampled.
This patch adds the -bits_per_raw sample option to FFmpeg, and
caches the value like is done for the -pix_fmt option.
Example usage:
ffmpeg v210.avi -pix_fmt rgb48 -bits_per_raw_sample 10 out%d.dpx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This reverts commit cb48e245e6.
Reason being we like pressing "q" to quit ffmpeg.
Conflicts:
ffmpeg.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The function was only used in opt_sample_fmt() for listing the sample
formats. Move list_fmts() functionality directly into
opt_sample_fmt().
Als fix the warning:
ffmpeg.c: In function ‘opt_audio_sample_fmt’:
ffmpeg.c:2877: warning: passing argument 1 of ‘list_fmts’ from incompatible pointer type
cmdutils.h:163: note: expected ‘void (*)(char *, int, int)’ but argument is of type ‘char * (*)(char *, int, enum AVSampleFormat)’
* newdev/master:
mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom.
Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser and decoder, and vice-versa for the AC-3 encoder.
Use audio_service_type to set stream disposition.
Add APIchanges entry for audio_service_type.
Add audio_service_type field to AVCodecContext for encoding and reporting of the service type in the audio bitstream.
configure: in check_ld, place new -l flags before existing ones
support @heading, @subheading, @subsubheading, and @subsubsection in texi2pod.pl
doc: update build system documentation
aacenc: indentation
aacenc: fix the side calculation in search_for_ms
vp8.c: rename EDGE_* to VP8_EDGE_*.
Conflicts:
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.h
libavcodec/vp8.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* newdev/master: (33 commits)
Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
Add kbdwin.o to AC3 decoder
Detect byte-swapped AC-3 and support decoding it directly.
cosmetics: indentation
Always copy input data for AC3 decoder.
ac3enc: make sym_quant() branch-free
cosmetics: indentation
Add a CPU flag for the Atom processor.
id3v2: skip broken tags with invalid size
id3v2: don't explicitly skip padding
Make sure kbhit() is in conio.h
fate: update wmv8-drm reference
vc1: make P-frame deblock filter bit-exact.
configure: Add the -D parameter to the dlltool command
amr: Set the AVFMT_GENERIC_INDEX flag
amr: Set the pkt->pos field properly to the start of the packet
amr: Set the codec->bit_rate field based on the last packet
rtsp: Specify unicast for TCP interleaved streams, too
Set the correct target for mingw64 dlltool
applehttp: Change the variable for stream position in seconds into int64_t
...
Conflicts:
ffmpeg.c
ffplay.c
libavcodec/ac3dec.c
libavformat/avio.h
libavformat/id3v2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Conio.h is a non-standard header and may not have kbhit()
prototyped. This fixes compile on OS/2 where the EMX version (we're
using a fork) of conio.h only has getch() and getche().
Signed-off-by: Mans Rullgard <mans@mansr.com>
Remove usage of tcgetattr and tcsetattr to modify terminal
parameters, and rely on ctrl-c to stop instead of pressing 'q'.
On systems with conio.h, keep the old behavior.
Changing the terminal settings causes problems if multiple instances
are running asynchronously on the same terminal, such as during a
parallel FATE run, or if the process crashes before restoring the
terminal. In both cases, the terminal state is messed up requiring
a manual reset.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Change "file:stream[:syncfile:syncstream]" to
"file.stream[:syncfile.syncstream]", the latter syntax is more
consistent with the stream identifier form printed by
av_dump_format(), and more readable. Both syntaxes are currently
accepted by the opt_map() code.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
This makes dumped packet timestamps proper for streams with
timebases other than AV_TIME_BASE.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 5e33e7bdac)
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
This check only caught explicitly set sizes from the cmd line and overriding
the users wish seems silly, especially as it seems to work.
Originally committed as revision 20634 to svn://svn.ffmpeg.org/ffmpeg/trunk
This should make the default behave more like one would expect and not
change behavior at 1000fps.
Originally committed as revision 20615 to svn://svn.ffmpeg.org/ffmpeg/trunk
the loglevel command line option.
Make the loglevel option help message more clear, since the option
argument is shown as a single token, and make the whole message better
aligned with the other help messages.
Originally committed as revision 20149 to svn://svn.ffmpeg.org/ffmpeg/trunk
per AVPacket
No longer print "Multiple frames in a packet" error message
when CODEC_CAP_SUBFRAMES is set (wmapro, wavpack)
Originally committed as revision 19881 to svn://svn.ffmpeg.org/ffmpeg/trunk