]>
git.sesse.net Git - ffmpeg/log
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.
Anton Khirnov [Thu, 21 Jan 2016 15:35:32 +0000 (16:35 +0100)]
avprobe: remove a pointless condition and a dead branch
AVStream.codec is always non-NULL
Anton Khirnov [Wed, 24 Feb 2016 09:59:57 +0000 (10:59 +0100)]
APIchanges: add missing hashes and dates
Also, remove a stray line (apparently fallout from conflict resolution).
Anton Khirnov [Wed, 24 Feb 2016 09:47:58 +0000 (10:47 +0100)]
lavf: add a missing bump and APIchanges for the codecpar switch
Vittorio Giovara [Wed, 24 Feb 2016 19:40:19 +0000 (14:40 -0500)]
vc1dec: Check group allocations separatedly
This avoids accessing NULL pointers in case of error.
Vittorio Giovara [Wed, 24 Feb 2016 19:40:18 +0000 (14:40 -0500)]
vc1dec: Fix leak on error for array allocations
The deinit function in the 'error' section will correctly free
everything.
Vittorio Giovara [Wed, 24 Feb 2016 19:40:17 +0000 (14:40 -0500)]
vc1dec: Properly call deinit function on error
Vittorio Giovara [Wed, 24 Feb 2016 19:40:16 +0000 (14:40 -0500)]
vc1dec: Drop commented out cruft
Vittorio Giovara [Wed, 24 Feb 2016 00:44:18 +0000 (19:44 -0500)]
img2: Drop av_ prefix for a static function
This prefix is reserved for public functions only.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diego Biurrun [Tue, 23 Feb 2016 08:51:07 +0000 (09:51 +0100)]
idct: Only build prores IDCT if ProRes decoder is enabled
Anton Khirnov [Mon, 22 Feb 2016 09:48:34 +0000 (10:48 +0100)]
qsvdec: store the sync point in heap memory
The reasoning is the same as for the corresponding qsvenc patch.
Maxym Dmytrychenko [Mon, 22 Feb 2016 09:39:02 +0000 (10:39 +0100)]
qsvenc: store the sync point in heap memory
The QSV runtime expects the sync point address passed to
MFXVideoENCODE_EncodeFrameAsync() to be valid until
MFXVideoCORE_SyncOperation().
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Wed, 10 Feb 2016 13:17:21 +0000 (14:17 +0100)]
vsrc_movie: convert to codecpar
Anton Khirnov [Wed, 10 Feb 2016 13:17:21 +0000 (14:17 +0100)]
examples/transcode_aac: convert to codecpar
Anton Khirnov [Wed, 10 Feb 2016 13:17:21 +0000 (14:17 +0100)]
examples/qsvdec: convert to codecpar
Anton Khirnov [Wed, 10 Feb 2016 13:13:39 +0000 (14:13 +0100)]
examples/output: convert to codecpar
Anton Khirnov [Tue, 9 Feb 2016 13:23:30 +0000 (14:23 +0100)]
avplay: convert do codecpar
Anton Khirnov [Tue, 9 Feb 2016 11:36:13 +0000 (12:36 +0100)]
avplay: do not use AVStream.codec for decoding
AVStream.codec is now deprecated. Allocate a separate codec context
instead.
Anton Khirnov [Wed, 6 Jan 2016 08:18:21 +0000 (09:18 +0100)]
avconv: convert to codecpar
The switch is not yet complete because the parsers and the bistream
filters do not have a new AVCodecParam-based API yet.
Anton Khirnov [Mon, 18 Jan 2016 19:00:23 +0000 (20:00 +0100)]
avconv: switch opening decoders and encoders
Open decoders first, next encoders. This makes sure that that
subtitle_header is always set properly, without relying on
avformat_find_stream_info() setting it.
Anton Khirnov [Wed, 18 Jun 2014 18:42:52 +0000 (20:42 +0200)]
lavf: replace AVStream.codec with AVStream.codecpar
Currently, AVStream contains an embedded AVCodecContext instance, which
is used by demuxers to export stream parameters to the caller and by
muxers to receive stream parameters from the caller. It is also used
internally as the codec context that is passed to parsers.
In addition, it is also widely used by the callers as the decoding (when
demuxer) or encoding (when muxing) context, though this has been
officially discouraged since Libav 11.
There are multiple important problems with this approach:
- the fields in AVCodecContext are in general one of
* stream parameters
* codec options
* codec state
However, it's not clear which ones are which. It is consequently
unclear which fields are a demuxer allowed to set or a muxer allowed to
read. This leads to erratic behaviour depending on whether decoding or
encoding is being performed or not (and whether it uses the AVStream
embedded codec context).
- various synchronization issues arising from the fact that the same
context is used by several different APIs (muxers/demuxers,
parsers, bitstream filters and encoders/decoders) simultaneously, with
there being no clear rules for who can modify what and the different
processes being typically delayed with respect to each other.
- avformat_find_stream_info() making it necessary to support opening
and closing a single codec context multiple times, thus
complicating the semantics of freeing various allocated objects in the
codec context.
Those problems are resolved by replacing the AVStream embedded codec
context with a newly added AVCodecParameters instance, which stores only
the stream parameters exported by the demuxers or read by the muxers.
Anton Khirnov [Sun, 1 Jun 2014 07:38:22 +0000 (09:38 +0200)]
lavc: add a variant of av_get_audio_frame_duration working with AVCodecParameters
Anton Khirnov [Wed, 18 Jun 2014 18:42:13 +0000 (20:42 +0200)]
lavc: add codec parameters API
This API is intended to allow passing around codec parameters without
using full AVCodecContext (which also contains codec options and
encoder/decoder state).
Diego Biurrun [Sun, 21 Feb 2016 13:04:40 +0000 (14:04 +0100)]
x86: hevc: Fix linking with both yasm and optimizations disabled
Some optimized functions reference optimized symbols, so the functions
must be explicitly disabled when those symbols are unavailable.
Diego Biurrun [Sun, 21 Feb 2016 11:12:26 +0000 (12:12 +0100)]
fate: Ignore errors from concatenating report files
Some files may be missing for valid reasons, e.g. on compile failure.
Diego Biurrun [Sat, 20 Feb 2016 17:34:20 +0000 (18:34 +0100)]
fate: Be silent when fetching Git updates
Marton Balint [Mon, 8 Dec 2014 14:27:03 +0000 (14:27 +0000)]
mpeg12enc: always write closed gops for intra only outputs
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Marton Balint <cus@passwd.hu>
Michael Niedermayer [Tue, 9 Feb 2016 22:25:49 +0000 (17:25 -0500)]
h264: Add an AVClass pointer to H264Context
Sample-Id: asan_heap-uaf_3660f67_757_cov_1257014655_Hi422FR1_SONY_A.jsv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Tue, 16 Feb 2016 17:12:23 +0000 (12:12 -0500)]
libx264: Fix noise_reduction option assignment
First check the context, then check internal option. Drop the ! typo.
Introduced in
60f0fde3092d18d4d36555962c192af8691a099c .
Anton Khirnov [Wed, 20 Jan 2016 10:11:38 +0000 (11:11 +0100)]
lavf: add a protocol whitelist/blacklist for file opened internally
Should make the default behaviour safer for careless callers that open
random untrusted files.
Bug-Id: CVE-2016-1897
Bug-Id: CVE-2016-1898
Anton Khirnov [Fri, 19 Feb 2016 17:02:45 +0000 (18:02 +0100)]
urlprotocol: receive a list of protocols from the caller
This way, the decisions about which protocols are available for use in
any given situations can be delegated to the caller.
Anton Khirnov [Fri, 19 Feb 2016 13:29:10 +0000 (14:29 +0100)]
aviobuf: add a private data struct for avio_open()ed contexts
It will be useful in the following commits.
Anton Khirnov [Fri, 19 Feb 2016 10:17:22 +0000 (11:17 +0100)]
protocols: make the list of protocols static
Disallow other code to touch it directly, now it's only accessible
through a blacklisting/whitelisting function.
Anton Khirnov [Fri, 19 Feb 2016 09:59:46 +0000 (10:59 +0100)]
lavf: move urlcontext_child_class_next() to protocols.c
It needs to access the list of protocols directly, so it more properly
belongs there.
Anton Khirnov [Fri, 19 Feb 2016 09:49:10 +0000 (10:49 +0100)]
lavf: move avio_enum_protocols() to protocols.c
It's a more appropriate place for it.
Anton Khirnov [Fri, 19 Feb 2016 09:39:29 +0000 (10:39 +0100)]
lavf: reorganize URLProtocols
Instead of a linked list constructed at av_register_all(), store them
in a constant array of pointers.
Since no registration is necessary now, this removes some global state
from lavf. This will also allow the urlprotocol layer caller to limit
the available protocols in a simple and flexible way in the following
commits.
Anton Khirnov [Mon, 15 Feb 2016 13:47:33 +0000 (14:47 +0100)]
hls: disallow opening nested files in child demuxers
Anton Khirnov [Mon, 15 Feb 2016 12:56:15 +0000 (13:56 +0100)]
smoothstreamingenc: do not open the files as read+write
They are only written to, never read.
Anton Khirnov [Mon, 15 Feb 2016 12:46:38 +0000 (13:46 +0100)]
dashenc: eliminate ffurl_* usage
Now all IO should go through the IO callbacks and be interceptable by
the caller.
Anton Khirnov [Fri, 19 Feb 2016 18:36:24 +0000 (19:36 +0100)]
lavf: use the io_open callbacks for files opened from open_input() as well
There is no real reason to treat them differently.
Anton Khirnov [Fri, 19 Feb 2016 13:18:15 +0000 (14:18 +0100)]
avprobe: do not call avio_close() on a custom context
avio_close() can only be called on AVIOContexts created by avio_open(2).
Anton Khirnov [Sun, 21 Feb 2016 09:55:18 +0000 (10:55 +0100)]
nutenc: do not use AVCodecContext.frame_size
It will in general not be available. Use block_align if known or fall
back to av_get_audio_frame_duration().
Luca Barbato [Fri, 19 Feb 2016 12:49:43 +0000 (13:49 +0100)]
matroska: Always consider S_TEXT/UTF8 as SRT when demuxing
Reported-By: Maxim Koitsov <maksbotan@gentoo.org>
Diego Biurrun [Fri, 19 Feb 2016 21:05:07 +0000 (22:05 +0100)]
fate: Be silent when switching to Git branch
Diego Biurrun [Thu, 18 Feb 2016 10:08:11 +0000 (11:08 +0100)]
rtpdec: Use the right logging context
Diego Biurrun [Wed, 10 Feb 2016 14:41:50 +0000 (15:41 +0100)]
build: Disentangle VC-1 decoder and parser
Diego Biurrun [Wed, 10 Feb 2016 12:10:50 +0000 (13:10 +0100)]
build: Add vc1dsp component for more fine-grained dependencies
Diego Biurrun [Wed, 10 Feb 2016 13:55:52 +0000 (14:55 +0100)]
msmpeg4data: Move WMV2 data tables to their own file
Diego Biurrun [Wed, 10 Feb 2016 13:51:37 +0000 (14:51 +0100)]
msmpeg4data: K&R formatting cosmetics
Diego Biurrun [Wed, 10 Feb 2016 14:41:03 +0000 (15:41 +0100)]
build: Add missing mpegvideo dependency for the MSS2 and VC-1 decoders