Anton Khirnov [Sat, 3 May 2014 08:44:17 +0000 (10:44 +0200)]
a64: check that extradata exists before reading from it
Anton Khirnov [Sat, 3 May 2014 08:43:27 +0000 (10:43 +0200)]
a64: remove unneeded struct qualifier
Anton Khirnov [Sat, 3 May 2014 06:50:41 +0000 (08:50 +0200)]
4xm: allocate extradata properly.
Pad it with the required amount of zeros, check for malloc failure.
Anton Khirnov [Sat, 5 Apr 2014 06:36:00 +0000 (08:36 +0200)]
lavc: add avcodec_free_context().
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.
The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
Anton Khirnov [Sat, 5 Apr 2014 05:09:44 +0000 (07:09 +0200)]
lavc: remove the locking code in avcodec_close()
This function should not modify any global state, so there should be no
reason for any locking.
nu774 [Fri, 16 May 2014 11:25:46 +0000 (20:25 +0900)]
riff: Pass block_align to estimate frame duration
Fix incorrect wSamplesPerBlock(=0) written for ADPCM_IMA_WAV
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö [Thu, 15 May 2014 18:43:46 +0000 (21:43 +0300)]
hlsenc: Set the default codecs to AAC and H264
Most HLS implementation only support these codecs.
Signed-off-by: Martin Storsjö <martin@martin.st>
Katerina Barone-Adesi [Fri, 16 May 2014 16:07:34 +0000 (18:07 +0200)]
build: Support building using clang-usan and disable-optimization
Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.
Add -O1 to the cflags to hide the misbehaviour.
Bug-Id: 683
Hendrik Leppkes [Thu, 8 May 2014 13:51:15 +0000 (09:51 -0400)]
avisynth: set duration of audio streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Thu, 15 May 2014 06:02:59 +0000 (08:02 +0200)]
FATE/opus: increase fuzz for the celt tests
This seems to be needed on some 32bit arches.
Janne Grunau [Mon, 28 Apr 2014 15:56:43 +0000 (17:56 +0200)]
aarch64: opus NEON iMDCT and FFT
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.
Tristan Matthews [Wed, 14 May 2014 16:13:49 +0000 (16:13 +0000)]
configure: fix enable-libopus help string
Janne Grunau [Thu, 15 May 2014 12:53:30 +0000 (14:53 +0200)]
build: add avresample after avcodec to FFLIBS
avcodec might depend on avresample and with --as-needed required symbols
might be get removed if avresample is linked before avcodec.
Fixes link failures of avprobe and avplay on aarch64 with
--enable-neon-clobber-test.
Anton Khirnov [Sat, 5 Apr 2014 05:40:49 +0000 (07:40 +0200)]
lavc: properly handle subtitle_header in avcodec_copy_context()
Anton Khirnov [Sat, 5 Apr 2014 05:38:16 +0000 (07:38 +0200)]
lavc: preserve the original private data in avcodec_copy_context()
If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.
Anton Khirnov [Thu, 1 May 2014 11:11:57 +0000 (13:11 +0200)]
lavf: drop the zero-sized packets hack
There should not be any valid reason anymore for passing completely
empty packets to lavf.
OTOH side data-only packets can be useful.
Anton Khirnov [Thu, 1 May 2014 08:43:10 +0000 (10:43 +0200)]
lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.
Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
Anton Khirnov [Thu, 17 Apr 2014 10:51:03 +0000 (12:51 +0200)]
lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.
Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.
Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Tue, 13 May 2014 22:05:27 +0000 (00:05 +0200)]
build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
Avoids including disabled library Makefiles.
Anton Khirnov [Thu, 1 May 2014 08:03:54 +0000 (10:03 +0200)]
lavf: properly document the distinction between flags and ctx_flags
Janne Grunau [Thu, 1 May 2014 11:18:57 +0000 (13:18 +0200)]
build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
Janne Grunau [Tue, 13 May 2014 13:47:51 +0000 (15:47 +0200)]
aarch64: assembler in clang-3.4 ignores the division by two
Values are positive powers of two, so just replace it with right shift.
Anton Khirnov [Mon, 24 Mar 2014 01:02:33 +0000 (02:02 +0100)]
avconv: Support VDA hwaccel
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Anton Khirnov [Mon, 24 Mar 2014 00:59:02 +0000 (01:59 +0100)]
lavc: Add new VDA hwaccel
It leverages the new hwaccel 1.2 features:
- get_buffer2 is never called
- the internal context is automatically initialized/deinitialized
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Anton Khirnov [Thu, 6 Mar 2014 18:02:29 +0000 (19:02 +0100)]
vda: use hwaccel private data for internal bitstream buffer
Anton Khirnov [Thu, 6 Mar 2014 13:07:42 +0000 (14:07 +0100)]
lavu: Add a pixel format for new VDA hwaccel
The current hwaccel is broken and cannot be fixed in a compatible
way. It will be deprecated and replaced with a new one.
Anton Khirnov [Thu, 6 Mar 2014 17:37:42 +0000 (18:37 +0100)]
lavc: Add hwaccel private data and init/uninit callbacks
Luca Barbato [Thu, 8 May 2014 12:43:23 +0000 (14:43 +0200)]
hwaccel: Support specific frame allocators
It would reduce the boilerplate code users have to write.
Anton Khirnov [Thu, 6 Mar 2014 17:19:52 +0000 (18:19 +0100)]
hwaccel: Rename priv_data_size to frame_priv_data_size
This describes more accurately what this field is for.
Anton Khirnov [Thu, 6 Mar 2014 17:15:31 +0000 (18:15 +0100)]
lavc: document which parts of AVHWAccel are private.
Anton Khirnov [Thu, 6 Mar 2014 17:01:05 +0000 (18:01 +0100)]
lavc: set AVCodecContext.hwaccel in ff_get_format()
This way each decoder does not have to do the same thing manually.
Anton Khirnov [Thu, 6 Mar 2014 16:48:18 +0000 (17:48 +0100)]
lavc: Add an internal wrapper around get_format()
It will be useful in the following commits.
nu774 [Fri, 9 May 2014 12:47:41 +0000 (21:47 +0900)]
pcm-dvd: Fix 20bit decoding
Increment the pointer as needed.
Bug-Id: 592
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö [Thu, 8 May 2014 12:12:23 +0000 (15:12 +0300)]
rtmpproto: Check the buffer sizes when copying app/playpath strings
As pointed out by Reimar Döffinger.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Uwe L. Korn [Mon, 5 May 2014 20:47:05 +0000 (21:47 +0100)]
rtmpproto: Support alternative slist parameter in rtmp URLs
Support the URL scheme where the playpath is in an RTMP URL is
passed as the slist argument and the app is given infront of the
query part of the URL:
rtmp://host[:port]/[app]?slist=[playpath]
(other arguments in the query part are stripped as they are not used)
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 30 Apr 2014 06:44:31 +0000 (09:44 +0300)]
libfdk-aac: Relicense the library wrappers to 2-clause BSD
This should make it possible for Fraunhofer to contribute to these
wrappers - they didn't want to contribute to code under LGPL2.1 with
the "or any later version" clause (which allowed using the code
under the LGPL3 license).
Signed-off-by: Martin Storsjö <martin@martin.st>
Jean First [Sun, 26 Jan 2014 00:31:53 +0000 (01:31 +0100)]
libfdk-aacenc: Enable 7.1 channel encoding
7.1(wide) and 7.1(wide-side) channel layouts are supported in
fdk-aac since the 0.1.3 release.
The earlier versions of fdk-aac didn't include any library
version defines in the public headers, thus checking for
the AACENCODER_LIB_VL0 define is enough to know that we're
building against a new enough version of fdk-aac.
This change includes contributions by Tim Walker,
Michael Niedermayer and Timothy Gu.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Fri, 4 Apr 2014 17:38:04 +0000 (19:38 +0200)]
avconv: rename OutputStream.opts to OutputStream.encoder_opts
This makes it more clear what is this variable for exactly.
Anton Khirnov [Sun, 6 Apr 2014 05:28:51 +0000 (07:28 +0200)]
avconv: remove a useless line
Doing anything with that field when we are doing streamcopy (so the
encoder is not opened) should have absolutely no effect.
Anton Khirnov [Fri, 4 Apr 2014 17:59:48 +0000 (19:59 +0200)]
avconv: rename 'codec' to 'enc_ctx'
This more clearly describes what is the variable used for.
Also, move its declaration into the block where it is actually used.
Anton Khirnov [Fri, 4 Apr 2014 17:59:48 +0000 (19:59 +0200)]
avconv: rename 'icodec' to 'dec_ctx'
This more clearly describes what is the variable used for.
Anton Khirnov [Fri, 4 Apr 2014 17:38:04 +0000 (19:38 +0200)]
avconv: rename InputStream.opts to InputStream.decoder_opts
This makes it more clear what is this variable for exactly.
Anton Khirnov [Tue, 25 Mar 2014 11:38:31 +0000 (12:38 +0100)]
avconv: simplify exit_program() by using more local vars
Luca Barbato [Sat, 26 Apr 2014 19:10:30 +0000 (21:10 +0200)]
probe: Support AAC_LATM in set_codec_from_probe_data
Luca Barbato [Sat, 26 Apr 2014 18:32:47 +0000 (20:32 +0200)]
latm: Add a probe function
Luca Barbato [Thu, 1 May 2014 12:54:06 +0000 (14:54 +0200)]
mathematics: K&R formatting cosmetics
Luca Barbato [Thu, 1 May 2014 22:21:23 +0000 (00:21 +0200)]
swscale: Fix an undefined behaviour
Prevent a division by zero down the codepath.
Sample-Id:
00001721-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Thu, 1 May 2014 22:18:04 +0000 (00:18 +0200)]
vp9: Read the frame size as unsigned
Sample-Id:
00001723-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Luca Barbato [Sat, 26 Apr 2014 17:02:36 +0000 (19:02 +0200)]
aac: K&R formatting cosmetics
Luca Barbato [Sat, 26 Apr 2014 12:09:55 +0000 (14:09 +0200)]
flv: K&R formatting cosmetics
Anton Khirnov [Tue, 29 Apr 2014 14:44:08 +0000 (16:44 +0200)]
lavc: deprecate AVCodecContext.codec_name
It is undocumented and has no real use.
Anton Khirnov [Tue, 29 Apr 2014 14:42:07 +0000 (16:42 +0200)]
lavc: do not use AVCodecContext.codec_name in avcodec_string()
That field will be deprecated.
Anton Khirnov [Tue, 29 Apr 2014 14:40:55 +0000 (16:40 +0200)]
rmdec: do not export anything to AVCodecContext.codec_name
That field will be deprecated and the value that is written there is not
particularly useful.
Anton Khirnov [Tue, 29 Apr 2014 14:13:38 +0000 (16:13 +0200)]
asfenc: use codec descriptors instead of AVCodecs to write codec info
Also, stop using AVCodecContext.codec_name as fallback, since it will be
deprecated.
Changes the result of the lavf-asf test (and its associated seektest),
since 'msmpeg4v3' gets written instead of just 'msmpeg4'.
Anton Khirnov [Tue, 29 Apr 2014 13:42:38 +0000 (15:42 +0200)]
oggparseskeleton: do not use AVCodecContext.codec_name
That field is undocumented, of dubious use, and will be deprecated.
Anton Khirnov [Tue, 29 Apr 2014 13:37:52 +0000 (15:37 +0200)]
mov: export stsd Compressorname in metadata
Stop using the undocumented to-be-deprecated AVCodecContext.codec_name
field.
Anton Khirnov [Tue, 29 Apr 2014 06:00:03 +0000 (08:00 +0200)]
lavc: move CODEC_FLAG_MV0 to mpegvideo
Anton Khirnov [Tue, 29 Apr 2014 06:08:43 +0000 (08:08 +0200)]
lavc: make the xvid-specific "gmc" flag a private option of libxvid
Anton Khirnov [Tue, 29 Apr 2014 06:00:03 +0000 (08:00 +0200)]
lavc: move CODEC_FLAG_NORMALIZE_AQP to mpegvideo
Anton Khirnov [Tue, 29 Apr 2014 05:50:16 +0000 (07:50 +0200)]
lavc: deprecate CODEC_FLAG_INPUT_PRESERVED
The addition of reference-counted frames makes it pointless.
Anton Khirnov [Sun, 27 Apr 2014 11:40:11 +0000 (13:40 +0200)]
matroska: add the Opus mapping
Anton Khirnov [Tue, 29 Apr 2014 10:26:38 +0000 (12:26 +0200)]
matroskaenc: write CodecDelay
Alessandro Ghedini [Tue, 29 Apr 2014 16:53:16 +0000 (18:53 +0200)]
lavfi: add Bauer stereo-to-binaural audio filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 29 Apr 2014 10:03:13 +0000 (12:03 +0200)]
matroskadec: read the CodecDelay element
Luca Barbato [Sat, 26 Apr 2014 11:32:03 +0000 (13:32 +0200)]
librtmp: Map native options to librtmp ones when possible
Makes the two protocols nearly seamless.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Tue, 29 Apr 2014 16:20:17 +0000 (18:20 +0200)]
hls: Sync the file number with the start sequence
Luca Barbato [Tue, 29 Apr 2014 16:37:01 +0000 (18:37 +0200)]
hls: Factor the sequence computation
Luca Barbato [Tue, 29 Apr 2014 08:13:34 +0000 (10:13 +0200)]
hls: Print start_number as first sequence value
The option now behaves as expected.
Luca Barbato [Tue, 29 Apr 2014 08:28:11 +0000 (10:28 +0200)]
segment: Report the current media sequence
Useful for debugging mostly.
Luca Barbato [Tue, 29 Apr 2014 08:07:03 +0000 (10:07 +0200)]
hls: Report the current media sequence
Useful for debugging mostly.
Hendrik Leppkes [Mon, 28 Apr 2014 21:38:05 +0000 (23:38 +0200)]
avconv_dxva2: define all used GUIDs directly instead of relying on the dxva2api.h header
This avoids issues with inconsistent headers with different versions of mingw-w64 and older MSVC variants.
Fixes FATE builds of MSVC 2010.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 29 Apr 2014 09:13:43 +0000 (11:13 +0200)]
h264: drop commented out cruft
Anton Khirnov [Thu, 5 Dec 2013 20:17:00 +0000 (21:17 +0100)]
mpegvideo: remove unused MpegEncContext.b4_stride
Anton Khirnov [Thu, 5 Dec 2013 20:14:40 +0000 (21:14 +0100)]
mpegvideo: move the MpegEncContext fields used from arm asm to the beginning
This should reduce the frequency with which the offsets need to be
updated.
Luca Barbato [Tue, 18 Mar 2014 20:19:00 +0000 (21:19 +0100)]
hls: Add an option to prepend a baseurl to the playlist entries
Useful to generate playlists with absolute paths.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Enrique Arizón Benito [Tue, 18 Mar 2014 20:18:59 +0000 (21:18 +0100)]
segment: Add an option to prepend a string to the list entries
Useful to generate lists with absolute urls.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Anton Khirnov [Mon, 28 Apr 2014 21:00:38 +0000 (23:00 +0200)]
configure: rework dxva in avconv handling
Move the dxva check after the dependencies have been detected, make sure
the ole32 library exists.
Fixes build on non-Windows.
Hendrik Leppkes [Tue, 22 Apr 2014 13:22:53 +0000 (15:22 +0200)]
avconv: add support for DXVA2 decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Michael Niedermayer [Tue, 22 Apr 2014 13:22:52 +0000 (15:22 +0200)]
hwaccel: fix dxva2 & vaapi loop filter parameters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Hendrik Leppkes [Tue, 22 Apr 2014 13:22:51 +0000 (15:22 +0200)]
dxva2_h264: add a workaround for old Intel GPUs
Old Intel GPUs expect the reference frame index to the actual surface,
instead of the index into RefFrameList as specified by the spec.
This workaround should be set when using one of the "ClearVideo" decoder
devices.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Hendrik Leppkes [Tue, 22 Apr 2014 13:22:50 +0000 (15:22 +0200)]
dxva2_h264: set the correct ref frame index in the long slice struct
The latest H.264 DXVA specification states that the index in this
structure should refer to a valid entry in the RefFrameList of the picture
parameter structure, and not to the actual surface index.
Fixes H.264 DXVA2 decoding on recent Intel GPUs (tested on Sandy and Ivy)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Fri, 25 Apr 2014 14:33:27 +0000 (16:33 +0200)]
lavc: eliminate tb_unreliable()
If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.
Alessandro Ghedini [Mon, 21 Apr 2014 17:10:52 +0000 (19:10 +0200)]
vc1: Do not return an error when skipping b frames
This caused mpv (and possibly others) to fallback to software decoding after
seeking a VC1 stream.
Bug-Id: 667
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Miles Gould [Mon, 21 Apr 2014 13:46:22 +0000 (14:46 +0100)]
mov: Emit the correct tags for clcp tracks
Bug-Id: 664
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Aidan Skinner [Mon, 21 Apr 2014 13:47:38 +0000 (14:47 +0100)]
mov: Write prof section of tapt tag
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Derek Buitenhuis [Wed, 23 Apr 2014 16:15:13 +0000 (12:15 -0400)]
fate: Add fic-in-avi test
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Janne Grunau [Mon, 21 Apr 2014 14:13:28 +0000 (16:13 +0200)]
aarch64: NEON optimized FIR audio resampling
Optimized for the default filter length 16.
30% faster opus silk decoding.
Janne Grunau [Mon, 21 Apr 2014 14:12:21 +0000 (16:12 +0200)]
lavr: define ResampleContext in resample.h
Required for arch optimized resampling.
Janne Grunau [Wed, 23 Apr 2014 10:19:59 +0000 (12:19 +0200)]
lavu: add CHK_OFFS as AV_CHECK_OFFSET to check struct member offsets
Luca Barbato [Wed, 23 Apr 2014 19:20:17 +0000 (21:20 +0200)]
flv: Do not mangle dts values for negative cts
Some applications really mean to send negative pts.
Luca Barbato [Wed, 23 Apr 2014 19:19:27 +0000 (21:19 +0200)]
flv: Warn only once
No point in sending the message multiple time.
Luca Barbato [Wed, 23 Apr 2014 19:04:20 +0000 (21:04 +0200)]
flv: Improve log messages
Messages should start with a capital letter and possibly end with a "."
if they are statements.
Kostya Shishkov [Wed, 23 Apr 2014 18:02:37 +0000 (20:02 +0200)]
on2avc: change a comment at #endif to match actual define
Kostya Shishkov [Sun, 9 Jun 2013 18:03:33 +0000 (20:03 +0200)]
On2 AVC decoder
Derek Buitenhuis [Wed, 23 Apr 2014 16:53:00 +0000 (17:53 +0100)]
fic: Make warning message more accurate
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Wed, 23 Apr 2014 16:18:36 +0000 (12:18 -0400)]
fic: Remove redundant clips
The equations can't overflow or underflow anyway.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Tue, 22 Apr 2014 20:42:11 +0000 (16:42 -0400)]
fic: Simplify alpha blending
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Michael Niedermayer [Tue, 22 Apr 2014 20:44:14 +0000 (22:44 +0200)]
avutil: move av_get_time_base_q() after include rational.h
Fix compilation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Tue, 22 Apr 2014 05:26:07 +0000 (07:26 +0200)]
avutil: Add av_get_time_base_q()
This fixes usage of AV_TIME_BASE_Q in C++ applications, which
cannot use compound literals directly in their code.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Derek Buitenhuis [Sat, 19 Apr 2014 22:46:52 +0000 (18:46 -0400)]
fic: Support rendering cursors
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>