]> git.sesse.net Git - ffmpeg/log
ffmpeg
11 years agoopenbsd: configure: Stop enabling PIC by default
Diego Biurrun [Wed, 23 Jan 2013 22:08:40 +0000 (23:08 +0100)]
openbsd: configure: Stop enabling PIC by default

Previously PIC was enabled as a magic workaround for binaries that
built fine, but failed to function at all.  This problem no longer
exists, possibly since the introduction of symbol versioning.

11 years agortpenc_chain: Use the original AVFormatContext for getting payload type
Martin Storsjö [Wed, 23 Jan 2013 21:25:09 +0000 (23:25 +0200)]
rtpenc_chain: Use the original AVFormatContext for getting payload type

In ff_rtp_get_payload_type, the AVFormatContext is used for checking
whether the payload_type or rtpflags options are set. In rtpenc_chain,
the rtpctx struct is a newly initialized struct where no options have
been set yet, so no options can be fetched from there.

All muxers that internally chain rtp muxers have the "rtpflags" field
that allows passing such options on (which is how this worked before
8034130e06), so this works just as intended.

This makes it possible to produce H263 in RFC2190 format with chained
RTP muxers.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortp: Make sure the output format pointer is set
Martin Storsjö [Wed, 23 Jan 2013 21:21:52 +0000 (23:21 +0200)]
rtp: Make sure the output format pointer is set

Not sure if this actually happens, but we do the same check when
checking payload_type further above in the function, so it might
be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agowmv2: Propagate the wmv2 idct permutation type to the dsputils context
Martin Storsjö [Wed, 23 Jan 2013 21:14:27 +0000 (23:14 +0200)]
wmv2: Propagate the wmv2 idct permutation type to the dsputils context

This fixes encoding where the idct setting originally was set to
FF_IDCT_AUTO and dsputil chose a default idct with a non-null
permutation - even if the permutation tables were updated,
dct_quantize in x86/mpegvideoenc_template.c also checked the
value of this type variable.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortp: Make sure priv_data is set before reading it
Martin Storsjö [Wed, 23 Jan 2013 19:38:41 +0000 (21:38 +0200)]
rtp: Make sure priv_data is set before reading it

This fixes crashes with muxing H263 into RTSP.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpenc: fix overflow checking in avc_mp4_find_startcode()
Xi Wang [Wed, 23 Jan 2013 01:58:07 +0000 (20:58 -0500)]
rtpenc: fix overflow checking in avc_mp4_find_startcode()

The check `start + res < start' is broken since pointer overflow is
undefined behavior in C.  Many compilers such as gcc/clang optimize
away this check.

Use `res > end - start' instead.  Also change `res' to unsigned int
to avoid signed left-shift overflow.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: fix buffer overflows in ff_amf_tag_contents()
Xi Wang [Wed, 23 Jan 2013 02:40:05 +0000 (21:40 -0500)]
rtmp: fix buffer overflows in ff_amf_tag_contents()

A negative `size' will bypass FFMIN().  In the subsequent memcpy() call,
`size' will be considered as a large positive value, leading to a buffer
overflow.

Change the type of `size' to unsigned int to avoid buffer overflow, and
simplify overflow checks accordingly. Also change a literal buffer
size to use sizeof, and limit the amount of data copied in another
memcpy call as well.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortmp: fix multiple broken overflow checks
Xi Wang [Tue, 22 Jan 2013 22:49:29 +0000 (17:49 -0500)]
rtmp: fix multiple broken overflow checks

Sanity checks like `data + size >= data_end || data + size < data' are
broken, because `data + size < data' assumes pointer overflow, which is
undefined behavior in C.  Many compilers such as gcc/clang optimize such
checks away.

Use `size < 0 || size >= data_end - data' instead.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agofloat_dsp: Include config.h for redefining restrict
Martin Storsjö [Wed, 23 Jan 2013 09:03:49 +0000 (11:03 +0200)]
float_dsp: Include config.h for redefining restrict

This makes sure that the restrict keyword is mapped to whatever
keyword the compiler prefers/supports. This fixes building on MSVC
(and possibly on GCC 2.x as well).

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agodsputil: remove one array dimension from avg_no_rnd_pixels_tab.
Ronald S. Bultje [Tue, 22 Jan 2013 19:27:57 +0000 (11:27 -0800)]
dsputil: remove one array dimension from avg_no_rnd_pixels_tab.

11 years agodsputil: remove 9/10 bits hpel functions.
Ronald S. Bultje [Tue, 22 Jan 2013 19:00:35 +0000 (11:00 -0800)]
dsputil: remove 9/10 bits hpel functions.

These are never used.

11 years agodsputil: remove some never-assigned function pointers from the struct.
Ronald S. Bultje [Tue, 22 Jan 2013 02:51:52 +0000 (18:51 -0800)]
dsputil: remove some never-assigned function pointers from the struct.

11 years agodsputil: remove avg_no_rnd_pixels8.
Ronald S. Bultje [Tue, 22 Jan 2013 02:02:30 +0000 (18:02 -0800)]
dsputil: remove avg_no_rnd_pixels8.

This is never used.

11 years agoDrop DCTELEM typedef
Diego Biurrun [Sun, 20 Jan 2013 00:02:29 +0000 (01:02 +0100)]
Drop DCTELEM typedef

It does not help as an abstraction and adds dsputil dependencies.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
11 years agovorbisdsp: convert x86 simd functions from inline asm to yasm.
Ronald S. Bultje [Wed, 16 Jan 2013 01:00:41 +0000 (17:00 -0800)]
vorbisdsp: convert x86 simd functions from inline asm to yasm.

11 years agovp3dsp: don't do aligned reads on input.
Ronald S. Bultje [Tue, 22 Jan 2013 20:45:35 +0000 (12:45 -0800)]
vp3dsp: don't do aligned reads on input.

The input is not guaranteed to be aligned.

11 years agomlp_parser: cosmetics: re-indent.
Tim Walker [Mon, 31 Dec 2012 14:33:28 +0000 (15:33 +0100)]
mlp_parser: cosmetics: re-indent.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
11 years agomlp: implement support for AVCodecContext.request_channel_layout.
Tim Walker [Mon, 31 Dec 2012 14:33:27 +0000 (15:33 +0100)]
mlp: implement support for AVCodecContext.request_channel_layout.

Also wrap usage of AVCodecContext.request_channels in FF_API_REQUEST_CHANNELS directives.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
11 years agomlp_parser: account for AVCodecContext.request_channels when setting the channel...
Tim Walker [Mon, 31 Dec 2012 14:33:26 +0000 (15:33 +0100)]
mlp_parser: account for AVCodecContext.request_channels when setting the channel layout.

Allows users to configure the output based on what's actually decoded, rather than the full native layout.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
11 years agomlpdec: set the channel layout.
Tim Walker [Mon, 31 Dec 2012 14:33:25 +0000 (15:33 +0100)]
mlpdec: set the channel layout.

Fixes bug 401.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org

11 years agomlpdec: TrueHD: use Libav channel order.
Tim Walker [Mon, 31 Dec 2012 14:33:24 +0000 (15:33 +0100)]
mlpdec: TrueHD: use Libav channel order.

Fixes bug 208.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org

11 years agomlp: store the channel layout for each substream.
Tim Walker [Mon, 31 Dec 2012 14:33:23 +0000 (15:33 +0100)]
mlp: store the channel layout for each substream.

Also stop storing the channel arrangement in the header info, as it's unused outside of ff_mlp_read_major_sync.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
CC:libav-stable@libav.org

11 years agoarm: Add some missing header #includes
Diego Biurrun [Mon, 21 Jan 2013 09:16:02 +0000 (10:16 +0100)]
arm: Add some missing header #includes

11 years agofloatdsp: move scalarproduct_float from dsputil to avfloatdsp.
Ronald S. Bultje [Sun, 20 Jan 2013 23:41:52 +0000 (15:41 -0800)]
floatdsp: move scalarproduct_float from dsputil to avfloatdsp.

This makes the aac decoder and all voice codecs independent of dsputil.

11 years agofloatdsp: move butterflies_float from dsputil to avfloatdsp.
Ronald S. Bultje [Sun, 20 Jan 2013 23:41:14 +0000 (15:41 -0800)]
floatdsp: move butterflies_float from dsputil to avfloatdsp.

This makes wmadec/enc, twinvq and mpegaudiodec (i.e. mp2/mp3)
independent of dsputil.

11 years agofloatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.
Ronald S. Bultje [Sun, 20 Jan 2013 21:20:30 +0000 (13:20 -0800)]
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.

Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.

11 years agofloatdsp: move vector_fmul_add from dsputil to avfloatdsp.
Ronald S. Bultje [Sun, 20 Jan 2013 06:26:58 +0000 (22:26 -0800)]
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.

11 years agoproresdec: support mixed interlaced/non-interlaced content
Michael Smith [Mon, 21 Jan 2013 18:40:35 +0000 (19:40 +0100)]
proresdec: support mixed interlaced/non-interlaced content

Set interlaced to false if we don't have an interlaced frame

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agovp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.
Ronald S. Bultje [Mon, 21 Jan 2013 19:02:33 +0000 (11:02 -0800)]
vp3/5: move put_no_rnd_pixels_l2 from dsputil to VP3DSPContext.

The function is only used in VP3 and VP5, so no need to have it in
DSPContext.

11 years agox86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly
Diego Biurrun [Mon, 21 Jan 2013 18:43:06 +0000 (19:43 +0100)]
x86: ac3: Fix HAVE_MMXEXT condition to only refer to external assembly

CC: libav-stable@libav.org
11 years agortpenc: Start the sequence numbers from a random offset
Martin Storsjö [Fri, 7 Dec 2012 09:12:28 +0000 (11:12 +0200)]
rtpenc: Start the sequence numbers from a random offset

Expose the current sequence number via an AVOption - this can
be used both for setting the initial sequence number, or for
querying the current number.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoRevert "fate: Use wmv2 IDCT for wmv2 tests"
Luca Barbato [Mon, 21 Jan 2013 18:43:53 +0000 (19:43 +0100)]
Revert "fate: Use wmv2 IDCT for wmv2 tests"

This reverts commit ce378f0dd0c4e5350b3280e6b3e8d6b46fe4b0a3.

11 years agoget_bits/put_bits: K&R formatting cosmetics
Diego Biurrun [Sun, 20 Jan 2013 15:10:24 +0000 (16:10 +0100)]
get_bits/put_bits: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agoavidec: use sensible error codes instead of -1
Jindrich Makovicka [Thu, 17 Jan 2013 15:24:28 +0000 (16:24 +0100)]
avidec: use sensible error codes instead of -1

Use AVERROR_INVALIDDATA on invalid inputs, and AVERROR_EOF when no more
frames are available in an interleaved AVI.

Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agodsputilenc: x86: Convert pixel inline asm to yasm
Daniel Kang [Wed, 16 Jan 2013 07:41:39 +0000 (02:41 -0500)]
dsputilenc: x86: Convert pixel inline asm to yasm

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agolibgsm: detect libgsm header path
Brad Smith [Mon, 21 Jan 2013 01:33:27 +0000 (20:33 -0500)]
libgsm: detect libgsm header path

Libgsm header can reside either in the base include dir or in
the gsm subdir.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agofate: Use wmv2 IDCT for wmv2 tests
Ronald S. Bultje [Sat, 19 Jan 2013 20:04:06 +0000 (12:04 -0800)]
fate: Use wmv2 IDCT for wmv2 tests

11 years agovorbisdsp: change block_size type from int to intptr_t.
Ronald S. Bultje [Mon, 21 Jan 2013 06:26:42 +0000 (22:26 -0800)]
vorbisdsp: change block_size type from int to intptr_t.

This saves one instruction in the x86-64 assembly.

11 years agolavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.
Ronald S. Bultje [Mon, 21 Jan 2013 06:15:28 +0000 (22:15 -0800)]
lavc: put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.

This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.

11 years agowmv2: move IDCT to its own DSP context.
Ronald S. Bultje [Mon, 21 Jan 2013 06:12:35 +0000 (22:12 -0800)]
wmv2: move IDCT to its own DSP context.

This allows us to remove FF_IDCT_WMV2, which serves no practical purpose
other than to be able to select the WMV2 IDCT for MPEG (or vice versa)
and get corrupt output.

Fate tests for all wmv2-related tests change, because (for some obscure
reason) they forced use of the MPEG IDCT. You would get the same changes
previously by not using -idct simple in the fate test (or replacing it
with -idct auto).

11 years agodsputil: remove butterflies_float_interleave.
Ronald S. Bultje [Mon, 21 Jan 2013 05:57:35 +0000 (21:57 -0800)]
dsputil: remove butterflies_float_interleave.

The function is unused.

11 years agosrtp: Move a variable to a local scope
Martin Storsjö [Sun, 20 Jan 2013 17:06:51 +0000 (19:06 +0200)]
srtp: Move a variable to a local scope

This simplifies the code slightly.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosrtp: Add tests for the crypto suite with 32/80 bit HMAC
Martin Storsjö [Fri, 18 Jan 2013 11:44:34 +0000 (13:44 +0200)]
srtp: Add tests for the crypto suite with 32/80 bit HMAC

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosrtp: cosmetics: Use fewer lines for the test vectors
Martin Storsjö [Fri, 18 Jan 2013 11:46:16 +0000 (13:46 +0200)]
srtp: cosmetics: Use fewer lines for the test vectors

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosrtp: Don't require more input data than what actually is needed
Martin Storsjö [Fri, 18 Jan 2013 10:35:31 +0000 (12:35 +0200)]
srtp: Don't require more input data than what actually is needed

The theoretical minimum for a (not totally well formed) RTCP packet
is 8 bytes, so we shouldn't require 12 bytes as minimum input.

Also return AVERROR_INVALIDDATA instead of 0 if something that is
not a proper packet is given.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosrtp: Improve the minimum encryption buffer size check
Martin Storsjö [Fri, 18 Jan 2013 10:33:02 +0000 (12:33 +0200)]
srtp: Improve the minimum encryption buffer size check

This clarifies where the limit number comes from, and only
requires exactly as much padding space as will be needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosrtp: Add support for a few DTLS-SRTP related crypto suites
Martin Storsjö [Fri, 18 Jan 2013 10:01:33 +0000 (12:01 +0200)]
srtp: Add support for a few DTLS-SRTP related crypto suites

The main difference to the existing suites from RFC 4568 is
that the version with a 32 bit HMAC still uses 80 bit HMAC
for RTCP packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec/srtp: Handle CSRC fields being present
Martin Storsjö [Sun, 20 Jan 2013 17:00:18 +0000 (19:00 +0200)]
rtpdec/srtp: Handle CSRC fields being present

This is untested in practice, but follows the spec.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec: Check the return value from av_new_packet
Martin Storsjö [Sun, 20 Jan 2013 16:31:57 +0000 (18:31 +0200)]
rtpdec: Check the return value from av_new_packet

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoac3dec: fix non-optimal dithering of zero bit mantissas
Mathias Rauen [Sat, 5 Jan 2013 16:30:31 +0000 (11:30 -0500)]
ac3dec: fix non-optimal dithering of zero bit mantissas

Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
11 years agoppc: vorbisdsp: Drop some unnecessary #includes
Diego Biurrun [Sun, 20 Jan 2013 15:50:04 +0000 (16:50 +0100)]
ppc: vorbisdsp: Drop some unnecessary #includes

Also fixes compilation with AltiVec disabled.

11 years agoavconv: Increase the SDP buffer size to fit xiph SDPs
Martin Storsjö [Thu, 17 Jan 2013 13:34:25 +0000 (15:34 +0200)]
avconv: Increase the SDP buffer size to fit xiph SDPs

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec: Move setting the parsing flags to the actual depacketizers
Martin Storsjö [Thu, 17 Jan 2013 13:29:12 +0000 (15:29 +0200)]
rtpdec: Move setting the parsing flags to the actual depacketizers

This gets rid of almost all the codec specific details from the
generic rtpdec code.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec: Split handling of mpeg12 audio/video to a separate depacketizer
Martin Storsjö [Thu, 17 Jan 2013 13:08:03 +0000 (15:08 +0200)]
rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer

This also adds checking of mallocs.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec: Split mpegts parsing to a normal depacketizer
Martin Storsjö [Thu, 17 Jan 2013 12:34:59 +0000 (14:34 +0200)]
rtpdec: Split mpegts parsing to a normal depacketizer

This gets rid of a number of special cases from the common rtpdec
code.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec: Reorder payload handler registration alphabetically
Martin Storsjö [Thu, 17 Jan 2013 12:27:14 +0000 (14:27 +0200)]
rtpdec: Reorder payload handler registration alphabetically

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agompegts: Share the cleanup code between the demuxer and lavf-internal parser functions
Martin Storsjö [Sat, 19 Jan 2013 23:59:08 +0000 (01:59 +0200)]
mpegts: Share the cleanup code between the demuxer and lavf-internal parser functions

The lavf-internal parser functions are used when receiving
mpegts over RTP. This fixes memory leaks in this setup.

The normal mpegts demuxer close function was updated in ec7d0d2e in
2004 to fix leaks, but the parsing function used for RTP wasn't
updated and has been leaking ever since.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec_mpeg4: Return one AAC AU per AVPacket
Martin Storsjö [Tue, 15 Jan 2013 14:58:48 +0000 (16:58 +0200)]
rtpdec_mpeg4: Return one AAC AU per AVPacket

This makes the returned data valid to stream copy into other
containers as well, not only for decoding straight away.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoppc: Include string.h for memset
Martin Storsjö [Sun, 20 Jan 2013 14:30:09 +0000 (16:30 +0200)]
ppc: Include string.h for memset

This fixes build failures on ppc machines with a compiler that
supports -Werror=implicit-function-declaration.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agovideodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL
Janne Grunau [Sun, 20 Jan 2013 13:48:35 +0000 (14:48 +0100)]
videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL

libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that
assembling armv5te code will always succeed even if the default -march
flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code
with the default arch.
Fixes the missing symbol ff_prefetch_arm with --cpu= not including
armv5te.

CC: libav-stable@libav.org
11 years agodsputil: drop non-compliant "fast" qpel mc functions
Mans Rullgard [Fri, 18 Jan 2013 22:37:41 +0000 (23:37 +0100)]
dsputil: drop non-compliant "fast" qpel mc functions

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agoget_bits: change the failure condition in init_get_bits
Luca Barbato [Sun, 20 Jan 2013 04:10:32 +0000 (05:10 +0100)]
get_bits: change the failure condition in init_get_bits

Too much code relies in having init_get_bits fed with a valid
buffer and set its dimension to 0.

Check for NULL buffer instead.

11 years agoRemove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.
Ronald S. Bultje [Fri, 18 Jan 2013 06:02:58 +0000 (22:02 -0800)]
Remove put_no_rnd_pixels_l2 function pointer for w=16 from dsputil.

The function is never used.

11 years agoMove vorbis_inverse_coupling from dsputil to vorbisdspcontext.
Ronald S. Bultje [Sun, 20 Jan 2013 06:21:10 +0000 (22:21 -0800)]
Move vorbis_inverse_coupling from dsputil to vorbisdspcontext.

Conveniently (together with Justin's earlier patches), this makes
our vorbis decoder entirely independent of dsputil.

11 years agovp3: integrate clear_blocks with idct of previous block.
Ronald S. Bultje [Fri, 18 Jan 2013 15:43:04 +0000 (16:43 +0100)]
vp3: integrate clear_blocks with idct of previous block.

This is identical to what e.g. vp8 does, and prevents the function call
overhead (plus dependency on dsputil for this particular function).

Arm asm updated by Janne Grunau <janne-libav@jannau.net>.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
11 years agompegvideo: fix loop condition in draw_line()
Xi Wang [Sat, 19 Jan 2013 18:21:35 +0000 (13:21 -0500)]
mpegvideo: fix loop condition in draw_line()

The loop condition `x = ex' is incorrect.  It should be `x <= ex'.

This bug was introduced in commit c65dfac4 "mpegvideo.c: K&R formatting
and cosmetics."

CC:libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agodvdsubdec: parse the size from the extradata
Clément Bœsch [Wed, 16 Jan 2013 17:42:16 +0000 (18:42 +0100)]
dvdsubdec: parse the size from the extradata

Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agox86: dsputil: Drop some unused macro definitions
Diego Biurrun [Wed, 16 Jan 2013 22:50:57 +0000 (23:50 +0100)]
x86: dsputil: Drop some unused macro definitions

11 years agox86: Add a Yasm-based emms() replacement
Martin Storsjö [Wed, 9 Jan 2013 20:57:41 +0000 (22:57 +0200)]
x86: Add a Yasm-based emms() replacement

This provides a fallback when building with Yasm enabled, but neither
inline assembly, nor the _mm_empty intrinsic are available or enabled.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agox86inc: Add cvisible macro for C functions with public prefix
Diego Biurrun [Wed, 9 Jan 2013 22:17:08 +0000 (23:17 +0100)]
x86inc: Add cvisible macro for C functions with public prefix

This allows defining externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agox86inc: Rename "program_name" to "private_prefix"
Diego Biurrun [Wed, 9 Jan 2013 22:15:14 +0000 (23:15 +0100)]
x86inc: Rename "program_name" to "private_prefix"

The new name is more descriptive and will allow defining a separate
public prefix for externally visible library symbols.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agoconfigure: Run SHFLAGS through ldflags_filter()
Sean McGovern [Mon, 14 Jan 2013 17:52:00 +0000 (12:52 -0500)]
configure: Run SHFLAGS through ldflags_filter()

These flags are as linker-specific as other LDFLAGS and thus
need to be translated to the correct linker syntax.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years agoh264: avoid pointless copying of ref lists
Anton Khirnov [Thu, 17 Jan 2013 11:25:31 +0000 (12:25 +0100)]
h264: avoid pointless copying of ref lists

ref_list is constructed from other fields per slice when needed, so do
not copy it for both frame and slice threading.
default_ref_list is constructed per frame and still needs to be copied
to per-slice contexts for slice threading, but a copy is not needed for
frame threading.

11 years agolavr: always reset mix function names and pointers in mix_function_init()
Justin Ruggles [Wed, 16 Jan 2013 19:18:38 +0000 (14:18 -0500)]
lavr: always reset mix function names and pointers in mix_function_init()

CC: libav-stable@libav.org
11 years agolavr: call mix_function_init() in ff_audio_mix_set_matrix()
Justin Ruggles [Wed, 16 Jan 2013 19:15:57 +0000 (14:15 -0500)]
lavr: call mix_function_init() in ff_audio_mix_set_matrix()

This is needed if a custom matrix is set by the user after opening the
AVAudioResampleContext because the matrix channel count can change if
different mixing coefficients are used.

CC:libav-stable@libav.org

11 years agofate: update ref after rv30_loop_filter fix
Luca Barbato [Thu, 17 Jan 2013 22:06:46 +0000 (23:06 +0100)]
fate: update ref after rv30_loop_filter fix

11 years agorv30: fix masking in rv30_loop_filter()
Xi Wang [Thu, 17 Jan 2013 06:24:15 +0000 (01:24 -0500)]
rv30: fix masking in rv30_loop_filter()

The mask `x && (1 << y)' is incorrect and always yields true.

The correct form should be `x & (1 << y)'.

CC: libav-stable@libav.org
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agolavc: support ZenoXVID custom tag
Luca Barbato [Thu, 17 Jan 2013 13:12:44 +0000 (14:12 +0100)]
lavc: support ZenoXVID custom tag

Looks like this kind of samples are produced by certain Russian
equipment.

11 years agolibcdio: support recent cdio-paranoia
Luca Barbato [Thu, 17 Jan 2013 10:24:01 +0000 (11:24 +0100)]
libcdio: support recent cdio-paranoia

Upstream decided to split the paranoia interface and move the headers
accordingly.

11 years agofloat_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window
Martin Storsjö [Thu, 17 Jan 2013 16:58:25 +0000 (18:58 +0200)]
float_dsp: Add #ifdef HAVE_INLINE_ASM around vector_fmul_window

This fixes builds on 64bit MSVC.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agotheora: Skip zero-sized headers
Martin Storsjö [Thu, 17 Jan 2013 14:03:36 +0000 (16:03 +0200)]
theora: Skip zero-sized headers

This fixes a regression since d9cf5f51 with theora over RTP
(possibly with other variants of theora as well).

In theora over RTP, the second of the 3 headers turns out to be
0 bytes long, which prior to d9cf5f51 worked just fine. After
d9cf5f51, reading from the bitstream reader fails (since the reader
wasn't initialized but returned an error if initialized with 0 bits).

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoidcin: fix memleaks in idcin_read_packet()
Justin Ruggles [Tue, 15 Jan 2013 21:20:57 +0000 (16:20 -0500)]
idcin: fix memleaks in idcin_read_packet()

Fixes fate-id-cin-video failures when running FATE with valgrind.

11 years agolavc: Move vector_fmul_window to AVFloatDSPContext
Justin Ruggles [Mon, 7 Jan 2013 04:47:30 +0000 (23:47 -0500)]
lavc: Move vector_fmul_window to AVFloatDSPContext

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agortpdec_mpeg4: Check the remaining amount of data before reading
Martin Storsjö [Tue, 15 Jan 2013 13:35:18 +0000 (15:35 +0200)]
rtpdec_mpeg4: Check the remaining amount of data before reading

This fixes possible buffer overreads.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortpdec_mpeg4: Check the return value from malloc
Martin Storsjö [Tue, 15 Jan 2013 13:27:30 +0000 (15:27 +0200)]
rtpdec_mpeg4: Check the return value from malloc

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agosrtp: Mark a few variables as uninitialized
Martin Storsjö [Tue, 15 Jan 2013 13:19:55 +0000 (15:19 +0200)]
srtp: Mark a few variables as uninitialized

This squelches false positive warnings (with gcc) about them being
used uninitalized.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoconfigure: Make the new srtp protocol depend on the rtp protocol
Martin Storsjö [Tue, 15 Jan 2013 12:21:48 +0000 (14:21 +0200)]
configure: Make the new srtp protocol depend on the rtp protocol

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavf: Add a fate test for the SRTP functions
Martin Storsjö [Tue, 15 Jan 2013 13:07:44 +0000 (15:07 +0200)]
lavf: Add a fate test for the SRTP functions

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavu: Add a fate test for the HMAC API
Martin Storsjö [Tue, 15 Jan 2013 11:05:12 +0000 (13:05 +0200)]
lavu: Add a fate test for the HMAC API

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agoh264: add 3 pixels below for subpixel filter wait position
Ronald S. Bultje [Tue, 15 Jan 2013 16:38:54 +0000 (08:38 -0800)]
h264: add 3 pixels below for subpixel filter wait position

If the motion vector is at a subpixel position, we need 3 pixels below
the motion vector's wholepel position available, not 2, since the MC
filter is a sixtap filter for the hpel position, and then a bilin filter
for the qpel position.

This patch fixes highly irreproducible (0.1%) fate failures in frame 2
and 4 of h264-conformance-cama2_vtc_b (e.g. first P-frame, first field,
last line of MB x=40,y=2 and second field and last lines of MBs x=39-40,
y=3). These used pre-loopfilter instead of post-loopfilter data because
the await_progress() waited for one line too little in that field, and
the motion vector of these particular MBs happened to align exactly to a
position where that demonstrates the bug.

CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agodvdsubdec: Support palette in mkv
Joakim Plate [Tue, 15 Jan 2013 14:53:15 +0000 (15:53 +0100)]
dvdsubdec: Support palette in mkv

Matroska stores palette information as plain text in extradata.

Signed-off-by: Alexandra Khirnova <alexandra.khirnova@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
11 years agox86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags
Diego Biurrun [Fri, 27 Jul 2012 12:26:09 +0000 (14:26 +0200)]
x86: Add PAVGB macro to abstract pavgb/pavgusb instruction via cpuflags

11 years agovf_fps: add final flushed frames to the dropped frame count
Justin Ruggles [Mon, 14 Jan 2013 18:43:15 +0000 (13:43 -0500)]
vf_fps: add final flushed frames to the dropped frame count

11 years agorv34_parser: Adjust #if for disabling individual parsers
Diego Biurrun [Tue, 15 Jan 2013 15:06:00 +0000 (16:06 +0100)]
rv34_parser: Adjust #if for disabling individual parsers

As CONFIG_ values are always defined, they have to be checked via #if.

11 years agox86: ABSB2: port to cpuflags
Diego Biurrun [Sun, 15 Jul 2012 16:30:34 +0000 (18:30 +0200)]
x86: ABSB2: port to cpuflags

11 years agox86: ABSB: port to cpuflags
Diego Biurrun [Sun, 15 Jul 2012 16:29:10 +0000 (18:29 +0200)]
x86: ABSB: port to cpuflags

11 years agosdp: Include SRTP crypto params if using the srtp protocol
Martin Storsjö [Wed, 12 Dec 2012 10:59:41 +0000 (12:59 +0200)]
sdp: Include SRTP crypto params if using the srtp protocol

Also print port numbers for this protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavf: Add a protocol for SRTP encryption/decryption
Martin Storsjö [Tue, 11 Dec 2012 22:22:48 +0000 (00:22 +0200)]
lavf: Add a protocol for SRTP encryption/decryption

This is mostly useful for encryption together with the RTP muxer,
but could also be set up as IO towards the peer with the SDP
demuxer with custom IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agortsp: Support decryption of SRTP signalled via RFC 4568 (SDES)
Martin Storsjö [Sat, 20 Oct 2012 20:18:01 +0000 (23:18 +0300)]
rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)

This only takes care of decrypting incoming packets; the outgoing
RTCP packets are not encrypted. This is enough for some use cases,
and signalling crypto keys for use with outgoing RTCP packets
doesn't fit as simply into the API. If the SDP demuxer is hooked
up with custom IO, the return packets can be encrypted e.g. via the
SRTP protocol.

If the SRTP keys aren't available within the SDP, the decryption
can be handled externally as well (when using custom IO).

Signed-off-by: Martin Storsjö <martin@martin.st>
11 years agolavf: Add functions for SRTP decryption/encryption
Martin Storsjö [Sat, 20 Oct 2012 22:20:35 +0000 (01:20 +0300)]
lavf: Add functions for SRTP decryption/encryption

This supports the AES_CM_128_HMAC_SHA1_80 and
AES_CM_128_HMAC_SHA1_32 cipher suites (from RFC 4568) at the
moment. The main missing features are replay protection (which can be
added later without changing the internal API), and the F8 and null
ciphers.

Signed-off-by: Martin Storsjö <martin@martin.st>