1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

31133 Commits

Author SHA1 Message Date
Mans Rullgard
8ee2b4672f ARM: add explicit .arch and .fpu directives to asm.S
This prevents build errors when compiler and assembler default
targets differ.  Ideally each file would declare the highest
level it requires.  This is however not easily possible as it
complicates assembling pre-armv6t2 code in Thumb-2 mode.

HAVE_NEON is used as indicator for ARMv7-A since no other
symbol exists for this and NEON is only available in this
variant.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 12:13:02 +00:00
Janne Grunau
0945eddec0 pthread: do not touch has_b_frames
Adding the thread count in frame level multithreading to has_b_frames
as an additional delay causes more problems than it solves.
For example inconsistent behaviour during timestamp calculation in
libavformat.
Thread count and frame level multithreading are both set by the user.
If the additional delay caused by frame level multithreading needs
to be considered in the calling code it has all information to take
it into account.
Should it become necessary to calculate a maximum delay inside
libavcodec it should be exported as its own field and not reusing
an existing field.

Based on a patch by Michael Niedermayer.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-22 09:50:33 +01:00
Anton Khirnov
82963f8f04 avconv: cleanup the transcoding loop in output_packet(). 2011-11-21 21:43:48 +01:00
Anton Khirnov
9595234c94 avconv: split subtitle transcoding out of output_packet(). 2011-11-21 18:12:38 +01:00
Anton Khirnov
45d4b66f6f avconv: split video transcoding out of output_packet(). 2011-11-21 18:12:38 +01:00
Anton Khirnov
ded28ba35b avconv: split audio transcoding out of output_packet(). 2011-11-21 18:12:38 +01:00
Anton Khirnov
78162b4ea2 avconv: reindent. 2011-11-21 18:12:38 +01:00
Anton Khirnov
2a651b719c avconv: move streamcopy-only code out of decoding loop. 2011-11-21 18:12:37 +01:00
Anton Khirnov
51aeb69452 avconv: remove an always true condition and reindent. 2011-11-21 18:12:37 +01:00
Anton Khirnov
7204ec1a88 avconv: split off streamcopy handling into a separate loop.
This is easier to understand and is less likely to break horribly when a
stream is to be both decoded and copied.
2011-11-21 18:12:37 +01:00
Justin Ruggles
a8fe9a7242 pthread: add some malloc failure checks 2011-11-21 10:18:25 -05:00
Anton Khirnov
03f30c837b avconv: cosmetics, reformat transcode_init()
Fix spacing, vertically align, break some long lines, add some empty
lines for readability.
2011-11-21 08:13:37 +01:00
Anton Khirnov
1bb77e51a8 avconv: rename 'os' variable to 'oc'
Output AVFormatContext is called 'oc' in most other places.
2011-11-21 08:13:32 +01:00
Anton Khirnov
b0641ab7a0 doc/filters: fix some typos. 2011-11-21 06:45:39 +01:00
Anton Khirnov
7c9224111e configure: add libpulse to help output
Fixes Bug 72.
2011-11-21 06:44:43 +01:00
John Stebbins
c40e1757a1 httpproxy: Fix dependencies
Fix building with --disable-network.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-20 09:51:17 +02:00
Martin Storsjö
66e9c0b6ab httpproxy: Specify the object files needed in the Makefile
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-20 09:41:43 +02:00
John Stebbins
09d243ddd0 swscale: Fix stack alignment for SSE
Although gcc guarantees 16 byte stack alignment, threads under WinXP
don't appear to be guaranteed to start stack aligned.  So fix the
alignment.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-19 09:55:07 -08:00
Justin Ruggles
f3a29b750a avcodec: move some AVCodecContext fields to an internal struct.
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.

Moved internal_buffer, internal_buffer_count, and is_copy.
2011-11-19 10:01:05 -05:00
Justin Ruggles
513b691955 avcodec: use av_opt_set() instead of deprecated av_set_string3() 2011-11-19 01:14:27 -05:00
Justin Ruggles
fa9aeb82e2 avcodec: fix some const warnings
libavcodec/options.c:583: warning: assignment discards qualifiers from pointer
target type
libavcodec/options.c:589: warning: initialization discards qualifiers from
pointer target type
2011-11-19 01:10:58 -05:00
Justin Ruggles
86d3730360 avcodec: remove pointless AVOption, internal_buffer_count 2011-11-19 00:36:49 -05:00
Thierry Foucu
c693aa6f71 imgutils: Fix illegal read.
Found with address sanitizer.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-18 17:42:49 -08:00
Janne Grunau
ff3755cbde configure: add check for w32threads to enable it automatically 2011-11-18 22:36:06 +01:00
Josh Allmann
704af3e29c rtmp: do not hardcode invoke numbers
Note: FCPublish/FCUnpublish are adobe server specific and not described
in the rtmp specification. Some servers might not cope with them at
all.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-11-18 13:57:44 +01:00
Luca Barbato
b7d939d998 cinepack: return non-generic errors 2011-11-18 12:10:41 +01:00
Anton Khirnov
81ac4cda0b fate-lavf-ts: use -mpegts_transport_stream_id option.
Serves as a test of muxer private options.
2011-11-18 11:01:46 +01:00
Anton Khirnov
f872e4d0a7 Add an APIchanges entry and a minor bump for avio changes. 2011-11-18 11:01:16 +01:00
Martin Storsjö
45f511ece7 avio: Mark the old interrupt callback mechanism as deprecated
Prepare for removing it at an upcoming major bump.
2011-11-18 11:01:16 +01:00
Martin Storsjö
40972f7c54 avplay: Set the new interrupt callback
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-18 11:01:16 +01:00
Martin Storsjö
2abe947ac0 avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-18 11:01:16 +01:00
Michael Niedermayer
a4009c6a9a cinepak: remove redundant coordinate checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:45 +02:00
Michael Niedermayer
867b496681 cinepak: check strip_size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:43 +02:00
Michael Niedermayer
d92fea2b14 cinepak, simplify, use AV_RB24()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:42 +02:00
Michael Niedermayer
a2b51fe87c cinepak: simplify, use FFMIN()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:36:05 +02:00
Michael Niedermayer
b55aa7df6b cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:35:56 +02:00
Panagiotis H.M. Issaris
795d9594cf applehttp: Fix seeking in streams not starting at DTS=0
The Apple HTTP Live Streaming demuxer's implementation of
seeking searches for the MPEG TS segment which contains the
requested timestamp.  In its current implementation it assumes
that the first segment will start from 0.

But, MPEG TS streams do not necessarily start with timestamp
(near) 0, causing seeking to fail for those streams.

This also occurs when using live streaming of HTTP Live Streams.
In this case sliding playlists may be used, which means that in
that case only the last x encoded segments are stored, the earlier
segments get deleted from disk and removed from the playlist.
Because of this, when starting playback of a stream in the middle
of such a broadcast, the initial segment fetched after parsing
the m3u8 playlist will not start from timestamp (near) 0, causing
(the admittedly limited live) seeking to fail.

This patch changes this demuxers seeking implementation to use
the initial DTS as an offset for searching the segments containing
the requested timestamp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:33:44 +02:00
Martin Storsjö
dbc2424baa http: Don't use the normal http proxy mechanism for https
The tls protocol handles connections via proxies internally.

With TLS/SSL, the peer verification requires that the client
speaks directly with the server, since the proxy doesn't have
the remote server's private key.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
2565dbeb3e tls: Handle connection via a http proxy
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
f5c5d57b57 http: Reorder two code blocks
This is in preparation for a later commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
9f1dae944e http: Add a new protocol for opening connections via http proxies
This opens a plain TCP connection through the proxy via the
CONNECT HTTP method. Normally, this is allowed for connections
on port 443, but can in general be used to allow connections
to any port (depending on proxy configuration), and could thus
be used to tunnel any TCP connection via a HTTP proxy.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:53 +02:00
Martin Storsjö
bf7723a640 http: Split out the non-chunked buffer reading part from http_read
This is in preparation for a later commit, where this function
is reused.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:59:16 +02:00
Matthew Hoops
ddf9b510e7 segafilm: add support for raw videos
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:54:44 +02:00
John Brooks
525c5b08fb rtpdec: only use RTCP for PTS when synchronizing multiple streams
RTCP timestamps are only necessary to synchronize time between
multiple streams. For a single stream, the RTP packet timestamp
provides more reliable timing. As a result, single-stream RTP
sessions should now have accurate and monotonic PTS.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:47:28 +02:00
John Brooks
12348ca25e rtpdec: unwrap RTP timestamps for PTS calculation
The timestamp field in RTPDemuxContext was unused before this.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 10:31:17 +02:00
Alex Converse
bb4b0ad83b vp5: Fix illegal read.
Found with Address Sanitizer
2011-11-17 11:58:49 -08:00
Thierry Foucu
e0966eb140 vp6: Fix illegal read.
Found with Address Sanitizer

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-17 11:58:40 -08:00
Martin Storsjö
92db95e9ca tls: Use TLSv1_client_method for OpenSSL
TLSv1 is compatible with SSLv3, so this doesn't change much
in terms of compatibility. By explicitly using TLSv1, OpenSSL
sends the server name indication (SNI) header, which we
already set using SSL_set_tlsext_host_name (earlier, this
didn't have any effect).

SNI allows servers to serve SSL content for different host
names with separate certificates on one single port (vhosts).

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-17 15:11:38 +02:00
Martin Storsjö
268fb3f985 mpegaudiodec: Don't use a nonexistent log context for av_dlog
This fixes builds with DEBUG defined, broken since
1158745a2d.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 12:01:32 +02:00
Martin Storsjö
18579f08e7 avformat: Accept the ISO8601 separate format as input, too
This makes the function accept the format of creation_time
as output by demuxers (e.g. the mov demuxer), making the
creation timestamp stay intact if transcoding.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 11:22:43 +02:00