av_samples_alloc() behavior changed in bbb46f3ec, resulting in random
data filling the data[] and linesize[] arrays of the returned
AVFilterBufferRef, which was resulting in wrong behavior in case of code
checking on data[i] nullity.
In particular fixes crash in avfilter_filter_samples():
for (i = 0; samplesref->data[i]; i++)
memcpy(link->cur_buf->data[i], samplesref->data[i], samplesref->linesize[0]);
and correctly fills the linesize[] array for planar data.
* qatar/master:
libavutil: add utility functions to simplify allocation of audio buffers.
libavutil: add planar sample formats and av_sample_fmt_is_planar()
avconv: fix segfault at EOF with delayed pictures
pcmdec: remove unneeded resetting of samples pointer
avconv: remove a now unused parameter from output_packet().
avconv: formatting fixes in output_packet()
avconv: declare some variables in blocks where they are used
avconv: use the same behavior when decoding audio/video/subs
bethsoftvideo: return proper consumed size for palette packets.
cdg: skip packets that don't contain a cdg command.
crcenc: add flags
avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
tiffenc: add a private option for selecting compression algorithm
md5enc: add flags
ARM: remove needless .text/.align directives
Conflicts:
doc/APIchanges
libavcodec/tiffenc.c
libavutil/avutil.h
libavutil/samplefmt.c
libavutil/samplefmt.h
tests/ref/fate/bethsoft-vid
tests/ref/fate/cdgraphics
tests/ref/fate/film-cvid-pcm-stereo-8bit
tests/ref/fate/mpeg2-field-enc
tests/ref/fate/nuv
tests/ref/fate/tiertex-seq
tests/ref/fate/tscc-32bit
tests/ref/fate/vmnc-32bit
Merged-by: Michael Niedermayer <michaelni@gmx.at>
A function name should tell what the function does rather than what
the function returns. This also avoids possible conflicts
(e.g. between a function and a public list of all supported formats),
and clarifies the code.
Breaks audio API/ABI, add a backward compatibility layer for video
API/ABI.
The additional parameters were never used and are complicating the
function interface. Also, they were inconsistent with the way the
video API works.
So this assumes that a requested samples buffer will have *always* the
format specified in the requested link.
This breaks audio filtering API and ABI.
void* pointer arithmetic semantics is undefined, use uint8_t* instead.
Also fix GCC warnings:
defaults.c: In function ‘set_common_formats’:
defaults.c:184: warning: pointer of type ‘void *’ used in arithmetic
defaults.c:189: warning: pointer of type ‘void *’ used in arithmetic
Link properties have to be checked after config_props() is called to
make sure everything is sane, so the default config_props() for output
links was redundant.
Also remove channel_layout check as it is now negotiated.
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Remove AVFilterBufferRefAudioProps.size, and use nb_samples in
avfilter_get_audio_buffer() and avfilter_default_get_audio_buffer() in
place of size.
This is required as the size in the audio buffer may be aligned, so it
may not contain a well defined number of samples.
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>
libavfilter/defaults.c: In function 'avfilter_default_get_audio_buffer':
libavfilter/defaults.c:129: warning: 'buf' is used uninitialized in this function
Originally committed as revision 26382 to svn://svn.ffmpeg.org/ffmpeg/trunk
More consistent with the rest of FFmpeg and sounds more natural to
English speaking people.
Originally committed as revision 26374 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
This is required for allowing a filter to use a time base different
from AV_TIME_BASE_Q, as it was previously assumed.
Originally committed as revision 25441 to svn://svn.ffmpeg.org/ffmpeg/trunk
This is required to make AVFilterBufferRef able to contain also audio
data, required by audio filtering integration.
Patch by S.N. Hemanth Meenakshisundaram smeen?ks@ucsd.ed?.
Originally committed as revision 24773 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
AVFilterBuffereRef in avfilter_default_get_video_buffer().
The error was being caused by the previous patch which resized
AVFilterBuffer's data and linesize arrays to 8.
Patch by S.N. Hemanth Meenakshisundaram" &smeenaks&ucsd&edu&.
Originally committed as revision 24727 to svn://svn.ffmpeg.org/ffmpeg/trunk
libavcore/imgutils.c rather than ff_fill_linesize() and
ff_fill_pointer().
Also remove a dependency on libavcodec.
Originally committed as revision 24586 to svn://svn.ffmpeg.org/ffmpeg/trunk