10 years agolibavutil: add utility functions to simplify allocation of audio buffers.
Justin Ruggles [Sat, 12 Nov 2011 20:43:43 +0000 (15:43 -0500)]
libavutil: add utility functions to simplify allocation of audio buffers.

Based on code by Stefano Sabatini.

10 years agolibavutil: add planar sample formats and av_sample_fmt_is_planar()
Justin Ruggles [Sat, 12 Nov 2011 20:58:40 +0000 (15:58 -0500)]
libavutil: add planar sample formats and av_sample_fmt_is_planar()

10 years agoavconv: fix segfault at EOF with delayed pictures
Janne Grunau [Wed, 23 Nov 2011 23:18:33 +0000 (00:18 +0100)]
avconv: fix segfault at EOF with delayed pictures

At EOF it makes no sense to modify avpkt.{data,size} in output_packet
since no data is consumed. Frame threading with more than 1 threads
hits the segfault.

10 years agopcmdec: remove unneeded resetting of samples pointer
Justin Ruggles [Wed, 23 Nov 2011 20:32:50 +0000 (15:32 -0500)]
pcmdec: remove unneeded resetting of samples pointer

10 years agoavconv: remove a now unused parameter from output_packet().
Anton Khirnov [Tue, 22 Nov 2011 06:17:38 +0000 (07:17 +0100)]
avconv: remove a now unused parameter from output_packet().

10 years agoavconv: formatting fixes in output_packet()
Anton Khirnov [Tue, 22 Nov 2011 06:16:23 +0000 (07:16 +0100)]
avconv: formatting fixes in output_packet()

10 years agoavconv: declare some variables in blocks where they are used
Anton Khirnov [Tue, 22 Nov 2011 06:13:29 +0000 (07:13 +0100)]
avconv: declare some variables in blocks where they are used

10 years agoavconv: use the same behavior when decoding audio/video/subs
Anton Khirnov [Mon, 21 Nov 2011 20:30:23 +0000 (21:30 +0100)]
avconv: use the same behavior when decoding audio/video/subs

I.e. if the packet was only partially consumed, pass the rest of it into
the decoder again.

Also simplify the code so it's the same for video/audio/subs.

10 years agobethsoftvideo: return proper consumed size for palette packets.
Anton Khirnov [Mon, 21 Nov 2011 20:22:44 +0000 (21:22 +0100)]
bethsoftvideo: return proper consumed size for palette packets.

Also check for sufficient packet size.

10 years agocdg: skip packets that don't contain a cdg command.
Justin Ruggles [Mon, 21 Nov 2011 20:14:42 +0000 (21:14 +0100)]
cdg: skip packets that don't contain a cdg command.

Signed-off-by: Anton Khirnov <>
10 years agocrcenc: add flags
Anton Khirnov [Sun, 20 Nov 2011 11:45:36 +0000 (12:45 +0100)]
crcenc: add flags

AVFMT_NOTIMESTAMPS for crc, as it ignores the timestamps.
AVFMT_VARIABLE_FPS for framecrc, as it prints dts.

Many FATE changes, because avconv is no longer duplicating frames in
those tests.
Also added -vsync 0 for some tests to prevent avconv from dropping
frames until it can be fixed more properly.

10 years agoavconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.
Anton Khirnov [Sun, 20 Nov 2011 11:46:24 +0000 (12:46 +0100)]
avconv: use vsync 0 for AVFMT_NOTIMESTAMPS formats.

Prevent avconv from duplicating or dropping frames for formats where it
makes even less sense than usual, e.g. image2.

10 years agotiffenc: add a private option for selecting compression algorithm
Anton Khirnov [Wed, 23 Nov 2011 18:45:39 +0000 (19:45 +0100)]
tiffenc: add a private option for selecting compression algorithm

10 years agomd5enc: add flags
Anton Khirnov [Sun, 20 Nov 2011 11:45:36 +0000 (12:45 +0100)]
md5enc: add flags

AVFMT_NOTIMESTAMPS for md5, as it ignores the timestamps.
AVFMT_VARIABLE_FPS for framemd5, as it prints dts.

-vsync 0 for the vp8 test is needed because with vsync 2 the timestamp
guessing code gets confused by an altref frame that is never displayed
and drops a frame later.

10 years agoARM: remove needless .text/.align directives
Mans Rullgard [Tue, 22 Nov 2011 16:53:18 +0000 (16:53 +0000)]
ARM: remove needless .text/.align directives

The 'function' macro already includes the appropriate

Signed-off-by: Mans Rullgard <>
10 years agoaacdec: Fix PS in ADTS.
Alex Converse [Tue, 22 Nov 2011 20:12:10 +0000 (12:12 -0800)]
aacdec: Fix PS in ADTS.

Fixes File1.aac and Bug 80.

10 years agoavconv: Consistently use PIX_FMT_NONE.
Alex Converse [Tue, 22 Nov 2011 18:38:37 +0000 (10:38 -0800)]
avconv: Consistently use PIX_FMT_NONE.

Use PIX_FMT_NONE instead of -1 when dealing with PixelFormat variables.

10 years agodsputil: use cpuflags in x86 emu_edge_core
Justin Ruggles [Sun, 6 Nov 2011 22:42:50 +0000 (17:42 -0500)]
dsputil: use cpuflags in x86 emu_edge_core

avoids passing around the extra argument among all the macros it uses

10 years agodsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
Justin Ruggles [Mon, 7 Nov 2011 01:43:13 +0000 (20:43 -0500)]
dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()

This allows emulated_edge_mc_sse() and gmc_sse() to be used under

10 years agowma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
Justin Ruggles [Tue, 22 Nov 2011 18:37:52 +0000 (13:37 -0500)]
wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.

The initial values are not checked against the number of block sizes.
Initializing them to frame_len_bits will result in a block size index of 0
in these cases instead of something that might be out-of-range.

Fixes Bug 81.

10 years agomov: Remove some redundant and obsolete comments.
Alex Converse [Tue, 22 Nov 2011 02:46:02 +0000 (18:46 -0800)]
mov: Remove some redundant and obsolete comments.

10 years agoAdd libavutil/mathematics.h #includes for INFINITY
Mans Rullgard [Sun, 17 Jul 2011 10:19:35 +0000 (11:19 +0100)]
Add libavutil/mathematics.h #includes for INFINITY

This fixes build errors in some environments.

Signed-off-by: Mans Rullgard <>
10 years agodoxy: structure libavformat groups
Luca Barbato [Tue, 22 Nov 2011 16:11:28 +0000 (17:11 +0100)]
doxy: structure libavformat groups

10 years agodoxy: introduce an empty structure in libavcodec
Luca Barbato [Sun, 20 Nov 2011 20:29:52 +0000 (21:29 +0100)]
doxy: introduce an empty structure in libavcodec

10 years agodoxy: provide a start page and document libavutil
Luca Barbato [Sun, 20 Nov 2011 19:38:24 +0000 (20:38 +0100)]
doxy: provide a start page and document libavutil

Introduce a basic layout, the subpages are currently left empty.

Split libavutil in multiple groups as example of the structure

10 years agodoxy: cleanup pixfmt.h
Luca Barbato [Sat, 19 Nov 2011 15:57:53 +0000 (16:57 +0100)]
doxy: cleanup pixfmt.h

Remove the dubious warning about the header being private and
add some formatting

10 years agoregtest: split video encode/decode tests into individual targets
Mans Rullgard [Mon, 21 Nov 2011 23:02:32 +0000 (23:02 +0000)]
regtest: split video encode/decode tests into individual targets

Signed-off-by: Mans Rullgard <>
10 years agoARM: add explicit .arch and .fpu directives to asm.S
Mans Rullgard [Tue, 15 Nov 2011 01:15:52 +0000 (01:15 +0000)]
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

Signed-off-by: Mans Rullgard <>
10 years agopthread: do not touch has_b_frames
Janne Grunau [Thu, 10 Nov 2011 16:30:33 +0000 (17:30 +0100)]
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
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 <>
10 years agoavconv: cleanup the transcoding loop in output_packet().
Anton Khirnov [Mon, 21 Nov 2011 14:37:40 +0000 (15:37 +0100)]
avconv: cleanup the transcoding loop in output_packet().

10 years agoavconv: split subtitle transcoding out of output_packet().
Anton Khirnov [Mon, 21 Nov 2011 13:39:22 +0000 (14:39 +0100)]
avconv: split subtitle transcoding out of output_packet().

10 years agoavconv: split video transcoding out of output_packet().
Anton Khirnov [Mon, 21 Nov 2011 13:39:22 +0000 (14:39 +0100)]
avconv: split video transcoding out of output_packet().

10 years agoavconv: split audio transcoding out of output_packet().
Anton Khirnov [Mon, 21 Nov 2011 13:39:22 +0000 (14:39 +0100)]
avconv: split audio transcoding out of output_packet().

10 years agoavconv: reindent.
Anton Khirnov [Mon, 21 Nov 2011 13:06:25 +0000 (14:06 +0100)]
avconv: reindent.

10 years agoavconv: move streamcopy-only code out of decoding loop.
Anton Khirnov [Mon, 21 Nov 2011 13:05:38 +0000 (14:05 +0100)]
avconv: move streamcopy-only code out of decoding loop.

10 years agoavconv: remove an always true condition and reindent.
Anton Khirnov [Mon, 21 Nov 2011 12:51:51 +0000 (13:51 +0100)]
avconv: remove an always true condition and reindent.

10 years agoavconv: split off streamcopy handling into a separate loop.
Anton Khirnov [Mon, 21 Nov 2011 12:48:45 +0000 (13:48 +0100)]
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.

10 years agopthread: add some malloc failure checks
Justin Ruggles [Wed, 16 Nov 2011 22:30:28 +0000 (17:30 -0500)]
pthread: add some malloc failure checks

10 years agoavconv: cosmetics, reformat transcode_init()
Anton Khirnov [Sun, 20 Nov 2011 11:32:27 +0000 (12:32 +0100)]
avconv: cosmetics, reformat transcode_init()

Fix spacing, vertically align, break some long lines, add some empty
lines for readability.

10 years agoavconv: rename 'os' variable to 'oc'
Anton Khirnov [Sun, 20 Nov 2011 11:23:55 +0000 (12:23 +0100)]
avconv: rename 'os' variable to 'oc'

Output AVFormatContext is called 'oc' in most other places.

10 years agodoc/filters: fix some typos.
Anton Khirnov [Sun, 20 Nov 2011 05:42:43 +0000 (06:42 +0100)]
doc/filters: fix some typos.

10 years agoconfigure: add libpulse to help output
Anton Khirnov [Fri, 18 Nov 2011 10:08:31 +0000 (11:08 +0100)]
configure: add libpulse to help output

Fixes Bug 72.

10 years agohttpproxy: Fix dependencies
John Stebbins [Sat, 19 Nov 2011 17:58:26 +0000 (09:58 -0800)]
httpproxy: Fix dependencies

Fix building with --disable-network.

Signed-off-by: Martin Storsjö <>
10 years agohttpproxy: Specify the object files needed in the Makefile
Martin Storsjö [Sat, 19 Nov 2011 08:02:15 +0000 (10:02 +0200)]
httpproxy: Specify the object files needed in the Makefile

Signed-off-by: Martin Storsjö <>
10 years agoswscale: Fix stack alignment for SSE
John Stebbins [Fri, 18 Nov 2011 23:06:17 +0000 (15:06 -0800)]
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

Signed-off-by: Ronald S. Bultje <>
10 years agoavcodec: move some AVCodecContext fields to an internal struct.
Justin Ruggles [Tue, 15 Nov 2011 20:34:50 +0000 (15:34 -0500)]
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.

10 years agoavcodec: use av_opt_set() instead of deprecated av_set_string3()
Justin Ruggles [Sat, 19 Nov 2011 06:14:27 +0000 (01:14 -0500)]
avcodec: use av_opt_set() instead of deprecated av_set_string3()

10 years agoavcodec: fix some const warnings
Justin Ruggles [Sat, 19 Nov 2011 06:09:48 +0000 (01:09 -0500)]
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

10 years agoavcodec: remove pointless AVOption, internal_buffer_count
Justin Ruggles [Sat, 19 Nov 2011 00:49:24 +0000 (19:49 -0500)]
avcodec: remove pointless AVOption, internal_buffer_count

10 years agoimgutils: Fix illegal read.
Thierry Foucu [Sat, 19 Nov 2011 01:36:50 +0000 (17:36 -0800)]
imgutils: Fix illegal read.

Found with address sanitizer.

Signed-off-by: Alex Converse <>
10 years agoconfigure: add check for w32threads to enable it automatically
Janne Grunau [Tue, 1 Nov 2011 19:41:43 +0000 (20:41 +0100)]
configure: add check for w32threads to enable it automatically

10 years agortmp: do not hardcode invoke numbers
Josh Allmann [Sat, 12 Nov 2011 21:28:58 +0000 (13:28 -0800)]
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

Signed-off-by: Luca Barbato <>
10 years agocinepack: return non-generic errors
Luca Barbato [Fri, 18 Nov 2011 11:10:41 +0000 (12:10 +0100)]
cinepack: return non-generic errors

10 years agofate-lavf-ts: use -mpegts_transport_stream_id option.
Anton Khirnov [Mon, 14 Nov 2011 08:11:26 +0000 (09:11 +0100)]
fate-lavf-ts: use -mpegts_transport_stream_id option.

Serves as a test of muxer private options.

10 years agoAdd an APIchanges entry and a minor bump for avio changes.
Anton Khirnov [Sun, 13 Nov 2011 16:08:26 +0000 (17:08 +0100)]
Add an APIchanges entry and a minor bump for avio changes.

10 years agoavio: Mark the old interrupt callback mechanism as deprecated
Martin Storsjö [Mon, 7 Nov 2011 10:17:50 +0000 (12:17 +0200)]
avio: Mark the old interrupt callback mechanism as deprecated

Prepare for removing it at an upcoming major bump.

10 years agoavplay: Set the new interrupt callback
Martin Storsjö [Sun, 6 Nov 2011 21:28:49 +0000 (23:28 +0200)]
avplay: Set the new interrupt callback

Signed-off-by: Anton Khirnov <>
10 years agoavconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere
Martin Storsjö [Sun, 6 Nov 2011 21:22:04 +0000 (23:22 +0200)]
avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere

Signed-off-by: Anton Khirnov <>
10 years agocinepak: remove redundant coordinate checks
Michael Niedermayer [Wed, 16 Nov 2011 16:25:39 +0000 (17:25 +0100)]
cinepak: remove redundant coordinate checks

Signed-off-by: Michael Niedermayer <>
Signed-off-by: Martin Storsjö <>
10 years agocinepak: check strip_size
Michael Niedermayer [Wed, 16 Nov 2011 16:21:42 +0000 (17:21 +0100)]
cinepak: check strip_size

Signed-off-by: Michael Niedermayer <>
Signed-off-by: Martin Storsjö <>
10 years agocinepak, simplify, use AV_RB24()
Michael Niedermayer [Wed, 16 Nov 2011 16:16:38 +0000 (17:16 +0100)]
cinepak, simplify, use AV_RB24()

Signed-off-by: Michael Niedermayer <>
Signed-off-by: Martin Storsjö <>
10 years agocinepak: simplify, use FFMIN()
Michael Niedermayer [Wed, 16 Nov 2011 16:15:15 +0000 (17:15 +0100)]
cinepak: simplify, use FFMIN()

Signed-off-by: Michael Niedermayer <>
Signed-off-by: Martin Storsjö <>
10 years agocinepak: Fix division by zero, ask for sample if encoded_buf_size is 0
Michael Niedermayer [Wed, 16 Nov 2011 14:10:26 +0000 (15:10 +0100)]
cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0

Signed-off-by: Michael Niedermayer <>
Signed-off-by: Martin Storsjö <>
10 years agoapplehttp: Fix seeking in streams not starting at DTS=0
Panagiotis H.M. Issaris [Tue, 15 Nov 2011 17:35:03 +0000 (18:35 +0100)]
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ö <>
10 years agohttp: Don't use the normal http proxy mechanism for https
Martin Storsjö [Thu, 10 Nov 2011 12:57:15 +0000 (14:57 +0200)]
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ö <>
10 years agotls: Handle connection via a http proxy
Martin Storsjö [Thu, 10 Nov 2011 13:26:23 +0000 (15:26 +0200)]
tls: Handle connection via a http proxy

Signed-off-by: Martin Storsjö <>
10 years agohttp: Reorder two code blocks
Martin Storsjö [Thu, 10 Nov 2011 12:55:18 +0000 (14:55 +0200)]
http: Reorder two code blocks

This is in preparation for a later commit.

Signed-off-by: Martin Storsjö <>
10 years agohttp: Add a new protocol for opening connections via http proxies
Martin Storsjö [Thu, 10 Nov 2011 12:53:16 +0000 (14:53 +0200)]
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ö <>
10 years agohttp: Split out the non-chunked buffer reading part from http_read
Martin Storsjö [Thu, 10 Nov 2011 12:52:50 +0000 (14:52 +0200)]
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ö <>
10 years agosegafilm: add support for raw videos
Matthew Hoops [Tue, 15 Nov 2011 01:08:50 +0000 (20:08 -0500)]
segafilm: add support for raw videos

Signed-off-by: Martin Storsjö <>
10 years agortpdec: only use RTCP for PTS when synchronizing multiple streams
John Brooks [Wed, 9 Nov 2011 23:28:35 +0000 (16:28 -0700)]
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ö <>
10 years agortpdec: unwrap RTP timestamps for PTS calculation
John Brooks [Thu, 17 Nov 2011 15:50:12 +0000 (08:50 -0700)]
rtpdec: unwrap RTP timestamps for PTS calculation

The timestamp field in RTPDemuxContext was unused before this.

Signed-off-by: Martin Storsjö <>
10 years agovp5: Fix illegal read.
Alex Converse [Thu, 17 Nov 2011 18:06:14 +0000 (10:06 -0800)]
vp5: Fix illegal read.

Found with Address Sanitizer

10 years agovp6: Fix illegal read.
Thierry Foucu [Thu, 17 Nov 2011 17:39:52 +0000 (09:39 -0800)]
vp6: Fix illegal read.

Found with Address Sanitizer

Signed-off-by: Alex Converse <>
10 years agotls: Use TLSv1_client_method for OpenSSL
Martin Storsjö [Thu, 17 Nov 2011 09:15:27 +0000 (11:15 +0200)]
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ö <>
10 years agompegaudiodec: Don't use a nonexistent log context for av_dlog
Martin Storsjö [Wed, 16 Nov 2011 09:33:53 +0000 (11:33 +0200)]
mpegaudiodec: Don't use a nonexistent log context for av_dlog

This fixes builds with DEBUG defined, broken since

Signed-off-by: Martin Storsjö <>
10 years agoavformat: Accept the ISO8601 separate format as input, too
Martin Storsjö [Mon, 7 Nov 2011 22:12:09 +0000 (00:12 +0200)]
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ö <>
10 years agoavformat: Interpret times in ff_iso8601_to_unix_time as UTC
Martin Storsjö [Mon, 7 Nov 2011 21:32:21 +0000 (23:32 +0200)]
avformat: Interpret times in ff_iso8601_to_unix_time as UTC

This function is used in muxers for parsing the 'creation_time'
metadata key, for converting it to a time value.

This makes it match the behaviour of the exported 'creation_time'
metadata from demuxers, where it is in UTC, too.

Signed-off-by: Martin Storsjö <>
10 years agoavutil: Add av_timegm as a public function
Martin Storsjö [Mon, 7 Nov 2011 21:20:31 +0000 (23:20 +0200)]
avutil: Add av_timegm as a public function

This is useful, since the normal timegm function isn't a standard
function (requiring _BSD_SOURCE or _SVID_SOURCE on glibc to
be visible, and not available on e.g. windows). The widely available
function mktime uses the local time zone, which requires ugly
workarounds to handle UTC time.

Signed-off-by: Martin Storsjö <>
10 years agocinepak: Add another special case so that it can handle the following file:
Mike Melanson [Wed, 16 Nov 2011 07:06:48 +0000 (23:06 -0800)]
cinepak: Add another special case so that it can handle the following file:

This fix works around another work around which handles a different type
of odd Cinepak data.

Thanks to Matthew Hoops (clone2727 - for the sample and fix.

Signed-off-by: Martin Storsjö <>
10 years agolagarith: add some RGBA decoding support
Kostya Shishkov [Sat, 12 Nov 2011 19:54:27 +0000 (20:54 +0100)]
lagarith: add some RGBA decoding support

Signed-off-by: Martin Storsjö <>
10 years agolagarith: Add correct line prediction for RGB
Nathan Caldwell [Wed, 16 Nov 2011 07:45:00 +0000 (00:45 -0700)]
lagarith: Add correct line prediction for RGB

Signed-off-by: Martin Storsjö <>
10 years agolavf: fix multiplication overflow in avformat_find_stream_info()
Mans Rullgard [Tue, 15 Nov 2011 22:33:49 +0000 (22:33 +0000)]
lavf: fix multiplication overflow in avformat_find_stream_info()

Converting to double before the multiplication rather than after
avoids an integer overflow in some cases.

Signed-off-by: Mans Rullgard <>
10 years agocosmetics: indentation
Justin Ruggles [Thu, 3 Nov 2011 19:53:43 +0000 (15:53 -0400)]
cosmetics: indentation

10 years agompegaudiodec: init static tables in AVCodec.init_static_data()
Justin Ruggles [Thu, 3 Nov 2011 18:59:37 +0000 (14:59 -0400)]
mpegaudiodec: init static tables in AVCodec.init_static_data()

10 years agobinkvideo: simplify and remove invalid shifts
Mans Rullgard [Sun, 13 Nov 2011 15:25:53 +0000 (15:25 +0000)]
binkvideo: simplify and remove invalid shifts

Signed-off-by: Mans Rullgard <>
10 years agopulse: compute frame_duration once and fix it
Luca Barbato [Mon, 14 Nov 2011 14:53:59 +0000 (15:53 +0100)]
pulse: compute frame_duration once and fix it

The frame duration was calculated without taking in account the
bytes per sample.

Thanks to Lorenzo Pistone <> for pointing
the issue and providing an initial fix.

10 years agolavf: simplify format_child_class_next()
Luca Barbato [Mon, 14 Nov 2011 11:24:21 +0000 (12:24 +0100)]
lavf: simplify format_child_class_next()

And fix the error introduced when adding private option to avio.
See 32caa7b13cecca59213c73fa94dd683c2b003bfd

10 years agohwaccel: OS X Video Decoder Acceleration (VDA) support.
Sebastien Zwickert [Fri, 11 Nov 2011 14:48:21 +0000 (15:48 +0100)]
hwaccel: OS X Video Decoder Acceleration (VDA) support.

Signed-off-by: Luca Barbato <>
10 years agodoc: add support for an optional navigation bar in texi2html pages
Janne Grunau [Sun, 13 Nov 2011 18:32:35 +0000 (19:32 +0100)]
doc: add support for an optional navigation bar in texi2html pages

The navigation header for the web pages lives in a different repository.
Read it during documentation regeneration to use the same navigation bar
on all pages.

10 years agolavf: pass options from AVFormatContext to avio.
Anton Khirnov [Sat, 5 Nov 2011 11:30:21 +0000 (12:30 +0100)]
lavf: pass options from AVFormatContext to avio.

10 years agoavformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards
Martin Storsjö [Sun, 6 Nov 2011 21:11:29 +0000 (23:11 +0200)]
avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards

Signed-off-by: Anton Khirnov <>
10 years agoavio: add avio_open2, taking an interrupt callback and options
Martin Storsjö [Sun, 6 Nov 2011 21:03:45 +0000 (23:03 +0200)]
avio: add avio_open2, taking an interrupt callback and options

The interrupt callback has to be passed in during opening (setting it
after opening isn't enough), since a blocking open couldn't be
interrupted otherwise.

Options are passed down to procotols and also need to be available
during open() in most cases.

Signed-off-by: Anton Khirnov <>
10 years agoavio: add support for passing options to protocols.
Anton Khirnov [Sat, 5 Nov 2011 09:04:04 +0000 (10:04 +0100)]
avio: add support for passing options to protocols.

Not used anywhere yet, support for passing options from avio_open() will

10 years agoavio: add and use ffurl_protocol_next().
Anton Khirnov [Sat, 5 Nov 2011 10:42:13 +0000 (11:42 +0100)]
avio: add and use ffurl_protocol_next().

10 years agoavformat: Pass the interrupt callback on to chained muxers/demuxers
Martin Storsjö [Sun, 6 Nov 2011 20:55:40 +0000 (22:55 +0200)]
avformat: Pass the interrupt callback on to chained muxers/demuxers

There are a few more cases of chained demuxers, but they
only use custom IO which don't do any blocking IO and thus
don't need the callback.

10 years agoavio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc
Martin Storsjö [Sun, 6 Nov 2011 20:50:44 +0000 (22:50 +0200)]
avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc

Change all uses of these function to pass the relevant
callback on.

10 years agoavformat: Use ff_check_interrupt
Martin Storsjö [Sun, 6 Nov 2011 20:34:24 +0000 (22:34 +0200)]
avformat: Use ff_check_interrupt

10 years agoavio: Add an internal utility function for checking the new interrupt callback
Martin Storsjö [Sun, 6 Nov 2011 20:10:21 +0000 (22:10 +0200)]
avio: Add an internal utility function for checking the new interrupt callback

Signed-off-by: Anton Khirnov <>
10 years agoavio: Add AVIOInterruptCB
Martin Storsjö [Sun, 6 Nov 2011 12:10:16 +0000 (14:10 +0200)]
avio: Add AVIOInterruptCB

This is a better io interrupt callback function, which has an
opaque parameter, which is given to the interrupt callback.

This allows callers to precisely cancel IO for one single
AVFormatContext, without interrupt other ones in the same

Note, it's not needed in AVIOContext, at the moment.

Signed-off-by: Anton Khirnov <>