Commit Graph

49276 Commits

Author SHA1 Message Date
Michael Niedermayer
b52925d2cd Merge commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05'
* commit '2f3bada63e57345329c4f9b48e9b81b5cfc03d05':
  lavf: Add a protocol for SRTP encryption/decryption
  rtsp: Support decryption of SRTP signalled via RFC 4568 (SDES)

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 16:05:34 +01:00
Michael Niedermayer
e7e0186eeb Merge commit 'ab2ad8bd56882c0ea160b154e8b836eb71abc49d'
* commit 'ab2ad8bd56882c0ea160b154e8b836eb71abc49d':
  lavf: Add functions for SRTP decryption/encryption
  lavu: Add an API for calculating HMAC (RFC 2104)

Conflicts:
	doc/APIchanges
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:57:33 +01:00
Michael Niedermayer
e074fe2962 Merge commit '47812070a267cbdf74164e154d03d99bf8ced100'
* commit '47812070a267cbdf74164e154d03d99bf8ced100':
  libx264: use the library specific default rc_initial_buffer_occupancy

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:51:14 +01:00
Michael Niedermayer
9aeffb3c2a Merge commit 'bff3607547fdbb6e32b3830a351e6a33280c1e0d'
* commit 'bff3607547fdbb6e32b3830a351e6a33280c1e0d':
  lavc: set the default rc_initial_buffer_occupancy

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:32:48 +01:00
Michael Niedermayer
cfc40a6aff Merge commit 'd8c772de53d29afb1bada88afa859fce8489c668'
* commit 'd8c772de53d29afb1bada88afa859fce8489c668':
  nutdec: Always return a value from nut_read_timestamp()
  configure: Make warnings from -Wreturn-type fatal errors
  x86: ABS2: port to cpuflags
  vdpau: Remove av_unused attribute from function declaration
  h264: fix ff_generate_sliding_window_mmcos() prototype.

Conflicts:
	configure
	libavformat/nutdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:23:20 +01:00
Michael Niedermayer
24d06cb208 Merge commit '5e753ed502d3597077d8675ca1438e1bcade1459'
* commit '5e753ed502d3597077d8675ca1438e1bcade1459':
  suncc: Replace more GCC flags by their equivalents in suncc_flags()
  libtheoraenc: fix granularity of video quality
  oggparsetheora: fix comment header parsing
  h264: don't clobber mmco opcode tables for non-first slice headers.

Conflicts:
	libavcodec/h264_refs.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 15:16:45 +01:00
Michael Niedermayer
353dbaa297 Merge commit '3f111804eb5c603a344706b84b7164cbf7b4e0df'
* commit '3f111804eb5c603a344706b84b7164cbf7b4e0df':
  libvpx: make vp8 and vp9 selectable
  libvpx: support vp9
  nut: support vp9 tag
  mkv: support vp9 tag
  rtpdec: Make variables that should wrap unsigned

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 14:57:57 +01:00
Michael Niedermayer
8686b6c68b Merge commit 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e'
* commit 'ba0c72a9ae1e2954e5dcf920f7b4e9a8f8a22f3e':
  build: Remove stray Makefile entry for non-existent VCR1 encoder
  rtpdec: Handle more received packets than expected when sending RR

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 14:42:24 +01:00
Michael Niedermayer
eaf1f01169 Merge commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def'
* commit 'd0fe217e3990b003b3b3f2c2daaadfb2af590def':
  rtpdec: Simplify insertion into the linked list queue
  rtpdec: Remove a woefully misplaced comment

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 14:34:32 +01:00
Ronald S. Bultje
f6badba185 h264: don't clobber mmco opcode tables for non-first slice headers.
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.

Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.

This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 13:58:22 +01:00
Diego Biurrun
320e1d0df3 x86: ABSB2: port to cpuflags 2013-01-15 11:18:51 +01:00
Diego Biurrun
094a7405e5 x86: ABSB: port to cpuflags 2013-01-15 11:18:51 +01:00
Martin Storsjö
611bf39bde 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>
2013-01-15 11:55:29 +02:00
Martin Storsjö
2f3bada63e 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>
2013-01-15 11:55:10 +02:00
Martin Storsjö
424da30830 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>
2013-01-15 11:54:40 +02:00
Martin Storsjö
ab2ad8bd56 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>
2013-01-15 11:54:34 +02:00
Martin Storsjö
8ee288d258 lavu: Add an API for calculating HMAC (RFC 2104)
This supports HMAC-MD5 and HMAC-SHA1 for now, other hashes are
simple to add.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-15 11:54:19 +02:00
Luca Barbato
47812070a2 libx264: use the library specific default rc_initial_buffer_occupancy
By default libav sets it to 3/4 while x264 sets it to 9/10.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Luca Barbato
bff3607547 lavc: set the default rc_initial_buffer_occupancy
rc_buffer_size is not set before.

Solve the initial the rate control underflow issue reported in
bug 222.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 08:58:51 +01:00
Michael Niedermayer
8ac8f04993 mpegvideo: Fix long standing race condition with frame threads
Since resolution change support this also was exploitable, which is
how it was found.

Fixes read after free and out of array reads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15 05:34:37 +01:00
Diego Biurrun
d8c772de53 nutdec: Always return a value from nut_read_timestamp()
The function is a callback that is called by ff_gen_search with
a constant stream index.

Avoid a false positive on older gcc version.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-15 02:15:09 +01:00
Stephen Hutchinson
df4203ac6f Fix compilation with libutvideo version 12.0.0
Reviewed-by: Derek Buitenhuis
2013-01-15 01:15:10 +01:00
Carl Eugen Hoyos
5ce023b790 Fix color filter example.
Found-by: johnd and Paul B Mahol
2013-01-15 00:14:35 +01:00
Michael Niedermayer
274e48d8ac x86/Makefile: move dirac_dwt to right type
Fix build failure without yasm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:40:26 +01:00
Michael Niedermayer
9cb3c1a4d9 x86/dirac: fix asm on win64
This could also be fixed by changing the argument type if
someone prefers that and wants to change it ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 23:28:01 +01:00
Michael Niedermayer
30981a966f lavc: split snow and dirac DWTs
There is only about 4 lines of common code, so it alot cleaner
when seperated.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 22:59:05 +01:00
Diego Biurrun
99853cb8d4 configure: Make warnings from -Wreturn-type fatal errors
These warnings have no false positives and point to serious bugs.
2013-01-14 22:49:44 +01:00
Diego Biurrun
51969a652c x86: ABS2: port to cpuflags 2013-01-14 21:56:55 +01:00
Rémi Denis-Courmont
171f1446f0 vdpau: Remove av_unused attribute from function declaration
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 21:56:55 +01:00
Anton Khirnov
ea382767ad h264: fix ff_generate_sliding_window_mmcos() prototype.
It's been returning an error value since
bad446e251

Also check for the errors it returns.
2013-01-14 21:36:08 +01:00
Sean McGovern
5e753ed502 suncc: Replace more GCC flags by their equivalents in suncc_flags()
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 20:53:06 +01:00
Maximilian Seesslen
055b373080 libtheoraenc: fix granularity of video quality
The floating point version of av_clip has to be used when
converting the quality level.

Signed-off-by: Maximilian Seesslen <mes@seesslen.net>
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Giorgio Vazzana
39403c6c1b oggparsetheora: fix comment header parsing
Pass the correct header size to ff_vorbis_comment()

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:47:27 +02:00
Luca Barbato
3f111804eb libvpx: make vp8 and vp9 selectable
Support older libvpx versions.
2013-01-14 19:20:47 +01:00
Ronald S. Bultje
bad446e251 h264: don't clobber mmco opcode tables for non-first slice headers.
Clobbering these tables will temporarily clobber the template used
as a basis for other threads to start decoding from. If the other
decoding thread updates from the template right at that moment,
subsequent threads will get invalid (or, usually, none at all) mmco
tables. This leads to invalid reference lists and subsequent decode
failures.

Therefore, instead, decode the mmco tables only for the first slice in
a field or frame. For other slices, decode the bits and ensure they
are identical to the mmco tables in the first slice, but don't ever
clobber the context state. This prevents other threads from using a
clobbered/invalid template as starting point for decoding, and thus
fixes decoding in these cases.

This fixes occasional (~1%) failures of h264-conformance-mr1_bt_a with
frame-multithreading enabled.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-14 19:20:47 +01:00
Luca Barbato
dab1f543fc libvpx: support vp9
This feature is experimental use at your risk
2013-01-14 19:20:47 +01:00
Luca Barbato
23a610b9d6 nut: support vp9 tag 2013-01-14 19:20:47 +01:00
Tom Finegan
66aabd76a9 mkv: support vp9 tag 2013-01-14 19:20:47 +01:00
Martin Storsjö
d596f2b322 rtpdec: Make variables that should wrap unsigned
This makes the behaviour defined when they wrap around. The value
assigned to expected_prior was a uint32_t already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 20:09:42 +02:00
Diego Biurrun
ba0c72a9ae build: Remove stray Makefile entry for non-existent VCR1 encoder 2013-01-14 17:02:04 +01:00
Martin Storsjö
30b50f79ae rtpdec: Handle more received packets than expected when sending RR
Without this, we'd signal a huge loss rate (due to unsigned
wraparound) if we had received one packet more than expected (that
is, one seq number sent twice). The code has a check for lost_interval
<= 0, but that doesn't do what was intended as long as the variable is
unsigned.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 17:52:02 +02:00
Martin Storsjö
d0fe217e39 rtpdec: Simplify insertion into the linked list queue
By using a pointer-to-pointer, we avoid having to keep track
of the previous packet separately.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 17:51:48 +02:00
Martin Storsjö
62761934b0 rtpdec: Remove a woefully misplaced comment
The code below the comment does not at all relate to statistics,
and even if moved to the right place, the comment adds little
value.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 17:51:42 +02:00
Michael Niedermayer
922332e60d nuv: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:37:12 +01:00
Michael Niedermayer
7980cca05c init_get_bits: fix off by 1 error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Michael Niedermayer
153fad14e5 init_get_bits8: zero pointers & struct on error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Michael Niedermayer
ac73d3a12a init_get_bits8: check byte_size against being positive
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 16:35:41 +01:00
Carl Eugen Hoyos
c29c7c1470 The c99-to-c89 binaries are now hosted on videolan.org. 2013-01-14 16:28:44 +01:00
Michael Niedermayer
57d59e82cb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmpproto: Fix assignments in if()
  lavf: Fix assignments in if()
  svq1enc: Fix assignments in if()
  lavc: Fix assignments in if() when calling ff_af_queue_add
  h264: Fix assignments in if()
  truemotion2: cosmetics, reformat

Conflicts:
	libavcodec/svq1enc.c
	libavcodec/truemotion2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:53:25 +01:00
Michael Niedermayer
92b2387159 Merge commit 'df9036830b15997a3e9c3f2c632ed98d64f9deef'
* commit 'df9036830b15997a3e9c3f2c632ed98d64f9deef':
  truemotion2: return meaningful error codes.
  tscc: remove some pointless comments and empty lines.
  tscc: return meaningful error codes.
  loco: cosmetics, reformat

Conflicts:
	libavcodec/truemotion2.c
	libavcodec/tscc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 15:45:05 +01:00