Martin Storsjö [Tue, 27 Aug 2013 11:48:56 +0000 (14:48 +0300)]
w32threads: Don't use function pointers when linking directly to newer APIs
This reduces the call overhead slightly. More noticeably, it
restores the earlier (unintended?) feature that condition variable
functions work just fine even if w32thread_init() hasn't been called.
This was broken as a side effect of
4622f11f9, if explicitly targeting
Vista+.
This makes w32threading work in VP8 again, if targeting Vista+.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sat, 17 Aug 2013 15:42:23 +0000 (16:42 +0100)]
smoothstreamingenc: Write to a temp file while updating the manifest
If a client tries to read the file while it's being updated, the client
would get an incomplete manifest. Instead write to a separate temp file
and atomically rename it to replace the previous one.
Signed-off-by: Martin Storsjö <martin@martin.st>
Luca Barbato [Sat, 27 Jul 2013 08:16:35 +0000 (10:16 +0200)]
ac3: Return proper error codes
Luca Barbato [Sun, 28 Jul 2013 11:32:18 +0000 (13:32 +0200)]
ac3: Clean up the error paths
Luca Barbato [Sun, 28 Jul 2013 11:26:12 +0000 (13:26 +0200)]
ac3: Do not clash with normal AVERROR
The parsing function return AVERROR and AAC_AC3_PARSE_ERROR values,
make sure they are not misunderstood.
Luca Barbato [Tue, 27 Aug 2013 11:04:21 +0000 (13:04 +0200)]
flv: Fix the help string
Luca Barbato [Mon, 26 Aug 2013 14:22:44 +0000 (16:22 +0200)]
doc: Document the flv demuxer
John Stebbins [Thu, 22 Aug 2013 15:54:59 +0000 (08:54 -0700)]
matroskaenc: Fix writing TRACKDEFAULTFLAG
The element was only being written when the value == 1. But the default
value of this element is 1, so this has no useful effect. This element
needs to be written when the value == 0.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Mon, 26 Aug 2013 07:45:27 +0000 (10:45 +0300)]
movenc: Check for errors from mov_create_chapter_track
On failures in the write_trailer function, we could also ignore
the errors and try to finish the file despite these errors (which
would only leave an incomplete chapters track). It's probably better
to signal the error clearly to the caller though (and if this
function failed there's no guarantee that there's enough memory to
finish the trailer either).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 26 Aug 2013 07:59:46 +0000 (10:59 +0300)]
movenc: Properly free allocated data on failures in mov_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 26 Aug 2013 07:56:17 +0000 (10:56 +0300)]
movenc: Check that tracks->enc exists before trying to free extradata
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 25 Aug 2013 18:23:58 +0000 (21:23 +0300)]
movenc: Check for allocation failures in mov_create_chapter_track
Signed-off-by: Martin Storsjö <martin@martin.st>
Kostya Shishkov [Thu, 11 Jul 2013 05:04:42 +0000 (07:04 +0200)]
imc: support mode 1
Kostya Shishkov [Sat, 24 Aug 2013 13:00:08 +0000 (15:00 +0200)]
twinvq: set block align for codecs and use it in size checks
This both allows factoring out size check for both MetaSound and TwinVQ-VQF
decoders and fixes the situation when there are several MetaSound frames
stuffed together (that happens in 8kHz @ 8kbps MetaSound in ASF for example).
Luca Barbato [Sun, 25 Aug 2013 11:02:33 +0000 (13:02 +0200)]
mov: Write tmcd extradata
Luca Barbato [Sun, 25 Aug 2013 11:02:07 +0000 (13:02 +0200)]
mov: Parse tmcd extradata
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor multiple stsd skipping in mov_mov_skip_multiple_stsd
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor codec specific final steps in mov_finalize_stsd_codec
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor subtitle specific parsing in mov_parse_stsd_subtitle
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor audio specific parsing in mov_parse_stsd_audio
Luca Barbato [Thu, 22 Aug 2013 13:05:27 +0000 (15:05 +0200)]
mov: Refactor video specific parsing in mov_parse_stsd_video
Luca Barbato [Thu, 22 Aug 2013 13:00:46 +0000 (15:00 +0200)]
mov: Refactor codec id selection in mov_codec_id
Diego Biurrun [Thu, 15 Aug 2013 22:29:23 +0000 (00:29 +0200)]
h264_cabac: Mark functions calling decode_cabac_residual_internal as noinline
This ensures that decode_cabac_residual_internal actually does get inlined,
which it otherwise does not, even though it is marked as always_inline.
Diego Biurrun [Fri, 23 Aug 2013 14:59:43 +0000 (16:59 +0200)]
arm: h264chroma: Do not compile h264_chroma_mc* dependent on h264 decoder
The functions are used by all codecs that enable the h264chroma component
and the file is already compiled conditional on h264chroma being enabled.
Diego Biurrun [Wed, 21 Aug 2013 13:09:18 +0000 (15:09 +0200)]
libfdk-aacdec: formatting cosmetics
Diego Biurrun [Sat, 6 Oct 2012 18:28:56 +0000 (20:28 +0200)]
vp56: Mark VP6-only optimizations as such.
Most of our VP56 optimizations are VP6-only and will stay that way.
So avoid compiling them for VP5-only builds.
John Stebbins [Thu, 22 Aug 2013 14:25:18 +0000 (07:25 -0700)]
movenc: Make tkhd "enabled" flag QuickTime compatible
QuickTime will play multiple audio tracks concurrently if this flag is
set for multiple audio tracks. And if no subtitle track has this flag
set, QuickTime will show no subtitles in the subtitle menu.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
John Stebbins [Thu, 22 Aug 2013 14:25:17 +0000 (07:25 -0700)]
mov: use tkhd enabled flag to set the default track
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Sun, 4 Aug 2013 11:24:15 +0000 (13:24 +0200)]
x86: Split DCT and FFT initialization into separate files
Clément Bœsch [Tue, 20 Aug 2013 14:46:09 +0000 (07:46 -0700)]
movenc: fix detection of 64bit offset requirement
The old method doesn't work when moov is relocated to beginning of file
Signed-off-by: Martin Storsjö <martin@martin.st>
John Stebbins [Mon, 19 Aug 2013 23:05:33 +0000 (16:05 -0700)]
movenc: Make chapter track QuickTime compatible
QuickTime requires that the stsd.text box be completely filled in.
Signed-off-by: Martin Storsjö <martin@martin.st>
Clément Bœsch [Mon, 19 Aug 2013 23:05:31 +0000 (16:05 -0700)]
movenc: add faststart option for web streaming
Faststart moves the moov atom to the beginning of the file and rewrites
the rest of the file after muxing is complete.
Signed-off-by: Martin Storsjö <martin@martin.st>
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>
Diego Biurrun [Mon, 19 Aug 2013 13:32:36 +0000 (15:32 +0200)]
x86: h264_idct: Remove incorrect comment
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
Diego Biurrun [Mon, 19 Aug 2013 13:18:49 +0000 (15:18 +0200)]
h264_ps: Use more meaningful error values
Diego Biurrun [Mon, 19 Aug 2013 13:16:05 +0000 (15:16 +0200)]
h264_ps: K&R formatting cosmetics
Diego Biurrun [Mon, 19 Aug 2013 13:22:06 +0000 (15:22 +0200)]
h264_ps: Drop commented-out cruft
Diego Biurrun [Mon, 19 Aug 2013 10:44:58 +0000 (12:44 +0200)]
h264data: Move some tables to the only place they are used
Diego Biurrun [Mon, 19 Aug 2013 10:43:17 +0000 (12:43 +0200)]
h264data: Remove unused luma_dc_field_scan table
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.
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.
Diego Biurrun [Tue, 20 Aug 2013 12:25:33 +0000 (14:25 +0200)]
avcodec: Remove some commented-out debug cruft
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>
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>
Diego Biurrun [Tue, 20 Aug 2013 10:23:24 +0000 (12:23 +0200)]
avformat: Fix references to removed av_close_input_file in Doxygen
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.
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.
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.
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>
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>
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>
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>
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>
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>
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
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
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
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>
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>
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>
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>
Diego Biurrun [Wed, 14 Aug 2013 16:49:14 +0000 (18:49 +0200)]
vp56data: Move all data tables to the .c file
Diego Biurrun [Wed, 14 Aug 2013 16:39:37 +0000 (18:39 +0200)]
vp56data: Move all shared enum/struct declarations to common header
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
Diego Biurrun [Wed, 14 Aug 2013 16:57:08 +0000 (18:57 +0200)]
mpeg12decdata: Remove unused #define
Diego Biurrun [Thu, 15 Aug 2013 10:58:41 +0000 (12:58 +0200)]
avcodec: Replace local extern declarations for tables with header #includes
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.
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
Diego Biurrun [Thu, 15 Aug 2013 11:13:01 +0000 (13:13 +0200)]
ivi_common: Make some tables only used within the file static
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>
Diego Biurrun [Wed, 14 Aug 2013 16:04:36 +0000 (18:04 +0200)]
electronicarts: Let functions always returning the same value return void
Diego Biurrun [Wed, 14 Aug 2013 15:06:41 +0000 (17:06 +0200)]
electronicarts: Improve some function/variable names
Diego Biurrun [Wed, 14 Aug 2013 14:53:08 +0000 (16:53 +0200)]
electronicarts: comment wording fixes
Diego Biurrun [Wed, 14 Aug 2013 15:54:40 +0000 (17:54 +0200)]
electronicarts: Remove bogus function documentation
Diego Biurrun [Wed, 14 Aug 2013 14:45:06 +0000 (16:45 +0200)]
electronicarts: K&R formatting cosmetics
Janne Grunau [Fri, 19 Jul 2013 11:51:51 +0000 (13:51 +0200)]
8bps: decode 24bit files correctly as rgb32 on bigendian
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>
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>
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>
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>
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
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
Luca Barbato [Tue, 13 Aug 2013 05:05:28 +0000 (07:05 +0200)]
rtjpeg: Use init_get_bits8
CC:libav-stable@libav.org
Luca Barbato [Sun, 11 Aug 2013 18:32:40 +0000 (20:32 +0200)]
rtjpeg: return meaningful error codes
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
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
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
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
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>
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>
Luca Barbato [Thu, 8 Aug 2013 17:44:19 +0000 (19:44 +0200)]
rtmp: Do not misuse memcmp
CC: libav-stable@libav.org
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>
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>
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>
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>
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>
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>
Luca Barbato [Thu, 8 Aug 2013 16:52:11 +0000 (18:52 +0200)]
rtmp: rename data_size to size
Luca Barbato [Thu, 8 Aug 2013 15:43:15 +0000 (17:43 +0200)]
rtmp: Use PRId64 when needed.