Manfred Georg
577899a645
lavc: specify the behavior of av_lockmgr_register on failure.
...
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>
2014-10-06 18:20:17 +00:00
Rémi Denis-Courmont
1c80c9d7ef
hwaccel: Call ->get_format again if hwaccel init fails
...
This allows the application to fall back on another hwaccel or,
more likely, software decoding.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-26 21:28:36 +02:00
Vittorio Giovara
9301486408
avcodec: add stream-level stereo3d side data
2014-08-28 12:33:26 -04:00
Gabriel Dume
4b1f5e5090
cosmetics: Write NULL pointer inequality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Anton Khirnov
d63443b968
lavc: drop the av_fast_{re,m}alloc compatibility wrappers
...
They were only needed until the bump.
2014-08-10 15:40:38 +00:00
Anton Khirnov
472f9ed312
Remove obsolete FF_API_AVFRAME_COLORSPACE cruft.
2014-08-09 16:59:13 +00:00
Diego Biurrun
53abe32409
avcodec: Mark argument in av_{parser|hwaccel|bitstream_filter}_next as const
2014-07-26 14:51:16 -07:00
Diego Biurrun
eba2233b58
build: Add define for SIMD extensions requiring 16-byte aligned buffers
2014-07-22 11:46:35 -07:00
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
2014-07-17 09:07:10 -07:00
Diego Biurrun
3c650efb81
dsputil: Move draw_edges() to mpegvideoencdsp
2014-07-06 14:48:50 -07:00
Anton Khirnov
1b04eb20f7
lavc: do not allocate edges in the default get_buffer2()
2014-06-26 16:02:12 +02:00
Justin Ruggles
9e500efdbe
Add av_image_check_sar() and use it to validate SAR
2014-06-20 10:39:33 -04:00
wm4
eb800f120d
libavcodec: set AVFrame colorspace fields on decoding
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-01 08:23:05 +02:00
Vittorio Giovara
bddd8cbf68
Add transformation matrix API.
...
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>
2014-05-19 13:13:10 +02:00
Anton Khirnov
e1b66778b6
lavc: remove the locking code in avcodec_close()
...
This function should not modify any global state, so there should be no
reason for any locking.
2014-05-18 10:16:35 +02:00
Anton Khirnov
dd2d3b766b
lavc: Add hwaccel private data and init/uninit callbacks
2014-05-11 14:59:07 +02:00
Luca Barbato
ebc29519d1
hwaccel: Support specific frame allocators
...
It would reduce the boilerplate code users have to write.
2014-05-11 14:59:07 +02:00
Anton Khirnov
5c1d7246cd
lavc: set AVCodecContext.hwaccel in ff_get_format()
...
This way each decoder does not have to do the same thing manually.
2014-05-11 14:59:07 +02:00
Anton Khirnov
632ad2248e
lavc: Add an internal wrapper around get_format()
...
It will be useful in the following commits.
2014-05-11 14:59:07 +02:00
Anton Khirnov
e7fc9796d8
lavc: do not use AVCodecContext.codec_name in avcodec_string()
...
That field will be deprecated.
2014-05-01 09:26:57 +02:00
Vittorio Giovara
6ef96292d9
utils: add yvyu422 to avcodec_align_dimensions2
2014-04-19 16:20:58 +02:00
wm4
f6774f905f
mpegvideo: operate with pointers to AVFrames instead of whole structs
...
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>
2014-04-09 02:12:19 +02:00
Anton Khirnov
4a0f665143
libavcodec: when decoding, copy replaygain side data to decoded frames
2014-03-24 06:07:51 +01:00
Anton Khirnov
8feac29cc4
lavc: use AVFrame API properly in ff_reget_buffer()
2014-02-24 07:25:07 +01:00
John Stebbins
52771346dc
lavc: set AVFrame pkt_pts and reordered_opaque in reget_buffer
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-02-11 14:25:01 +01:00
Diego Biurrun
190d4a447b
avcodec: Suppress deprecation warnings from avcodec_alloc_frame()
...
The function is itself obsolete and slated for removal.
2014-02-04 13:46:20 +01:00
Anton Khirnov
e0ab5078a7
lavc: do not force the emu edge flag
...
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.
2014-01-21 17:54:09 +01:00
Anton Khirnov
93c553c71e
lavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().
2014-01-20 12:52:28 +01:00
Anton Khirnov
f7e85ee996
lavc: allow the caller to override dimensions in ff_get_buffer()
...
This will be useful for allocating edges in the encoders.
2014-01-20 12:49:47 +01:00
Anton Khirnov
50079a6aa9
lavc: do not leak the internal frame if opening the codec fails
2014-01-06 08:21:58 +01:00
Anton Khirnov
8058284ce0
lavc: add 422/444 YUV with alpha to align_dimensions()
...
Aligns frame dimensions to 16, which fixes potential invalid writes.
2014-01-06 08:20:56 +01:00
Tim Walker
5b4797a21d
avframe: add AV_FRAME_DATA_MATRIXENCODING side data type.
...
Includes a libavcodec utility function to update a frame's side data.
2014-01-05 16:41:56 +01:00
Anton Khirnov
d7b3ee9a3a
lavc: deprecate avcodec_get_frame_defaults().
...
Also bump libavcodec micro and add an APIchanges entry saying that
av_frame_* should now be used instead of the lavc AVFrame functions.
2013-12-11 20:39:55 +01:00
Anton Khirnov
95a8a5aca6
lavc: call av_frame_unref() instead of avcodec_get_frame_defaults().
...
avcodec_get_frame_defaults() will be deprecated.
2013-12-11 20:39:55 +01:00
Anton Khirnov
9431356218
lavc: deprecate avcodec_free_frame()
...
av_frame_free() should be used instead.
2013-12-11 20:39:54 +01:00
Anton Khirnov
37a749012a
lavc: rework handling of refcounted_frames=0
...
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().
2013-12-09 08:54:29 +01:00
Anton Khirnov
a1ee164869
lavc/decode_video(): always unref the frame if there is no output in 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.
2013-12-09 08:44:34 +01:00
Anton Khirnov
85f947aefb
lavc: remove a pointless check in decode_audio4()
...
av_frame_unref() works fine on unallocated frames.
2013-12-09 08:44:24 +01:00
Anton Khirnov
d4f0f2d1e8
lavc: use buf[0] instead of data[0] as the indicator of an allocated frame
...
data[0] may be NULL for valid frames with hwaccel pixel formats.
2013-12-09 08:44:11 +01:00
Anton Khirnov
e5419709f5
lavc: remove the extended_data workarounds.
...
All decoders should now handle it properly.
2013-12-09 08:42:52 +01:00
Anton Khirnov
b9fb59d2ab
lavc: deprecate avcodec_alloc_frame().
2013-11-16 12:44:50 +01:00
Anton Khirnov
5b9c3b4505
Replace all instances of avcodec_alloc_frame() with av_frame_alloc().
2013-11-16 12:44:20 +01:00
Anton Khirnov
cce3e0a49f
Move av_fast_{m,re}alloc from lavc to lavu.
2013-11-14 09:42:22 +01:00
Luca Barbato
08303d7741
hwaccel: Simplify ff_find_hwaccel
...
It is always called by passing fields from an AVCodecContext.
2013-11-10 13:59:48 +01:00
Anton Khirnov
da6506c607
lavc: move AVCodecContext.pkt to AVCodecInternal
...
It's a private field, not meant to be accessed from outside lavc.
2013-11-04 08:51:26 +01:00
Anton Khirnov
38ecc3702d
pthread: store thread contexts in AVCodecInternal instead of AVCodecContext
...
It's a private field, it should not be visible to callers.
Deprecate AVCodecContext.thread_opaque
2013-11-04 08:51:26 +01:00
Anton Khirnov
0f6c1d6d64
lavc/utils: stop using deprecated avcodec_set_dimensions
2013-10-31 20:14:14 +01:00
Anton Khirnov
7644f5a807
lavc: replace avcodec_set_dimensions with ff_set_dimensions
...
avcodec_set_dimensions() is supposed to be an internal utility function,
there is no reason whatsoever for it to be public. Therefore deprecate
it.
2013-10-31 20:14:14 +01:00
Anton Khirnov
b9589f5a77
lavc: add error checking to apply_param_change.
2013-10-30 08:43:03 +01:00