platform/upstream/libav.git
10 years agobuild: Support executable only ldflags
Luca Barbato [Wed, 16 Jul 2014 15:00:11 +0000 (17:00 +0200)]
build: Support executable only ldflags

The options is useful to build position-independent executables on
hardened systems (e.g. Android L and Gentoo Hardened).

10 years agoconfigure: Do not add extralibs to avresample .pc file
Luca Barbato [Wed, 16 Jul 2014 14:33:13 +0000 (16:33 +0200)]
configure: Do not add extralibs to avresample .pc file

The library does not have external dependencies.

10 years agompegts: do not export empty language tags
Jan Gerber [Mon, 21 Jul 2014 19:39:02 +0000 (19:39 +0000)]
mpegts: do not export empty language tags

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agofate: Split audio- and video-related RealMedia targets
Katerina Barone-Adesi [Sun, 13 Jul 2014 21:47:05 +0000 (23:47 +0200)]
fate: Split audio- and video-related RealMedia targets

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agobuild: Conditionally compile all avcodec test programs
Diego Biurrun [Mon, 21 Jul 2014 12:28:26 +0000 (05:28 -0700)]
build: Conditionally compile all avcodec test programs

10 years agobuild: Conditionally build and run DCT test program
Diego Biurrun [Mon, 21 Jul 2014 12:27:45 +0000 (05:27 -0700)]
build: Conditionally build and run DCT test program

10 years agobuild: Conditionally build and test iirfilter
Diego Biurrun [Mon, 21 Jul 2014 12:26:00 +0000 (05:26 -0700)]
build: Conditionally build and test iirfilter

10 years agomjpeg: return proper error code
Nidhi Makhijani [Mon, 21 Jul 2014 07:11:46 +0000 (12:41 +0530)]
mjpeg: return proper error code

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agodct-test: Move arch-specific bits into arch-specific subdirectories
Diego Biurrun [Tue, 18 Feb 2014 13:15:55 +0000 (14:15 +0100)]
dct-test: Move arch-specific bits into arch-specific subdirectories

10 years agoRevert "tiff: support reading gray+alpha at 8 bits"
Janne Grunau [Mon, 21 Jul 2014 06:35:32 +0000 (08:35 +0200)]
Revert "tiff: support reading gray+alpha at 8 bits"

This reverts commit b31d76e45fc3c6529dd7109e721676f3ec376d00 as it
uses an unkown pixel format.

10 years agofate: add h264-direct-bff test
Vittorio Giovara [Fri, 18 Jul 2014 13:54:46 +0000 (09:54 -0400)]
fate: add h264-direct-bff test

10 years agoh264: Fix direct temporal mvs for bottom-field-first poc order
Ronald S. Bultje [Thu, 17 Jul 2014 23:49:54 +0000 (01:49 +0200)]
h264: Fix direct temporal mvs for bottom-field-first poc order

Such files can be created using the --bff x264 option.

Sample-Id: h264_direct_temporal_mvs_bff.mkv
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agotiff: support reading gray+alpha at 8 bits
Carl Eugen Hoyos [Sun, 20 Jul 2014 06:34:19 +0000 (02:34 -0400)]
tiff: support reading gray+alpha at 8 bits

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agoidct: Move arm-specific declarations to a header in the arm directory
Diego Biurrun [Tue, 18 Feb 2014 12:46:32 +0000 (13:46 +0100)]
idct: Move arm-specific declarations to a header in the arm directory

10 years agompegencconetxt: Move rv10-specific orig_width/orig_height where they belong
Nidhi Makhijani [Sun, 20 Jul 2014 09:21:38 +0000 (14:51 +0530)]
mpegencconetxt: Move rv10-specific orig_width/orig_height where they belong

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agofdct: Move ppc-specific declarations to a header in the ppc directory
Diego Biurrun [Tue, 18 Feb 2014 13:09:35 +0000 (14:09 +0100)]
fdct: Move ppc-specific declarations to a header in the ppc directory

10 years agosimple_idct: Move x86-specific declarations to a header in the x86 directory
Diego Biurrun [Tue, 18 Feb 2014 12:20:01 +0000 (13:20 +0100)]
simple_idct: Move x86-specific declarations to a header in the x86 directory

10 years agofdct: Move x86-specific declarations to a header in the x86 directory
Diego Biurrun [Tue, 18 Feb 2014 12:16:11 +0000 (13:16 +0100)]
fdct: Move x86-specific declarations to a header in the x86 directory

10 years agooss_audio: Split muxer and demuxer
Nidhi Makhijani [Fri, 18 Jul 2014 10:43:15 +0000 (16:13 +0530)]
oss_audio: Split muxer and demuxer

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agodct-test: Reuse enum idct_permutation_type instead of duplicating it
Diego Biurrun [Tue, 18 Feb 2014 11:11:41 +0000 (12:11 +0100)]
dct-test: Reuse enum idct_permutation_type instead of duplicating it

10 years agodct-test: Skip indirection for MMX IDCT permutation
Diego Biurrun [Tue, 18 Feb 2014 11:02:34 +0000 (12:02 +0100)]
dct-test: Skip indirection for MMX IDCT permutation

10 years agox86: dnxhdenc: Eliminate some unnecessary ifdefs
Diego Biurrun [Sun, 13 Jul 2014 11:03:35 +0000 (04:03 -0700)]
x86: dnxhdenc: Eliminate some unnecessary ifdefs

10 years agolibgsm: Split decoder and encoder
Nidhi Makhijani [Tue, 8 Jul 2014 03:33:35 +0000 (09:03 +0530)]
libgsm: Split decoder and encoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoidctdsp: prettyprinting cosmetics
Diego Biurrun [Fri, 18 Jul 2014 14:37:35 +0000 (07:37 -0700)]
idctdsp: prettyprinting cosmetics

10 years agoidct: Convert IDCT permutation #defines to an enum
Diego Biurrun [Tue, 18 Feb 2014 10:30:55 +0000 (11:30 +0100)]
idct: Convert IDCT permutation #defines to an enum

Also rename the enum values to be consistent with other DCT permutations.

10 years agoavdevice: Give names to anonymously typedeffed structs
Diego Biurrun [Thu, 17 Jul 2014 15:51:27 +0000 (08:51 -0700)]
avdevice: Give names to anonymously typedeffed structs

Anonymous structs can cause trouble in header files, so try to
avoid them altogether as a matter of good style.

10 years agofft: Convert FFT/MDCT permutation type #defines to enums
Diego Biurrun [Tue, 18 Feb 2014 10:52:42 +0000 (11:52 +0100)]
fft: Convert FFT/MDCT permutation type #defines to enums

10 years agodct-test: Improve CPU flags struct member name
Diego Biurrun [Tue, 18 Feb 2014 10:58:57 +0000 (11:58 +0100)]
dct-test: Improve CPU flags struct member name

10 years agodct-test: Move cpu_flags variable out of global scope
Diego Biurrun [Tue, 18 Feb 2014 10:57:48 +0000 (11:57 +0100)]
dct-test: Move cpu_flags variable out of global scope

10 years agoarm: cosmetics: Consistently use lowercase for shift operators
Martin Storsjö [Thu, 17 Jul 2014 22:39:49 +0000 (01:39 +0300)]
arm: cosmetics: Consistently use lowercase for shift operators

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoarm: cosmetics: Fix a misaligned asm operand
Martin Storsjö [Sat, 12 Jul 2014 19:41:51 +0000 (22:41 +0300)]
arm: cosmetics: Fix a misaligned asm operand

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoarmv6: Accelerate butterflies_float
Ben Avison [Thu, 10 Jul 2014 23:12:34 +0000 (00:12 +0100)]
armv6: Accelerate butterflies_float

I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in butterflies_float_c() / ff_butterflies_float_vfp() for the
same sample AAC stream:

                   Before          After
                   Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode       1542.8 43.7     1470.5 41.5    100.0%      +4.9%
butterflies_float  130.0  11.9     70.2   12.1    100.0%      +85.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoarmv6: Accelerate vector_fmul_window
Ben Avison [Thu, 10 Jul 2014 23:12:33 +0000 (00:12 +0100)]
armv6: Accelerate vector_fmul_window

I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in vector_fmul_window_c() / ff_vector_fmul_window_vfp() for the
same sample AAC stream:

                    Before          After
                    Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode        1598.2 47.4     1529.2 25.4    100.0%      +4.5%
vector_fmul_window  244.0  22.1     188.9  22.3    100.0%      +29.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoarmv6: Accelerate ff_fft_calc for general case (nbits != 4)
Ben Avison [Wed, 16 Jul 2014 15:02:01 +0000 (16:02 +0100)]
armv6: Accelerate ff_fft_calc for general case (nbits != 4)

The previous implementation targeted DTS Coherent Acoustics, which only
requires nbits == 4 (fft16()). This case was (and still is) linked directly
rather than being indirected through ff_fft_calc_vfp(), but now the full
range from radix-4 up to radix-65536 is available. This benefits other codecs
such as AAC and AC3.

The implementaion is based upon the C version, with each routine larger than
radix-16 calling a hierarchy of smaller FFT functions, then performing a
post-processing pass. This pass benefits a lot from loop unrolling to
counter the long pipelines in the VFP. A relaxed calling standard also
reduces the overhead of the call hierarchy, and avoiding the excessive
inlining performed by GCC probably helps with I-cache utilisation too.

I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in the FFT routines (fft4() to fft512() and pass()) for the
same sample AAC stream:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
Audio decode  2245.5 53.1     1599.6 43.8    100.0%      +40.4%
FFT routines  940.6  22.0     348.1  20.8    100.0%      +170.2%

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoarmv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
Ben Avison [Thu, 10 Jul 2014 23:12:31 +0000 (00:12 +0100)]
armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)

The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.

In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.

I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:

                  Before          After
                  Mean   StdDev   Mean   StdDev  Confidence  Change
aac_decode_frame  2368.1 35.8     2117.2 35.3    100.0%      +11.8%
ff_imdct_half_*   457.5  22.4     251.2  16.2    100.0%      +82.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agodsputil: Split motion estimation compare bits off into their own context
Diego Biurrun [Sat, 8 Feb 2014 01:59:58 +0000 (02:59 +0100)]
dsputil: Split motion estimation compare bits off into their own context

10 years agoconfigure: Assume runtime cpu detection on arm on --target-os=android as well
Martin Storsjö [Wed, 16 Jul 2014 16:43:12 +0000 (19:43 +0300)]
configure: Assume runtime cpu detection on arm on --target-os=android as well

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agox86: dsputil: Coalesce all init files
Diego Biurrun [Sat, 4 Jan 2014 14:23:15 +0000 (15:23 +0100)]
x86: dsputil: Coalesce all init files

This makes the init files match the structure of the dsputil split.

10 years agoavpacket: Check for and return errors in ff_interleave_add_packet()
Nidhi Makhijani [Mon, 14 Jul 2014 06:22:44 +0000 (11:52 +0530)]
avpacket: Check for and return errors in ff_interleave_add_packet()

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agoh264: K&R formatting cosmetics
Luca Barbato [Wed, 16 Jul 2014 22:31:06 +0000 (18:31 -0400)]
h264: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agoh264: Remove some commented-out, broken cruft
Diego Biurrun [Wed, 16 Jul 2014 19:26:34 +0000 (12:26 -0700)]
h264: Remove some commented-out, broken cruft

10 years agoarm: dsputil: Coalesce all init files
Diego Biurrun [Tue, 8 Jul 2014 15:47:52 +0000 (08:47 -0700)]
arm: dsputil: Coalesce all init files

10 years agog2meet: allow size changes within original sizes
Vittorio Giovara [Tue, 15 Jul 2014 19:22:11 +0000 (15:22 -0400)]
g2meet: allow size changes within original sizes

10 years agofate: Use the correct, local path to samples for opus reference files
Martin Storsjö [Sat, 12 Jul 2014 18:29:17 +0000 (21:29 +0300)]
fate: Use the correct, local path to samples for opus reference files

This fixes running fate in configs where the samples are located
in a different path on the target.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agox86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
Diego Biurrun [Tue, 8 Jul 2014 15:59:31 +0000 (08:59 -0700)]
x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection

The remaining dsputil bits are encoding-specific anyway.

10 years agoppc: dsputil: Coalesce all init files
Diego Biurrun [Tue, 8 Jul 2014 15:36:32 +0000 (08:36 -0700)]
ppc: dsputil: Coalesce all init files

10 years agoexamples/output: Remove unused variable
Diego Biurrun [Fri, 11 Jul 2014 13:49:16 +0000 (06:49 -0700)]
examples/output: Remove unused variable

doc/examples/output.c:460:9: warning: unused variable ‘i’

10 years agodsputil: Drop unused bit_depth parameter from all init functions
Diego Biurrun [Tue, 8 Jul 2014 15:31:15 +0000 (08:31 -0700)]
dsputil: Drop unused bit_depth parameter from all init functions

10 years agomov: Clarify tkhd flag settings
Luca Barbato [Fri, 4 Jul 2014 14:53:31 +0000 (16:53 +0200)]
mov: Clarify tkhd flag settings

10 years agomov: Do not group tracks if more than one is enabled per type
Luca Barbato [Fri, 4 Jul 2014 14:26:06 +0000 (16:26 +0200)]
mov: Do not group tracks if more than one is enabled per type

The specification requires at most 1 track enabled per alternate group.

10 years agohevc: implement pic_output_flag handling
Gildas Cocherel [Fri, 4 Jul 2014 15:21:56 +0000 (11:21 -0400)]
hevc: implement pic_output_flag handling

Sample-Id: OPFLAG_B_Qualcomm_1.bit, OPFLAG_C_Qualcomm_1.bit
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc: set the keyframe flag on output frames
Mickaël Raulet [Fri, 4 Jul 2014 15:21:55 +0000 (11:21 -0400)]
hevc: set the keyframe flag on output frames

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc: Replace nal type chek with equivalent IS_IRAP macro
Mickaël Raulet [Fri, 4 Jul 2014 15:21:54 +0000 (11:21 -0400)]
hevc: Replace nal type chek with equivalent IS_IRAP macro

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agohevc_ps: remove a write-only variable
Anton Khirnov [Fri, 11 Jul 2014 08:38:51 +0000 (08:38 +0000)]
hevc_ps: remove a write-only variable

10 years agocdg: Forward error from avio_size() in read_header() function
Nidhi Makhijani [Thu, 10 Jul 2014 08:14:51 +0000 (13:44 +0530)]
cdg: Forward error from avio_size() in read_header() function

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agompegts: pass MpegTSContext ptr explicitly
Alexander V. Lukyanov [Tue, 8 Jul 2014 07:54:15 +0000 (11:54 +0400)]
mpegts: pass MpegTSContext ptr explicitly

AVFormatContext->priv_data is not always a MpegTSContext, it can be
RTSPState when decoding a RTP stream. So it is necessary to pass
MpegTSContext pointer explicitly.

Within libav, the write_section_data function doesn't actually use
the MpegTSContext at all, so this doesn't change anything at the
moment (no memory was corrupted before), but it reduces the risk of
anybody trying to touch the MpegTSContext via AVFormatContext->priv_data
in the future.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agodsputil: Split off pixel block routines into their own context
Diego Biurrun [Mon, 3 Feb 2014 22:29:09 +0000 (14:29 -0800)]
dsputil: Split off pixel block routines into their own context

10 years agohevc: parse display orientation SEI message
Vittorio Giovara [Wed, 2 Jul 2014 16:02:15 +0000 (12:02 -0400)]
hevc: parse display orientation SEI message

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agoh264: parse display orientation SEI message
Vittorio Giovara [Wed, 2 Jul 2014 15:58:19 +0000 (11:58 -0400)]
h264: parse display orientation SEI message

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agodisplay: add matrix flip api
Vittorio Giovara [Wed, 18 Jun 2014 22:08:20 +0000 (18:08 -0400)]
display: add matrix flip api

10 years agodoc: mention option to mix shared/static libraries
Andrew Kelley [Thu, 3 Jul 2014 20:22:33 +0000 (16:22 -0400)]
doc: mention option to mix shared/static libraries

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years agortpdec: pass an AVFormatContext to ff_parse_fmtp()
Anton Khirnov [Sat, 5 Jul 2014 07:01:07 +0000 (07:01 +0000)]
rtpdec: pass an AVFormatContext to ff_parse_fmtp()

Use it for logging, instead of NULL or the stream codec context.

10 years agoyuv4mpegenc: do not access AVCodecContext.coded_frame
Anton Khirnov [Sat, 5 Jul 2014 06:44:00 +0000 (06:44 +0000)]
yuv4mpegenc: do not access AVCodecContext.coded_frame

Its contents are meaningful only if the stream codec context is the one
actually used for encoding, which is often not the case (and is
discouraged).

Use AVCodecContext.field_order instead.

10 years agonsvdec: remove commented out cruft
Anton Khirnov [Thu, 19 Jun 2014 07:13:19 +0000 (09:13 +0200)]
nsvdec: remove commented out cruft

10 years agomov: free the dv demux context with avformat_free_context()
Anton Khirnov [Thu, 19 Jun 2014 06:56:24 +0000 (08:56 +0200)]
mov: free the dv demux context with avformat_free_context()

10 years agomtv: do not set sample_rate for video
Anton Khirnov [Sun, 15 Jun 2014 04:38:41 +0000 (06:38 +0200)]
mtv: do not set sample_rate for video

10 years agooggparsecelt: do not set AVCodecContext.frame_size
Anton Khirnov [Sun, 1 Jun 2014 08:19:47 +0000 (10:19 +0200)]
oggparsecelt: do not set AVCodecContext.frame_size

It is supposed to be set by decoders only.

10 years agoadxdec: get rid of an avpriv function
Anton Khirnov [Thu, 3 Jul 2014 19:01:59 +0000 (19:01 +0000)]
adxdec: get rid of an avpriv function

The only thing the demuxer needs is the sample rate to set the timebase,
which can be simply read with AV_RB32.

10 years agolavc: export DV profile API used by muxer/demuxer as public
Anton Khirnov [Sat, 5 Jul 2014 09:09:15 +0000 (09:09 +0000)]
lavc: export DV profile API used by muxer/demuxer as public

10 years agoavconv: set the output stream timebase
Anton Khirnov [Wed, 9 Jul 2014 10:33:03 +0000 (10:33 +0000)]
avconv: set the output stream timebase

This is required by the new API.

10 years agoavformat: update muxing doxy
Anton Khirnov [Wed, 9 Jul 2014 10:26:03 +0000 (10:26 +0000)]
avformat: update muxing doxy

The callers should now set the stream timebase, not the codec one.

10 years agocdg: set the keyframe flag on the first packet
Anton Khirnov [Fri, 4 Jul 2014 15:52:03 +0000 (15:52 +0000)]
cdg: set the keyframe flag on the first packet

Bug-Id: 55

10 years agomov: Remove a variable that is set but never used
Martin Storsjö [Mon, 7 Jul 2014 19:07:49 +0000 (22:07 +0300)]
mov: Remove a variable that is set but never used

This silences a warning with gcc.

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoavplay: Handle pixel aspect ratio properly
Martin Storsjö [Sun, 6 Jul 2014 20:18:27 +0000 (23:18 +0300)]
avplay: Handle pixel aspect ratio properly

This was broken (left half-implemented) in 354468fc12.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agonut: Use nut->version in the version range check
Luca Barbato [Mon, 7 Jul 2014 18:48:34 +0000 (20:48 +0200)]
nut: Use nut->version in the version range check

It was wrongly left unchanged when the version field had been
introduced. (c94e2e85cb6af8a570d8542a830556243bd32873)

10 years agoarm: Avoid using the 'setend' instruction on ARMv7 and newer
Martin Storsjö [Fri, 4 Jul 2014 15:21:50 +0000 (18:21 +0300)]
arm: Avoid using the 'setend' instruction on ARMv7 and newer

This instruction is deprecated on ARMv8, and it is serializing on
some ARMv7 cores as well [1].

[1] http://article.gmane.org/gmane.linux.ports.arm.kernel/339293

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agoavformat_new_stream: make the AVCodec parameter const
Roman Savchenko [Tue, 8 Jul 2014 08:24:09 +0000 (08:24 +0000)]
avformat_new_stream: make the AVCodec parameter const

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agoaf_compand: make sure request_frame always outputs at least one frame
Andrew Kelley [Sun, 6 Jul 2014 05:24:43 +0000 (22:24 -0700)]
af_compand: make sure request_frame always outputs at least one frame

This fixes a segmentation fault because request_frame in fifo.c assumes
that the call to ff_request_frame will populate fifo->root.next.
Before, it was possible for request_frame in af_compand to not do this,
resulting in a null pointer access. Now, request_frame in af_compand
always will return at least one frame or an error, as per the API
specifications in avfilter.h for request_frame.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
10 years agodsputil: Split off FDCT bits into their own context
Diego Biurrun [Mon, 3 Feb 2014 18:09:45 +0000 (10:09 -0800)]
dsputil: Split off FDCT bits into their own context

10 years agolibfdk-aacdec: Decode the first AAC frame to reliably identify the bitstream
Omer Osman [Mon, 7 Jul 2014 08:28:12 +0000 (10:28 +0200)]
libfdk-aacdec: Decode the first AAC frame to reliably identify the bitstream

For implicit signaling cases (as possible for Spectral Band Replication
and Parametric Stereo Tools), the decoder must decode the first frame to
correctly identify the stream configuration (as called from
avformat_find_stream_info). The mechanism for this is built-in and only
requires adding CODEC_CAP_CHANNEL_CONF to the libfdk-aacdec AVCodec
struct.

Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agosmoothstreamingenc: Fix a memory leak on errors
Michael Niedermayer [Sun, 6 Jul 2014 03:02:38 +0000 (05:02 +0200)]
smoothstreamingenc: Fix a memory leak on errors

Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agovmd: Split audio and video decoder
Nidhi Makhijani [Mon, 7 Jul 2014 04:11:04 +0000 (09:41 +0530)]
vmd: Split audio and video decoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agodsputil: Move draw_edges() to mpegvideoencdsp
Diego Biurrun [Mon, 3 Feb 2014 19:13:59 +0000 (11:13 -0800)]
dsputil: Move draw_edges() to mpegvideoencdsp

10 years agodsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc
Diego Biurrun [Mon, 30 Dec 2013 18:56:07 +0000 (19:56 +0100)]
dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc

10 years agodsputil: Split off *_8x8basis to a separate context
Diego Biurrun [Mon, 30 Dec 2013 18:19:39 +0000 (19:19 +0100)]
dsputil: Split off *_8x8basis to a separate context

10 years agoaudio_fifo: Split into a separate doxygen module
Timothy Gu [Sun, 6 Jul 2014 17:54:17 +0000 (10:54 -0700)]
audio_fifo: Split into a separate doxygen module

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agosamplefmt: Add doxygen categories
Timothy Gu [Sun, 6 Jul 2014 17:53:33 +0000 (10:53 -0700)]
samplefmt: Add doxygen categories

Categorize the enum and functions as "audio-related".

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agodsicin: Split audio and video decoder
Nidhi Makhijani [Sun, 6 Jul 2014 13:45:52 +0000 (19:15 +0530)]
dsicin: Split audio and video decoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agobmv: Split audio and video decoder
Nidhi Makhijani [Sun, 6 Jul 2014 14:03:49 +0000 (19:33 +0530)]
bmv: Split audio and video decoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agopaf: split audio and video decoder
Nidhi Makhijani [Sun, 6 Jul 2014 04:42:50 +0000 (10:12 +0530)]
paf: split audio and video decoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agocljr: split decoder and encoder
Nidhi Makhijani [Sat, 5 Jul 2014 15:34:05 +0000 (21:04 +0530)]
cljr: split decoder and encoder

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agovc1test: Check malloc call
Nidhi Makhijani [Sun, 6 Jul 2014 15:22:52 +0000 (20:52 +0530)]
vc1test: Check malloc call

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agovc1test: Return proper error codes
Nidhi Makhijani [Sat, 5 Jul 2014 18:58:56 +0000 (00:28 +0530)]
vc1test: Return proper error codes

Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years agolibrtmp: Don't free the temp url at the end of rtmp_open
Martin Storsjö [Fri, 4 Jul 2014 19:13:39 +0000 (22:13 +0300)]
librtmp: Don't free the temp url at the end of rtmp_open

librtmp can keep pointers to this string internally, and may
use them at shutdown as well.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agox86: build: Only compile FDCT code if MMX is enabled
Diego Biurrun [Sat, 8 Feb 2014 10:11:14 +0000 (11:11 +0100)]
x86: build: Only compile FDCT code if MMX is enabled

All other files containing purely inline assembly are treated the same way.

10 years agox86: Unconditionally compile blockdsp and svq1enc init files
Diego Biurrun [Thu, 3 Jul 2014 13:25:41 +0000 (06:25 -0700)]
x86: Unconditionally compile blockdsp and svq1enc init files

This avoids a link failure with MMX disabled as the init functions
are referenced unconditionally.

10 years agox86: huffyuvdsp: Move inline assembly to init file
Diego Biurrun [Thu, 3 Jul 2014 13:20:53 +0000 (06:20 -0700)]
x86: huffyuvdsp: Move inline assembly to init file

This avoids a link failure with MMX disabled as now code and
initialization are compiled under the same condition.

10 years agolibfdk-aacdec: Reduce the default decoder delay by one frame
Omer Osman [Fri, 4 Jul 2014 09:05:44 +0000 (11:05 +0200)]
libfdk-aacdec: Reduce the default decoder delay by one frame

The default error concealment method if none is set via
aacDecoder_SetParam(AAC_CONCEAL_METHOD) is set in
CConcealment_InitCommonData within the fdk-aac library
and is set to Energy Interpolation. This method requires one frame
delay to the output. To reduce the default decoder output delay and
avoid missing the last frame in file based decoding, use Noise
Substitution as the default concealment method.

Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
10 years agox86: mpegvideoenc: Change SIMD optimization name suffixes to lowercase
Diego Biurrun [Mon, 30 Dec 2013 16:06:45 +0000 (17:06 +0100)]
x86: mpegvideoenc: Change SIMD optimization name suffixes to lowercase

10 years agowebpdec: Fix decoding of the huffman group indices.
Justin Ruggles [Thu, 3 Jul 2014 15:28:17 +0000 (11:28 -0400)]
webpdec: Fix decoding of the huffman group indices.

Per the specification, "The red and green components of a pixel
define the meta Huffman code used in a particular block of the ARGB
image."