- 31 Aug, 2017 2 commits
-
-
Martin Storsjö authored
This avoids having to use pseudo relocations. The version script used for exporting functions is skipped as soon as the set of object files contains symbols marked with dllexport, therefore we need to use makedef to produce the full list of symbols to be exported. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
Martin Storsjö authored
We currently only have exported data symbols within libavcodec, but the concept is easy to extend to other libraries if necessary. The attribute declaration needs to be in a private header though, since we can't use CONFIG_SHARED in public installed headers. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 23 Mar, 2017 1 commit
-
-
Vittorio Giovara authored
Deprecated in 10/2014 and 07/2015.
-
- 12 Jan, 2017 1 commit
-
-
Anton Khirnov authored
Also, add generic code for handling cropping, so the decoders can export just the cropping size and not bother with the rest.
-
- 14 Dec, 2016 3 commits
-
-
Anton Khirnov authored
-
Anton Khirnov authored
Currently, the new decoding API is pretty much just a wrapper around the old deprecated one. This is problematic, since it interferes with making full use of the flexibility added by the new API. The old API should also be removed at some future point. Reorganize the code so that the new send_packet/receive_frame functions call the actual decoding directly and change the old deprecated avcodec_decode_* functions into wrappers around the new API. The new internal API for decoders is now changing as well. Before this commit, it mirrors the public API, so the decoders need to implement send_packet() and receive_frame() callbacks. This turns out to require awkward constructs in both the decoders and the generic code. After this commit, the decoders only implement the receive_frame() callback and call a new internal function, ff_decode_get_packet() to obtain input data, in the same manner to how the bitstream filters now work. avcodec will now always make a reference to the input packet, which means that non-refcounted input packets will be copied. Keeping the previous behaviour, where this copy could sometimes be avoided, would make the code significantly more complex and fragile for only dubious gains, since packets are typically small and everyone who cares about performance should use refcounted packets anyway.
-
Anton Khirnov authored
The current code stores a pointer to the packet passed to the decoder, which is then used during get_buffer() for timestamps and side data passthrough. However, since this is a pointer to user data which we do not own, storing it is potentially dangerous. It is also ill defined for the new decoding API with split input/output. Fix this problem by making an explicit internally owned copy of the packet properties.
-
- 23 Mar, 2016 1 commit
-
-
wm4 authored
Until now, the decoding API was restricted to outputting 0 or 1 frames per input packet. It also enforces a somewhat rigid dataflow in general. This new API seeks to relax these restrictions by decoupling input and output. Instead of doing a single call on each decode step, which may consume the packet and may produce output, the new API requires the user to send input first, and then ask for output. For now, there are no codecs supporting this API. The API can work with codecs using the old API, and most code added here is to make them interoperate. The reverse is not possible, although for audio it might. Signed-off-by:
Anton Khirnov <anton@khirnov.net>
-
- 08 Dec, 2015 1 commit
-
-
Luca Barbato authored
Avoid the warning `-Wempty-body`.
-
- 06 Dec, 2015 1 commit
-
-
Anton Khirnov authored
-
- 05 Dec, 2015 1 commit
-
-
Luca Barbato authored
Avoid the warning `-Wempty-body`.
-
- 12 Sep, 2015 1 commit
-
-
wm4 authored
The generic code in utils.c sets the AVFrame.pkt_dts field from the packet it was supposedly decoded. This does not have to be true for a fully asynchronous decoder like mmaldec. It could be overwritten with an incorrect value. Even if the decoder doesn't determine the DTS (but sets it to AV_NOPTS_VALUE), it's impossible to determine a correct value in utils.c. Decoders can now be marked with FF_CODEC_CAP_SETS_PKT_DTS, in which case utils.c won't overwrite the field. The decoders are expected to set this field (even if they only set it to AV_NOPTS_VALUE). Signed-off-by:
Luca Barbato <lu_zero@gentoo.org>
-
- 27 Jul, 2015 1 commit
-
-
Vittorio Giovara authored
Signed-off-by:
Vittorio Giovara <vittorio.giovara@gmail.com>
-
- 02 Jul, 2015 1 commit
-
-
Vittorio Giovara authored
They are used by dnxhd and mpegvideo_enc exclusively, move them to codec private options instead. Signed-off-by:
Vittorio Giovara <vittorio.giovara@gmail.com>
-
- 24 Apr, 2015 1 commit
-
-
Vittorio Giovara authored
Improves Coverity analysis, avoiding "double semicolon" CIDs.
-
- 19 Apr, 2015 1 commit
-
-
Vittorio Giovara authored
-
- 05 Apr, 2015 1 commit
-
-
Martin Storsjö authored
The previous documentation was very vague and almost misleading. Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 13 Mar, 2015 1 commit
-
-
Vittorio Giovara authored
This field is designed for marking codec properties useful to lavc internals. Two internal capabilities are added: - FF_CODEC_CAP_INIT_THREADSAFE: codec can be opened without locks; - FF_CODEC_CAP_INIT_CLEANUP: codec frees memory if initialization fails.
-
- 17 Nov, 2014 1 commit
-
-
Vittorio Giovara authored
CC: libav-stable@libav.org Bug-Id: CID 1194387 / CID 1194389 / CID 1194393 / CID 1206638
-
- 20 Jun, 2014 1 commit
-
-
Justin Ruggles authored
-
- 11 May, 2014 3 commits
-
-
Anton Khirnov authored
-
Anton Khirnov authored
This way each decoder does not have to do the same thing manually.
-
Anton Khirnov authored
It will be useful in the following commits.
-
- 24 Mar, 2014 1 commit
-
-
Anton Khirnov authored
-
- 05 Jan, 2014 1 commit
-
-
Tim Walker authored
Includes a libavcodec utility function to update a frame's side data.
-
- 09 Dec, 2013 1 commit
-
-
Anton Khirnov authored
Use only proper AVFrame API (no assigning of whole frames, since that hardcodes sizeof(AVFrame) into lavc). Make a copy of the side data, so the caller can use av_frame_unref/free on non-refcounted frames, eliminating the need for avcodec_get_frame_defaults()/avcodec_free_frame().
-
- 10 Nov, 2013 1 commit
-
-
Luca Barbato authored
It is always called by passing fields from an AVCodecContext.
-
- 04 Nov, 2013 2 commits
-
-
Anton Khirnov authored
It's a private field, not meant to be accessed from outside lavc.
-
Anton Khirnov authored
It's a private field, it should not be visible to callers. Deprecate AVCodecContext.thread_opaque
-
- 31 Oct, 2013 1 commit
-
-
Anton Khirnov authored
avcodec_set_dimensions() is supposed to be an internal utility function, there is no reason whatsoever for it to be public. Therefore deprecate it.
-
- 26 Mar, 2013 1 commit
-
-
Martin Storsjö authored
Also move the declaration to internal.h, and add restrict qualifiers to the declaration (as in the implementation). Signed-off-by:
Martin Storsjö <martin@martin.st>
-
- 09 Mar, 2013 1 commit
-
-
Anton Khirnov authored
-
- 08 Mar, 2013 2 commits
-
-
Anton Khirnov authored
This is the most that can be represented with the current channel layout system. This limit should be raised/removed when a better system is implemented.
-
Anton Khirnov authored
-
- 06 Mar, 2013 1 commit
-
-
Diego Biurrun authored
-
- 04 Dec, 2012 2 commits
-
-
Anton Khirnov authored
Any performance gain from this is negligible and not worth the extra code.
-
Anton Khirnov authored
It will be useful in the upcoming transition to refcounted AVFrames.
-
- 13 Nov, 2012 1 commit
-
-
Luca Barbato authored
It is used only in one place and is unlikely it would be needed elsewhere.
-
- 01 Nov, 2012 1 commit
-
-
Justin Ruggles authored
-
- 08 Oct, 2012 1 commit
-
-
Anton Khirnov authored
-