Commit Graph

1214 Commits

Author SHA1 Message Date
Michael Niedermayer
105654e376 avcodec/utils: Add case for jv to avcodec_align_dimensions2()
Fixes out of array accesses
Fixes: asan_heap-oob_12304aa_8_asan_heap-oob_4da4f3_300_intro.jv

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-03 04:48:29 +02:00
Manfred Georg
a950edb472 avcodec/utils: av_lockmgr_register defines behavior 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: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 21:18:49 +02:00
wm4
cdd6f059a6 avcodec, avutil: allow more control about how samples are skipped
Add CODEC_FLAG2_SKIP_MANUAL (exposed as "skip_manual"), which makes
the decoder export sample skip information via side data, instead
of applying it automatically. The format of the side data is the
same as AV_PKT_DATA_SKIP_SAMPLES, but since AVPacket and AVFrame
side data constants overlap, AV_FRAME_DATA_SKIP_SAMPLES needs to
be introduced.

This is useful for applications which want to do the timestamp
calculations manually, or which actually want to retrieve the
padding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-02 20:21:00 +02:00
Manfred Georg
79551d2c7a avcodec/utils: Force mutex to NULL after destruction.
A badly behaving user provided mutex manager (such as that in OpenCV) may not reset the mutex to NULL on destruction.  This can cause a problem for a later mutex manager (which may assert that the mutex is NULL before creating).

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-01 00:56:53 +02:00
Michael Niedermayer
8ba6945487 avcodec/utils: Fix off by 1 error causing unneeded allocation in ff_fast_malloc()
Reviewed-by: Benoit Fouet <benoit.fouet@free.fr>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-29 12:56:45 +02:00
Michael Niedermayer
01831fd004 Merge commit '1c80c9d7ef809180042257200c7b5f6b81d0b0e2'
* commit '1c80c9d7ef809180042257200c7b5f6b81d0b0e2':
  hwaccel: Call ->get_format again if hwaccel init fails

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-27 02:42:30 +02: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
Clément Bœsch
fcfa3ebed1 avcodec/utils: remove avcodec_ prefix for internal symbol 2014-09-14 19:07:09 +02:00
Carl Eugen Hoyos
2b1f6a3516 Print the actual bit depth for audio if it is different from the sample_fmt bit depth.
This is already done for video.
2014-09-08 17:49:11 +02:00
Michael Niedermayer
f30a8154ab Merge commit '9301486408a480629336af4d7fd873c0f28fb2d5'
* commit '9301486408a480629336af4d7fd873c0f28fb2d5':
  avcodec: add stream-level stereo3d side data

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-28 22:23:01 +02:00
Vittorio Giovara
9301486408 avcodec: add stream-level stereo3d side data 2014-08-28 12:33:26 -04:00
Michael Niedermayer
3fe9e7be4c avcodec/utils: add GBRP16 to avcodec_align_dimensions2()
Fixes Ticket3869

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-24 23:33:40 +02:00
Clément Bœsch
f888331769 avfilter: add codecview filter 2014-08-24 14:35:11 +02:00
Michael Niedermayer
60dbed6067 Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
  cosmetics: Write NULL pointer inequality checks more compactly

Conflicts:
	libavcodec/dvdsubdec.c
	libavcodec/h263dec.c
	libavcodec/libxvid.c
	libavcodec/rv10.c
	libavcodec/utils.c
	libavformat/format.c
	libavformat/matroskadec.c
	libavformat/segment.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02: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
Michael Niedermayer
7b59217b60 Move WMA case from ff_get_audio_frame_size() to av_get_audio_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:03:56 +02:00
Michael Niedermayer
ed488d1535 Move frame_size fallback from ff_get_audio_frame_size() to av_get_audio_frame_duration()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 03:00:39 +02:00
Michael Niedermayer
bd87965247 Merge commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e'
* commit 'd63443b9684fa7b3e086634f7b44b203b6d9221e':
  lavc: drop the av_fast_{re,m}alloc compatibility wrappers

Conflicts:
	libavcodec/utils.c

See: a973e01501
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 20:51:15 +02: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
Derek Buitenhuis
43654a22c0 Revert "lavc/utils: Do not require dimensions for PNG."
mplayer-specifc hacks should not be in our codebase. mplayer should fix
its own code. It is not our responsibility to work around their broken
code.

This reverts commit e8e575633f.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-08-10 15:58:13 +01:00
Michael Niedermayer
287602f9d8 Merge commit '472f9ed312ec784f7c72876b77163f4741880d05'
* commit '472f9ed312ec784f7c72876b77163f4741880d05':
  Remove obsolete FF_API_AVFRAME_COLORSPACE cruft.

Conflicts:
	libavcodec/utils.c
	libavutil/frame.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-10 01:29:24 +02:00
Anton Khirnov
472f9ed312 Remove obsolete FF_API_AVFRAME_COLORSPACE cruft. 2014-08-09 16:59:13 +00:00
Michael Niedermayer
0a7f3af27f Merge commit '53abe32409f13687c864b3cda077a1aa906a2459'
* commit '53abe32409f13687c864b3cda077a1aa906a2459':
  avcodec: Mark argument in av_{parser|hwaccel|bitstream_filter}_next as const

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-27 01:57:34 +02: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
Michael Niedermayer
3a2d1465c8 Merge commit '2d60444331fca1910510038dd3817bea885c2367'
* commit '2d60444331fca1910510038dd3817bea885c2367':
  dsputil: Split motion estimation compare bits off into their own context

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/arm/Makefile
	libavcodec/dvenc.c
	libavcodec/error_resilience.c
	libavcodec/h264.h
	libavcodec/h264_slice.c
	libavcodec/me_cmp.c
	libavcodec/me_cmp.h
	libavcodec/motion_est.c
	libavcodec/motion_est_template.c
	libavcodec/mpeg4videoenc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/Makefile
	libavcodec/x86/me_cmp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 23:27:40 +02:00
Diego Biurrun
2d60444331 dsputil: Split motion estimation compare bits off into their own context 2014-07-17 09:07:10 -07:00
Michael Niedermayer
3790801f9c Merge commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b'
* commit '3c650efb81aaa3b395ba4606ee68a47ee4efb57b':
  dsputil: Move draw_edges() to mpegvideoencdsp

Conflicts:
	libavcodec/mpegvideo_enc.c
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_init.c
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/dsputil_x86.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 16:17:27 +02:00
Diego Biurrun
3c650efb81 dsputil: Move draw_edges() to mpegvideoencdsp 2014-07-06 14:48:50 -07:00
Michael Niedermayer
a9f7972844 Merge commit '1b04eb20f7e3f0a71f73ba91efcc3d60a435e443'
* commit '1b04eb20f7e3f0a71f73ba91efcc3d60a435e443':
  lavc: do not allocate edges in the default get_buffer2()

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 20:56:23 +02:00
Anton Khirnov
1b04eb20f7 lavc: do not allocate edges in the default get_buffer2() 2014-06-26 16:02:12 +02:00
Michael Niedermayer
fe43facd65 avcodec/utils: check sar only when width/height are set
This fixes loosing the perfectly valid SAR when width=height=0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 23:02:52 +02:00
Michael Niedermayer
0dceefc5fa Merge commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2'
* commit '9e500efdbe0deeff1602500ebc229a0a6b6bb1a2':
  Add av_image_check_sar() and use it to validate SAR

Conflicts:
	libavcodec/dpx.c
	libavcodec/dvdec.c
	libavcodec/ffv1dec.c
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-20 22:20:28 +02:00
Justin Ruggles
9e500efdbe Add av_image_check_sar() and use it to validate SAR 2014-06-20 10:39:33 -04:00
Michael Niedermayer
2422a7ffe4 Loose mplayer in MPlayer/incoming/
Found-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 16:03:44 +02:00
Michael Niedermayer
3e7b4b9fbd Add direct link to ML in missing_feature_sample()
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 15:58:27 +02:00
Michael Niedermayer
4e3fe65610 avcodec/utils/ff_init_buffer_info: Favor color information from AVFrame if available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-03 05:13:51 +02:00
Michael Niedermayer
0ccfcb0638 Merge commit 'eb800f120d2d42590fde2302fe828c847e41e773'
* commit 'eb800f120d2d42590fde2302fe828c847e41e773':
  libavcodec: set AVFrame colorspace fields on decoding

Conflicts:
	libavcodec/utils.c

See: a80e622924
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 13:39:31 +02: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
Carl Eugen Hoyos
3ea0d9c8a5 Fix VDPAU decoders, regression since f2f99f07. 2014-05-30 17:34:26 +02:00
Michael Niedermayer
91a8262b9d avcodec/utils: add error message for the recode_subtitle() without iconv case
Based on the assert command which was removed in ef0c466a0f

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 17:39:26 +02:00
Dale Curtis
ef0c466a0f Replace assert with AVERROR when recode_subtitle called w/o ICONV.
recode_subtitle() is called implicitly by avformat_find_stream_info().
As such, clients which disable ICONV always crash if a file contains
subtitles; even if they don't care about them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-21 17:33:21 +02:00
Dale Curtis
ca2fd25988 Fix compilation errors when deprecated features are disabled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 22:55:28 +02:00
Michael Niedermayer
0739614c9c avcodec: remove no longer needed ff_codec_close_recursive()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-20 02:20:30 +02:00
Michael Niedermayer
ef1d4ee2f8 Merge commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834'
* commit 'bddd8cbf68551f6405b2bf77cc3e212af9fbe834':
  Add transformation matrix API.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/utils.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-19 19:12:30 +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
Michael Niedermayer
ff17d8b56e Merge commit 'e1b66778b6ee82a192b5895e23c4e135f7269326'
* commit 'e1b66778b6ee82a192b5895e23c4e135f7269326':
  lavc: remove the locking code in avcodec_close()

Conflicts:
	libavcodec/utils.c

Note, if someone knows of a external codec lib/API, hwaccel or other that requires
locking on its close/free side, please contact ffmpeg-devel.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 12:46:28 +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
Michael Niedermayer
a071c0b515 avcodec/utils: Fix undefined behavior in avpriv_toupper4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-16 03:13:27 +02:00