Martin Storsjö [Thu, 23 Jun 2011 22:49:09 +0000 (01:49 +0300)]
rtsp: Accept options via private avoptions instead of URL options
Eventually, the old way of passing options by adding
stuff to the URL can be dropped.
This avoids having to tamper with the user-specified URL to
pass options on the transport mode. This also works better
with redirects, since the options don't need to be parsed out
from the URL.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 13 Oct 2011 11:00:06 +0000 (14:00 +0300)]
rtsp: Simplify AVOption definitions
Use defines for shortening common parts, omit the .dbl named
initializer (since it's the first element in the union).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 23 Jun 2011 23:04:54 +0000 (02:04 +0300)]
rtsp: Merge the AVOption lists
This eases adding options that are common for both. The
AV_OPT_FLAG_EN/DECODING_PARAM still indicates whether they belong
to the muxer or demuxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
Stefano Sabatini [Wed, 10 Aug 2011 16:58:49 +0000 (18:58 +0200)]
lavfi: port libmpcodecs delogo filter
The ported filter supports named option parsing and more YUV formats.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Stefano Sabatini [Sat, 9 Jul 2011 16:13:10 +0000 (18:13 +0200)]
lavfi: port boxblur filter from libmpcodecs
With the following additions:
* support to gray format
* support to yuva420p format
* parametric luma/chroma/alpha radius
* consistency check on the radius values, avoid crashes with invalid values
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Stefano Sabatini [Sat, 28 May 2011 20:00:26 +0000 (22:00 +0200)]
lavfi: add negate filter
This filter is a simple wrapper around the LUT filter.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Stefano Sabatini [Sat, 28 May 2011 19:51:03 +0000 (21:51 +0200)]
lavfi: add LUT (LookUp Table) generic filters
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sat, 1 Oct 2011 12:42:53 +0000 (14:42 +0200)]
AVOptions: don't segfault on NULL parameter in av_set_options_string()
Alex Converse [Sat, 15 Oct 2011 01:27:59 +0000 (18:27 -0700)]
avio: Check for invalid buffer length.
Anton Khirnov [Sun, 9 Oct 2011 12:40:11 +0000 (14:40 +0200)]
mpegenc/mpegtsenc: add muxrate private options.
Deprecate AVFormatContext.mux_rate.
Anton Khirnov [Sun, 9 Oct 2011 12:12:14 +0000 (14:12 +0200)]
lavf: deprecate AVFormatContext.file_size
It's too unreliable to be useful. avio_size() should be called instead.
Raivo Hool [Fri, 14 Oct 2011 17:14:18 +0000 (20:14 +0300)]
mov: add support for TV metadata atoms tves, tvsn and stik
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Steven Walters [Sun, 9 Oct 2011 19:38:35 +0000 (21:38 +0200)]
w32threads: support for frame multithreading
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Mans Rullgard [Sun, 16 Oct 2011 15:16:55 +0000 (16:16 +0100)]
avcodec: remove stray @deprecated comment
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 15 Oct 2011 13:35:49 +0000 (14:35 +0100)]
prores: get correct size for coded V plane if alpha is present
The size check must be updated to take into account both manners
in which v_data_size might be set.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 15 Oct 2011 13:35:10 +0000 (14:35 +0100)]
prores: do not set pixel format on codec init
The pixel format is not known until the frame header is parsed.
Guessing it here only causes trouble for the caller if the guess
turns out to be wrong (and actually causes very wrong output by
avconv/avplay).
Signed-off-by: Mans Rullgard <mans@mansr.com>
Ronald S. Bultje [Fri, 14 Oct 2011 21:47:45 +0000 (23:47 +0200)]
pthread: prevent updating AVCodecContext from itself in frame_thread_free
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Ronald S. Bultje [Fri, 14 Oct 2011 21:46:06 +0000 (23:46 +0200)]
pthread: copy coded frame dimensions in update_context_from_thread
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Ronald S. Bultje [Fri, 14 Oct 2011 21:43:29 +0000 (23:43 +0200)]
vp8: prevent read from uninitialized memory in decode_mvs
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Ronald S. Bultje [Fri, 14 Oct 2011 21:27:52 +0000 (23:27 +0200)]
vp8: force reallocation in update_thread_context after frame size change
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Ronald S. Bultje [Fri, 14 Oct 2011 21:21:46 +0000 (23:21 +0200)]
vp8: fix return value if update_dimensions fails
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Ronald S. Bultje [Fri, 14 Oct 2011 22:03:55 +0000 (00:03 +0200)]
matroskadec: fix out of bounds write
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Justin Ruggles [Sun, 2 Oct 2011 14:18:17 +0000 (10:18 -0400)]
adpcmdec: calculate actual number of output samples for each decoder.
This also allows for removing some of the buf_size checks and using the
sample count for some of the decoding loops.
Justin Ruggles [Sun, 2 Oct 2011 20:07:55 +0000 (16:07 -0400)]
adpcmdec: check remaining buffer size before decoding next block in the
ADPCM IMA WAV decoder.
Justin Ruggles [Sun, 2 Oct 2011 19:58:54 +0000 (15:58 -0400)]
adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
There are still 2 nibbles to decode once the last byte in the packet has been
read. Updated FATE reference.
Justin Ruggles [Sun, 2 Oct 2011 18:43:28 +0000 (14:43 -0400)]
adpcmdec: remove unneeded buf_size==0 check.
This is already done by avcodec_decode_audio3()
Justin Ruggles [Sun, 2 Oct 2011 18:41:34 +0000 (14:41 -0400)]
adpcmdec: remove unneeded zeroing of *data_size
Mans Rullgard [Sat, 8 Oct 2011 00:37:20 +0000 (01:37 +0100)]
dnxhdenc: fixed signed multiplication overflow
The low 32 bits of a multiplication are the same for signed
and unsigned operands. Casting to unsigned before multiplying
is thus equivalent while avoiding signed overflow, which is
undefined by the C99 standard.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Ronald S. Bultje [Fri, 14 Oct 2011 16:28:46 +0000 (09:28 -0700)]
proresdsp: fix function prototypes.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Ronald S. Bultje [Fri, 14 Oct 2011 16:27:59 +0000 (09:27 -0700)]
prores-idct: fix overflow in c code.
Fix the fate ref for prores-422_proxy by reverting the changes to it
in commit
f492df0927c42da174edb674857670fc50abc5dc
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Janne Grunau [Fri, 14 Oct 2011 19:20:46 +0000 (21:20 +0200)]
fate: update prores-alpha ref after changing pix_fmt to yuv444p10le
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Janne Grunau [Fri, 14 Oct 2011 10:18:23 +0000 (12:18 +0200)]
prores: add missing feature warning for alpha
Alex Converse [Fri, 14 Oct 2011 17:38:42 +0000 (10:38 -0700)]
mov: 10l: Terminate string with 0 not '0'
Alex Converse [Thu, 13 Oct 2011 21:47:06 +0000 (14:47 -0700)]
mov: Prevent illegal writes when chapter titles are very short.
Diego Biurrun [Fri, 14 Oct 2011 14:11:32 +0000 (16:11 +0200)]
prores: add appropriate -fix_fmt parameter to FATE command
Also correct CRCs for Sequence_1-Apple_ProRes_422_Proxy.mov, previous
CRCs were generated with the non-bitexact x86_64 assembler IDCT.
John Brooks [Thu, 13 Oct 2011 08:34:20 +0000 (08:34 +0000)]
riff: always generate a proper WAVEFORMATEX structure in ff_put_wav_header
The cbSize field should be included in all cases, even with PCM where
its value is ignored.
Fixes encoding PCM audio in Matroska for some players which insist on
a full WAVEFORMATEX structure for A_MS/ACM audio.
Since fate uses wav files for the audio test a larger number of tests
has changed checksums or shifted positions due to the 2 byte longer
wave header.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Dustin Brody [Thu, 13 Oct 2011 07:26:53 +0000 (03:26 -0400)]
lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Dustin Brody [Thu, 13 Oct 2011 07:26:27 +0000 (03:26 -0400)]
lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Fri, 23 Sep 2011 00:06:23 +0000 (02:06 +0200)]
prores: add FATE tests
Diego Biurrun [Mon, 10 Oct 2011 13:51:02 +0000 (15:51 +0200)]
id3v2: reduce the scope of some non-globally-used symbols/structures
Diego Biurrun [Mon, 10 Oct 2011 13:48:59 +0000 (15:48 +0200)]
id3v2: cosmetics: move some declarations before the places they are used
Justin Ruggles [Sat, 17 Sep 2011 02:21:47 +0000 (22:21 -0400)]
shorten: remove the flush function.
The shorten decoder does not support seeking.
Justin Ruggles [Sun, 2 Oct 2011 16:03:22 +0000 (12:03 -0400)]
shn: do not allow seeking in the raw shn demuxer.
The demuxer does not read the seektable, a parser is not possible without a
full decode, and no shorten decoder can handle random seeking because it needs
side info from the seektable.
Justin Ruggles [Sun, 2 Oct 2011 15:57:53 +0000 (11:57 -0400)]
avformat: add AVInputFormat flag AVFMT_NO_BYTE_SEEK.
This will prevent seeking by bytes for formats that cannot handle this.
Justin Ruggles [Sun, 2 Oct 2011 15:29:20 +0000 (11:29 -0400)]
avformat: update AVInputFormat allowed flags
Justin Ruggles [Fri, 16 Sep 2011 23:02:23 +0000 (19:02 -0400)]
avformat: don't unconditionally call ff_read_frame_flush() when trying to seek.
This prevents flushing the packet buffer when the input format does not
support seeking.
Justin Ruggles [Thu, 13 Oct 2011 18:03:17 +0000 (14:03 -0400)]
truespeech: use sizeof() instead of hardcoded sizes
Justin Ruggles [Thu, 13 Oct 2011 04:21:17 +0000 (00:21 -0400)]
truespeech: remove unneeded variable, 'consumed'
increment the 'buf' pointer instead, and consume the whole packet.
Justin Ruggles [Thu, 13 Oct 2011 04:17:05 +0000 (00:17 -0400)]
truespeech: simplify truespeech_read_frame() by using get_bits()
Justin Ruggles [Thu, 13 Oct 2011 03:27:32 +0000 (23:27 -0400)]
truespeech: decode directly to output buffer instead of a temp buffer
Justin Ruggles [Thu, 13 Oct 2011 03:23:18 +0000 (23:23 -0400)]
truespeech: check to make sure channels == 1
Justin Ruggles [Thu, 13 Oct 2011 03:15:00 +0000 (23:15 -0400)]
truespeech: check for large enough output buffer rather than truncating output
Justin Ruggles [Thu, 13 Oct 2011 03:10:41 +0000 (23:10 -0400)]
truespeech: remove unneeded zero-size packet check.
This is already checked in avcodec_decode_audio3()
Justin Ruggles [Thu, 13 Oct 2011 02:47:50 +0000 (22:47 -0400)]
mlpdec: return meaningful error codes instead of -1
Justin Ruggles [Thu, 13 Oct 2011 02:37:12 +0000 (22:37 -0400)]
mlpdec: remove unnecessary wrapper function
Justin Ruggles [Wed, 21 Sep 2011 16:14:28 +0000 (12:14 -0400)]
mlpdec: only calculate output size once
Justin Ruggles [Thu, 13 Oct 2011 02:30:44 +0000 (22:30 -0400)]
mlpdec: validate that the reported channel count matches the actual output
channel count
Mans Rullgard [Sat, 8 Oct 2011 11:47:53 +0000 (12:47 +0100)]
pcm: reduce pointer type casting
Making 'samples' a pointer to uint8_t simplifies the DECODE
macro and reduces the amount of type casting overall.
This also fixes some signed overflows on left shift.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sun, 9 Oct 2011 11:57:08 +0000 (12:57 +0100)]
mathops: remove undefined behaviour from sign_extend()
This function intentionally overflows the signed range on
the left shift. Using this type-punning avoids errors from
the overflow checker without disabling this test globally.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Kostya Shishkov [Thu, 13 Oct 2011 08:12:42 +0000 (10:12 +0200)]
vc1: explicitly zero interlaced mode coding variables for progressive mode
Both v->fcm and v->field_mode are used in common code, now they won't be
reset for progressive frame after interlaced one causing writing past the
frame end for example.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Jean First [Fri, 23 Sep 2011 21:39:51 +0000 (23:39 +0200)]
tiffenc: initialize forgotten avctx.
Justin Ruggles [Wed, 12 Oct 2011 18:44:02 +0000 (14:44 -0400)]
avplay: free the active audio packet at exit.
fixes a memleak
Justin Ruggles [Wed, 12 Oct 2011 18:38:02 +0000 (14:38 -0400)]
avplay: free rdft data used for spectrogram analysis.
fixes a memleak
Jindrich Makovicka [Wed, 12 Oct 2011 20:30:56 +0000 (22:30 +0200)]
log.h: make AVClass a named struct
'struct AVClass' is used in the code since
641c7afe3c17334b81e3e2eef88f1751eb68f89f, but AVClass is typedeffed as
an anonymous struct.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Justin Ruggles [Tue, 11 Oct 2011 19:04:33 +0000 (15:04 -0400)]
fix ac3 encoder documentation
some of the mode values were reversed
Kostya Shishkov [Tue, 11 Oct 2011 09:59:57 +0000 (11:59 +0200)]
vc1: more prettyprinting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Kostya Shishkov [Tue, 11 Oct 2011 10:01:04 +0000 (12:01 +0200)]
vc1: prettyprint some tables
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Kostya Shishkov [Tue, 11 Oct 2011 10:00:18 +0000 (12:00 +0200)]
vc1: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Anton Khirnov [Tue, 4 Oct 2011 06:13:40 +0000 (08:13 +0200)]
AVOptions: bump minor and add APIchanges entry.
Anton Khirnov [Tue, 4 Oct 2011 12:50:00 +0000 (14:50 +0200)]
cmdutils/avtools: simplify show_help() by using av_opt_child_class_next()
Anton Khirnov [Tue, 4 Oct 2011 05:38:01 +0000 (07:38 +0200)]
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
Anton Khirnov [Mon, 3 Oct 2011 19:10:06 +0000 (21:10 +0200)]
Remove all uses of deprecated AVOptions API.
Anton Khirnov [Mon, 3 Oct 2011 18:04:07 +0000 (20:04 +0200)]
AVOptions: add av_opt_next, deprecate av_next_option.
Just for naming consistency, no functional changes.
Anton Khirnov [Tue, 23 Aug 2011 13:02:25 +0000 (15:02 +0200)]
AVOptions: add functions for evaluating option strings.
Anton Khirnov [Tue, 23 Aug 2011 12:25:56 +0000 (14:25 +0200)]
AVOptions: split get_number().
Split actual writing to read_number() in the same way as write_number().
Allows set_string_number() to write to a caller-provided destination.
Anton Khirnov [Mon, 5 Sep 2011 19:37:02 +0000 (21:37 +0200)]
AVOptions: add av_opt_get*, deprecate av_get*.
New functions can get values from child objects, properly report error
codes and have consistent naming and signatures.
Anton Khirnov [Mon, 5 Sep 2011 06:15:32 +0000 (08:15 +0200)]
AVOptions: add av_opt_set*().
Deprecate av_set_*
New functions support setting values on children, return error codes
instead of options and have consistent naming and signatures.
Anton Khirnov [Mon, 3 Oct 2011 17:49:12 +0000 (19:49 +0200)]
AVOptions: add new API for enumerating children.
This will allow the caller to enumerate child contexts in a generic way
and since the API is recursive, it also allows for deeper nesting (e.g.
AVFormatContext->AVIOContext->URLContext)
This will also allow the new setting/reading API to transparently apply
to children contexts.
Janne Grunau [Sat, 24 Sep 2011 10:54:28 +0000 (12:54 +0200)]
rv34: move inverse transform functions to DSP context
Martin Storsjö [Wed, 21 Sep 2011 13:58:07 +0000 (16:58 +0300)]
flvenc: Write the right metadata entry count
No application rely on this count being correct as far as
I know, but if we write a nonzero count value, it might just
as well be the right one.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Mon, 27 Dec 2010 07:51:09 +0000 (09:51 +0200)]
rtsp: Request that dynamic rate is disabled
DSS enables this automatically if streaming VOD over TCP. If
enabled, the server feeds packets faster than realtime, screwing
up RTCP NTP based timestamps.
Also, DSS doesn't indicate that this was indicated, if it was
enabled automatically (although if it was requested to be enabled,
a header saying that it was enabled is added, but this isn't
added if it is enabled automatically), making it even harder
to detect and work around properly without explicitly asking
for it to be disabled(/enabled, if we were able to support it).
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Sun, 2 Jan 2011 12:32:18 +0000 (14:32 +0200)]
rtsp: Parse the x-Accept-Dynamic-Rate header
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 12 Oct 2011 09:37:42 +0000 (12:37 +0300)]
rtpdec: Add ff_ prefix to all nonstatic symbols
Signed-off-by: Martin Storsjö <martin@martin.st>
Mans Rullgard [Wed, 12 Oct 2011 11:25:10 +0000 (12:25 +0100)]
h264: change unsupported bit depth message to error level
Unsupported bit depth is certainly an error the user will
want to know about.
Signed-off-by: Mans Rullgard <mans@mansr.com>
John Brooks [Wed, 12 Oct 2011 06:53:12 +0000 (00:53 -0600)]
rtpdec: Read the packet length for all RTCP packet types
This allows skipping past unsupported RTCP packet types, as
RFC 3550 section 6.1 mandates.
Currently this only has any practical effect if a sender puts
an unrecognized type before RTCP_BYE in a compounded packet, or
(incorrectly) does not put RTCP_SR first.
Signed-off-by: Martin Storsjö <martin@martin.st>
John Brooks [Wed, 12 Oct 2011 08:06:26 +0000 (11:06 +0300)]
rtpdec: Fix the minimum packet length for RTCP SR packets
We actually read 20 bytes of these packets.
Signed-off-by: Martin Storsjö <martin@martin.st>
Mans Rullgard [Tue, 11 Oct 2011 16:45:55 +0000 (17:45 +0100)]
qdm2: fix signed multiplication overflow
This code relies on the result wrapping as for unsigned
values, and the sign is not used. Thus an unsigned type
is proper here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Martin Storsjö [Tue, 11 Oct 2011 21:03:20 +0000 (00:03 +0300)]
flvdec: Don't export metadata entries that aren't proper metadata
This avoids writing these entries doubly if transcoding from
flv to flv, since the muxer blindly writes any and all metadata
keys set, in addition to the fixed fields that the muxer
always writes.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 11 Oct 2011 20:56:39 +0000 (23:56 +0300)]
flvdec: Split out setting of numeric fields from storing metadata
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sun, 9 Oct 2011 17:34:20 +0000 (19:34 +0200)]
libx264: support yuv422/444 output.
Anton Khirnov [Sun, 9 Oct 2011 17:33:30 +0000 (19:33 +0200)]
sws: support yuv444p9/10 output.
John Stebbins [Tue, 11 Oct 2011 18:57:58 +0000 (14:57 -0400)]
fix AC3ENC_OPT_MODE_ON/OFF
The values were reversed.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Mans Rullgard [Tue, 11 Oct 2011 15:00:21 +0000 (16:00 +0100)]
h264: fix HRD parameters parsing
The bit_rate_value_minus1 and cpb_size_value_minus1 elements
allow a wider range than get_ue_golomb() supports. This
adds a get_ue_golomb_long() function supporting up to 31
leading zeros, which is the maximum for these syntax
elements, and uses it in decode_hrd_parameters().
Signed-off-by: Mans Rullgard <mans@mansr.com>
Ronald S. Bultje [Thu, 6 Oct 2011 14:17:44 +0000 (07:17 -0700)]
prores: implement multithreading.
60% speedup (overall decoding time) at 2 threads, and another 60%
speedup at 4 threads.
Ronald S. Bultje [Fri, 30 Sep 2011 12:37:11 +0000 (14:37 +0200)]
prores: idct sse2/sse4 optimizations.
~3.0-3.5x as fast as original C version, 1.6x as fast overall.
Ronald S. Bultje [Sun, 9 Oct 2011 04:40:01 +0000 (21:40 -0700)]
swscale: use aligned move for storage into temporary buffer.
The intermediate buffer is always aligned.
Ronald S. Bultje [Thu, 6 Oct 2011 15:03:38 +0000 (08:03 -0700)]
prores: extract idct into its own dspcontext and merge with put_pixels.
Mans Rullgard [Tue, 11 Oct 2011 11:58:31 +0000 (12:58 +0100)]
h264: fix invalid shifts in init_cavlc_level_tab()
The level_code expression includes a shift which is invalid in
those cases where the value is not used. Moving the calculation
to the branch where the result is used avoids these.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Mans Rullgard [Sat, 8 Oct 2011 01:16:29 +0000 (02:16 +0100)]
intfloat_readwrite: fix signed addition overflows
These additions might overflow the signed range for large
input values. Converting to unsigned before the addition
rather than after avoids such undefined behaviour. The
result under normal two's complement wraparound remains
unchanged.
Signed-off-by: Mans Rullgard <mans@mansr.com>
Luca Barbato [Tue, 11 Oct 2011 08:14:06 +0000 (10:14 +0200)]
mov: do not misreport empty stts
Return -1 instead of ENOMEM if entries is 0.
Fixes a av_malloc(0) crash in macosx.