1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

59 Commits

Author SHA1 Message Date
Andreas Rheinhardt
5094d1f429 avutil/fifo: Constify AVFifo pointees in peek functions
They do not modify the AVFifo state.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2023-09-12 09:20:49 +02:00
Anton Khirnov
ea5b375e0e lavu/fifo: clarify interaction of AV_FIFO_FLAG_AUTO_GROW with av_fifo_write() 2022-09-05 08:59:36 +02:00
Anton Khirnov
8728808b3e lavu/fifo: clarify interaction of AV_FIFO_FLAG_AUTO_GROW with av_fifo_can_write() 2022-09-05 08:59:14 +02:00
Anton Khirnov
c9b6fd27bf lavu/fifo: add the header to its own doxy group
Also, drop mentions of it being a circular buffer, as this is an
internal implementation detail that should be invisible to the caller.
2022-09-05 08:58:51 +02:00
Andreas Rheinhardt
0a1a8fcd56 avutil/fifo: Don't include avutil.h
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-02-24 12:56:49 +01:00
Anton Khirnov
a10f1aec1f avutil/fifo: Deprecate old FIFO API
Users should switch to the superior AVFifo API.

Unfortunately AVFifoBuffer fields cannot be marked as deprecated because
it would trigger a warning wherever fifo.h is #included, due to
inlined av_fifo_peek2().
2022-02-07 00:31:49 +01:00
Anton Khirnov
14429f8fec lavu/fifo: add a flag for automatically growing the FIFO as needed
This will not increase the FIFO beyond 1MB, unless the caller explicitly
specifies otherwise.
2022-02-07 00:31:23 +01:00
Anton Khirnov
7329b22c05 lavu/fifo: Add new AVFifo API based upon the notion of element size
Many AVFifoBuffer users operate on fixed-size elements (e.g. pointers),
but the current FIFO API deals exclusively in bytes, requiring extra
complexity in all these callers.

Add a new AVFifo API creating a FIFO with an element size
that may be larger than a byte. All operations on such a FIFO then
operate on complete elements.

This API does not reuse AVFifoBuffer and its API at all, but instead uses
an opaque struct called AVFifo. The AVFifoBuffer API will be deprecated
in a future commit once all of its users have been switched to the new
API.

Not reusing AVFifoBuffer also allowed to use the full range of size_t
from the beginning.
2022-02-07 00:30:22 +01:00
Anton Khirnov
f480c43dfa lavu/fifo: return errors on trying to read/write too much
Trying to write too much will currently overwrite previous data. Trying
to read too much will either av_assert2() in av_fifo_drain() or return
old data. Trying to peek too much will either av_assert2() in
av_fifo_generic_peek_at() or return old data.

Return an error code in all these cases, which is safer and more
consistent.
2022-01-10 16:11:34 +01:00
Anton Khirnov
63b013aa68 lavu/fifo: deprecate av_fifo_peek2()
It returns a pointer inside the fifo's buffer, which cannot be safely
used without accessing AVFifoBuffer internals. It is easier and safer to
use av_fifo_generic_peek_at().
2022-01-10 16:04:19 +01:00
Zhang Rui
87ff61b9ab avutil/fifo: add function av_fifo_generic_peek_at()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-14 20:23:58 +02:00
Paul B Mahol
2fa019958b avfilter: add showfreqs filter 2015-08-19 16:15:13 +00:00
Michael Niedermayer
5182a2a235 avutil: remove FF_CONST_AVUTIL53, its no longer needed
version is 54 already

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-24 02:22:19 +01:00
Lukasz Marek
7336e39f3c lavu/fifo: add av_fifo_alloc_array function
Allows to alloc fifo buffer by passing
number of elements and size of element.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-20 00:00:44 +02:00
Michael Niedermayer
acb6f3af4f avutil/fifo: delay addition of const from 78d3453c4a until next major ABI bump
This unbreaks API, for example audacity has more build errors due to this

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-14 15:44:01 +02:00
Lukasz Marek
351f6118c7 lavu/fifo: add av_fifo_freep function
Function allows to free fifo and reset freed pointer.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-07 23:39:42 +02:00
Lukasz Marek
78d3453c4a lavu/fifo: add const to arguments
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 17:32:24 +02:00
Michael Niedermayer
35ce42e070 Merge commit '8b8899ac3233b4f7af83ded0dc032fad8902d714'
* commit '8b8899ac3233b4f7af83ded0dc032fad8902d714':
  fate: Declare avcodec/avformat deps in the respective Makefile snippets
  fate: Add dependencies for WMA and WavPack tests
  Improve wording and spelling of av_log_missing_feature messages.
  lavu: remove disabled FF_API_AV_FIFO_PEEK cruft

Conflicts:
	libavcodec/aacsbr.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-23 15:00:27 +02:00
Anton Khirnov
00ed7f5958 lavu: remove disabled FF_API_AV_FIFO_PEEK cruft 2012-10-23 07:33:05 +02:00
Michael Niedermayer
c581cb4e4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix even more missing includes after the common.h removal
  build: Factor out rangecoder dependencies to CONFIG_RANGECODER
  build: Factor out error resilience dependencies to CONFIG_ERROR_RESILIENCE
  x86: avcodec: Consistently name all init files
  Add more missing includes after removing the implicit common.h
  Add some more missing includes after removing the implicit common.h
  Don't include common.h from avutil.h
  rtmp: Automatically compute the hash for SWFVerification

Conflicts:
	configure
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/Makefile
	libavcodec/assdec.c
	libavcodec/audio_frame_queue.c
	libavcodec/avpacket.c
	libavcodec/dv_profile.c
	libavcodec/dwt.c
	libavcodec/libtheoraenc.c
	libavcodec/rawdec.c
	libavcodec/rv40dsp.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c
	libavcodec/v210dec.h
	libavcodec/vc1dsp.c
	libavcodec/x86/Makefile
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.c
	libavfilter/buffer.c
	libavfilter/formats.c
	libavfilter/vf_ass.c
	libavfilter/vf_drawtext.c
	libavfilter/vf_fade.c
	libavfilter/vf_select.c
	libavfilter/video.c
	libavfilter/vsrc_testsrc.c
	libavformat/version.h
	libavutil/audioconvert.c
	libavutil/error.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-16 16:20:30 +02:00
Martin Storsjö
1d9c2dc89a Don't include common.h from avutil.h
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Michael Niedermayer
f8196759b4 fifo: add av_fifo_grow()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-15 18:08:32 +02:00
Stefano Sabatini
bf917e26e1 fifo: add note in av_fifo_realloc2() doxy regarding reallocation failure behavior 2011-08-30 10:03:13 +02:00
Michael Niedermayer
3dd44e5075 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Use deinterleavers for demangling audio packets in RealMedia.
  vf_scale: don't leak SWS context.
  doxygen: drop another pointless star from pointer variable name

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-28 00:15:05 +02:00
Diego Biurrun
fa19c5c20e doxygen: drop another pointless star from pointer variable name 2011-08-27 14:00:54 +02:00
Michael Niedermayer
094a496818 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fifo: add FIFO API test program, and fate test
  fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
  postprocess.c: filter name needs to be double 0 terminated
  doxygen: fix wrong comment syntax, //< vs. ///<
  doxygen: drop pointless star from pointer variable names
  Replace deprecated av_find_stream_info() by avformat_find_stream_info().
  xmv: eliminate superfluous zeroing of zero data
  configure: fix typo in avconv dependency list

Conflicts:
	configure
	doc/APIchanges
	libavutil/Makefile
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-26 23:18:54 +02:00
Stefano Sabatini
f2011ed234 fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
The new function provides a more generic interface than av_fifo_peek()
for peeking at a FIFO buffer data.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-26 20:53:02 +02:00
Diego Biurrun
0138a8dead doxygen: drop pointless star from pointer variable names 2011-08-26 18:08:38 +02:00
Stefano Sabatini
323b930699 fifo: add av_fifo_peek2(), and deprecate av_fifo_peek()
The new function provides a more flexible interface for peeking at a
FIFO buffer data.
2011-08-14 01:56:28 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
b9bd6589d7 Clarify doxy for av_fifo_alloc().
Originally committed as revision 22812 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-06 22:31:59 +00:00
Måns Rullgård
2ed6f39944 Replace many includes of libavutil/common.h with what is actually needed
This reduces the number of false dependencies on header files and
speeds up compilation.

Originally committed as revision 22407 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 17:39:19 +00:00
Stefano Sabatini
3314799368 Extend doxy for the src parameter of av_fifo_generic_write().
@patchby Tomas Härdin |tomas dot hardin at codemill dot se|

Originally committed as revision 22043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 23:52:52 +00:00
Olivier Guilyardi
7b09db3522 Implement av_fifo_space().
Patch by Olivier Guilyardi list et samalyse DOT c0m.

Originally committed as revision 18321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-02 23:22:19 +00:00
Reimar Döffinger
3898eed890 Reorder arguments for av_fifo_generic_read to be more logical and
consistent with av_fifo_generic_write.

Originally committed as revision 17914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 17:47:47 +00:00
Reimar Döffinger
32b936d0c3 Add av_fifo_reset function to completely reset fifo state, which makes
it easier to reuse the fifo.

Originally committed as revision 17901 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-09 09:26:32 +00:00
Reimar Döffinger
fe4032b66a Remove more functions disabled by major version bump.
Originally committed as revision 17876 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 15:02:12 +00:00
Reimar Döffinger
cddcf8c60f Remove av_fifo_read, API is already broken and major version will be bumped soon.
Originally committed as revision 17870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:21:56 +00:00
Michael Niedermayer
41dd680dd8 Allocate AVFifoBuffer through the fifo API to reduce future API/ABI issues.
Yes this breaks ABI/API but ive already broken it and will bump avutil major
soon.

Originally committed as revision 17869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-08 14:16:55 +00:00
Michael Niedermayer
0a71e78ce4 Try to fix the 1 byte cannot be used issue.
Originally committed as revision 17865 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-07 21:02:08 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Diego Biurrun
89c9ff504b spelling/grammar/consistency review part I
Originally committed as revision 16840 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-28 00:16:05 +00:00
Diego Biurrun
5090122f90 Drop deprecated av_fifo_write function with the next libavutil version bump.
Originally committed as revision 16782 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-25 19:22:47 +00:00
Aurelien Jacobs
af5f434f8c add the necessary include for LIBAV*_VERSION_*
Originally committed as revision 16571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 00:14:43 +00:00
Stefano Sabatini
987903826b Globally rename the header inclusion guard names.
Consistently apply this rule: the guard name is obtained from the
filename by stripping the leading "lib", converting '/' and '.'  to
'_' and uppercasing the resulting name. Guard names in the root
directory have to be prefixed by "FFMPEG_".

Originally committed as revision 15120 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-31 07:39:47 +00:00
Stefano Sabatini
e8e2b2ef17 Deprecate av_fifo_realloc(). av_fifo_realloc2() should be used instead.
Originally committed as revision 14855 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-19 22:15:05 +00:00
Stefano Sabatini
8257b835cf Implement av_fifo_realloc2().
Originally committed as revision 14846 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-19 18:43:34 +00:00
Michael Niedermayer
fa3b98182d Ensure that one can store X bytes in a fifo of size X.
Fixed issue417.

Originally committed as revision 13405 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-25 23:04:09 +00:00