Gildas Cocherel [Wed, 25 Jun 2014 19:08:12 +0000 (21:08 +0200)]
hevc: remove unused array min_cb_addr_zs
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Kieran Kunhya [Sun, 15 Jun 2014 21:44:15 +0000 (23:44 +0200)]
hevc: Allow out of bound values for num_reorder_pics
This fixes decoding for a sample that cannot be shared
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Fri, 7 Feb 2014 09:42:35 +0000 (10:42 +0100)]
dv: Replace a magic number by sizeof()
Diego Biurrun [Wed, 25 Jun 2014 11:35:30 +0000 (04:35 -0700)]
x86: h264dsp: Fix link failure with optimizations disabled
With optimzations disabled compilers have trouble doing dead code
elimination on 'if (foo && 0)' expressions, while 'if (0 && foo)'
still works, so use the latter to avoid problems.
Bug-Id: 707
Derek Buitenhuis [Tue, 24 Jun 2014 16:38:54 +0000 (17:38 +0100)]
mjpegdec: Properly set the context colorspace info
The JPEG spec requires it to be this.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Vittorio Giovara [Fri, 7 Feb 2014 14:13:40 +0000 (15:13 +0100)]
h264: error out from decode_nal_units() when AV_EF_EXPLODE is set
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Sun, 9 Mar 2014 17:52:40 +0000 (18:52 +0100)]
jpeg2000: fix dereferencing invalid pointers during cleanup
CC: libav-stable@libav.org
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 23 Jun 2014 21:39:03 +0000 (17:39 -0400)]
pixfmt: mark the reserved values
Diego Biurrun [Fri, 24 Jan 2014 09:41:12 +0000 (01:41 -0800)]
dsputil: Split off global motion compensation bits into a separate context
Janne Grunau [Wed, 18 Jun 2014 15:10:42 +0000 (17:10 +0200)]
h264: avoid using uninitialized memory in NEON chroma mc
Adapt commit
982b596ea6640bfe218a31f6c3fc542d9fe61c31 for the arm and
aarch64 NEON asm. 5-10% faster on Cortex-A9.
Luca Barbato [Thu, 19 Jun 2014 21:26:58 +0000 (23:26 +0200)]
lzo: Handle integer overflow
get_len can overflow for specially crafted payload.
Reported-By: Don A. Baley <donb@securitymouse.com>
CC: libav-stable@libav.org
Dirk Ausserhaus [Fri, 20 Jun 2014 18:15:20 +0000 (20:15 +0200)]
indeo45: use is_indeo4 context flag instead of checking codec ID
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Diego Biurrun [Thu, 13 Feb 2014 16:57:05 +0000 (17:57 +0100)]
dsputil: Split bswap*_buf() off into a separate context
Diego Biurrun [Fri, 20 Jun 2014 13:05:45 +0000 (06:05 -0700)]
mpeg: Split error resilience bits off into a separate file
Justin Ruggles [Sun, 22 Jun 2014 17:19:36 +0000 (13:19 -0400)]
Check mp3 header before calling avpriv_mpegaudio_decode_header().
As indicated in the function documentation, the header MUST be
checked prior to calling it because no consistency check is done
there.
CC:libav-stable@libav.org
Justin Ruggles [Sun, 22 Jun 2014 17:11:32 +0000 (13:11 -0400)]
Check if an mp3 header is using a reserved sample rate.
Fixes an invalid read past the end of avpriv_mpa_freq_tab.
Fixes divide-by-zero due to sample_rate being set to 0.
Bug-Id: 705
CC:libav-stable@libav.org
Diego Biurrun [Wed, 18 Jun 2014 14:21:00 +0000 (16:21 +0200)]
Differentiate assembler and assembly in documentation and comments
The language and the program that consumes the language are not the same.
Luca Barbato [Sat, 21 Jun 2014 10:46:19 +0000 (12:46 +0200)]
libx264: Correctly manage constant rate factor params
By default they are set to -1.
Diego Biurrun [Thu, 19 Jun 2014 22:04:36 +0000 (00:04 +0200)]
Replace av_malloc() and memset(0) by av_mallocz()
Diego Biurrun [Thu, 19 Jun 2014 22:04:00 +0000 (00:04 +0200)]
ape: Replace memset(0) by zero initialization
Diego Biurrun [Fri, 20 Jun 2014 12:25:12 +0000 (05:25 -0700)]
mpeg: Mark ff_mpeg_set_erpic() static
It is not used outside of the file.
Diego Biurrun [Thu, 19 Jun 2014 15:15:50 +0000 (08:15 -0700)]
configure: Drop stray error resilience dependencies
Diego Biurrun [Fri, 20 Jun 2014 12:53:53 +0000 (05:53 -0700)]
build: Record explicit dependency of intrax8 on error resilience
Diego Biurrun [Fri, 20 Jun 2014 12:55:11 +0000 (05:55 -0700)]
build: Have the eatqi decoder depend on the MPEG-1 decoder
eatqi uses more than just the shared mpegvideo bits.
Diego Biurrun [Fri, 20 Jun 2014 10:31:32 +0000 (03:31 -0700)]
build: Add missing object files for webm muxer
Diego Biurrun [Fri, 20 Jun 2014 10:22:10 +0000 (03:22 -0700)]
build: Add missing object files for Matroska demuxer
Diego Biurrun [Fri, 20 Jun 2014 10:15:38 +0000 (03:15 -0700)]
build: Add missing replaygain object file for CAF demuxer
Diego Biurrun [Thu, 16 Jan 2014 16:30:19 +0000 (17:30 +0100)]
dsputil: Split audio operations off into a separate context
Vittorio Giovara [Fri, 20 Jun 2014 16:48:06 +0000 (12:48 -0400)]
h264: fix build when error resilience is disabled
Justin Ruggles [Mon, 28 Apr 2014 20:08:33 +0000 (16:08 -0400)]
Add av_image_check_sar() and use it to validate SAR
Anton Khirnov [Wed, 18 Jun 2014 09:02:24 +0000 (11:02 +0200)]
dv: cosmetics, reindent
Anton Khirnov [Wed, 18 Jun 2014 08:59:37 +0000 (10:59 +0200)]
dv: get rid of global non-const tables
Instead, store them in the context and compute on each parameter change.
Anton Khirnov [Wed, 18 Jun 2014 08:39:13 +0000 (10:39 +0200)]
dvenc: initialize the profile only once, at init
We do not allow the frame parameters to change during encoding, so there
is no need to do this for each frame.
Anton Khirnov [Wed, 18 Jun 2014 07:43:27 +0000 (09:43 +0200)]
Use av_packet_rescale_ts() to simplify code.
Anton Khirnov [Wed, 18 Jun 2014 07:39:32 +0000 (09:39 +0200)]
lavc: add a convenience function for rescaling timestamps in a packet
Vittorio Giovara [Mon, 21 Apr 2014 00:33:35 +0000 (02:33 +0200)]
stereo3d: add missing include guards
Diego Biurrun [Wed, 18 Jun 2014 14:45:45 +0000 (16:45 +0200)]
configure: Drop duplicate pkg-config entry from help output
Dirk Ausserhaus [Wed, 18 Jun 2014 08:01:52 +0000 (10:01 +0200)]
i263: skip dummy frames
Intel i263 codec has special 8-byte dummy frames that should not be decoded,
so do not even attempt to decode them and skip them instead.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Diego Biurrun [Tue, 14 Jan 2014 09:33:47 +0000 (10:33 +0100)]
dsputil: Split clear_block*/fill_block* off into a separate context
Luca Barbato [Wed, 18 Jun 2014 14:20:48 +0000 (16:20 +0200)]
hevc: Mark num_bins_in_se as unused
Only its size is actually used. Silence a clang warning.
Joshua Kordani [Tue, 17 Jun 2014 00:49:46 +0000 (02:49 +0200)]
rtsp: Support misordered fmtp rtpmap
Issue present in Avigilon IP cameras.
Luca Barbato [Tue, 17 Jun 2014 00:36:55 +0000 (02:36 +0200)]
rtsp: Factor out fmtp parsing
Luca Barbato [Mon, 16 Jun 2014 11:56:08 +0000 (13:56 +0200)]
doc: Document segment_list_type
Anton Khirnov [Sun, 18 May 2014 10:12:59 +0000 (12:12 +0200)]
lavf: switch to AVStream.time_base as the hint for the muxer timebase
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.
The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
Anton Khirnov [Fri, 30 May 2014 05:17:28 +0000 (07:17 +0200)]
riffenc: take an AVStream instead of an AVCodecContext
It will be useful in the following commits.
Also, rename the AVCodecContext pointer name from 'stream' to 'codec'.
Anton Khirnov [Thu, 29 May 2014 05:06:52 +0000 (07:06 +0200)]
lavf: add the notimestamps flag to the muxers missing it
Anton Khirnov [Thu, 29 May 2014 05:58:35 +0000 (07:58 +0200)]
rtpenc: base max_frames_per_packet on avg_frame_rate, not codec timebase
Fall back to 1 (which is what is used for most cases anyway) when the
framerate is not set.
Anton Khirnov [Mon, 9 Jun 2014 12:21:56 +0000 (14:21 +0200)]
Remove avserver.
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
Niels Möller [Wed, 18 Jun 2014 06:23:15 +0000 (08:23 +0200)]
dcadec: replace ldexpf with a multiplication by a constant
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Roman Savchenko [Wed, 18 Jun 2014 06:11:05 +0000 (08:11 +0200)]
AVFrame: factor out freeing the side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Rafaël Carré [Fri, 6 Jun 2014 18:06:43 +0000 (11:06 -0700)]
vp9 encoder: use a decent default speed setting
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Josh Allmann [Wed, 11 Jun 2014 01:45:07 +0000 (18:45 -0700)]
flvenc: Don't over-count metadata.
Over-counting occurs if framerate is not set.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Tristan Matthews [Fri, 13 Jun 2014 14:57:12 +0000 (10:57 -0400)]
tiffenc: fix packet size calculation
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Fri, 13 Jun 2014 12:38:44 +0000 (05:38 -0700)]
jpeg2000: Mark static data init functions as av_cold
Anton Khirnov [Sat, 14 Jun 2014 19:43:36 +0000 (21:43 +0200)]
avconv: use the correct variable in comparison
Luca Barbato [Fri, 13 Jun 2014 13:14:10 +0000 (15:14 +0200)]
configure: Directly support Android as target OS
Vittorio Giovara [Mon, 16 Jun 2014 05:31:37 +0000 (01:31 -0400)]
gitignore: add dylib and swp entries
Vittorio Giovara [Tue, 15 Apr 2014 14:55:23 +0000 (16:55 +0200)]
lavf: dump stream side data when probing
Vittorio Giovara [Tue, 15 Apr 2014 14:08:58 +0000 (16:08 +0200)]
lavf: group dump functions together
Vittorio Giovara [Mon, 24 Mar 2014 17:12:35 +0000 (18:12 +0100)]
vf_showinfo: print display transformation values
Diego Biurrun [Wed, 11 Jun 2014 12:32:01 +0000 (05:32 -0700)]
ac3: Only initialize float_dsp for the float encoder variant
Diego Biurrun [Thu, 12 Jun 2014 14:05:49 +0000 (07:05 -0700)]
Rename tpel_template.c ---> pel_template.c
The new name more accurately describes what the file is about.
Vittorio Giovara [Tue, 10 Jun 2014 21:46:57 +0000 (17:46 -0400)]
configure: use pkg-config for libx264
Derek Buitenhuis [Wed, 11 Jun 2014 20:20:43 +0000 (21:20 +0100)]
libx265: Remove unneeded bit depth check
This is no longer needed since the version bump.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Wed, 11 Jun 2014 20:19:42 +0000 (21:19 +0100)]
libx265: Add 4:2:2 support
It is also not final yet, so require -strict experimental.
Requires a bump to version 17.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Derek Buitenhuis [Wed, 11 Jun 2014 19:51:52 +0000 (20:51 +0100)]
libx265: Actually use X265_API_IMPORTS
It obvously needs to be above the include statement.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Diego Biurrun [Wed, 11 Jun 2014 12:48:30 +0000 (05:48 -0700)]
Remove some unnecessary CONFIG_FOO_COMPONENT ifdefs
The files are only ever compiled if that condition is true.
Anton Khirnov [Tue, 10 Jun 2014 15:41:57 +0000 (17:41 +0200)]
avconv: make -shortest work with streamcopy
CC: libav-stable@libav.org
Luca Barbato [Tue, 10 Jun 2014 12:31:48 +0000 (14:31 +0200)]
libx264: Support bitrate reconfiguration
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Tue, 10 Jun 2014 18:50:13 +0000 (20:50 +0200)]
h263enc: keep block_last_index always valid during advanced intra coding
Prevents a triggered assert during fate-vsynth{1,2}-rv20 in
dct_unquantize_h263_intra_c().
Janne Grunau [Wed, 11 Jun 2014 17:40:28 +0000 (19:40 +0200)]
mpegvideo: synchronize AVFrame pointers in ERContext fully
Since error resilience uses AVFrame pointers instead of references it
has to copy NULL pointers too. After a codec flush the last/next frame
pointers in MpegEncContext are NULL and the old pointers remaining in
ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
Reported and debugged by Adrien Maglo <magsoft@videolan.org>.
Vittorio Giovara [Fri, 23 May 2014 22:16:50 +0000 (18:16 -0400)]
fate: add on2avc audio test
Vittorio Giovara [Fri, 23 May 2014 16:39:51 +0000 (12:39 -0400)]
mpegvideoenc: check color_range
Rework the comparison into something simpler to understand.
Diego Biurrun [Thu, 5 Jun 2014 15:46:47 +0000 (08:46 -0700)]
ppc: Consistently use convenience macro for runtime CPU detection
Diego Biurrun [Thu, 5 Jun 2014 15:45:59 +0000 (08:45 -0700)]
ppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc
Luca Barbato [Fri, 6 Jun 2014 13:59:25 +0000 (15:59 +0200)]
mpegts: Provide an option to override the pcr period
Certain hardware demuxer have specific restrictions for PCR periodicity.
Luca Barbato [Tue, 10 Jun 2014 09:57:17 +0000 (11:57 +0200)]
mpegts: Move the option section to the bottom
Makes it consistent with the rest of the formats and ease usage
of macros constants for the defaults.
Luca Barbato [Tue, 10 Jun 2014 09:53:44 +0000 (11:53 +0200)]
doc: Document mpegts muxrate
Martin Storsjö [Mon, 20 Feb 2012 09:24:35 +0000 (11:24 +0200)]
x86: h264: Don't keep data in the redzone across function calls on 64 bit unix
We know that the called function (ff_chroma_inter_body_mmxext)
doesn't touch the redzone, and thus will be kept intact - thus,
this doesn't fix any bug per se.
However, valgrind's memcheck tool intentionally assumes that the
redzone is clobbered on every function call and function return
(see a long comment in valgrind/memcheck/mc_main.c). This avoids
false positives in that tool, at the cost of an extra stack pointer
adjustment.
The other alternative would be a valgrind suppression for this issue,
but that's an extra burden for everybody that wants to run libavcodec
within valgrind.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 5 Jun 2014 11:49:14 +0000 (14:49 +0300)]
adpcm: Write the proper predictor in trellis mode in IMA QT
The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in
b304244b.
This significantly improves the audio quality of the trellis
case, which was plain broken since
b304244b.
Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Janne Grunau [Sun, 8 Jun 2014 15:53:31 +0000 (17:53 +0200)]
av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE
av_dict_set leaks it key/value arguments if AV_DICT_DONT_OVERWRITE is
combined with AV_DICT_DONT_STRDUP_{KEY,VAL} and the key exists.
Janne Grunau [Thu, 29 May 2014 15:04:57 +0000 (17:04 +0200)]
configure: use .altmacro for gnu as check on arm
Clang's integrated assembler (after 3.4) does not yet support the
'.altmacro' directive which is only used in arm asm. Support is planned:
http://llvm.org/bugs/show_bug.cgi?id=18918
Martin Storsjö [Thu, 5 Jun 2014 08:48:53 +0000 (11:48 +0300)]
adpcm: Avoid reading out of bounds in the IMA QT trellis encoder
This was broken in
095be4fb - samples+ch (for the previous
non-planar case) equals &samples_p[ch][0]. The confusion
probably stemmed from the IMA WAV case where it originally
was &samples[avctx->channels + ch], which was correctly
changed into &samples_p[ch][1].
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Fri, 6 Jun 2014 10:59:14 +0000 (13:59 +0300)]
oggenc: Set the right AVOption size for the pref_duration option
On big endian machines, the default value set via the faulty
AVOption ended up as 2^32 times too big.
This fixes the fate-lavf-ogg test which currently is broken on
big endian machines, broken since 3831362. Since that commit,
a final zero-sized packet is written to the ogg muxer in that test,
which caused different flushing behaviour on little and big endian
depending on whether the pref_duration option was handled as it
should or not.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Marc-Antoine Arnaud [Wed, 4 Jun 2014 08:32:19 +0000 (10:32 +0200)]
avcodec options: add enum option for color_range
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Marc-Antoine Arnaud [Tue, 3 Jun 2014 09:52:11 +0000 (11:52 +0200)]
avcodec options: add enum option for colorspace
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Marc-Antoine Arnaud [Tue, 3 Jun 2014 09:53:21 +0000 (11:53 +0200)]
avcodec options: add enum option for color_trc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Marc-Antoine Arnaud [Tue, 3 Jun 2014 09:51:34 +0000 (11:51 +0200)]
avcodec options: add enum option for color_primaries
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Marc-Antoine Arnaud [Wed, 4 Jun 2014 07:26:55 +0000 (09:26 +0200)]
mpeg2: add sequence display extension information
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Martin Storsjö [Fri, 6 Jun 2014 07:48:27 +0000 (10:48 +0300)]
libfdk-aac: Relicense the library wrappers to the ISC license
This reduces the number of different licenses used within libav,
and is preferrable since it has less ambiguous wordings than
the BSD license with respect to the duties of the user of the code.
Fraunhofer have now indicated that they're allowed to contribute
code under this license as well.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 3 Jun 2014 11:48:19 +0000 (14:48 +0300)]
mov: Export geotag metadata fields
The '?xyz' form is used by android devices (and according to apple
mailing list archives, also by older iOS devices). The 'loci' field
(defined in 3GPP 26.244) is used by recent iOS devices.
Even though the loci field can contain an altitude, it was plain
0 in my sample. Just export longitude and latitude, in a string
format matching the one used by the '?xyz' metadata field.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 4 Jun 2014 11:58:33 +0000 (04:58 -0700)]
dict: const correctness for av_dict_get() and av_dict_copy()
Luca Barbato [Sat, 31 May 2014 13:49:30 +0000 (15:49 +0200)]
avconv: Report the codec and the encoder separately
Bug-Id: 694
Martin Storsjö [Thu, 29 May 2014 14:39:28 +0000 (17:39 +0300)]
oggenc: Support flushing the muxer
This allows the caller to write all buffered data to disk, allowing
the caller to know at what byte position in the file a certain
packet starts (any packet written after the flush will be located
after that byte position).
Signed-off-by: Martin Storsjö <martin@martin.st>
Janne Grunau [Fri, 30 May 2014 07:58:43 +0000 (09:58 +0200)]
build: check if AS supports the '.func' directive
Not supported by Clang's integrated assembler. Since it just adds
debug information it can safely omitted.
Janne Grunau [Thu, 29 May 2014 12:21:05 +0000 (14:21 +0200)]
arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.
Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.
http://llvm.org/bugs/show_bug.cgi?id=18199.
Janne Grunau [Fri, 30 May 2014 14:57:44 +0000 (16:57 +0200)]
aarch64: use '#' for whole line asm comments
Both gnu as and clang treat lines starting with '#' as comments if they
aren't consumed by the C-style preprocessor.
Using '//' does not work with clang since comments are removed before
macro expansion.
Janne Grunau [Tue, 3 Jun 2014 09:24:15 +0000 (11:24 +0200)]
aarch64: remove optional :pg_hi21: for adrp instruction
Clang's integrated assembler does not support it.
Janne Grunau [Sun, 1 Jun 2014 13:50:42 +0000 (15:50 +0200)]
aarch64: add darwin style PAGE/PAGEOFF relocations
Diego Biurrun [Fri, 30 May 2014 10:44:12 +0000 (03:44 -0700)]
Remove all Blackfin architecture optimizations
Blackfin is a painful platform to work with, no test machines are available
and the range of multimedia applications is dubious. Thus it only represents
a maintenance burden.