Mark Thompson [Tue, 13 Sep 2016 19:50:57 +0000 (20:50 +0100)]
vf_scale_vaapi: Crop input surface to active region
If the input has been decoded from a stream which uses edge cropping
then the whole surface need not be valid. This defines an input
region for the scaler so we only use the active area of the frame.
Mark Thompson [Mon, 12 Sep 2016 23:25:07 +0000 (00:25 +0100)]
vaapi_h264: Fix HRD bit_rate/cpb_size scaling
There should be an extra offset of 6 on bit_rate_scale and of 4 on
cpb_size_scale which were not accounted for here.
Mark Thompson [Tue, 13 Sep 2016 19:45:55 +0000 (20:45 +0100)]
hwcontext_vdpau: Fix missing subscripts
Also remove the redundant casts which were hiding the error here.
Mark Thompson [Mon, 12 Sep 2016 21:37:20 +0000 (22:37 +0100)]
hwcontext_vdpau: Remove duplicate definition of GET_CALLBACK
Diego Biurrun [Tue, 6 Sep 2016 14:06:12 +0000 (16:06 +0200)]
pixblockdsp: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
Also adjust parameter names to be "stride" everywhere.
Diego Biurrun [Mon, 5 Sep 2016 08:48:37 +0000 (10:48 +0200)]
configure: Drop check_lib()/require() in favor of check_lib2()/require2()
The latter can do everything the former can do, but also handle conditions
the former cannot like multiple header #includes and checking for headers
and functions in a single test program, which is necessary for certain
library tests.
Diego Biurrun [Fri, 9 Sep 2016 16:30:51 +0000 (18:30 +0200)]
ppc: mpegvideo: Add proper runtime AltiVec detection
Diego Biurrun [Fri, 9 Sep 2016 16:28:20 +0000 (18:28 +0200)]
ppc: Update #endif comments
Luca Barbato [Sat, 10 Sep 2016 16:12:23 +0000 (18:12 +0200)]
audiodsp: ppc: Add VSX variant
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Sat, 10 Sep 2016 23:14:37 +0000 (01:14 +0200)]
checkasm: Read the unsigned value as it should
Reading a value larger than int using atoi() may give the wrong result.
Mark Thompson [Fri, 9 Sep 2016 14:59:13 +0000 (15:59 +0100)]
vaapi_vp8: Explicitly include libva vp8 decode header
With some old libva versions <va/va.h> does not automatically include
the per-codec subsidiary headers, so we need to include the right one
explicitly ourselves.
Mark Thompson [Sun, 4 Sep 2016 12:33:15 +0000 (13:33 +0100)]
vaapi_decode: Ignore the profile when not useful
Enables VP8 decoding - the decoder places the the bitstream version
in the profile field, which we want to ignore.
Mark Thompson [Sun, 4 Sep 2016 12:28:10 +0000 (13:28 +0100)]
lavc/vaapi: Add VP8 decode hwaccel
Mark Thompson [Sun, 4 Sep 2016 12:26:37 +0000 (13:26 +0100)]
vp8: Add hwaccel hooks
Also adds some extra fields to the main context structure that may
be needed by a hwaccel decoder.
Diego Biurrun [Thu, 1 Sep 2016 19:31:22 +0000 (21:31 +0200)]
utvideo: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Thu, 1 Sep 2016 18:48:10 +0000 (20:48 +0200)]
iir_filter: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Thu, 1 Sep 2016 18:45:41 +0000 (20:45 +0200)]
error_resilience: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Mon, 5 Sep 2016 11:13:50 +0000 (13:13 +0200)]
configure: Simplify clock_gettime() test
Diego Biurrun [Mon, 5 Sep 2016 11:12:24 +0000 (13:12 +0200)]
build: Fix directory dependencies of tests/pixfmts.mak target
Diego Biurrun [Tue, 14 Apr 2015 11:27:32 +0000 (13:27 +0200)]
configure: Fix --disable-pod2man / --disable-texi2html
Diego Biurrun [Fri, 10 Apr 2015 17:29:25 +0000 (19:29 +0200)]
configure: Simplify libopenjpeg check
Diego Biurrun [Tue, 17 Mar 2015 12:12:41 +0000 (13:12 +0100)]
configure: Move initial VAAPI check to a more sensible place
Diego Biurrun [Fri, 26 Aug 2016 10:44:37 +0000 (12:44 +0200)]
sanm: Change type of array pitch parameters to ptrdiff_t
ptrdiff_t is the correct type for array pitches and similar.
Diego Biurrun [Fri, 26 Aug 2016 10:38:33 +0000 (12:38 +0200)]
copy_block: Change type of array stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Fri, 26 Aug 2016 10:44:16 +0000 (12:44 +0200)]
svq1dec: Change type of array pitch parameters to ptrdiff_t
ptrdiff_t is the correct type for array pitches and similar.
Diego Biurrun [Fri, 26 Aug 2016 10:26:50 +0000 (12:26 +0200)]
indeo: Change type of array pitch parameters to ptrdiff_t
ptrdiff_t is the correct type for array pitches and similar.
Diego Biurrun [Thu, 24 Mar 2016 19:55:19 +0000 (20:55 +0100)]
Drop memalign hack
It no longer serves a useful purpose.
Anton Khirnov [Wed, 24 Aug 2016 07:24:49 +0000 (09:24 +0200)]
hwcontext_dxva2: use the special UC copy for downloading frames
Anton Khirnov [Tue, 23 Aug 2016 19:46:50 +0000 (21:46 +0200)]
imgutils: add a function for copying image data from GPU mapped memory
See https://software.intel.com/en-us/articles/copying-accelerated-video-decode-frame-buffers
Anton Khirnov [Thu, 25 Aug 2016 07:59:32 +0000 (09:59 +0200)]
Changelog: mark the release 12 branch
Mark Thompson [Wed, 24 Aug 2016 22:30:29 +0000 (23:30 +0100)]
lavc: Remove old vaapi decode infrastructure
Deprecates struct vaapi_context and the installed header vaapi.h,
to be removed at the next version bump.
Mark Thompson [Sun, 31 Jul 2016 21:51:45 +0000 (22:51 +0100)]
avconv_vaapi: Convert to use hw_frames_ctx only
Most of the functionality here has moved into lavc.
Mark Thompson [Sun, 7 Aug 2016 12:45:41 +0000 (13:45 +0100)]
vaapi_mpeg4: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 21:12:50 +0000 (22:12 +0100)]
vaapi_vc1: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 17:37:47 +0000 (18:37 +0100)]
vaapi_mpeg2: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 17:19:32 +0000 (18:19 +0100)]
vaapi_h264: Convert to use the new VAAPI hwaccel code
Mark Thompson [Sat, 6 Aug 2016 17:18:40 +0000 (18:18 +0100)]
lavc: Rewrite VAAPI decode infrastructure
Moves much of the setup logic for VAAPI decoding into lavc; the user
now need only provide the hw_frames_ctx.
Diego Biurrun [Fri, 26 Aug 2016 12:56:01 +0000 (14:56 +0200)]
wmavoice: Simplify GetBitContext initialization
Vittorio Giovara [Thu, 25 Aug 2016 15:59:59 +0000 (11:59 -0400)]
Changelog: Mention mov with multiple stsd
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Burt P [Fri, 26 Aug 2016 14:12:30 +0000 (16:12 +0200)]
High Definition Compatible Digital (HDCD) decoder filter, using libhdcd
Signed-off-by: Burt P <pburt0@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Vittorio Giovara [Thu, 21 Jul 2016 13:47:47 +0000 (15:47 +0200)]
avprobe: Fix memory leak
After init_opts() there needs to be an uninit_opts() call
to free the swscale context and other buffers.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Derek Buitenhuis [Fri, 26 Aug 2016 13:30:07 +0000 (14:30 +0100)]
mov: Remove old b-frame/video delay heuristic
This was added before edts support existed, and is no longer
valid.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Derek Buitenhuis [Fri, 26 Aug 2016 13:30:06 +0000 (14:30 +0100)]
mov: Remove ancient heuristic hack
This breaks files with legitimate single-entry edit lists,
and the hack, introduced in
f03a081df09f9c4798a17d7e24446ed47924b11b,
has no link to any known sample in its commit message.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Wed, 24 Aug 2016 15:00:11 +0000 (17:00 +0200)]
libvpx: Cast a pointer to const to squelch a warning
libavcodec/libvpxdec.c:100:57: warning: passing argument 3 of 'av_image_copy' from incompatible pointer type
av_image_copy(picture->data, picture->linesize, img->planes,
libavutil/imgutils.h:116:6: note: expected 'const uint8_t **' but argument is of type 'unsigned char **'
void av_image_copy(uint8_t *dst_data[4], int dst_linesizes[4],
Diego Biurrun [Wed, 24 Aug 2016 10:30:15 +0000 (12:30 +0200)]
vp56: Separate VP5 and VP6 dsp initialization
VP5 has no arch-specific optimizations (nor will it get some in the
future), so it makes no sense to try to share dsp init code with VP6.
Diego Biurrun [Wed, 24 Aug 2016 09:52:10 +0000 (11:52 +0200)]
prores: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
Also adjust parameter names to be "linesize" everywhere.
Diego Biurrun [Tue, 23 Aug 2016 22:18:41 +0000 (00:18 +0200)]
cavs: Change type of stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Wed, 24 Aug 2016 11:50:28 +0000 (13:50 +0200)]
vp8: Update some assembly comments left unchanged in
bd66f073fe7286bd3c
Diego Biurrun [Tue, 23 Aug 2016 21:26:35 +0000 (23:26 +0200)]
vp8: Change type of stride parameters to ptrdiff_t
ptrdiff_t is the correct type for array strides and similar.
Diego Biurrun [Tue, 23 Aug 2016 21:23:45 +0000 (23:23 +0200)]
vp56: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
Diego Biurrun [Tue, 23 Aug 2016 21:19:30 +0000 (23:19 +0200)]
vp3: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.
Also adjust parameter names to be "stride" everywhere.
Luca Barbato [Mon, 15 Aug 2016 17:24:05 +0000 (19:24 +0200)]
doc: Document FATE option HWACCEL
Luca Barbato [Sun, 24 Jul 2016 19:17:10 +0000 (21:17 +0200)]
av1: Add codec_id and basic demuxing support
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Fri, 19 Aug 2016 16:35:33 +0000 (18:35 +0200)]
rtpdec_mpeg4: validate fmtp fields
Diego Biurrun [Thu, 4 Aug 2016 15:01:03 +0000 (17:01 +0200)]
configure: Set __MSVCRT_VERSION__to 0x0700 for MinGW
This exposes some required functionality like _aligned_malloc() in the
MinGW system headers, thus obviating the need for the memalign hack.
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
mss12: validate display dimensions
The code currently reads the coded dimensions from the extradata, but
expects the display dimensions to be set by the caller, and does not
check that they are compatible (i.e. that the displayed size is smaller
than the coded size).
Make sure that when the display dimensions are set, they are also valid.
Fixes possible invalid memory access.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
vc1: check that slices have a positive height
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
pcx: use the bytestream2 API for reading from input
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
pcx: check that the packet is large enough before reading the header
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
pcx: properly pad the scanline
It is passed to the get_bits API, which requires buffers to be padded.
Fixes possible invalid reads.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
cook: use the bytestream2 API for reading extradata
Fixes possible invalid reads in corrupted files.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
qpeg: fix an off by 1 error in the MV check
height - me_y is the line from which we read, so it must be strictly
smaller than the frame height. Fixes possible invalid reads in corrupted
files.
Also, use a proper context for logging the error.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
alac: do not return success if nothing was decoded
If we encounter an END element before anything is decoded, we would
return success even though the output frame has not been allocated,
which is invalid.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Anton Khirnov [Sun, 14 Aug 2016 08:18:39 +0000 (10:18 +0200)]
vmnc: check that subrectangles fit into their containing rectangles
Fixes possible invalid writes with corrupted files.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Diego Biurrun [Sat, 30 Jul 2016 12:52:20 +0000 (14:52 +0200)]
golomb: Drop disabled cruft
Diego Biurrun [Mon, 1 Aug 2016 18:57:30 +0000 (20:57 +0200)]
simple_idct: arm: Drop disabled code variant
Diego Biurrun [Mon, 1 Aug 2016 18:50:48 +0000 (20:50 +0200)]
simple_idct: x86: Drop disabled IDCT implementation
This gem has been disabled since 2001.
Diego Biurrun [Tue, 2 Aug 2016 09:22:11 +0000 (11:22 +0200)]
dvbsubdec: Remove disabled, near-duplicate debug code
Diego Biurrun [Mon, 1 Aug 2016 18:53:33 +0000 (20:53 +0200)]
timefilter: test: Drop some disabled debug cruft
Diego Biurrun [Mon, 1 Aug 2016 17:56:28 +0000 (19:56 +0200)]
mpegvideo: Kill some disabled code
Diego Biurrun [Sat, 30 Jul 2016 13:30:46 +0000 (15:30 +0200)]
msmpeg4: Drop disabled debug cruft
Diego Biurrun [Mon, 1 Aug 2016 18:15:07 +0000 (20:15 +0200)]
mathops: Drop disabled alternative mid_pred() implementation
Diego Biurrun [Mon, 1 Aug 2016 18:39:25 +0000 (20:39 +0200)]
nsv: Drop disabled cruft
Diego Biurrun [Mon, 1 Aug 2016 18:21:04 +0000 (20:21 +0200)]
mjpegdec: Drop disabled code
Diego Biurrun [Mon, 1 Aug 2016 17:59:58 +0000 (19:59 +0200)]
faan(i)dct: Kill some disabled code
Diego Biurrun [Sat, 30 Jul 2016 12:11:05 +0000 (14:11 +0200)]
wc3movie: Drop unused cruft
Diego Biurrun [Sat, 30 Jul 2016 13:00:32 +0000 (15:00 +0200)]
ffv1: Remove broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:49:08 +0000 (13:49 +0200)]
h264: Kill broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:59:51 +0000 (13:59 +0200)]
aac: Drop broken cruft
Diego Biurrun [Sat, 30 Jul 2016 11:57:31 +0000 (13:57 +0200)]
jfdct: Kill broken cruft
Diego Biurrun [Sat, 30 Jul 2016 11:51:23 +0000 (13:51 +0200)]
rm: Drop broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:50:58 +0000 (13:50 +0200)]
roqvideoenc: Drop broken disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:50:42 +0000 (13:50 +0200)]
pnm_parser: Drop broken disabled cruft
Diego Biurrun [Tue, 2 Aug 2016 10:01:12 +0000 (12:01 +0200)]
wma: Kill non-compiling disabled cruft
Diego Biurrun [Sat, 30 Jul 2016 11:47:34 +0000 (13:47 +0200)]
swscale: Kill non-compiling disabled cruft
Diego Biurrun [Tue, 2 Aug 2016 10:00:03 +0000 (12:00 +0200)]
mpeg4videoenc: Kill non-compiling disabled cruft
Diego Biurrun [Tue, 2 Aug 2016 10:02:21 +0000 (12:02 +0200)]
rangecoder: Kill non-compiling disabled cruft
Diego Biurrun [Fri, 29 Jul 2016 21:24:27 +0000 (23:24 +0200)]
mathematics: Kill non-compiling disabled cruft
Mark Thompson [Sat, 6 Aug 2016 20:35:13 +0000 (21:35 +0100)]
vaapi_vc1: Remove redundant version check
The lowest supported VAAPI version is 0.34 (checked at configure
time), so this test is no longer needed.
Mark Thompson [Sat, 6 Aug 2016 20:34:04 +0000 (21:34 +0100)]
vaapi_vc1: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 15:40:14 +0000 (16:40 +0100)]
vaapi_mpeg2: Constify pointers
Mark Thompson [Sat, 6 Aug 2016 15:39:57 +0000 (16:39 +0100)]
vaapi_h264: Constify pointers
Mark Thompson [Thu, 28 Jul 2016 22:28:30 +0000 (23:28 +0100)]
hwcontext_vaapi: Try the first render node as the default DRM device
If no string argument is supplied when av_hwdevice_ctx_create() is
called to create a VAAPI device, we currently only try the default
X11 display (that is, $DISPLAY) to find a device, and will therefore
fail in the absence of an X server to connect to. Change the logic
to also look for a device via the first DRM render node (that is,
"/dev/dri/renderD128"), which is probably the right thing to use in
most simple configurations which only have one DRM device.
Sean McGovern [Fri, 12 Aug 2016 20:37:15 +0000 (16:37 -0400)]
Prepare for 12_alpha1 Release
Luca Barbato [Wed, 3 Aug 2016 02:21:41 +0000 (04:21 +0200)]
avconv: Make sure that inputless filtergraphs are configured
Unbreak `avconv -filter_complex testsrc`.
Regression introduced in
a3a0230a9870b9018dc7415ae5872784d524cfe5
Luca Barbato [Sun, 24 Jul 2016 22:33:01 +0000 (00:33 +0200)]
avconv: Check the fifo allocation
Anton Khirnov [Sat, 6 Aug 2016 08:07:53 +0000 (10:07 +0200)]
vp9: reindent after last commit
Ronald S. Bultje [Tue, 2 Aug 2016 05:55:31 +0000 (07:55 +0200)]
vp9: add frame threading
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Sat, 23 Nov 2013 17:10:12 +0000 (12:10 -0500)]
vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.
This will be needed for frame threading.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Ronald S. Bultje [Sat, 23 Nov 2013 15:27:18 +0000 (10:27 -0500)]
vp9: split last/cur_frame from the reference buffers.
We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.
This prepares the decoder for frame threading support.
Signed-off-by: Anton Khirnov <anton@khirnov.net>