ffmpeg.git
6 years agow32pthread: help compiler figure out undeeded code
Rafaël Carré [Tue, 20 Aug 2013 17:25:22 +0000 (19:25 +0200)]
w32pthread: help compiler figure out undeeded code

The emulation code is not needed when targetting Vista+
This helps getting rid of CreateSemaphore symbol, which is
forbidden in Windows Store apps.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agox86: h264_idct: Remove incorrect comment
Diego Biurrun [Mon, 19 Aug 2013 13:32:36 +0000 (15:32 +0200)]
x86: h264_idct: Remove incorrect comment

6 years agoavcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM
Diego Biurrun [Tue, 20 Aug 2013 12:24:04 +0000 (14:24 +0200)]
avcodec/utils: Simplify a condition that combines HAVE_NEON and ARCH_ARM

6 years agoh264_ps: Use more meaningful error values
Diego Biurrun [Mon, 19 Aug 2013 13:18:49 +0000 (15:18 +0200)]
h264_ps: Use more meaningful error values

6 years agoh264_ps: K&R formatting cosmetics
Diego Biurrun [Mon, 19 Aug 2013 13:16:05 +0000 (15:16 +0200)]
h264_ps: K&R formatting cosmetics

6 years agoh264_ps: Drop commented-out cruft
Diego Biurrun [Mon, 19 Aug 2013 13:22:06 +0000 (15:22 +0200)]
h264_ps: Drop commented-out cruft

6 years agoh264data: Move some tables to the only place they are used
Diego Biurrun [Mon, 19 Aug 2013 10:44:58 +0000 (12:44 +0200)]
h264data: Move some tables to the only place they are used

6 years agoh264data: Remove unused luma_dc_field_scan table
Diego Biurrun [Mon, 19 Aug 2013 10:43:17 +0000 (12:43 +0200)]
h264data: Remove unused luma_dc_field_scan table

6 years agoAdd a libfdk-aac decoder
Martin Storsjö [Thu, 15 Aug 2013 19:40:32 +0000 (15:40 -0400)]
Add a libfdk-aac decoder

This can be useful for decoding AAC object types that are not supported
by the native AAC decoder, e.g. AAC-LD and AAC-ELD.

6 years agovf_fps: add 'start_time' option
Justin Ruggles [Thu, 15 Aug 2013 20:14:57 +0000 (16:14 -0400)]
vf_fps: add 'start_time' option

This allows for dropping or duplication to match a particular start time.

6 years agoavcodec: Remove some commented-out debug cruft
Diego Biurrun [Tue, 20 Aug 2013 12:25:33 +0000 (14:25 +0200)]
avcodec: Remove some commented-out debug cruft

6 years agomovenc: Allow chapters to be written in trailer
John Stebbins [Mon, 19 Aug 2013 23:05:30 +0000 (16:05 -0700)]
movenc: Allow chapters to be written in trailer

This allows creation of frame accurate chapter marks from sources
like DVD and BD where the precise chapter location is not known until
the chapter mark has been reached during reading.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agomovenc: Allow chapter track in default MODE_MP4
John Stebbins [Mon, 19 Aug 2013 23:05:29 +0000 (16:05 -0700)]
movenc: Allow chapter track in default MODE_MP4

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoavformat: Fix references to removed av_close_input_file in Doxygen
Diego Biurrun [Tue, 20 Aug 2013 10:23:24 +0000 (12:23 +0200)]
avformat: Fix references to removed av_close_input_file in Doxygen

6 years agomov: Prevent segfaults on mov_write_hdlr_tag
Luca Barbato [Mon, 19 Aug 2013 15:18:23 +0000 (17:18 +0200)]
mov: Prevent segfaults on mov_write_hdlr_tag

Do not segfault when writing tracks such as tmcd by writing them down
as generic DataHandlers if not known.

6 years agomov: Compute max duration among the tracks with a timescale
Luca Barbato [Mon, 19 Aug 2013 15:18:22 +0000 (17:18 +0200)]
mov: Compute max duration among the tracks with a timescale

Prevent an assert.

6 years agomov: Set the timescale for data streams
Luca Barbato [Mon, 19 Aug 2013 15:18:21 +0000 (17:18 +0200)]
mov: Set the timescale for data streams

Data streams have a defined timebase, do not ignore it.

6 years agomkv: Allow flushing the current cluster in progress
Martin Storsjö [Mon, 19 Aug 2013 07:33:14 +0000 (08:33 +0100)]
mkv: Allow flushing the current cluster in progress

Allow emitting the current cluster that is being written before
starting a new one, simplifying how to figure out where clusters
are positioned in the output stream (for live streaming).

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agomkv: Flush the old cluster before writing a new one
Luca Barbato [Sun, 18 Aug 2013 18:09:41 +0000 (20:09 +0200)]
mkv: Flush the old cluster before writing a new one

This simplifies keeping track of cluster boundaries for e.g.
livestreaming of WebM.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agomkv: Add options for specifying cluster limits
Luca Barbato [Sun, 18 Aug 2013 18:09:40 +0000 (20:09 +0200)]
mkv: Add options for specifying cluster limits

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agomkv: Refactor mkv_write_packet
Luca Barbato [Sun, 18 Aug 2013 18:09:39 +0000 (20:09 +0200)]
mkv: Refactor mkv_write_packet

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agoogg: Fix potential infinite discard loop
Reimar Döffinger [Sun, 18 Aug 2013 15:40:51 +0000 (17:40 +0200)]
ogg: Fix potential infinite discard loop

Seeking in certain broken files would cause ogg_read_timestamp
to fail because ogg_packet would go into a state where all packets
of stream 1 would be discarded until the end of the stream.

Bug-Id: 553
CC: libav-stable@libav.org
Signed-off-by: Jan Gerber <j@v2v.cc>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agomovenc: Indicate that negative timestamps are supported
Martin Storsjö [Sat, 17 Aug 2013 16:05:53 +0000 (17:05 +0100)]
movenc: Indicate that negative timestamps are supported

The mov/mp4 muxer has support for handling negative timestamps
via edit lists (which customarily is used for handling the 1-frame
delay due to B-frames as well).

Using the muxer's native way of handling it is better than using
the generic offsetting. The generic offsetting is a bit too
crude when e.g. the timebase of one track is 1/fps, where the
edit lists can handle it accurately.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodxa: fix decoding of first I-frame by separating I/P-frame decoding
Janne Grunau [Sat, 17 Aug 2013 10:36:36 +0000 (12:36 +0200)]
dxa: fix decoding of first I-frame by separating I/P-frame decoding

5ef7c84 broke decoding for the first keyframe due to an unnecessary
check for a reference frame.

CC: libav-stable@libav.org
6 years agodxa: Make sure the reference frame exists
Luca Barbato [Wed, 14 Aug 2013 14:51:53 +0000 (16:51 +0200)]
dxa: Make sure the reference frame exists

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoh261: check the mtype index
Luca Barbato [Wed, 14 Aug 2013 14:57:21 +0000 (16:57 +0200)]
h261: check the mtype index

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoaltivec: perform an explicit unaligned load
Kostya Shishkov [Wed, 14 Aug 2013 19:28:05 +0000 (15:28 -0400)]
altivec: perform an explicit unaligned load

Implicit vector loads on POWER7 hardware can use the VSX
instruction set instead of classic Altivec/VMX. Let's force
a VMX load in this case.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agohlsenc: Don't reset the number variable when wrapping
Carl Eugen Hoyos [Thu, 6 Jun 2013 10:09:38 +0000 (12:09 +0200)]
hlsenc: Don't reset the number variable when wrapping

The counter itself shouldn't be wrapped, since it is used for
determining end_pts for the next segment - only wrap the number
used for the segment file name.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agohlsenc: Append the last incomplete segment when closing the output
Stefano Sabatini [Thu, 15 Aug 2013 09:33:20 +0000 (12:33 +0300)]
hlsenc: Append the last incomplete segment when closing the output

Also avoid comparing NOPTS values.

Bug-id: 551
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agohlsenc: Add a proper dependency on the mpegts muxer
Martin Storsjö [Thu, 15 Aug 2013 13:09:27 +0000 (16:09 +0300)]
hlsenc: Add a proper dependency on the mpegts muxer

The hls muxer itself doesn't have any direct (object file level)
dependencies on mpegtsenc.o, and including that object file
directly doesn't ensure that it is registered so that the muxer
actually is accessible.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agovp56data: Move all data tables to the .c file
Diego Biurrun [Wed, 14 Aug 2013 16:49:14 +0000 (18:49 +0200)]
vp56data: Move all data tables to the .c file

6 years agovp56data: Move all shared enum/struct declarations to common header
Diego Biurrun [Wed, 14 Aug 2013 16:39:37 +0000 (18:39 +0200)]
vp56data: Move all shared enum/struct declarations to common header

6 years agompeg12decdata.h: Move all tables to the only place they are used
Diego Biurrun [Wed, 14 Aug 2013 16:19:46 +0000 (18:19 +0200)]
mpeg12decdata.h: Move all tables to the only place they are used

6 years agompeg12decdata: Remove unused #define
Diego Biurrun [Wed, 14 Aug 2013 16:57:08 +0000 (18:57 +0200)]
mpeg12decdata: Remove unused #define

6 years agoavcodec: Replace local extern declarations for tables with header #includes
Diego Biurrun [Thu, 15 Aug 2013 10:58:41 +0000 (12:58 +0200)]
avcodec: Replace local extern declarations for tables with header #includes

6 years agoswscale: Move extern declarations for tables to swscale_internal.h
Diego Biurrun [Thu, 15 Aug 2013 11:38:12 +0000 (13:38 +0200)]
swscale: Move extern declarations for tables to swscale_internal.h

Also add missing ff_ prefixes where necessary.

6 years agoswscale: Mark a bunch of tables only used within one file static
Diego Biurrun [Thu, 15 Aug 2013 11:29:01 +0000 (13:29 +0200)]
swscale: Mark a bunch of tables only used within one file static

6 years agoivi_common: Make some tables only used within the file static
Diego Biurrun [Thu, 15 Aug 2013 11:13:01 +0000 (13:13 +0200)]
ivi_common: Make some tables only used within the file static

6 years agortpproto: Check the right feature detection macro
Martin Storsjö [Thu, 15 Aug 2013 07:36:20 +0000 (10:36 +0300)]
rtpproto: Check the right feature detection macro

IPPROTO_IPV6 is unrelated here (it's only used in udp.c for
multicast sockopts), check for support for the sockaddr_in6
struct itself.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoelectronicarts: Let functions always returning the same value return void
Diego Biurrun [Wed, 14 Aug 2013 16:04:36 +0000 (18:04 +0200)]
electronicarts: Let functions always returning the same value return void

6 years agoelectronicarts: Improve some function/variable names
Diego Biurrun [Wed, 14 Aug 2013 15:06:41 +0000 (17:06 +0200)]
electronicarts: Improve some function/variable names

6 years agoelectronicarts: comment wording fixes
Diego Biurrun [Wed, 14 Aug 2013 14:53:08 +0000 (16:53 +0200)]
electronicarts: comment wording fixes

6 years agoelectronicarts: Remove bogus function documentation
Diego Biurrun [Wed, 14 Aug 2013 15:54:40 +0000 (17:54 +0200)]
electronicarts: Remove bogus function documentation

6 years agoelectronicarts: K&R formatting cosmetics
Diego Biurrun [Wed, 14 Aug 2013 14:45:06 +0000 (16:45 +0200)]
electronicarts: K&R formatting cosmetics

6 years ago8bps: decode 24bit files correctly as rgb32 on bigendian
Janne Grunau [Fri, 19 Jul 2013 11:51:51 +0000 (13:51 +0200)]
8bps: decode 24bit files correctly as rgb32 on bigendian

6 years agortpproto: Check for the right feature when reading a sockaddr_in6
Dave Yeo [Wed, 14 Aug 2013 22:22:13 +0000 (15:22 -0700)]
rtpproto: Check for the right feature when reading a sockaddr_in6

Some systems, such as OS/2, define AF_INET6 without a full
implementation.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosdp: Add an option for sending RTCP packets to the source of the last packets
Martin Storsjö [Tue, 13 Aug 2013 10:21:35 +0000 (13:21 +0300)]
sdp: Add an option for sending RTCP packets to the source of the last packets

An SDP description normally only contains the target IP address
and port for the packets. This means that we don't really have
any clue where to send the RTCP RR packets - previously they're
sent to the destination IP written in the SDP (at the same port),
which rarely is the actual peer. And if the source for the packets
is on a different port than the destination, it's never correct.

With a new option, we can choose to send the packets to the
address that the latest packet on each socket arrived from.
---
Some may even argue that this should be the default - perhaps,
but I'd rather keep it optional at first. Additionally, I'm not
sure if sending RTCP RR directly back to the source is
desireable for e.g. multicast.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agortpproto: Add an option for writing return packets to the address of the last receive...
Martin Storsjö [Tue, 13 Aug 2013 10:20:42 +0000 (13:20 +0300)]
rtpproto: Add an option for writing return packets to the address of the last received packets

If we've received packets on the same socket before, the return
packets are sent to that address. If we've only received packets
on the other socket, try to guess the source port for the other
one assuming the basic +1/-1 logic.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agortpproto: Update the parameter documentation
Martin Storsjö [Tue, 13 Aug 2013 09:19:57 +0000 (12:19 +0300)]
rtpproto: Update the parameter documentation

Move the sources documentation up below the marker for deprecated
otpions. Also mention the new block parameter, that was added
in 749722209.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agosegafilm: Error out on impossible packet size
Luca Barbato [Tue, 13 Aug 2013 05:40:38 +0000 (07:40 +0200)]
segafilm: Error out on impossible packet size

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agoogg: Always alloc the private context in vorbis_header
Luca Barbato [Tue, 13 Aug 2013 05:28:41 +0000 (07:28 +0200)]
ogg: Always alloc the private context in vorbis_header

It is possible to have an initial broken header and then valid packets.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agortjpeg: Use init_get_bits8
Luca Barbato [Tue, 13 Aug 2013 05:05:28 +0000 (07:05 +0200)]
rtjpeg: Use init_get_bits8

CC:libav-stable@libav.org

6 years agortjpeg: return meaningful error codes
Luca Barbato [Sun, 11 Aug 2013 18:32:40 +0000 (20:32 +0200)]
rtjpeg: return meaningful error codes

6 years agonuv: Use av_fast_realloc
Luca Barbato [Tue, 13 Aug 2013 05:01:40 +0000 (07:01 +0200)]
nuv: Use av_fast_realloc

The decompressed buffer can be used after codec_reinit, so it must be
preserved.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agonuv: Reset the frame on resize
Luca Barbato [Tue, 13 Aug 2013 04:01:48 +0000 (06:01 +0200)]
nuv: Reset the frame on resize

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agonuv: Pad the lzo outbuf
Luca Barbato [Mon, 12 Aug 2013 09:34:06 +0000 (11:34 +0200)]
nuv: Pad the lzo outbuf

And properly update the buf_size with the correct size.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agonuv: Do not ignore lzo decompression failures
Luca Barbato [Sun, 11 Aug 2013 22:16:12 +0000 (00:16 +0200)]
nuv: Do not ignore lzo decompression failures

Update the fate reference since the last broken frame is not decoded
anymore.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
6 years agopng: allow encoding 16-bit grayscale
Ian Taylor [Tue, 13 Aug 2013 02:02:55 +0000 (22:02 -0400)]
png: allow encoding 16-bit grayscale

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
6 years agowmall: use AVFrame API properly
Hendrik Leppkes [Thu, 8 Aug 2013 16:48:43 +0000 (18:48 +0200)]
wmall: use AVFrame API properly

This fixes a bug with non-refcounted callers resulting in invalid memory access.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agortmp: Do not misuse memcmp
Luca Barbato [Thu, 8 Aug 2013 17:44:19 +0000 (19:44 +0200)]
rtmp: Do not misuse memcmp

CC: libav-stable@libav.org
6 years agodoc: Clarify the avconv section about -re
Martin Storsjö [Sat, 10 Aug 2013 09:13:08 +0000 (12:13 +0300)]
doc: Clarify the avconv section about -re

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodoc: Add an example on publishing over RTMP
Martin Storsjö [Sat, 10 Aug 2013 09:08:43 +0000 (12:08 +0300)]
doc: Add an example on publishing over RTMP

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodoc: Add librtmp to the section header for the librtmp specific details
Martin Storsjö [Sat, 10 Aug 2013 09:03:54 +0000 (12:03 +0300)]
doc: Add librtmp to the section header for the librtmp specific details

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodoc: Explain that the default RTMP user agent is different when publishing
Martin Storsjö [Sat, 10 Aug 2013 08:51:49 +0000 (11:51 +0300)]
doc: Explain that the default RTMP user agent is different when publishing

The fact that a different user agent is used is cruicial for getting
publishing authentication working. (When using librtmp, this other
user agent has to be specified manually, but that's not needed
with the libavformat internal RTMP support.)

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodoc: Extend the rtmp example to include how to pass username/password
Martin Storsjö [Sat, 10 Aug 2013 08:51:31 +0000 (11:51 +0300)]
doc: Extend the rtmp example to include how to pass username/password

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agortmp: Detect and warn if the user tries to pass librtmp style parameters
Martin Storsjö [Sat, 10 Aug 2013 08:53:31 +0000 (11:53 +0300)]
rtmp: Detect and warn if the user tries to pass librtmp style parameters

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agortmp: rename data_size to size
Luca Barbato [Thu, 8 Aug 2013 16:52:11 +0000 (18:52 +0200)]
rtmp: rename data_size to size

6 years agortmp: Use PRId64 when needed.
Luca Barbato [Thu, 8 Aug 2013 15:43:15 +0000 (17:43 +0200)]
rtmp: Use PRId64 when needed.

6 years agolavc: Add refcounted api to AVPacket
Luca Barbato [Wed, 10 Jul 2013 08:52:56 +0000 (10:52 +0200)]
lavc: Add refcounted api to AVPacket

Provide a clean way to manipulate packets.

6 years agoh264: check one context_init() allocation
Vittorio Giovara [Fri, 2 Aug 2013 16:36:28 +0000 (18:36 +0200)]
h264: check one context_init() allocation

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoh264: use explicit variable names for *_field_flag
Vittorio Giovara [Fri, 2 Aug 2013 16:36:29 +0000 (18:36 +0200)]
h264: use explicit variable names for *_field_flag

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agoh264: return meaningful values
Vittorio Giovara [Fri, 2 Aug 2013 16:36:27 +0000 (18:36 +0200)]
h264: return meaningful values

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolibavutil: Make avpriv_open a library-internal function on msvcrt
Martin Storsjö [Fri, 9 Aug 2013 08:06:46 +0000 (11:06 +0300)]
libavutil: Make avpriv_open a library-internal function on msvcrt

Add one copy of the function into each of the libraries, similarly
to what we do for log2_tab. When using static libs, only one
copy of the file_open.o object file gets included, while when
using shared libraries, each of them get a copy of its own.

This fixes DLL builds with a statically linked C runtime, where
each DLL effectively has got its own instance of the C runtime,
where file descriptors can't be shared across runtimes.

On systems not using msvcrt, the function is not duplicated.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolibavutil: Move avpriv_open to a new file, file_open.c
Martin Storsjö [Fri, 9 Aug 2013 07:58:15 +0000 (10:58 +0300)]
libavutil: Move avpriv_open to a new file, file_open.c

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agobktr: Changed a missed occurrance of open into avpriv_open
Martin Storsjö [Fri, 9 Aug 2013 07:16:57 +0000 (10:16 +0300)]
bktr: Changed a missed occurrance of open into avpriv_open

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolibavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well
Martin Storsjö [Thu, 8 Aug 2013 14:16:26 +0000 (17:16 +0300)]
libavutil: Enable the MSVC DLL symbol loading workaround in shared builds as well

This used to only be necessary in static builds (when using the
dynamically linked C runtime), since the _imp prefixed symbols do
exist when linking to the actual DLL. When building testprogs,
however, the current library (e.g. libavutil for some of the testprogs)
is linked statically.

This fixes make fate on DLL builds when using the dynamically
linked C runtime.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoff_socket: put out-of-line and fallback to fcntl() for close-on-exec
Rémi Denis-Courmont [Thu, 8 Aug 2013 19:26:42 +0000 (22:26 +0300)]
ff_socket: put out-of-line and fallback to fcntl() for close-on-exec

This supports non-Linux systems (SOCK_CLOEXEC is non-standard) and
older Linux kernels to the extent possible.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoFATE: add a TAK test
Anton Khirnov [Tue, 6 Aug 2013 07:40:54 +0000 (09:40 +0200)]
FATE: add a TAK test

6 years agofile: Move win32 utf8->wchar open wrapper to libavutil
Martin Storsjö [Thu, 8 Aug 2013 08:29:57 +0000 (11:29 +0300)]
file: Move win32 utf8->wchar open wrapper to libavutil

When libavformat was changed to use the new avpriv_open function
in 51eb213d001, this silently bypassed the existing wrapper for
win32. Move the win32 wrapper into libavutil/file.c to make sure
it gets called everywhere (not just in the libavformat case).

This makes sure that non-ascii file names gets opened properly
(where file names internally are stored as utf8, but they get
converted to wchar_t and opened with _wsopen).

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoarm: Add assembly version of h264_find_start_code_candidate
Ben Avison [Mon, 5 Aug 2013 12:12:48 +0000 (13:12 +0100)]
arm: Add assembly version of h264_find_start_code_candidate

               Before          After
               Mean   StdDev   Mean   StdDev  Change
This function   508.8 23.4      185.4  9.0    +174.4%
Overall        3068.5 31.7     2752.1 29.4     +11.5%

In combination with the preceding patch:
                Before          After
                Mean   StdDev   Mean   StdDev  Change
Overall         2925.6 26.2     2752.1 29.4     +6.3%

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264dsp: Factorize code into a new function, h264_find_start_code_candidate
Ben Avison [Mon, 5 Aug 2013 12:12:47 +0000 (13:12 +0100)]
h264dsp: Factorize code into a new function, h264_find_start_code_candidate

This performs the start code search which was previously part of
h264_find_frame_end() - the most CPU intensive part of the function.

By itself, this results in a performance regression:
              Before          After
              Mean   StdDev   Mean   StdDev  Change
Overall time  2925.6 26.2     3068.5 31.7    -4.7%

but this can more than be made up for by platform-optimised
implementations of the function.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoh264_parser: Initialize the h264dsp context in the parser as well
Ben Avison [Mon, 5 Aug 2013 12:12:46 +0000 (13:12 +0100)]
h264_parser: Initialize the h264dsp context in the parser as well

Each AVStream struct for an H.264 elementary stream actually has two
copies of the H264DSPContext struct (and in fact all the other members
of H264Context as well):

((H264Context *) ((AVStream *)st)->codec->priv_data)->h264dsp
((H264Context *) ((AVStream *)st)->parser->priv_data)->h264dsp

but only the first of these was actually being initialised. This
prevented the addition of platform-specific implementations of
parser-related functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agoVoxware MetaSound decoder
Kostya Shishkov [Mon, 5 Aug 2013 10:55:30 +0000 (12:55 +0200)]
Voxware MetaSound decoder

6 years agoavio: Add const qualifiers to ffio_read_indirect
Ben Avison [Wed, 7 Aug 2013 22:22:38 +0000 (23:22 +0100)]
avio: Add const qualifiers to ffio_read_indirect

This provides at least some protection against potential accidental
corruption of AVIO buffer workspace.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolibavutil: Don't use fcntl if the function does not exist
Derek Buitenhuis [Wed, 7 Aug 2013 23:44:37 +0000 (19:44 -0400)]
libavutil: Don't use fcntl if the function does not exist

Not all platforms have the function.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agocmdutils: Only do the windows-specific commandline parsing on _WIN32
Diogo Franco [Wed, 7 Aug 2013 11:25:51 +0000 (08:25 -0300)]
cmdutils: Only do the windows-specific commandline parsing on _WIN32

Fixes commandline parsing on Cygwin (on 64 bit, and on very recent
32 bit), where the configure check does find the CommandLineToArgvW
function (since it exists in the link libraries and in the headers),
but whose GetCommandLineW() only returns the application's path.
(This is due to a cygwin internal optimization, see
http://cygwin.com/ml/cygwin/2013-07/msg00538.html for details.)
Arguments are only given through main's argc/argv, and they're already
UTF-8.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agolibavformat: use avpriv_open()
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:28 +0000 (21:19 +0300)]
libavformat: use avpriv_open()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolibavdevice: use avpriv_open()
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:27 +0000 (21:19 +0300)]
libavdevice: use avpriv_open()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolibavcodec: use avpriv_open()
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:26 +0000 (21:19 +0300)]
libavcodec: use avpriv_open()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolibavutil: use avpriv_open()
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:25 +0000 (21:19 +0300)]
libavutil: use avpriv_open()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agolibavutil: add avpriv_open() to open files with close-on-exec flag
Rémi Denis-Courmont [Tue, 6 Aug 2013 18:19:24 +0000 (21:19 +0300)]
libavutil: add avpriv_open() to open files with close-on-exec flag

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agompegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame...
Vittorio Giovara [Fri, 2 Aug 2013 07:25:45 +0000 (09:25 +0200)]
mpegvideo_enc: drop outdated copy_picture_attributes() in favour of a modern av_frame_copy_props()

Signed-off-by: Anton Khirnov <anton@khirnov.net>
6 years agortsp: Don't include the listen flag in the SDP demuxer flags
Martin Storsjö [Wed, 7 Aug 2013 07:46:38 +0000 (10:46 +0300)]
rtsp: Don't include the listen flag in the SDP demuxer flags

It's only relevant for the RTSP demuxer. Similarly, the custom_io
flag is only present in the SDP demuxer options list.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agodeprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead
Kostya Shishkov [Tue, 6 Aug 2013 07:57:05 +0000 (09:57 +0200)]
deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND instead

Voxware is the name of company, it has produced several audio codecs e.g.
MetaVoice family and MetaSound.

6 years agortpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf
Martin Storsjö [Wed, 7 Aug 2013 07:20:07 +0000 (10:20 +0300)]
rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_buf

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agortspenc: Check the return value from ffio_open_dyn_packet_buf
Martin Storsjö [Wed, 7 Aug 2013 07:07:48 +0000 (10:07 +0300)]
rtspenc: Check the return value from ffio_open_dyn_packet_buf

Also clear the AVIOContext handle after freeing, to avoid
possible dangling pointers if the later call fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
6 years agopcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors
Christian Schmidt [Tue, 6 Aug 2013 08:21:42 +0000 (10:21 +0200)]
pcm_bluray: Return AVERROR_INVALIDDATA instead of -1 on header errors

Signed-off-by: Diego Biurrun <diego@biurrun.de>
6 years agoconfigure: Properly split dv1394 indev dependencies
Diego Biurrun [Tue, 6 Aug 2013 00:36:17 +0000 (02:36 +0200)]
configure: Properly split dv1394 indev dependencies

6 years agoconfigure: Properly set zlib dependencies for all components
Diego Biurrun [Tue, 6 Aug 2013 00:31:33 +0000 (02:31 +0200)]
configure: Properly set zlib dependencies for all components

6 years agoconfigure: The W64 demuxer should select the WAV demuxer, not depend on it
Diego Biurrun [Mon, 5 Aug 2013 21:05:30 +0000 (23:05 +0200)]
configure: The W64 demuxer should select the WAV demuxer, not depend on it