libav.git
5 years agoconfigure: Express atomics/thread deps through the dependency system
Diego Biurrun [Wed, 18 Dec 2013 20:52:28 +0000 (21:52 +0100)]
configure: Express atomics/thread deps through the dependency system

5 years agofate: Explicitly specify the pixel format for the pngparser test
Martin Storsjö [Wed, 18 Dec 2013 16:27:07 +0000 (18:27 +0200)]
fate: Explicitly specify the pixel format for the pngparser test

The RGB32 pixel format is RGBA/BGRA depending on target
endianness - make sure to convert it to one specific format for
the framecrc tests.

This fixes the pngparser fate test on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoPrepare release notes for Libav 10 "Eks" v10_alpha1
Anton Khirnov [Wed, 18 Dec 2013 02:52:13 +0000 (21:52 -0500)]
Prepare release notes for Libav 10 "Eks"

Additional editing by Diego Biurrun

5 years agopng_parser: Fix parsing on big endian
Martin Storsjö [Wed, 18 Dec 2013 08:39:47 +0000 (10:39 +0200)]
png_parser: Fix parsing on big endian

Since pc.state is populated by shifting in from the end of the
32 bit word, the content within pc.state is already in native endian
and should not be read with the AV_R{L,B} functions.

This was already done correctly for state64 above.

This fixes the fate-corepng test on big endian.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agovc1: Fix mb_height for field pictures
Michael Niedermayer [Sat, 14 Dec 2013 13:52:31 +0000 (14:52 +0100)]
vc1: Fix mb_height for field pictures

Tables are always allocated now with sufficient space for either progressive
or interlaced content. The alternative would be to detect a change
and reallocate.

This fixes decoding of a sample.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoapidoc: fix warning from stereo3d.h
Vittorio Giovara [Mon, 16 Dec 2013 13:40:06 +0000 (14:40 +0100)]
apidoc: fix warning from stereo3d.h

5 years agoh264: Refactor decode_frame_packing_arrangement
Vittorio Giovara [Fri, 13 Dec 2013 17:12:59 +0000 (18:12 +0100)]
h264: Refactor decode_frame_packing_arrangement

Directly set the fields when necessary.

5 years agohevc: Refactor decode_nal_sei_frame_packing_arrangement
Luca Barbato [Fri, 13 Dec 2013 15:39:45 +0000 (15:39 +0000)]
hevc: Refactor decode_nal_sei_frame_packing_arrangement

Directly set the fields when necessary.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
5 years agofate: add a pngparser test
Vittorio Giovara [Wed, 11 Dec 2013 09:40:13 +0000 (10:40 +0100)]
fate: add a pngparser test

5 years agofate: add utility function to test parser, demuxer, and decoder
Vittorio Giovara [Thu, 12 Dec 2013 15:08:31 +0000 (16:08 +0100)]
fate: add utility function to test parser, demuxer, and decoder

5 years agopng: add a standalone parser
Peter Holik [Thu, 12 Dec 2013 15:11:35 +0000 (16:11 +0100)]
png: add a standalone parser

Useful for reading png images from a pipe.

5 years agoavutil: Remove deprecated intfloat_readwrite code
Diego Biurrun [Mon, 16 Dec 2013 14:25:05 +0000 (15:25 +0100)]
avutil: Remove deprecated intfloat_readwrite code

It was deprecated over two years ago.

5 years agobuild: Define __printf__ to __gnu_printf__ on MinGW*/gcc
Diego Biurrun [Fri, 13 Dec 2013 22:19:55 +0000 (23:19 +0100)]
build: Define __printf__ to __gnu_printf__ on MinGW*/gcc

This is necessary to avoid GCC assuming MS style printf arguments.

5 years agoBump major of libavfilter for reference counted buffer API changes.
Reinhard Tartler [Sat, 14 Dec 2013 21:31:03 +0000 (16:31 -0500)]
Bump major of libavfilter for reference counted buffer API changes.

Applications that have been linked against an older release of Libav and pick up
updated libraries experience segmentation faults because they pick up the new
libavfilter, which assumes AVFrames have been allocated by libavutil and thus
contain new reference-counting related fields. This will break for AVFrames that
have been allocated by old libavcodec.

All scheduled API changes are deferred to the next bump.

5 years agoBump libavutil major version to account for the LLS API/ABI changes.
Reinhard Tartler [Sat, 14 Dec 2013 21:30:25 +0000 (16:30 -0500)]
Bump libavutil major version to account for the LLS API/ABI changes.

Commit 41578f70cf8aec8e7565fba1ca7e07f3dc46c3d2 changed the LLS API, which was
called from libavcodec. Thus using an old libavcodec with a new libavutil will
break.

All scheduled API changes are deferred to the next bump.

5 years agortpdec_h264: Check the return value of functions doing allocations
Michael Niedermayer [Fri, 13 Dec 2013 00:27:26 +0000 (01:27 +0100)]
rtpdec_h264: Check the return value of functions doing allocations

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agosdp: Check theora colorspace before producing the configuration string
Martin Storsjö [Fri, 13 Dec 2013 22:27:26 +0000 (00:27 +0200)]
sdp: Check theora colorspace before producing the configuration string

This avoids a memory leak (or having to worry about freeing the
config string) if the colorspace isn't accepted.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agohdsenc: Check the init_file() return code
Michael Niedermayer [Thu, 12 Dec 2013 20:04:24 +0000 (21:04 +0100)]
hdsenc: Check the init_file() return code

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agohdsenc: Fix an off by one error in an array size check
Michael Niedermayer [Wed, 11 Dec 2013 19:17:23 +0000 (20:17 +0100)]
hdsenc: Fix an off by one error in an array size check

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agohdsenc: Avoid integer overflow
Michael Niedermayer [Wed, 11 Dec 2013 15:33:26 +0000 (16:33 +0100)]
hdsenc: Avoid integer overflow

Also remove a silly leftover pair of parentheses.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoconfigure: Detect Solaris libc in an OpenIndiana/illumos compatible way
Diego Biurrun [Thu, 12 Dec 2013 11:14:30 +0000 (12:14 +0100)]
configure: Detect Solaris libc in an OpenIndiana/illumos compatible way

5 years agodoxy: Define a group for libswscale documentation
Luca Barbato [Thu, 12 Dec 2013 18:53:00 +0000 (19:53 +0100)]
doxy: Define a group for libswscale documentation

Uniform the style and eliminate a warning on newer doxygen version..

5 years agoconfigure: Reorder pthreads checks
Luca Barbato [Thu, 12 Dec 2013 16:05:34 +0000 (17:05 +0100)]
configure: Reorder pthreads checks

Some pthreads symbols might be present in libc (as shown on various *BSD)
but not all of them, leading to false positives.

Check for the most common compiler flags before the plain symbol check
to avoid known pitfalls.

5 years agoconfigure: Move the bz2 and zlib checks below phtreads
Luca Barbato [Wed, 11 Dec 2013 13:21:48 +0000 (14:21 +0100)]
configure: Move the bz2 and zlib checks below phtreads

There are alternate implementations of those libraries that use pthreads.

5 years agoavutil: Add deprecation ifdefs around obsolete intfloat code
Diego Biurrun [Fri, 13 Dec 2013 12:34:07 +0000 (13:34 +0100)]
avutil: Add deprecation ifdefs around obsolete intfloat code

This long-deprecated code should disappear at the next version bump.

5 years agobuild: Merge pthreads/w32threads OBJS declarations
Diego Biurrun [Thu, 12 Dec 2013 15:27:30 +0000 (16:27 +0100)]
build: Merge pthreads/w32threads OBJS declarations

5 years agoconfigure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW32
Diego Biurrun [Wed, 11 Dec 2013 23:39:43 +0000 (00:39 +0100)]
configure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW32

This enables a more C99-compliant implementation of printf et al.

5 years agoconfigure: Detect newer (>=4.1) versions of MinGW32
Diego Biurrun [Wed, 11 Dec 2013 23:34:43 +0000 (00:34 +0100)]
configure: Detect newer (>=4.1) versions of MinGW32

The MinGW32 project is deprecating its old version macros.

5 years agobuild: Do not add -g to HOSTCFLAGS
Diego Biurrun [Wed, 11 Dec 2013 23:04:27 +0000 (00:04 +0100)]
build: Do not add -g to HOSTCFLAGS

The flag is not unconditionally added to CFLAGS either and the
programs built on the host do not get habitually fed to a debugger.

5 years agompegts: add HEVC registration descriptor
Carl Eugen Hoyos [Wed, 16 Oct 2013 02:12:27 +0000 (04:12 +0200)]
mpegts: add HEVC registration descriptor

5 years agochangelog: drop redundant new attribute
Vittorio Giovara [Thu, 28 Nov 2013 14:01:50 +0000 (15:01 +0100)]
changelog: drop redundant new attribute

5 years agoimg2: add stereo 3d still picture file extensions
Martin Lambers [Wed, 16 Oct 2013 15:37:02 +0000 (17:37 +0200)]
img2: add stereo 3d still picture file extensions

5 years agortsp: suppress a incompatible pointer types warning
Vittorio Giovara [Tue, 10 Dec 2013 22:48:19 +0000 (22:48 +0000)]
rtsp: suppress a incompatible pointer types warning

5 years agoparseutils: fix discarding const attribute warning
Vittorio Giovara [Tue, 3 Dec 2013 11:57:51 +0000 (12:57 +0100)]
parseutils: fix discarding const attribute warning

5 years agomp3adu: Set the channel layout properly
Martin Storsjö [Wed, 11 Dec 2013 16:52:44 +0000 (18:52 +0200)]
mp3adu: Set the channel layout properly

This fixes decoding, broken since 7e35037.

This is similar to what was done for the normal mp3 decoder in
f4a86bc9.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agortspdec: Fix keep-alive request for ACTi cameras
Rumin Sam [Mon, 9 Dec 2013 20:43:51 +0000 (17:43 -0300)]
rtspdec: Fix keep-alive request for ACTi cameras

Some ACTi cameras fail if "*" is passed as the URI.

Signed-off-by: Ismael Luceno <ismael.luceno@corp.bluecherry.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agolavc: deprecate avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 11:00:57 +0000 (12:00 +0100)]
lavc: deprecate avcodec_get_frame_defaults().

Also bump libavcodec micro and add an APIchanges entry saying that
av_frame_* should now be used instead of the lavc AVFrame functions.

5 years agoh264: call av_frame_unref() instead of avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:51:31 +0000 (11:51 +0100)]
h264: call av_frame_unref() instead of avcodec_get_frame_defaults().

This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.

5 years agoapi-example: remove an unneeded call to avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:55:57 +0000 (11:55 +0100)]
api-example: remove an unneeded call to avcodec_get_frame_defaults().

avcodec_decode_audio4() resets the frame itself.

5 years agolavf: remove an unneeded call to avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:55:57 +0000 (11:55 +0100)]
lavf: remove an unneeded call to avcodec_get_frame_defaults().

avcodec_decode_*() resets the frame itself.

5 years agompegvideo: call av_frame_unref() instead of avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:51:31 +0000 (11:51 +0100)]
mpegvideo: call av_frame_unref() instead of avcodec_get_frame_defaults().

This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.

5 years agompegvideo: remove an unneeded call to avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:54:46 +0000 (11:54 +0100)]
mpegvideo: remove an unneeded call to avcodec_get_frame_defaults().

ff_mpeg_unref_picture() already resets the frame.

5 years agoavplay: do not call avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:49:23 +0000 (11:49 +0100)]
avplay: do not call avcodec_get_frame_defaults().

avcodec_decode_audio4() will reset the frame itself.

5 years agolavc: call av_frame_unref() instead of avcodec_get_frame_defaults().
Anton Khirnov [Mon, 9 Dec 2013 10:48:25 +0000 (11:48 +0100)]
lavc: call av_frame_unref() instead of avcodec_get_frame_defaults().

avcodec_get_frame_defaults() will be deprecated.

5 years agoavconv: do not call avcodec_get_frame_defaults()
Anton Khirnov [Tue, 3 Dec 2013 11:00:32 +0000 (12:00 +0100)]
avconv: do not call avcodec_get_frame_defaults()

Strictly speaking it is not correct to call it on refcounted frames, in
any case it is unnecessary, since filtered_frame is always unreferenced
after poll_filter() returns.

5 years agolavc: deprecate avcodec_free_frame()
Anton Khirnov [Fri, 29 Nov 2013 20:43:56 +0000 (21:43 +0100)]
lavc: deprecate avcodec_free_frame()

av_frame_free() should be used instead.

5 years agoReplace all uses of avcodec_free_frame with av_frame_free().
Anton Khirnov [Fri, 29 Nov 2013 20:41:52 +0000 (21:41 +0100)]
Replace all uses of avcodec_free_frame with av_frame_free().

5 years agohevc: set time_base when possible
Guillaume Martres [Tue, 10 Dec 2013 14:42:29 +0000 (15:42 +0100)]
hevc: set time_base when possible

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agohevc: store the VPS list as an AVBufferRef, just like the others *PS
Gildas Cocherel [Tue, 10 Dec 2013 14:42:28 +0000 (15:42 +0100)]
hevc: store the VPS list as an AVBufferRef, just like the others *PS

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agohevc: do not dereference pointer before NULL check in verify_md5()
Michael Niedermayer [Tue, 10 Dec 2013 14:42:26 +0000 (15:42 +0100)]
hevc: do not dereference pointer before NULL check in verify_md5()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoconfigure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW64
Diego Biurrun [Sun, 8 Dec 2013 23:50:39 +0000 (00:50 +0100)]
configure: Add -D__USE_MINGW_ANSI_STDIO=1 to CPPFLAGS on MinGW64

This enables a more POSIX-compliant printf implementation, that
allows using length modifiers like 'z'.

5 years agoalsdec: check block length
Reinhard Tartler [Sun, 8 Dec 2013 18:24:26 +0000 (13:24 -0500)]
alsdec: check block length

Fix writing over the end

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Addresses: CVE-2013-0845

5 years agoconfigure: Move log2 dependency declaration to a place it takes effect
Diego Biurrun [Tue, 10 Dec 2013 08:25:18 +0000 (09:25 +0100)]
configure: Move log2 dependency declaration to a place it takes effect

It was incorrectly moved in c869fcdeac3b7cd71a852b928902daadeca55685.

5 years agoconfigure: Split host and target libc detection
Diego Biurrun [Thu, 28 Feb 2013 15:16:10 +0000 (16:16 +0100)]
configure: Split host and target libc detection

5 years agoconfigure: Move toolchain dependency declarations to a more appropriate place
Diego Biurrun [Mon, 9 Dec 2013 14:03:22 +0000 (15:03 +0100)]
configure: Move toolchain dependency declarations to a more appropriate place

5 years agohevc: parse frame packing arrangement SEI messages and save relevant stereo3d information
Vittorio Giovara [Sun, 10 Nov 2013 22:23:57 +0000 (23:23 +0100)]
hevc: parse frame packing arrangement SEI messages and save relevant stereo3d information

5 years agompeg12enc: set frame packing information when relevant metadata is found
Vittorio Giovara [Thu, 1 Aug 2013 14:58:27 +0000 (16:58 +0200)]
mpeg12enc: set frame packing information when relevant metadata is found

5 years agompeg12dec: parse frame packing arrangement user_data and save relevant stereo3d infor...
Vittorio Giovara [Wed, 31 Jul 2013 17:04:50 +0000 (19:04 +0200)]
mpeg12dec: parse frame packing arrangement user_data and save relevant stereo3d information

5 years agolibx264: set frame packing information when relevant information is found
Vittorio Giovara [Sat, 31 Aug 2013 21:15:10 +0000 (23:15 +0200)]
libx264: set frame packing information when relevant information is found

5 years agoh264: parse frame packing arrangement SEI messages and save relevant stereo3d information
Vittorio Giovara [Wed, 20 Feb 2013 15:34:58 +0000 (16:34 +0100)]
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information

5 years agoavframe: add codec-independent stereoscopic metadata
Vittorio Giovara [Thu, 28 Nov 2013 13:47:13 +0000 (14:47 +0100)]
avframe: add codec-independent stereoscopic metadata

5 years agoconfigure: Prefix libc-related variables with "libc_"
Diego Biurrun [Wed, 4 Dec 2013 17:21:30 +0000 (12:21 -0500)]
configure: Prefix libc-related variables with "libc_"

Simplifies host/target libc detection splitting.

5 years agoconfigure: detect Solaris libc
Sean McGovern [Sun, 8 Dec 2013 22:17:12 +0000 (17:17 -0500)]
configure: detect Solaris libc

Add preprocessor flags for API availability as necessary.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
5 years agoavcodec: Use av_reallocp where suitable
Alexandra Khirnova [Fri, 6 Dec 2013 12:44:17 +0000 (13:44 +0100)]
avcodec: Use av_reallocp where suitable

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agodv: use AVFrame API properly
Anton Khirnov [Fri, 29 Nov 2013 07:58:10 +0000 (08:58 +0100)]
dv: use AVFrame API properly

5 years agoac3dec: make drc_scale exponentially
John Stebbins [Wed, 20 Nov 2013 17:26:45 +0000 (09:26 -0800)]
ac3dec: make drc_scale exponentially

The a52 spec suggests that "partial compression" should scale the
drc value in this manner.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agolavc: rework handling of refcounted_frames=0
Anton Khirnov [Fri, 29 Nov 2013 19:49:18 +0000 (20:49 +0100)]
lavc: rework handling of refcounted_frames=0

Use only proper AVFrame API (no assigning of whole frames, since that
hardcodes sizeof(AVFrame) into lavc).

Make a copy of the side data, so the caller can use av_frame_unref/free
on non-refcounted frames, eliminating the need for
avcodec_get_frame_defaults()/avcodec_free_frame().

5 years agoframe: cosmetics, reindent
Anton Khirnov [Fri, 29 Nov 2013 19:41:35 +0000 (20:41 +0100)]
frame: cosmetics, reindent

5 years agoframe: copy flags in av_frame_copy_props()
Anton Khirnov [Fri, 29 Nov 2013 19:40:34 +0000 (20:40 +0100)]
frame: copy flags in av_frame_copy_props()

Flags can be considered metadata (at least those that are defined now).

5 years agolavc/decode_video(): always unref the frame if there is no output in decode_video
Anton Khirnov [Fri, 29 Nov 2013 19:20:20 +0000 (20:20 +0100)]
lavc/decode_video(): always unref the frame if there is no output in decode_video

Not just on failure. This is the same thing that is done in the audio
path and should prevent leaks in decoders that allocate a frame, but
then end up not writing into it.

5 years agolavc: remove a pointless check in decode_audio4()
Anton Khirnov [Fri, 29 Nov 2013 19:19:27 +0000 (20:19 +0100)]
lavc: remove a pointless check in decode_audio4()

av_frame_unref() works fine on unallocated frames.

5 years agolavc: use buf[0] instead of data[0] as the indicator of an allocated frame
Anton Khirnov [Fri, 29 Nov 2013 19:16:07 +0000 (20:16 +0100)]
lavc: use buf[0] instead of data[0] as the indicator of an allocated frame

data[0] may be NULL for valid frames with hwaccel pixel formats.

5 years agolavc: remove the extended_data workarounds.
Anton Khirnov [Sat, 9 Nov 2013 18:57:14 +0000 (19:57 +0100)]
lavc: remove the extended_data workarounds.

All decoders should now handle it properly.

5 years agopthread_frame: use the AVFrame API properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
pthread_frame: use the AVFrame API properly.

Remove the extended_data workaround, all decoders should now handle this
properly.

5 years agomxpegdec: use the AVFrame API properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
mxpegdec: use the AVFrame API properly.

5 years agop*menc: use the AVFrame API properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
p*menc: use the AVFrame API properly.

5 years agomjpegdec: use the AVFrame API properly.
Anton Khirnov [Sat, 9 Nov 2013 09:14:46 +0000 (10:14 +0100)]
mjpegdec: use the AVFrame API properly.

5 years agoavformat: AviSynth demuxer rewrite
d s [Wed, 27 Nov 2013 02:58:28 +0000 (21:58 -0500)]
avformat: AviSynth demuxer rewrite

Directly loads AviSynth through LoadLibrary instead of relying on
Video for Windows, and supports using AvxSynth (via dlopen) to
open scripts on Linux and OS X.

Error messages from AviSynth/AvxSynth are now reported through
av_log and exit, rather than the traditional behavior of generating
an error video that the user would need to watch to diagnose.

The main rewrite was authored by d s <avxsynth.testing@gmail.com>
from the AvxSynth team, with additional contributions by

Oka Motofumi <chikuzen.mo@gmail.com>
Stephen Hutchinson <qyot27@gmail.com>
Diego Biurrun <diego@biurrun.de>
Anton Khirnov <anton@khirnov.net>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoconfigure: Move adding of compat objects out of libc detection
Diego Biurrun [Mon, 2 Dec 2013 04:06:02 +0000 (23:06 -0500)]
configure: Move adding of compat objects out of libc detection

5 years agodsputil: Move apply_window_int16 to ac3dsp
Diego Biurrun [Fri, 6 Dec 2013 12:22:40 +0000 (12:22 +0000)]
dsputil: Move apply_window_int16 to ac3dsp

The (optimized) functions are used nowhere else.

5 years agoconfigure: Separate MinGW32 and MinGW64 libc handling
Diego Biurrun [Mon, 2 Dec 2013 05:12:57 +0000 (00:12 -0500)]
configure: Separate MinGW32 and MinGW64 libc handling

5 years agolibvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0
Guillaume Martres [Fri, 15 Nov 2013 22:28:30 +0000 (23:28 +0100)]
libvpx: do not mark VP9 as experimental when using libvpx >= 1.3.0

Signed-off-by: Diego Biurrun <diego@biurrun.de>
5 years agodcadec: Decode LFE to avoid adding random data when downmixing with LFE
Michael Niedermayer [Thu, 5 Dec 2013 20:06:28 +0000 (21:06 +0100)]
dcadec: Decode LFE to avoid adding random data when downmixing with LFE

Signed-off-by: Tim Walker <tdskywalker@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agowebp: add a special case for a huffman table with only 1 symbol
Justin Ruggles [Wed, 4 Dec 2013 21:53:18 +0000 (16:53 -0500)]
webp: add a special case for a huffman table with only 1 symbol

The vlc reader cannot handle 0-bit huffman codes. For most
situations WebP uses the "simple" huffman coding for this case,
but that will only handle symbols up to 255. For the LZ77 distance
codes, larger symbol values are needed, so it can happen in rare
cases that a normal huffman table is used that only has a single
symbol.

5 years agowebp: do not call av_frame_free() on the user-provided frame
Justin Ruggles [Wed, 4 Dec 2013 21:53:17 +0000 (16:53 -0500)]
webp: do not call av_frame_free() on the user-provided frame

Fixes double-free on error.

5 years agoljpegenc: split yuv encoding into a separate function
Anton Khirnov [Mon, 2 Dec 2013 22:56:51 +0000 (23:56 +0100)]
ljpegenc: split yuv encoding into a separate function

5 years agoljpegenc: split bgr encoding into a separate function
Anton Khirnov [Mon, 2 Dec 2013 22:56:51 +0000 (23:56 +0100)]
ljpegenc: split bgr encoding into a separate function

5 years agoljpegenc: accept bgr24 instead of bgra
Anton Khirnov [Mon, 2 Dec 2013 22:49:11 +0000 (23:49 +0100)]
ljpegenc: accept bgr24 instead of bgra

The alpha plane is not encoded.

5 years agoljpegenc: rename the encoding function.
Anton Khirnov [Mon, 2 Dec 2013 22:34:37 +0000 (23:34 +0100)]
ljpegenc: rename the encoding function.

The new name is more consistent with the rest of Libav.

5 years agoljpeg: remove a commented-out line
Anton Khirnov [Mon, 2 Dec 2013 22:33:56 +0000 (23:33 +0100)]
ljpeg: remove a commented-out line

5 years agoljpegenc: deMpegEncContextize
Anton Khirnov [Mon, 2 Dec 2013 18:22:54 +0000 (19:22 +0100)]
ljpegenc: deMpegEncContextize

The encoder uses almost none of the mpegvideo infrastructure, only some
fields from MpegEncContext.

The FATE results change because now an all-zero quant matrix is written
into the file. Since it is not used for anything for ljpeg, this should
not be a problem.

5 years agomjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_dc()

This will allow deMpegEncContextizing the LJPEG encoder.

5 years agomjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_trailer()

This will allow deMpegEncContextizing the LJPEG encoder.

5 years agomjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()
Anton Khirnov [Sun, 1 Dec 2013 21:05:18 +0000 (22:05 +0100)]
mjpegenc: do not pass MpegEncContext to ff_mjpeg_encode_picture_header()

This will allow deMpegEncContextizing the LJPEG encoder.

5 years agomjpegenc: do not pass MpegEncContext to jpeg_table_header()
Anton Khirnov [Sun, 1 Dec 2013 20:45:40 +0000 (21:45 +0100)]
mjpegenc: do not pass MpegEncContext to jpeg_table_header()

Pass the three needed fields from it directly.
This will allow to deMpegEncContextize the LJPEG encoder.

5 years agomjpegenc: remove commented out never-to-be-finished WIP cruft
Anton Khirnov [Sun, 1 Dec 2013 20:40:17 +0000 (21:40 +0100)]
mjpegenc: remove commented out never-to-be-finished WIP cruft

5 years agomjpegenc: do not pass MpegEncContext to put_huffman_table()
Anton Khirnov [Sun, 1 Dec 2013 20:35:02 +0000 (21:35 +0100)]
mjpegenc: do not pass MpegEncContext to put_huffman_table()

It only needs PutBitContext from it, so pass that directly.

5 years agomjpegenc: cosmetics, reformat jpeg_put_comments()
Anton Khirnov [Sun, 1 Dec 2013 20:33:47 +0000 (21:33 +0100)]
mjpegenc: cosmetics, reformat jpeg_put_comments()

5 years agomjpegenc: write the JFIF header if the sample aspect ratio is set
Anton Khirnov [Sun, 1 Dec 2013 20:31:25 +0000 (21:31 +0100)]
mjpegenc: write the JFIF header if the sample aspect ratio is set

MpegEncContext.aspect_ratio_info is never set for mjpeg, so this was
never written before.

5 years agompegvideo: do not set current_picture_ptr in decoders
Anton Khirnov [Sun, 1 Dec 2013 11:57:47 +0000 (12:57 +0100)]
mpegvideo: do not set current_picture_ptr in decoders

This code was originally added in
5f1948111a4920ff74e31b4284ab0200f7938539 to h263 to set decoded frame
pts to some random numbers (removed in
a1c5cc429d99216406170eac7e8352860076d3e8) and then cargo culted to other
decoders.

The code is left in h263dec for now, since some part of the decoder
(apparently OBMC) relies on the specific previous frame to be reused.