Martin Storsjö [Thu, 9 Feb 2012 21:28:15 +0000 (23:28 +0200)]
rtpenc: Add an option for not sending RTCP packets
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Thu, 23 Feb 2012 10:02:11 +0000 (11:02 +0100)]
lavc: drop encode() support for video.
All video encoders have been converted to encode2(), all new encoders
should also use only encode2().
Anton Khirnov [Thu, 23 Feb 2012 09:59:22 +0000 (10:59 +0100)]
snowenc: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 09:47:30 +0000 (10:47 +0100)]
snowenc: don't abuse input picture for storing information.
Anton Khirnov [Thu, 23 Feb 2012 09:21:07 +0000 (10:21 +0100)]
a64multienc: switch to encode2().
We have no decoder, so cannot test if the output is decodable.
Anton Khirnov [Thu, 23 Feb 2012 09:04:57 +0000 (10:04 +0100)]
a64multienc: don't write into output buffer when there's no output.
Anton Khirnov [Thu, 23 Feb 2012 07:19:13 +0000 (08:19 +0100)]
libxvid: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 08:00:34 +0000 (09:00 +0100)]
tiffenc: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 07:51:45 +0000 (08:51 +0100)]
tiffenc: properly forward error codes in encode_frame().
Anton Khirnov [Wed, 22 Feb 2012 20:19:35 +0000 (21:19 +0100)]
lavc: drop libdirac encoder.
Libschroedinger is the preferred way to encode dirac video now, it
produces better output and has a nicer API.
Anton Khirnov [Thu, 5 Jan 2012 15:55:33 +0000 (16:55 +0100)]
gifenc: switch to encode2().
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
libvpxenc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
flashsvenc: switch to encode2().
Diego Biurrun [Thu, 23 Feb 2012 16:17:01 +0000 (17:17 +0100)]
Remove libpostproc.
This library does not fit into Libav as a whole and its code is just a
maintenance burden. Furthermore it is now available as an external project,
which completely obviates any reason to keep it around.
URL: http://git.videolan.org/?p=libpostproc.git
Ronald S. Bultje [Wed, 22 Feb 2012 22:22:56 +0000 (14:22 -0800)]
lcl: don't overwrite input memory.
If the PNG filter is enabled, a PNG-style filter will run over the
input buffer, writing into the buffer. Therefore, if no zlib compression
was used, ensure that we copy into a temporary buffer, otherwise we
overwrite user-provided input data.
Ronald S. Bultje [Thu, 23 Feb 2012 00:48:38 +0000 (16:48 -0800)]
swscale: take first/lastline over/underflows into account for MMX.
Fixes crashes for extremely large resizes (several 100-fold).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Thu, 23 Feb 2012 00:47:14 +0000 (16:47 -0800)]
swscale: fix underflows in firstline calculations for extreme resizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Ronald S. Bultje [Thu, 23 Feb 2012 00:46:31 +0000 (16:46 -0800)]
swscale: fix overflows in filterPos[] calculation for large sizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
libxavs: switch to encode2().
Anton Khirnov [Tue, 21 Feb 2012 21:57:59 +0000 (22:57 +0100)]
libxavs: add an AVClass at the beginning of XavsContext.
Anton Khirnov [Mon, 6 Feb 2012 06:34:57 +0000 (07:34 +0100)]
libxavs: split extradata writing out of encode_nals().
This is done in preparation for the following patch implementing
encode2().
This commit is analogous to
05d699222dd5af4f5775f9890aa825ede05a144f for
libx264.
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
ljpegenc: switch to encode2().
Ronald S. Bultje [Wed, 22 Feb 2012 20:19:52 +0000 (12:19 -0800)]
truemotion2: error out if the huffman tree has no nodes.
This prevents crashers and errors further down when reading nodes in the
empty tree.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Martin Storsjö [Sat, 4 Sep 2010 22:10:54 +0000 (01:10 +0300)]
rtpenc: Add an error message
Also return a proper error code.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 7 Feb 2012 14:39:14 +0000 (16:39 +0200)]
rtpenc: Allow packetizing H263 according to the old RFC 2190
According to newer RFCs, this packetization scheme should only
be used for interfacing with legacy systems.
Implementing this packetization mode properly requires parsing
the full H263 bitstream to find macroblock boundaries (and knowing
their macroblock and gob numbers and motion vector predictors).
This implementation tries to look for GOB headers (which
can be inserted by using -ps <small number>), but if the GOBs
aren't small enough to fit into the MTU, the packetizer blindly
splits packets at any offset and claims it to be a GOB boundary
(by using Mode A from the RFC). While not correct, this seems
to work with some receivers.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 23 Feb 2012 09:38:24 +0000 (11:38 +0200)]
rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTS
This simplifies adding more flags to the macro.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
asv1enc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
libschroedingerenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
ffv1enc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
libtheoraenc: switch to encode2().
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
jpeglsenc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
lclenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
qtrleenc: switch to encode2().
Justin Ruggles [Fri, 10 Feb 2012 03:44:10 +0000 (22:44 -0500)]
flacdec: set channel_layout based on channel count
Channel layouts are specified in the FLAC format description at
http://flac.sourceforge.net/format.html
fixes Bug 209
Justin Ruggles [Sun, 12 Feb 2012 20:06:58 +0000 (15:06 -0500)]
mov: set channel layout for AC-3 streams based on the 'dac3' atom info
fixes Bug 225
Ronald S. Bultje [Wed, 22 Feb 2012 22:51:37 +0000 (14:51 -0800)]
swscale: fix filtersize clipping.
if srcW<=2, clip(x, 1, srcW-2) still allows srcW to be < 1.
Rafaël Carré [Mon, 6 Feb 2012 21:08:08 +0000 (16:08 -0500)]
dxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex
This structure is well defined by Microsoft at:
http://msdn.microsoft.com/en-us/library/windows/hardware/
ff564012(v=vs.85).aspx
Thus, the wDecodedPictureIndex member is guaranteed to exist.
Also, both the MPEG-2 and VC-1 hwaccel decoders depend on this struct member,
but only the VC-1 decoder was disabled if the check failed.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Paul B Mahol [Tue, 21 Feb 2012 21:07:56 +0000 (21:07 +0000)]
img2: split muxer and demuxer into separate files
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Ronald S. Bultje [Wed, 22 Feb 2012 19:33:24 +0000 (11:33 -0800)]
rm: prevent infinite loops for index parsing.
Specifically, prevent jumping back in the file for the next index, since
this can lead to infinite loops where we jump between indexes referring
to each other, and don't read indexes that don't fit in the file.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Alex Converse [Wed, 22 Feb 2012 19:05:42 +0000 (11:05 -0800)]
aac: fix infinite loop on end-of-frame with sequence of 1-bits.
Based-on-work-by: Ronald S. Bultje <rsbultje@gmail.com>
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Alex Converse [Tue, 21 Feb 2012 23:37:35 +0000 (15:37 -0800)]
mov: Add more HDV and XDCAM FourCCs.
Reference: VLC
Anton Khirnov [Thu, 5 Jan 2012 15:55:33 +0000 (16:55 +0100)]
lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().
It is not supposed to be done outside lavc.
This is basically a revert of
818062f2f346df30f4ec0c0c1f54e8025cc3a80a.
It is unclear what issue this was supposed to fix, if it reappears again
it will have to be fixed in a more proper place.
The wtv-demux test change is because the sample starts with a B-frame.
Ronald S. Bultje [Tue, 21 Feb 2012 18:36:27 +0000 (10:36 -0800)]
rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.
We read sub_packet_h / 2 packets per line of data (during deinterleaving),
which equals zero if sub_packet_h <= 1, thus causing us to not read any
data, leading to an infinite loop.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Paul B Mahol [Tue, 21 Feb 2012 18:15:51 +0000 (18:15 +0000)]
cdxl: correctly synchronize video timestamps to audio
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Tim Walker [Wed, 22 Feb 2012 15:09:42 +0000 (16:09 +0100)]
mlpdec_parser: fix a few channel layouts.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Tim Walker [Wed, 22 Feb 2012 14:43:22 +0000 (15:43 +0100)]
Add channel names to channel_names[] array for channels added in b2890f5
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Martin Storsjö [Thu, 2 Feb 2012 10:50:26 +0000 (12:50 +0200)]
movenc: Buffer the mdat for the initial moov fragment, too
This allows writing QuickTime-compatible fragmented mp4 (with
a non-empty moov atom) to a non-seekable output.
This buffers the mdat for the initial fragment just as it does
for all normal fragments, too. Previously, the resulting
atom structure was mdat,moov, moof,mdat ..., while it now
is moov,mdat, moof,mdat.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 22 Feb 2012 09:26:42 +0000 (11:26 +0200)]
flvdec: Ignore the index if the ignidx flag is set
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Wed, 22 Feb 2012 09:00:35 +0000 (11:00 +0200)]
flvdec: Fix indentation
Also split a long line.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 21 Feb 2012 10:16:18 +0000 (12:16 +0200)]
movdec: Don't parse all fragments if ignidx is set
In nonseekable files, we already stop parsing the toplevel atoms
after finding moov and one mdat. In large seekable files (or files
that are seekable, but slowly, e.g. http), reading all the fragments
at the start can take a considerable amount of time. This allows
opting out from this behaviour.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 21 Feb 2012 10:03:56 +0000 (12:03 +0200)]
movdec: Restart parsing root-level atoms at the right spot
If parsing moov+mdat in a non-seekable file, we currently
abort parsing directly after parsing the header of the mdat
atom. If we want to continue parsing later (if looking to
parse later fragments), we need to skip past the content of the
mdat atom, otherwise we end up parsing the content of the mdat
atom as root level atoms.
Signed-off-by: Martin Storsjö <martin@martin.st>
Christophe GISQUET [Tue, 21 Feb 2012 21:36:15 +0000 (22:36 +0100)]
prores: use natural integer type for the codebook index
The operations that use it require it to be promoted to a larger (natural)
type and thus perform sign extension on it.
While an optimal compiler may account for this, gcc 4.6 (for x86 Windows)
fails. Using the natural integer type provides a 2% speedup for Win64
and 1% for Win32.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Alex Converse [Tue, 21 Feb 2012 22:08:02 +0000 (14:08 -0800)]
mov: Add support for MPEG2 HDV 720p24 (hdv4)
Diego Biurrun [Tue, 21 Feb 2012 19:09:31 +0000 (20:09 +0100)]
swscale: K&R formatting cosmetics (part I)
Diego Biurrun [Wed, 15 Feb 2012 10:46:47 +0000 (11:46 +0100)]
swscale: variable declaration and placement cosmetics
Anton Khirnov [Mon, 20 Feb 2012 07:01:48 +0000 (08:01 +0100)]
mpegvideo_enc: only allocate output packet when we know there will be output
Fixes a memleak.
Tim W [Tue, 21 Feb 2012 20:27:03 +0000 (21:27 +0100)]
Add names for more channel layouts to the channel layout map.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Aneesh Dogra [Sun, 19 Feb 2012 18:27:21 +0000 (23:57 +0530)]
sunrast: Add a sample request for RMP_RAW colormap.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Justin Ruggles [Fri, 10 Feb 2012 22:16:18 +0000 (17:16 -0500)]
avcodec: do not override pts or duration from the audio encoder
This allows encoders to set pts and/or duration even if they do not use
CODEC_CAP_DELAY.
Reimar Döffinger [Tue, 21 Feb 2012 17:22:42 +0000 (12:22 -0500)]
Add prores regression test.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Reimar Döffinger [Tue, 21 Feb 2012 17:22:45 +0000 (12:22 -0500)]
Enable already existing rso regression test.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Reimar Döffinger [Tue, 21 Feb 2012 17:22:44 +0000 (12:22 -0500)]
Add regression test for "sox" format muxer/demuxer.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Carl Eugen Hoyos [Tue, 21 Feb 2012 17:22:43 +0000 (12:22 -0500)]
Add dpx encoding regression test.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Diego Biurrun [Tue, 21 Feb 2012 18:58:48 +0000 (19:58 +0100)]
swscale: K&R formatting cosmetics for PowerPC code (part I/II)
Diego Biurrun [Tue, 21 Feb 2012 14:49:41 +0000 (15:49 +0100)]
img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.
Diego Biurrun [Sun, 19 Feb 2012 16:03:55 +0000 (17:03 +0100)]
Clarify licensing information about files borrowed from libjpeg.
Alex Converse [Mon, 20 Feb 2012 08:42:33 +0000 (00:42 -0800)]
Mark mutable static data const where appropriate.
Janne Grunau [Tue, 21 Feb 2012 15:34:08 +0000 (16:34 +0100)]
avplay: fix -threads option
The AVOptions based default to threads auto in
2473a45c8
works only if avplay does not use custom option handling
for -threads.
CC: <libav-stable@libav.org>
Janne Grunau [Fri, 3 Feb 2012 11:06:37 +0000 (12:06 +0100)]
dvbsubdec: avoid undefined signed left shift in RGBA macro
Paul B Mahol [Wed, 15 Feb 2012 17:27:32 +0000 (17:27 +0000)]
mlpdec: use av_log_ask_for_sample()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Aneesh Dogra [Sun, 19 Feb 2012 18:24:45 +0000 (23:54 +0530)]
gif: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Paul B Mahol [Mon, 20 Feb 2012 20:37:36 +0000 (20:37 +0000)]
png: make .long_name more descriptive
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Martin Storsjö [Tue, 31 Jan 2012 10:45:02 +0000 (12:45 +0200)]
movdec: Adjust keyframe flagging in fragmented files
For video, mark the first sample in a trun which doesn't have the
sample-is-non-sync-sample flag set as a keyframe.
In particular, the "sample does not depend on other samples" flag
isn't enough to make it a keyframe, since later frames still can
reference frames prior to that one (the flag only says that that
particular frame doesn't depend on other frames).
This fixes bug 215.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ronald S. Bultje [Fri, 17 Feb 2012 06:04:14 +0000 (22:04 -0800)]
rv34: change most "int stride" into "ptrdiff_t stride".
This prevents having to sign-extend on 64-bit systems with 32-bit ints,
such as x86-64. Also fixes crashes on systems where we don't do it and
arguments are not in registers, such as Win64 for all weight functions.
Justin Ruggles [Tue, 31 Jan 2012 20:57:53 +0000 (15:57 -0500)]
adpcmenc: Use correct frame_size for Yamaha ADPCM.
Output packet size should match avctx->block_align. The target output packet
size is 1024 bytes.
Before:
mono - 1024 samples -> 512 bytes
stereo - 2048 samples -> 2048 bytes
After:
mono - 2048 samples -> 1024 bytes
stereo - 1024 samples -> 1024 bytes
Justin Ruggles [Tue, 7 Feb 2012 20:37:45 +0000 (15:37 -0500)]
avcodec: add ff_samples_to_time_base() convenience function to internal.h
Justin Ruggles [Fri, 13 Jan 2012 04:43:31 +0000 (23:43 -0500)]
adx parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 04:43:30 +0000 (23:43 -0500)]
mlp parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 05:40:10 +0000 (00:40 -0500)]
gsm parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 02:05:08 +0000 (21:05 -0500)]
mpegaudio parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:59:43 +0000 (20:59 -0500)]
(e)ac3 parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:53:09 +0000 (20:53 -0500)]
flac parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:03:17 +0000 (20:03 -0500)]
avcodec: add duration field to AVCodecParserContext
This will allow parsers to export the duration of the current frame being
output, if known, instead of using AVCodecContext.frame_size.
Justin Ruggles [Mon, 13 Feb 2012 20:35:00 +0000 (15:35 -0500)]
avutil: add av_rescale_q_rnd() to allow different rounding
Paul B Mahol [Sun, 19 Feb 2012 05:20:01 +0000 (05:20 +0000)]
pnmdec: remove useless .pix_fmts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Justin Ruggles [Fri, 17 Feb 2012 06:50:57 +0000 (01:50 -0500)]
libmp3lame: support float and s32 sample formats
Justin Ruggles [Fri, 17 Feb 2012 05:04:54 +0000 (00:04 -0500)]
libmp3lame: renaming, rearrangement, alignment, and comments
Justin Ruggles [Fri, 17 Feb 2012 04:28:38 +0000 (23:28 -0500)]
libmp3lame: use the LAME default bit rate
Also, only set bit rate for CBR.
Justin Ruggles [Fri, 17 Feb 2012 04:06:54 +0000 (23:06 -0500)]
libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing
Justin Ruggles [Fri, 17 Feb 2012 03:27:46 +0000 (22:27 -0500)]
libmp3lame: cosmetics: remove some pointless comments
Justin Ruggles [Fri, 17 Feb 2012 03:25:51 +0000 (22:25 -0500)]
libmp3lame: convert some debugging code to av_dlog()
also remove unneeded commented-out full frame data debugging
Justin Ruggles [Fri, 17 Feb 2012 03:18:31 +0000 (22:18 -0500)]
libmp3lame: remove outdated comment.
We now require at least libmp3lame 3.98.3.
lame_encode_buffer_interleaved() still doesn't work for mono, but it does not
"die"; it just expects a stereo interleaved buffer.
Justin Ruggles [Fri, 17 Feb 2012 03:12:21 +0000 (22:12 -0500)]
libmp3lame: do not set coded_frame->key_frame.
it is already set in avcodec_alloc_frame()
Justin Ruggles [Fri, 17 Feb 2012 03:12:03 +0000 (22:12 -0500)]
libmp3lame: improve error handling in MP3lame_encode_init()
Justin Ruggles [Fri, 17 Feb 2012 03:04:08 +0000 (22:04 -0500)]
libmp3lame: remove unneeded 'stereo' field from Mp3AudioContext
Martin Storsjö [Fri, 20 Jan 2012 14:29:09 +0000 (16:29 +0200)]
hls: Reset the AVIOContext when seeking
This avoids reading any old data in the AVIOContext buffer after
the seek, and indicates to the mpegts demuxer that we've seeked,
avoiding continuity check errors.
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pcxenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
sgienc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
targaenc: switch to encode2().
Anton Khirnov [Sun, 19 Feb 2012 09:44:52 +0000 (10:44 +0100)]
targaenc: don't modify input frame.
Set the pict_type/key_frame properties on the coded picture.