Anton Khirnov
58312b2472
h264: reset data_partitioning if decoding the slice header for NAL_DPA fails
...
If it was set before then we can end up trying to decode a slice without
a valid slice header, which can lead to invalid memory access.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:42:02 +01:00
Anton Khirnov
e89aa4bf56
lzw: switch to bytestream2
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:40:43 +01:00
Anton Khirnov
24057c8320
eacmv: check the framerate before setting it.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:39:09 +01:00
Anton Khirnov
5569146d48
adx: check that the offset is not negative
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:38:36 +01:00
Anton Khirnov
a6a2282c25
rv30: fix extradata size check.
...
It has been checking the number of bits in the offset instead of the
actual offset.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:38:33 +01:00
Anton Khirnov
feded990e3
mpegvideo: set reference/pict_type on generated reference frames
...
Otherwise the generic code will unref them, which can then result in
last_picture_ptr == current_picture_ptr, which causes deadlocks at least
in rv40.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2014-01-03 16:36:43 +01:00
Luca Barbato
4d2bb28931
h264: namespace the decode function
...
Make much easier debugging.
2013-12-27 07:48:13 +01:00
Diego Biurrun
b83d1ee3b4
avutil: Move library version related macros to version.h
...
This is a more sensible place for these macros.
2013-12-26 19:05:22 +01:00
Mason Carter
61ae993957
vc1: Fix intensity compensation performance regression
...
Introduced by 28243b0d35
Intensity compensation is always used once it was encountered, because
v->next_use_ic is never set back to zero.
Reset v->next_use_ic, when resetting v->next_luty/uv.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-22 18:31:44 +01:00
Guillaume Martres
7398e0516f
hevc: move DSP declarations from hevc.h into hevcdsp.h
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-12-22 03:49:11 +01:00
Justin Ruggles
be7c323176
Add a libwebp encoder
2013-12-21 17:01:42 -05:00
Martin Storsjö
d307e408d4
arm: Don't clobber callee saved registers in scalarproduct
...
q4-q7/d8-d15 are supposed to not be clobbered by the callee.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 20:48:30 +02:00
Mickaël Raulet
5c3fa74b94
hevc: support luma bit depth != chroma bit depth for PCM coding units
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:53 +01:00
Guillaume Martres
78d0b7f36e
hevc: warn when an unknown profile is used
...
Bitstreams conforming to the spec should not use profiles not defined
in it.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:38 +01:00
Gildas Cocherel
259cddb137
hevc_ps: fix indentation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:39:10 +01:00
Gildas Cocherel
2d18aaa14b
hevc: refactor Profile Tier Level
...
Also store a few PTL flags which were skipped before
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:38:59 +01:00
Guillaume Martres
67bbaed5c4
hevc: don't check for errors in PTL code
...
According to the spec, the value of XXX_reserved_zero_44bits should be
ignored, so don't report an error when it's not zero.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:44 +01:00
Gildas Cocherel
321cb8b048
hevc: store profile and level in AVCodecContext
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:36:24 +01:00
Gildas Cocherel
2a41826bea
lavc: add HEVC profiles names
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-20 19:35:27 +01:00
Anton Khirnov
dfc50ac85e
x86: mpegvideo: move denoise_dct asm to mpegvideoenc
...
This function is encoding-only.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-12-20 17:16:11 +01:00
Mason Carter
b254490bda
vc1: arm: Add NEON no_rnd chroma MC
...
Apply David Conrad's old patch to the modern codebase.
http://ffmpeg.org/pipermail/ffmpeg-devel/2009-April/059877.html
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 14:53:42 +02:00
Mason Carter
832e190632
vc1: arm: Add NEON assembly
...
For:
ff_vc1_inv_trans_{8,4}x{8,4}_{dc_,}neon
ff_put_pixels8x8_neon
ff_put_vc1_mspel_mc{0,1,2,3}{0,1,2,3}_neon (except for 00)
Based on ARM assembly code in libavcodec/arm by Rob Clark and Mans
Rullgard.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-20 14:53:39 +02:00
Martin Storsjö
b3189aff8b
png_parser: Fix parsing on big endian
...
Since pc.state is populated by shifting in from the end of the
32 bit word, the content within pc.state is already in native endian
and should not be read with the AV_R{L,B} functions.
This was already done correctly for state64 above.
This fixes the fate-corepng test on big endian.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-18 12:12:19 +02:00
Michael Niedermayer
d8fd183683
vc1: Fix mb_height for field pictures
...
Tables are always allocated now with sufficient space for either progressive
or interlaced content. The alternative would be to detect a change
and reallocate.
This fixes decoding of a sample.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-17 22:01:45 +02:00
Vittorio Giovara
3d9fc21e59
h264: Refactor decode_frame_packing_arrangement
...
Directly set the fields when necessary.
2013-12-17 09:34:08 +01:00
Luca Barbato
3a149e23d3
hevc: Refactor decode_nal_sei_frame_packing_arrangement
...
Directly set the fields when necessary.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2013-12-17 09:34:08 +01:00
Peter Holik
6fd99e78de
png: add a standalone parser
...
Useful for reading png images from a pipe.
2013-12-17 09:34:08 +01:00
Diego Biurrun
79d9884e95
build: Merge pthreads/w32threads OBJS declarations
2013-12-13 16:47:50 +01:00
Martin Storsjö
35686a289f
mp3adu: Set the channel layout properly
...
This fixes decoding, broken since 7e35037
.
This is similar to what was done for the normal mp3 decoder in
f4a86bc9
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-12 10:18:25 +02: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
598ce4ab4f
h264: call av_frame_unref() instead of avcodec_get_frame_defaults().
...
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
2013-12-11 20:39:55 +01:00
Anton Khirnov
48d17ee6dc
api-example: remove an unneeded call to avcodec_get_frame_defaults().
...
avcodec_decode_audio4() resets the frame itself.
2013-12-11 20:39:55 +01:00
Anton Khirnov
2d1f4288dd
mpegvideo: call av_frame_unref() instead of avcodec_get_frame_defaults().
...
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
2013-12-11 20:39:55 +01:00
Anton Khirnov
b06c8bce02
mpegvideo: remove an unneeded call to avcodec_get_frame_defaults().
...
ff_mpeg_unref_picture() already resets the frame.
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
eb891b3114
Replace all uses of avcodec_free_frame with av_frame_free().
2013-12-11 20:39:54 +01:00
Guillaume Martres
17a10d51b8
hevc: set time_base when possible
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Gildas Cocherel
33452aede6
hevc: store the VPS list as an AVBufferRef, just like the others *PS
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Michael Niedermayer
b769cf4b44
hevc: do not dereference pointer before NULL check in verify_md5()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-11 20:39:54 +01:00
Reinhard Tartler
2a0fb7286d
alsdec: check block length
...
Fix writing over the end
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Addresses: CVE-2013-0845
2013-12-10 07:21:40 -05:00
Vittorio Giovara
acb77dff6a
hevc: parse frame packing arrangement SEI messages and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Vittorio Giovara
3d1d175367
mpeg12enc: set frame packing information when relevant metadata is found
2013-12-09 16:02:43 +01:00
Vittorio Giovara
bacc2869f3
mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Vittorio Giovara
09cb75cdeb
libx264: set frame packing information when relevant information is found
2013-12-09 16:02:43 +01:00
Vittorio Giovara
5b10ef729f
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Diego Biurrun
d64341e498
configure: Prefix libc-related variables with "libc_"
...
Simplifies host/target libc detection splitting.
2013-12-09 11:47:43 +01:00
Alexandra Khirnova
9b8d11a76a
avcodec: Use av_reallocp where suitable
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-12-09 12:27:51 +02:00
Anton Khirnov
d4f1188d1a
dv: use AVFrame API properly
2013-12-09 09:10:14 +01:00
John Stebbins
c9ca220ef2
ac3dec: make drc_scale exponentially
...
The a52 spec suggests that "partial compression" should scale the
drc value in this manner.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-12-09 08:54:42 +01:00