Michael Niedermayer
495eee0123
Merge commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370'
...
* commit '40cf1bbacc6220a0aa6bed5c331871d43f9ce370':
Deprecate avctx.coded_frame
Conflicts:
ffmpeg.c
libavcodec/a64multienc.c
libavcodec/asvenc.c
libavcodec/cljrenc.c
libavcodec/dpxenc.c
libavcodec/gif.c
libavcodec/mpegvideo_enc.c
libavcodec/nvenc.c
libavcodec/proresenc_kostya.c
libavcodec/pthread_frame.c
libavcodec/rawenc.c
libavcodec/sunrastenc.c
libavcodec/tiffenc.c
libavcodec/version.h
libavcodec/xbmenc.c
libavcodec/xwdenc.c
libavdevice/v4l2.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 01:17:15 +02:00
Michael Niedermayer
809780ca42
avcodec/utils: Do not merge side data for encoders
...
With side data now being added to every MPEG*/H26* video encoder
in the form of a quality scalar, software which simply stores
the pkt->data to get an ES stream would break.
This also as a side-effect makes the code faster
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-21 00:54:59 +02:00
Michael Niedermayer
b1fad7ac20
Merge commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534'
...
* commit 'd6604b29ef544793479d7fb4e05ef6622bb3e534':
Gather all coded_frame allocations and free functions to a single place
Conflicts:
libavcodec/a64multienc.c
libavcodec/asvenc.c
libavcodec/cljrenc.c
libavcodec/dpxenc.c
libavcodec/dvenc.c
libavcodec/gif.c
libavcodec/huffyuvenc.c
libavcodec/jpeglsenc.c
libavcodec/libopenjpegenc.c
libavcodec/libtheoraenc.c
libavcodec/libvpxenc.c
libavcodec/mpegvideo_enc.c
libavcodec/nvenc.c
libavcodec/pngenc.c
libavcodec/proresenc_kostya.c
libavcodec/sunrastenc.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/utvideoenc.c
libavcodec/v210enc.c
libavcodec/v410enc.c
libavcodec/xbmenc.c
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-20 23:43:05 +02:00
Vittorio Giovara
40cf1bbacc
Deprecate avctx.coded_frame
...
The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.
There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.
The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 15:06:50 +01:00
Vittorio Giovara
d6604b29ef
Gather all coded_frame allocations and free functions to a single place
...
Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().
This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-20 14:16:15 +01:00
Michael Niedermayer
ea8785ceda
avcodec/utils: Check that channel count is valid in avcodec_open2();
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 18:17:45 +02:00
Carl Eugen Hoyos
8dad213143
lavc: Add properties field to AVCodecContext.
...
The new field can hold information about losslessness and closed captions for now.
2015-07-16 12:18:30 +02:00
Michael Niedermayer
10d7d0880c
avcodec/utils: Check that the sample rate is not negative when opening an encoder
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 03:51:33 +02:00
Michael Niedermayer
d6ff68ad85
Factor duplicated ff_fast_malloc() out into mem_internal.h
...
internal.h is difficult to use due to circular dependancies
mem.h is a public header ff_* is not public
Alternative solutions probably are possible too
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-13 02:41:43 +02:00
Michael Niedermayer
f8db81074a
avcodec/utils: Assert that the pointer is set when size is in ff_fast_malloc()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 23:36:45 +02:00
Michael Niedermayer
59a07df067
avcodec/utils: Avoid undefined void casts in ff_fast_malloc()
...
based on code from libavutil/mem.c
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 23:24:16 +02:00
Michael Niedermayer
bc976e5793
avcodec/utils: Fix potential overflow in overallocation code
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-11 22:46:44 +02:00
Michael Niedermayer
47d077337a
avcodec/utils: Document 32 min for h264 width
...
Suggested-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-10 18:31:42 +02:00
Michael Niedermayer
7ef6656b1e
avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
...
Fixes Assertion failure
Found-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-10 15:18:41 +02:00
Michael Niedermayer
e83ffb48ac
avcodec/utils: Check values in apply_param_change()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-08 12:06:17 +02:00
Marton Balint
859731d642
lavc/utils: get rid of add_metadata_from_side_data forward declaration
...
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 01:02:35 +02:00
Marton Balint
9476c4c67e
lavc/utils: call add_metadata_from_side_data in ff_init_buffer_info
...
This should ensure that each frame get its metadata from its proper packet
regardless of frame delays caused by reordering or threading.
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 00:39:29 +02:00
Marton Balint
10b6a83fb3
lavc/utils: change add_metadata_from_side_data to accept avpacket
...
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 00:08:48 +02:00
Marton Balint
3a19fe0048
lavc/utils: remove redundant call to ff_init_buffer_info
...
It does the same as calling ff_decode_frame_props.
Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 00:07:55 +02:00
Michael Niedermayer
aab4dbe534
avcodec/utils: Replace ENOTSUP by AVERROR_PATCHWELCOME
...
ENOTSUP is not available on all platforms
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-27 11:19:57 +02:00
Philip Langdale
b69bea3ab8
avcodec: Add flag for experimental HWAccels and use it for VDPAU/HEVC
...
This HWAccel isn't really usable right now due to an nvidia driver bug,
so we don't want it selected by default.
HWAccels have a capabilities field and there's a comment about flags,
but no flags exist today, so let's add one for experimental hwaccels.
2015-06-26 19:07:51 -07:00
Michael Niedermayer
ffd9d60201
avcodec: Add codec_desc and remapping for AV_CODEC_ID_PCM_S16BE_PLANAR_DEPRECATED
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-24 20:37:02 +02:00
Paul B Mahol
5a79bf0284
PCM signed 16-bit big-endian planar decoder
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2015-06-24 14:45:00 +01:00
Rodger Combs
7e7256c3a4
lavc: add little-endian ADPCM_THP decoder
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-20 16:33:39 +02:00
Rodger Combs
bb42a7d4d4
lavf/brstm: add support for BFSTM files
...
Previous version reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-17 13:24:11 +02:00
Michael Niedermayer
c94d9079b1
avcodec/utils: Assert that audio decoders do not report using more data than was input
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-04 23:10:56 +02:00
Carl Eugen Hoyos
70c0433525
lavc: Print a warning if gray decoding was requested but not enabled.
2015-05-17 10:22:03 +02:00
Ronald S. Bultje
57f970a704
lavc: add yuv440p10/12 formats to aligned pixfmt list.
2015-05-06 12:04:31 -04:00
Michael Niedermayer
b112e25dde
Merge commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6'
...
* commit 'a78f5548d94f23ce23cece41edf0fe9d18926de6':
avcodec: Free the default avoptions on init failure
See: 1907ff0a67edeb98d9153aac79f35961837ba3f6
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:41:23 +02:00
Michael Niedermayer
c39b07ff28
Merge commit 'aef0be08756e00f363c524453c948a6e2a348614'
...
* commit 'aef0be08756e00f363c524453c948a6e2a348614':
avcodec: Unref the dummy buffer on the fail path
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-23 21:20:07 +02:00
Luca Barbato
a78f5548d9
avcodec: Free the default avoptions on init failure
2015-04-22 12:27:13 +02:00
Luca Barbato
aef0be0875
avcodec: Unref the dummy buffer on the fail path
2015-04-22 12:27:13 +02:00
wm4
95f524aff5
lavc: use correct type for printf() argument
...
This was passing uint32_t for %d.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 21:45:07 +02:00
wm4
2b5f34f788
avformat, avcodec: log discard padding
...
Useful for debugging.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-14 21:37:46 +02:00
Michael Niedermayer
a994fc39b3
avcodec/utils: mark codec argument as const in ff_lock_avcodec()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-14 23:33:31 +01:00
Michael Niedermayer
b14de8e689
avcodec/utils: use atomic operations on entangled_thread_counter
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 23:59:07 +01:00
Michael Niedermayer
a048bd44b2
Merge commit '117b432748ca87de4cd0f09d9b1495545e264733'
...
* commit '117b432748ca87de4cd0f09d9b1495545e264733':
lavc: Introduce AVCodec internal capabilities
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 22:38:53 +01:00
Michael Niedermayer
79f013a206
Merge commit '9993a067f6c8c7e7838052ac3146aa6b80dd7e81'
...
* commit '9993a067f6c8c7e7838052ac3146aa6b80dd7e81':
lavc: Improve thread locking error message
Conflicts:
libavcodec/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 22:02:19 +01:00
Vittorio Giovara
117b432748
lavc: Introduce AVCodec internal capabilities
...
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.
2015-03-13 19:47:47 +00:00
Vittorio Giovara
9993a067f6
lavc: Improve thread locking error message
2015-03-13 19:47:34 +00:00
Carl Eugen Hoyos
3cd823e46f
lavc: Print number of reference frames if debug level >= verbose.
2015-03-13 08:52:36 +01:00
Michael Niedermayer
e3201c38d5
avcodec/utils: Align YUV411 by as much as the other YUV variants
...
Fixes out of array accesses
Fixes: ffmpeg_mjpeg_crash2.avi
Found-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Tested-by: Thomas Lindroth <thomas.lindroth@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-07 21:39:09 +01:00
Andreas Cadhalpun
732c3ebffa
avcodec/utils: use correct printf specifier in ff_set_sar
...
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 22:40:40 +01:00
Andreas Cadhalpun
ea1d0b7ece
avcodec/utils: use correct printf specifier in ff_set_sar
...
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-28 21:51:24 +01:00
Michael Niedermayer
2048126ea7
avcodec/utils: Assert that dst->progress is clear before ff_thread_ref_frame()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-08 02:27:27 +01:00
Michael Niedermayer
4ce67c961c
Merge commit 'a536a4e4bc52d05f59869761337452fb1f1977f6'
...
* commit 'a536a4e4bc52d05f59869761337452fb1f1977f6':
lavc: support extracting audio service type from side data
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:50:47 +01:00
Michael Niedermayer
62a82c66cd
Merge commit '728685f37ab333ca35980bd01766c78d197f784a'
...
* commit '728685f37ab333ca35980bd01766c78d197f784a':
Add a side data type for audio service type.
Conflicts:
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.h
libavutil/frame.h
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 18:03:43 +01:00
Anton Khirnov
a536a4e4bc
lavc: support extracting audio service type from side data
2015-01-27 09:22:33 +01:00
Anton Khirnov
728685f37a
Add a side data type for audio service type.
...
Currently, audio service type is a field in AVCodecContext. However,
side data is more appropriate for this kind of information.
2015-01-27 09:17:48 +01:00
Michael Niedermayer
5edbd4f410
Merge commit '9a4aaae3b29392b6d74997e06be249d7d54a7394'
...
* commit '9a4aaae3b29392b6d74997e06be249d7d54a7394':
lavc: add GBRAP to avcodec_align_dimensions2
See: 5c057433ccd32f37ddc828d3f82c5b1ad7d3e3db
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-15 05:45:48 +01:00