Commit Graph

1165 Commits

Author SHA1 Message Date
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
Michael Niedermayer
2ec4586d77 Merge commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8'
* commit 'dd2d3b766b20196d0b65a82e3d897ccecbf7adb8':
  lavc: Add hwaccel private data and init/uninit callbacks

Conflicts:
	libavcodec/avcodec.h
	libavcodec/internal.h
	libavcodec/pthread_frame.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:21:44 +02:00
Michael Niedermayer
c4fe50b954 Merge commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436'
* commit 'ebc29519d1634bfeb386c20a5d8a52837aae2436':
  hwaccel: Support specific frame allocators

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-12 00:06:35 +02:00
Michael Niedermayer
f2f99f07a5 Merge commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f'
* commit '5c1d7246cd65dc4db1b6dc36e29ce39fc1068f3f':
  lavc: set AVCodecContext.hwaccel in ff_get_format()

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 23:28:40 +02:00
Michael Niedermayer
d93cf093f8 Merge commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425'
* commit '632ad2248e2e5d8cd4b51e6c87c943a38c3da425':
  lavc: Add an internal wrapper around get_format()

Conflicts:
	libavcodec/h264_slice.c
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-11 21:48:32 +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
Michael Niedermayer
2ff81d0916 avcodec/utils/ff_init_buffer_info factor avctx->internal->pkt; out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:59:59 +02:00
Michael Niedermayer
bbc604020f avcodec/utils: merge ff_decode_frame_props() and ff_init_buffer_info()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +02:00
Michael Niedermayer
77811482ab avcodec/utils: ff_decode_frame_props: set pkt_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-01 22:01:38 +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
Michael Niedermayer
abbcc6b26b avcodec/utils: use av_malloc(z)_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-25 15:03:26 +02:00
Michael Niedermayer
0c67ef2729 Merge commit '86a0432688216562926d4aee36118f01be6d5e1b'
* commit '86a0432688216562926d4aee36118f01be6d5e1b':
  Silicon Graphics Motion Video Compressor 1 & 2 decoder

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/mvcdec.c
	libavcodec/version.h

See: 746b1dcc98
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 19:47:58 +02:00
Michael Niedermayer
e37dbfddda Merge commit '07761294fc3f08e139e8a406ef7d5b63aaf1ecee'
* commit '07761294fc3f08e139e8a406ef7d5b63aaf1ecee':
  Silicon Graphics RLE 8-bit video decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/sgirledec.c
	libavcodec/version.h

See: afa1617b93
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 19:26:46 +02:00
Michael Niedermayer
c1bc20bfd9 Merge commit '6ef96292d99302a59f824713fc763f6abd3754df'
* commit '6ef96292d99302a59f824713fc763f6abd3754df':
  utils: add yvyu422 to avcodec_align_dimensions2

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-19 18:38:39 +02:00
Vittorio Giovara
6ef96292d9 utils: add yvyu422 to avcodec_align_dimensions2 2014-04-19 16:20:58 +02:00
Peter Ross
5f4f9ee99f Direct Stream Digital (DSD) decoder
Signed-off-by: Peter Ross <pross@xvid.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-15 20:35:57 +02:00
Michael Niedermayer
4b8e7a1414 avcodec/utils: prettify remap_deprecated_codec_id()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-13 23:54:49 +02:00
Michael Niedermayer
59a53842d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo: operate with pointers to AVFrames instead of whole structs

Conflicts:
	libavcodec/h261dec.c
	libavcodec/h263dec.c
	libavcodec/intrax8.c
	libavcodec/mpeg12enc.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h
	libavcodec/mpegvideo_enc.c
	libavcodec/mpegvideo_motion.c
	libavcodec/mpegvideo_xvmc.c
	libavcodec/msmpeg4.c
	libavcodec/ratecontrol.c
	libavcodec/vaapi.c
	libavcodec/vc1dec.c
	libavcodec/vdpau_vc1.c

See: fc567ac49e
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-09 15:18:46 +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
Michael Niedermayer
787be6d074 Merge commit '6f273093e54cba130f3ffde3d6433e74baa4ad89'
* commit '6f273093e54cba130f3ffde3d6433e74baa4ad89':
  LucasArts SMUSH VIMA audio decoder

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/version.h
	libavcodec/vima.c

This commit adds a AV_CODEC_ID_ADPCM_VIMA alias in addition to the previously
used AV_CODEC_ID_VIMA, as well as a AVCodec with name "adpcm_vima" in addition
to the previously used name "vima"
These changes are needed for compatibility with the renamed codec in libav

See: b18357326c and others

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 23:14:23 +02:00
Michael Niedermayer
881f4e8d34 Merge commit 'a420ccd4f2a011887451a7d5e1bebba4fd7c40e2'
* commit 'a420ccd4f2a011887451a7d5e1bebba4fd7c40e2':
  LucasArts SMUSH SANM video decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/sanm.c
	libavcodec/version.h

See: 69254f4628 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-06 22:19:16 +02:00
Michael Niedermayer
fb61ed1e9f Merge commit 'ac4b32df71bd932838043a4838b86d11e169707f'
* commit 'ac4b32df71bd932838043a4838b86d11e169707f':
  On2 VP7 decoder

Conflicts:
	Changelog
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/arm/vp8dsp.h
	libavcodec/arm/vp8dsp_init_arm.c
	libavcodec/arm/vp8dsp_init_armv6.c
	libavcodec/arm/vp8dsp_init_neon.c
	libavcodec/avcodec.h
	libavcodec/h264pred.c
	libavcodec/version.h
	libavcodec/vp8.c
	libavcodec/vp8.h
	libavcodec/vp8data.h
	libavcodec/vp8dsp.c
	libavcodec/vp8dsp.h
	libavcodec/x86/h264_intrapred_init.c
	libavcodec/x86/vp8dsp_init.c

See: 89f2f5dbd7 and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 14:46:10 +02:00
Michael Niedermayer
95582b5ccc Merge commit '38389058c3308758c6365abd0f6b45c5e62bb90b'
* commit '38389058c3308758c6365abd0f6b45c5e62bb90b':
  OpenEXR decoder

Conflicts:
	Changelog
	configure
	libavcodec/Makefile
	libavcodec/avcodec.h
	libavcodec/exr.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-01 03:16:56 +02:00
Michael Niedermayer
16ddc58bd7 Merge commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033'
* commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033':
  PAF demuxer and decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/paf.c
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/paf.c
	libavformat/version.h

See: 7de4a16508, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 04:32:05 +01:00
Michael Niedermayer
f392949f1a Merge commit 'ae17878fb2ab100264226c84c58f5b95a703312f'
* commit 'ae17878fb2ab100264226c84c58f5b95a703312f':
  BRender PIX image decoder

Conflicts:
	doc/general.texi
	libavcodec/Makefile
	libavcodec/version.h

See: 492a5f835c, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 21:09:17 +01:00
Michael Niedermayer
c08e523586 Merge commit '4a0f6651434c6f213d830140f575b4ec7858519f'
* commit '4a0f6651434c6f213d830140f575b4ec7858519f':
  libavcodec: when decoding, copy replaygain side data to decoded frames

Conflicts:
	libavcodec/internal.h
	libavcodec/rawdec.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-24 14:26:17 +01:00
Anton Khirnov
4a0f665143 libavcodec: when decoding, copy replaygain side data to decoded frames 2014-03-24 06:07:51 +01:00
Michael Niedermayer
82a90e7764 Move avpriv_find_pix_fmt() to utils.c
Fixes build with --disable-everything

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 13:25:42 +01:00
Michael Niedermayer
fc567ac49e avcodec: Add padding after the remaining AVFrames
This limits ABI issues in case libavcodec is linked to a libavutil with larger AVFrame
Which can happen if they are shiped in seperate binary packages and libavutil is upgraded

A cleaner alternative would be to replace them by pointers but this would likely cause
a small speedloss

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-23 00:28:51 +01:00
Michael Niedermayer
8ab8070784 avcodec/utils: fix sizeof(AVFrame) dependence in avcodec_encode_audio2()
This is a bit tricky, we allocate a correctly sized AVFrame but then only
copy the compile time AVFrame size, this is to ensure that user applications
which do not use the correct av frame API dont end with out of array reads.
Note, applications using the correct API have set extended_data and the
changed code will never be executed for them.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-18 02:03:30 +01:00
Michael Niedermayer
da89572004 avcodec: Move STRIDE_ALIGN to internal.h
The next commit/bugfix will need it

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-15 14:56:42 +01:00
Michael Niedermayer
7a9946d386 Merge commit '8feac29cc46270cc89d6016340e7bac780877131'
* commit '8feac29cc46270cc89d6016340e7bac780877131':
  lavc: use AVFrame API properly in ff_reget_buffer()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-24 10:15:19 +01:00
Anton Khirnov
8feac29cc4 lavc: use AVFrame API properly in ff_reget_buffer() 2014-02-24 07:25:07 +01:00
Michael Niedermayer
cbcfd7da4d avcodec: support setting the chroma intra matrix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-18 18:19:27 +01:00
Michael Niedermayer
e5c7229999 avcodec/utils: set AVFrame format unconditional
Fixes inconsistency and out of array accesses
Fixes: 10cdd7e63e7f66e3e66273939e0863dd-asan_heap-oob_1a4ff32_7078_cov_4056274555_mov_h264_aac__mp4box_frag.mp4
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-16 01:34:35 +01:00
Michael Niedermayer
68a959cb27 avcodec/utils: improve guess_correct_pts() by considerng mixed dts/pts use caused by NOPTSs
No testcase known, this is a theoretical improvment

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 20:42:13 +01:00
Michael Niedermayer
707a07f3c2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: set AVFrame pkt_pts and reordered_opaque in reget_buffer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-11 23:21:03 +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
Michael Niedermayer
8a77baae6e Merge commit 'e0ab5078a7d865f8f6fd6a6d3cbe0f380ead4a3d'
* commit 'e0ab5078a7d865f8f6fd6a6d3cbe0f380ead4a3d':
  lavc: do not force the emu edge flag

Conflicts:
	libavcodec/utils.c

There should be no such bugs in ffmpeg, but merging it anyway
as its safer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-21 21:26:13 +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
Michael Niedermayer
eef74b2e97 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: deprecate CODEC_FLAG_EMU_EDGE and avcodec_get_edge_width().

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 18:55:22 +01:00
Michael Niedermayer
ea4b477a1b Merge commit 'f7e85ee996b3886c2b13e928b83277382311af96'
* commit 'f7e85ee996b3886c2b13e928b83277382311af96':
  lavc: allow the caller to override dimensions in ff_get_buffer()

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-20 15:07:45 +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
Michael Niedermayer
3328d105f7 Merge commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d'
* commit '50079a6aa93291e6dc9d9fb8d33da83f79e9311d':
  lavc: do not leak the internal frame if opening the codec fails

Conflicts:
	libavcodec/utils.c

See: 8b285f03f7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:44:11 +01:00
Michael Niedermayer
4e276b84e6 Merge commit '8058284ce09030b47512746d726fb2ad3ae8a20f'
* commit '8058284ce09030b47512746d726fb2ad3ae8a20f':
  lavc: add 422/444 YUV with alpha to align_dimensions()

Conflicts:
	libavcodec/utils.c

Only cosmetical changes happen as these formats already where in the list before

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-06 15:17:34 +01:00