OSDN Git Service
Martin Storsjö [Fri, 25 Mar 2016 21:44:10 +0000 (23:44 +0200)]
aarch64: Make transpose_4x4H do a regular transpose
Previously, ff_h264_idct_add_neon (originally in the arm version) used
a non-regular transpose in order to be able to use more instructions
that deal with registers as 128 bit register pairs. The aarch64
translation doesn't do it to the same extent, but brought along the
same structure since it was a straight translation.
This reshuffles ff_h264_idct_add_neon, bringing it closer to
the C implementation, making the transpose_4x4H macro do a regular
transpose, usable for other algorithms as well.
Previously, the third and fourth output from transpose_4x4H were
swapped, and prior to
cc29d96d5a, the same inputs as well. In
addition to just swapping the outputs, also renumber the intermediate
registers for better readability (making the register order match
transpose_4x8B).
This runs with the same number of cycles as before.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ico Doornekamp [Thu, 24 Mar 2016 13:31:38 +0000 (14:31 +0100)]
rtpdec_jpeg: fix low contrast image on low quality setting
The problem is that the argument 'q' is of the type uint8_t.
According to the JPEG standard, if 1 <= q <= 50, the scale factor
'S' should be 5000 / Q. Because the create_default_qtables() reuses
the variable 'q' to store the result of this calculation, for small
values of q < 19, q wil subsequently overflow and give wrong results
in the calculated quantization tables.
Instead, use a new variable 'S' (same name as in RFC2435) with the
proper range to store the result of the division.
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Sat, 20 Feb 2016 05:46:49 +0000 (00:46 -0500)]
intrax8: Add a local BlockDSPContext and initialize it
Helps in decoupling this code from mpegvideo.
Vittorio Giovara [Sat, 20 Feb 2016 05:43:22 +0000 (00:43 -0500)]
intrax8: Reference the current AVCodecContext
It will be needed to initialize BlockDSP in the next commit.
Vittorio Giovara [Sat, 20 Feb 2016 05:23:48 +0000 (00:23 -0500)]
intrax8: Keep a reference to the GetBitContext reader
Helps in decoupling this code from mpegvideo.
Vittorio Giovara [Sat, 20 Feb 2016 01:50:00 +0000 (20:50 -0500)]
intrax8: Use a constant buffer instead of a ScratchpadContext
The size of the block is fixed (8x8 plus padding).
Vittorio Giovara [Sat, 20 Feb 2016 01:33:12 +0000 (20:33 -0500)]
intrax8: Pass the output frame to the decoding function
Helps in decoupling this code from mpegvideo.
Vittorio Giovara [Sat, 20 Feb 2016 00:59:51 +0000 (19:59 -0500)]
intrax8: Carry over the loopfilter value in ff_intrax8_decode_picture
Helps in decoupling this code from mpegvideo.
Vittorio Giovara [Fri, 19 Feb 2016 23:12:06 +0000 (18:12 -0500)]
intrax8: Keep a reference to the context idctdsp
Use it instead of the embedded mpegvideo one. Update init function
signature to load it directly from the callers.
Vittorio Giovara [Fri, 19 Feb 2016 22:57:09 +0000 (17:57 -0500)]
intrax8: Make x8_init_block_index not use mpegvideo fields
Vittorio Giovara [Sat, 20 Feb 2016 01:18:49 +0000 (20:18 -0500)]
intrax8: Use local destination buffers
These buffers are just a way to store frame pointers and be able to
modify them without touching the original ones.
The two dependent decoders (WMV2 and VC1) do not need special care for
these fields: the former does not seem to use the dest buffers, while
the latter reinits them every time to the current frame data buffers.
So only keep a local copy rather than the one from mpegvideo.
Diego Biurrun [Mon, 19 Aug 2013 12:24:45 +0000 (14:24 +0200)]
h264data: Move all data tables from a header to a .c file
Diego Biurrun [Thu, 24 Mar 2016 10:16:53 +0000 (11:16 +0100)]
lavc: Deduplicate zigzag_scan table
Diego Biurrun [Wed, 23 Mar 2016 17:33:42 +0000 (18:33 +0100)]
h264: Clean up #includes
Anton Khirnov [Fri, 25 Mar 2016 12:36:28 +0000 (13:36 +0100)]
rtmpdh: add an stdio.h include
The test uses printf.
Anton Khirnov [Sun, 20 Mar 2016 07:53:10 +0000 (08:53 +0100)]
qsvdec_h2645: switch to the new BSF API
Anton Khirnov [Thu, 24 Mar 2016 20:38:54 +0000 (21:38 +0100)]
vf_fade: make sure the slice end is always in the frame
CC: libav-stable@libav.org
Diego Biurrun [Mon, 21 Mar 2016 14:19:30 +0000 (15:19 +0100)]
testprogs: K&R formatting cosmetics
Diego Biurrun [Mon, 21 Mar 2016 19:06:18 +0000 (20:06 +0100)]
testprogs: Clean up #includes
Diego Biurrun [Fri, 18 Mar 2016 14:23:24 +0000 (15:23 +0100)]
build: Drop redundant removal of compiled object files
This is already taken care of by CLEANSUFFIXES.
Diego Biurrun [Wed, 23 Mar 2016 21:02:46 +0000 (22:02 +0100)]
fate: Only run SRTP test if SRTP code is enabled
Martin Storsjö [Fri, 27 Feb 2015 23:47:20 +0000 (01:47 +0200)]
unix: Use rw_timeout for setting the connect timeout
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 27 Feb 2015 23:43:39 +0000 (01:43 +0200)]
tcp: Use rw_timeout for setting the connect/listen timeouts
Apply the default value for timeout in code instead of via the
avoption, to allow distinguishing the default value from the user
not setting anything at all.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sat, 28 Feb 2015 00:00:50 +0000 (02:00 +0200)]
avio: Copy URLContext generic options into child URLContexts
Since all URLContexts have the same AVOptions, such AVOptions
will be applied on the outermost context only and removed from the
dict, while they probably make sense on all contexts.
This makes sure that rw_timeout gets propagated to the innermost
URLContext (to make sure it gets passed to the tcp protocol, when
opening a http connection for instance).
Alternatively, such matching options would be kept in the dict
and only removed after the ffurl_connect call.
Signed-off-by: Martin Storsjö <martin@martin.st>
Michael Niedermayer [Fri, 30 May 2014 19:04:14 +0000 (21:04 +0200)]
opt: Add av_opt_copy()
This includes documentation and other modifications by
Lukasz Marek and Martin Storsjö.
Signed-off-by: Martin Storsjö <martin@martin.st>
Lukasz Marek [Wed, 26 Nov 2014 23:11:01 +0000 (00:11 +0100)]
opt: Add const to av_opt_next
Also add const to pointers in static functions within opt.c where
possible/necessary.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 5 Feb 2015 13:06:42 +0000 (15:06 +0200)]
file: Add an option for following a file that is being written
Using this requires setting the rw_timeout option to make it
terminate, alternatively using the interrupt callback (if used via
the API).
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrey Utkin [Mon, 27 Aug 2012 13:31:08 +0000 (16:31 +0300)]
avio: Add an option 'rw_timeout'
If set non-zero, this limits duration of the retry_transfer_wrapper()
loop, thus affecting ffurl_read*(), ffurl_write(). As soon as
one single byte is successfully received/transmitted, the timer
restarts.
This has further changes by Michael Niedermayer and Martin Storsjö.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 27 Feb 2015 23:17:09 +0000 (01:17 +0200)]
avio: Apply avoptions on the URLContext itself as well
Currently the list of avoptions for URLContext is empty though,
but such options will be added.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sun, 17 Jan 2016 14:02:17 +0000 (15:02 +0100)]
lavfi: add an NVIDIA NPP-based scaling filter
Mark Thompson [Mon, 21 Mar 2016 00:03:16 +0000 (00:03 +0000)]
lavf: VAAPI scale filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Tue, 22 Mar 2016 18:09:57 +0000 (19:09 +0100)]
lavf: use new decode API
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Tue, 22 Mar 2016 18:09:55 +0000 (19:09 +0100)]
avconv: use new encode API
The flushing case is a bit strange; not simplifying it so the change is
less noisy.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Tue, 22 Mar 2016 18:09:54 +0000 (19:09 +0100)]
avconv: use new decode API
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Tue, 22 Mar 2016 18:09:53 +0000 (19:09 +0100)]
lavc: introduce a new decoding/encoding API with decoupled input/output
Until now, the decoding API was restricted to outputting 0 or 1 frames
per input packet. It also enforces a somewhat rigid dataflow in general.
This new API seeks to relax these restrictions by decoupling input and
output. Instead of doing a single call on each decode step, which may
consume the packet and may produce output, the new API requires the user
to send input first, and then ask for output.
For now, there are no codecs supporting this API. The API can work with
codecs using the old API, and most code added here is to make them
interoperate. The reverse is not possible, although for audio it might.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Mon, 21 Mar 2016 18:27:49 +0000 (19:27 +0100)]
opt-test: Merge struct declaration and initialization
Diego Biurrun [Mon, 21 Mar 2016 18:26:29 +0000 (19:26 +0100)]
opt-test: Move some variable declarations to avoid block braces
Diego Biurrun [Mon, 21 Mar 2016 15:55:42 +0000 (16:55 +0100)]
parseutils-test: Move some variable declarations to avoid block braces
Diego Biurrun [Mon, 21 Mar 2016 18:22:26 +0000 (19:22 +0100)]
des-test: Move a variable declaration to avoid an ifdef
Diego Biurrun [Fri, 18 Mar 2016 14:52:30 +0000 (15:52 +0100)]
build: Add component for the SRTP common code
This allows expressing the SRTP test code dependencies more clearly.
Diego Biurrun [Fri, 18 Mar 2016 11:07:19 +0000 (12:07 +0100)]
timefilter-test: Only compile timefilter-test if JACK is enabled
Diego Biurrun [Fri, 18 Mar 2016 11:41:47 +0000 (12:41 +0100)]
doc: Update paths to match new examples location
Diego Biurrun [Tue, 22 Mar 2016 14:33:28 +0000 (15:33 +0100)]
Move const qualifier before type name
Vittorio Giovara [Fri, 19 Feb 2016 22:43:24 +0000 (17:43 -0500)]
vc1dec: wmv2dec: Validate ff_intrax8_common_init return value
Vittorio Giovara [Fri, 19 Feb 2016 22:37:11 +0000 (17:37 -0500)]
intrax8: Check and propagate errors from ff_intrax8_common_init
This allows dropping an afterwards redundant assert.
Vittorio Giovara [Sat, 20 Feb 2016 06:34:18 +0000 (01:34 -0500)]
intrax8: Move documentation from implementation to header file
Vittorio Giovara [Wed, 24 Feb 2016 22:45:11 +0000 (17:45 -0500)]
intrax8: K&R formatting cosmetics
Diego Biurrun [Tue, 22 Mar 2016 20:51:47 +0000 (21:51 +0100)]
intrax8: Adjust printf conversion specifier for sizeof expression
Vittorio Giovara [Tue, 23 Feb 2016 16:29:38 +0000 (11:29 -0500)]
intrax8: Move a comment to the place it corresponds
Vittorio Giovara [Fri, 19 Feb 2016 23:26:24 +0000 (18:26 -0500)]
intrax8: Wrap multiline macros in do{}while(0) clauses
These macros are treated like functions, the wrapping simplifies error
checking and avoids deeply nested ifs in the following commit.
Vittorio Giovara [Sat, 20 Feb 2016 01:51:44 +0000 (20:51 -0500)]
intrax8: Move error resilience out of intrax8
The intrax8 decoding process does not imply any kind of error
resilience, and the only call present is more related to how mpegvideo
works rather than anything else.
Therefore have the parent decoders carry out er when actually needed.
Vittorio Giovara [Sun, 20 Mar 2016 01:38:27 +0000 (21:38 -0400)]
nuv: Use the correct context for av_image_check_size
Vittorio Giovara [Sat, 19 Mar 2016 22:07:21 +0000 (18:07 -0400)]
indeo4: Consistently initialize variables
Avoid using multiple variables for the same purpose.
Vittorio Giovara [Sat, 19 Mar 2016 21:07:37 +0000 (17:07 -0400)]
indeo4: Rework stream analysis report
* Change log level from error to debug
* Print report after the first decoded frame, not at the end of decoding
* Drop macro guard and use a context variable instead
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Anton Khirnov [Thu, 25 Feb 2016 14:41:45 +0000 (15:41 +0100)]
avconv: switch to the new BSF API
Anton Khirnov [Sat, 23 Nov 2013 10:43:13 +0000 (11:43 +0100)]
lavc: add a new bitstream filtering API
Deprecate the current bitstream filtering API.
Andreas Cadhalpun [Tue, 9 Jun 2015 22:12:38 +0000 (00:12 +0200)]
takdec: ensure chan2 is a valid channel index
If chan2 is not smaller than the number of channels, it can cause
segmentation faults due to dereferencing a NULL pointer.
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Wed, 17 Feb 2016 01:23:02 +0000 (02:23 +0100)]
mpegts: Forward the errors on mpeg4 objects parsing
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Mark Thompson [Thu, 25 Feb 2016 00:21:40 +0000 (00:21 +0000)]
lavfi: generic hardware surface upload and download filters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mark Thompson [Mon, 15 Feb 2016 19:32:45 +0000 (19:32 +0000)]
lavu: VAAPI hwcontext implementation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mark Thompson [Mon, 7 Mar 2016 22:34:59 +0000 (22:34 +0000)]
lavu: deprecate AV_PIX_FMT_VAAPI_*, replace with AV_PIX_FMT_VAAPI
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mark Thompson [Thu, 18 Feb 2016 23:25:52 +0000 (23:25 +0000)]
lavu: add a way to query hwcontext frame constraints
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Sat, 12 Mar 2016 16:46:36 +0000 (17:46 +0100)]
svq3: Use a separate buffer for decoding the slices
The AVPacket.data should be considered read-only.
Sean McGovern [Sat, 12 Mar 2016 19:38:10 +0000 (14:38 -0500)]
cmdutils: update copyright year to 2016
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Sat, 12 Mar 2016 12:46:13 +0000 (13:46 +0100)]
matroska: Support V_QUICKTIME as written in the specification
Check if the size is written the first 4 bytes and read the next 4
as fourcc candidate, fallback checking the initial for 4 bytes.
"The CodecPrivate contains all additional data that is stored in the
'stsd' (sample description) atom in the QuickTime file after the
mandatory video descriptor structure (starting with the size and FourCC
fields)"
CC: libav-stable@libav.org
Luca Barbato [Tue, 15 Mar 2016 13:10:05 +0000 (14:10 +0100)]
qsv: Fix loading multiple plugins
av_get_token does not strip the trailing separator.
Luca Barbato [Tue, 8 Mar 2016 10:57:16 +0000 (11:57 +0100)]
mov: Check the entries value when parsing dref boxes
And properly reset the entries count when resetting the entries.
CC: libav-stable@libav.org
Bug-Id: 929
Bug-Id: CVE-2016-3062
Luca Barbato [Sun, 6 Mar 2016 21:52:04 +0000 (22:52 +0100)]
configure: Add support for clang llvm-cov
Luca Barbato [Sun, 6 Mar 2016 21:48:20 +0000 (22:48 +0100)]
configure: Support msan as toolchain
Anton Khirnov [Sat, 9 Jan 2016 08:08:14 +0000 (09:08 +0100)]
buffer: drop a reference to a non-existing function from the docs
This function only ever existed in the draft versions of the API.
Anton Khirnov [Sat, 9 Jan 2016 18:46:26 +0000 (19:46 +0100)]
pixfmt: fix the AV_PIX_FMT_VAAPI_VLD doxy
Luca Barbato [Fri, 4 Mar 2016 15:57:30 +0000 (16:57 +0100)]
mpegvideo: Refactor emulated_edge_mc calls
Luca Barbato [Fri, 4 Mar 2016 15:57:29 +0000 (16:57 +0100)]
mpegvideo: Fix undefined negative shifts in mpeg_motion_internal
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Luca Barbato [Wed, 2 Mar 2016 23:52:23 +0000 (18:52 -0500)]
mpegvideo: Fix undefined negative shifts in ff_init_block_index
Found-by: gcc5-ubsan.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Katerina Barone-Adesi [Wed, 2 Mar 2016 23:52:25 +0000 (18:52 -0500)]
idct8x8: Fix undefined negative shifts
The original code left-shifts negative values, which is undefined
in the C99 specification (the one used during normal Libav compilation).
This change multiplies by (1 << shift), which is functionally equivalent,
but has defined behavior.
With this change, fate-idct8x8 compiled with --fsanitize=undefined works.
Bug-Id: 686
Vittorio Giovara [Tue, 1 Mar 2016 20:34:23 +0000 (15:34 -0500)]
vdpau: Add missing deprecation guards
Vittorio Giovara [Tue, 16 Feb 2016 02:44:07 +0000 (21:44 -0500)]
mov: Trim dref absolute path
Samples produced by Omneon (Harmonic) store external references with
paths ending with 0s. Such movs cannot be loaded properly since every
0 is converted to '/', to keep the same parsing code for dref type 2
and type 18: this makes the external reference point to a non-existing
direactory, rather than to the actual referenced file.
Add a brief trimming loop that drops all ending 0s before trying to
parse the external reference path.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
wm4 [Mon, 29 Feb 2016 21:48:14 +0000 (22:48 +0100)]
avconv: remove sub-frame warning
It's not practical to keep this with the new decode API.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Mon, 29 Feb 2016 21:48:12 +0000 (22:48 +0100)]
lavc: factor apply_param_change() AV_EF_EXPLODE handling
Remove the duplicated code for handling failure of apply_param_change().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Mon, 29 Feb 2016 21:48:11 +0000 (22:48 +0100)]
lavu: improve documentation of some AVFrame functions
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Fri, 4 Mar 2016 15:39:29 +0000 (16:39 +0100)]
asfenc: remove an unused variable
Anton Khirnov [Fri, 4 Mar 2016 15:32:07 +0000 (16:32 +0100)]
asfenc: fix some possible integer overflows
Store the file duration in the same timebase it arrives (i.e.
milliseconds) and only convert it to the file duration units (100ns)
when it's actually written, thus simplifying some calculations. Also,
store the duration as unsigned, since it cannot be negative.
CC: libav-stable@libav.org
Bug-ID: CVE-2016-2326
Anton Khirnov [Thu, 3 Mar 2016 09:07:55 +0000 (10:07 +0100)]
avformat_find_stream_info: move duration guessing after updating codec parameters
This bitrate might not be known otherwise.
Bug-Id: 926
Diego Biurrun [Thu, 25 Feb 2016 16:13:26 +0000 (17:13 +0100)]
fate: Add separate target for all indeo3 tests
Vittorio Giovara [Wed, 24 Feb 2016 20:45:49 +0000 (15:45 -0500)]
fate: Add test for indeo2 with delta frames
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Tue, 23 Feb 2016 00:58:19 +0000 (19:58 -0500)]
indeo2: Fix banding artefacts
Rename luma table to delta table and change how it is used.
CC: libav-stable@libav.org
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Luca Barbato [Tue, 23 Feb 2016 00:58:18 +0000 (19:58 -0500)]
indeo2data: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Diego Biurrun [Sat, 30 Jan 2016 13:45:28 +0000 (14:45 +0100)]
fft: Split MDCT bits off from FFT
Mark Harris [Tue, 1 Mar 2016 04:09:53 +0000 (20:09 -0800)]
sdp: fix opus sprop-stereo fmtp syntax
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Tue, 16 Feb 2016 11:05:19 +0000 (12:05 +0100)]
fate: fft: Split DCT/FFT/MDCT/RDFT tests into separate targets
Diego Biurrun [Sat, 30 Jan 2016 12:44:38 +0000 (13:44 +0100)]
rdft: arm: Split RDFT initialization into a separate file
Diego Biurrun [Sat, 30 Jan 2016 13:54:35 +0000 (14:54 +0100)]
fft: arm: Drop unnecessary #include, add missing ones
Diego Biurrun [Sat, 30 Jan 2016 16:11:41 +0000 (17:11 +0100)]
fft: x86: cosmetics: Drop silly comments, add comment, whitespace
Luca Barbato [Wed, 24 Feb 2016 14:13:58 +0000 (15:13 +0100)]
qsv: Move down the implementation query
The plugin loaded may not match the general implementation capability
wise.
Anton Khirnov [Thu, 25 Feb 2016 14:53:17 +0000 (15:53 +0100)]
avpacket: properly reset data/size in av_packet_move_ref()
It currently just calls av_init_packet(), which does not touch those
fields.
Anton Khirnov [Wed, 24 Feb 2016 15:32:19 +0000 (16:32 +0100)]
avprobe: switch to codecpar
Anton Khirnov [Wed, 24 Feb 2016 14:02:48 +0000 (15:02 +0100)]
avprobe: add local per-stream state
This will be useful in the following commits.
Anton Khirnov [Wed, 24 Feb 2016 13:56:15 +0000 (14:56 +0100)]
avprobe: add local per-file state
Do not pass just a bare AVFormatContext pointer around, wrap it in
struct. This will be useful in the following commits.
Anton Khirnov [Wed, 24 Feb 2016 10:10:30 +0000 (11:10 +0100)]
mpegvideo_enc: use avcodec_free_context() instead of av_free()
Anton Khirnov [Thu, 21 Jan 2016 15:40:59 +0000 (16:40 +0100)]
avprobe: print information from the codec descriptor
avprobe is not doing any decoding, so this is more correct than printing
information from a random codec implementation.