| Commit message (Collapse) | Author | Age |
|
|
|
| |
For both audio and video.
|
|
|
|
|
|
|
|
|
|
|
| |
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.
Add a new field, called 'framerate', to replace the use of time_base for
decoding.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, the amount of padding inserted at the beginning by some audio
encoders, is exported through AVCodecContext.delay. However
- the term 'delay' is heavily overloaded and can have multiple different
meanings even in the case of audio encoding.
- this field has entirely different meanings, depending on whether the
codec context is used for encoding or decoding (and has yet another
different meaning for video), preventing generic handling of the codec
context.
Therefore, add a new field -- AVCodecContext.initial_padding. It could
conceivably be used for decoding as well at a later point.
|
| |
|
| |
|
|
|
|
| |
Also always report pixel format.
|
| |
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
|
|
|
|
|
| |
The register function now specifies that the user callback should
leave things in the same state that it found them on failure but
that failure to destroy is ignored by the library. The register
function is now explicit about its behavior on failure
(it unregisters the previous callback and destroys all mutex).
Signed-off-by: Manfred Georg <mgeorg@google.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
|
| |
This allows the application to fall back on another hwaccel or,
more likely, software decoding.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
|
| |
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
| |
Signed-off-by: Diego Biurrun <diego@biurrun.de>
|
|
|
|
| |
They were only needed until the bump.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
|
|
|
|
|
| |
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.
Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
| |
This function should not modify any global state, so there should be no
reason for any locking.
|
| |
|
|
|
|
| |
It would reduce the boilerplate code users have to write.
|
|
|
|
| |
This way each decoder does not have to do the same thing manually.
|
|
|
|
| |
It will be useful in the following commits.
|
|
|
|
| |
That field will be deprecated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The most interesting parts are initialization in ff_MPV_common_init() and
uninitialization in ff_MPV_common_end().
ff_mpeg_unref_picture and ff_thread_release_buffer have additional NULL
checks for Picture.f, because these functions can be called on
uninitialized or partially initialized Pictures.
NULL pointer checks are added to ff_thread_release_buffer() stub function.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
| |
The function is itself obsolete and slated for removal.
|
|
|
|
|
|
|
| |
The default get_buffer2() implementation (and possibly some
user ones) does not allocate edges when this flag is set, which may
expose bugs in some decoders. Until the 10 release is out, it is safer
to remove this part.
|
| |
|
|
|
|
| |
This will be useful for allocating edges in the encoders.
|
| |
|
|
|
|
| |
Aligns frame dimensions to 16, which fixes potential invalid writes.
|
|
|
|
| |
Includes a libavcodec utility function to update a frame's side data.
|
|
|
|
|
| |
Also bump libavcodec micro and add an APIchanges entry saying that
av_frame_* should now be used instead of the lavc AVFrame functions.
|
|
|
|
| |
avcodec_get_frame_defaults() will be deprecated.
|
|
|
|
| |
av_frame_free() should be used instead.
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
| |
decode_video
Not just on failure. This is the same thing that is done in the audio
path and should prevent leaks in decoders that allocate a frame, but
then end up not writing into it.
|
|
|
|
| |
av_frame_unref() works fine on unallocated frames.
|
|
|
|
| |
data[0] may be NULL for valid frames with hwaccel pixel formats.
|
|
|
|
| |
All decoders should now handle it properly.
|
| |
|