Tudor Suciu [Sun, 2 Jun 2013 15:49:24 +0000 (17:49 +0200)]
matroskaenc: Allow VP9 and Opus in webm
Bug-Id: 695
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Martin Storsjö [Fri, 30 May 2014 22:09:58 +0000 (01:09 +0300)]
rtpenc_chain: Don't copy the time base to the source stream by default
Only copy it manually in the muxers where it makes sense (rtspenc,
sapenc). Don't touch the original AVStream in movenchint, where
the original AVStream should be kept untouched.
This fixes the normal tracks in RTP hinted files after
abb810db - the hint tracks were ok while the normal media tracks
were broken, noticed by Michael Niedermayer.
This reverts
abb810db but achieves the same effect for the other
muxers.
Signed-off-by: Martin Storsjö <martin@martin.st>
Thierry Fauck [Thu, 29 May 2014 12:22:27 +0000 (15:22 +0300)]
ppc: Fix compilation for ppc64le (ELFv2)
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Thu, 29 May 2014 09:22:26 +0000 (12:22 +0300)]
Revert "rtpenc_chain: Don't copy the time_base back to the caller"
While it strictly isn't necessary to copy the time base (since
any use of it is scaled in ff_write_chained), it still is better
to signal the actual time base to the caller, avoiding one
unnecessary rescaling. This also lets the caller know what the
actual internal time base is, in case that is useful info
for some caller.
This reverts commit
397ffde115f4e0482a007b672f40457596cebfc4.
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 8 Jan 2014 13:00:10 +0000 (14:00 +0100)]
dsputil: Split off quarterpel bits into their own context
Diego Biurrun [Sun, 29 Dec 2013 10:53:00 +0000 (11:53 +0100)]
dsputil: Move Bink-specific add_pixels8 to binkdsp
Diego Biurrun [Sun, 29 Dec 2013 01:32:16 +0000 (02:32 +0100)]
dsputil: Move APE-specific bits into apedsp
Diego Biurrun [Fri, 27 Dec 2013 09:29:14 +0000 (10:29 +0100)]
dsputil: Move mspel_pixels_tab to the only place it is used
Diego Biurrun [Fri, 27 Dec 2013 00:12:23 +0000 (01:12 +0100)]
dsputil: Move ff_alternate_*_scan tables to mpegvideo
Diego Biurrun [Mon, 23 Dec 2013 18:48:43 +0000 (19:48 +0100)]
dsputil: Move SVQ1 encoding specific bits into svq1enc
Diego Biurrun [Mon, 23 Dec 2013 18:18:16 +0000 (19:18 +0100)]
svq1enc: Rename SVQ1Context to SVQ1EncContext
This allows making it visible without name clashes.
Martin Storsjö [Thu, 29 May 2014 11:37:31 +0000 (14:37 +0300)]
aarch64: Use the correct syntax for relocations
This fixes building in PIC mode with gas. The examples in the gas
manual showed using a # here even though gas itself actually didn't
support that syntax (and the gas test suite only tests it without
the extra hash sign).
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Anton Khirnov [Tue, 27 May 2014 08:28:24 +0000 (10:28 +0200)]
matroskaenc: set the stream timebase earlier
Fixes calculating the ts offset for audio codecs with delay.
Anton Khirnov [Tue, 27 May 2014 07:49:29 +0000 (09:49 +0200)]
flvenc: only write the framerate tag based on avg_frame_rate
Do not fall back on the codec timebase, since that can be anything for
VFR video.
Anton Khirnov [Sun, 18 May 2014 11:49:46 +0000 (13:49 +0200)]
movenc: write avg_frame_rate as the framerate, not the codec timebase
Anton Khirnov [Sun, 18 May 2014 11:49:46 +0000 (13:49 +0200)]
matroskaenc: base DefaultDuration on the framerate, not the codec timebase
This results in DefaultDuration not being written when the framerate is
not known, but as this field is purely informative, this should not
break any sane demuxers.
Roman Savchenko [Wed, 28 May 2014 20:16:56 +0000 (22:16 +0200)]
frame: fix the error path in av_frame_copy_props()
First free metadata, then the side data it is contained in.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Luca Barbato [Mon, 26 May 2014 19:30:30 +0000 (21:30 +0200)]
af_resample: Use avresample_get_out_samples
Luca Barbato [Wed, 30 Apr 2014 17:56:05 +0000 (19:56 +0200)]
avresample: Add avresample_get_out_samples
Utility function to get the upper bound on the number of samples the
resampler would output.
Luca Barbato [Thu, 6 Mar 2014 16:58:34 +0000 (17:58 +0100)]
nut: Support experimental NUT 4 features
Add the low overhead pipe mode and the extended broadcast mode.
Export the options as 'syncponts' since it impacts only that.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Thu, 6 Mar 2014 16:58:33 +0000 (17:58 +0100)]
avformat: Provide a standard compliance flag
Provide f_strict for avconv usage.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Michael Niedermayer [Wed, 28 May 2014 17:27:40 +0000 (10:27 -0700)]
oggenc: Fix the EOS flag
This corrects the bug that caused the checksums to change in
9767d7c092c890ecc5953452e8a951fd902dd67b.
It caused the EOS flag to be set incorrectly; the ogg spec does not
allow it to be set in the middle of a logical bitstream.
Signed-off-by: Andrew Kelley <superjoe30@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Wed, 28 May 2014 10:29:33 +0000 (03:29 -0700)]
ppc: Move vec_unaligned_load macro to util_altivec
This allows reusing it from multiple files.
Diego Biurrun [Wed, 28 May 2014 10:11:24 +0000 (03:11 -0700)]
ppc: util_altivec: Drop unused macros
Anton Khirnov [Mon, 26 May 2014 11:53:13 +0000 (13:53 +0200)]
matroskaenc: write the channel mask for FLAC
Anton Khirnov [Mon, 26 May 2014 11:30:10 +0000 (13:30 +0200)]
vorbiscomment: simplify API by using av_dict_count()
Anton Khirnov [Mon, 26 May 2014 10:48:56 +0000 (12:48 +0200)]
matroskadec: parse the channel layout mask for FLAC
It is commonly stored in a vorbiscomment block in codec private data.
Anton Khirnov [Sun, 25 May 2014 12:05:51 +0000 (14:05 +0200)]
matroskadec: export just the STREAMINFO block as FLAC extradata
It contains all information that is used by the decoder and the other
FLAC-capable demuxers (flacdec, ogg) export only STREAMINFO as well.
Anton Khirnov [Sun, 25 May 2014 07:07:32 +0000 (09:07 +0200)]
matroskadec: split parsing tracks into a separate function
Anton Khirnov [Mon, 26 May 2014 07:43:50 +0000 (09:43 +0200)]
flac: make avpriv_flac_parse_block_header() inline
This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
Anton Khirnov [Sun, 25 May 2014 09:34:32 +0000 (11:34 +0200)]
flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files
Anton Khirnov [Sun, 25 May 2014 09:14:14 +0000 (11:14 +0200)]
flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag
It is used to store the channel mask for non-standard layouts.
Anton Khirnov [Sun, 25 May 2014 09:12:33 +0000 (11:12 +0200)]
flacdec: do not overwrite a channel layout set by the caller
The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
Andrew Kelley [Mon, 26 May 2014 04:04:19 +0000 (21:04 -0700)]
oggenc: Flush after writing headers
Before, header information for ogg format files was sent with the
first encoded packet.
This patch makes it so that it is possible for API users to
differentiate between headers and encoded audio. This is useful, for
example, when creating an audio stream where you want to send one set
of headers for every client that connects and then the encoded stream
of audio.
Signed-off-by: Martin Storsjö <martin@martin.st>
Andrew Kelley [Mon, 26 May 2014 04:04:19 +0000 (21:04 -0700)]
oggenc: Move ogg_write_pages up above ogg_write_header
Signed-off-by: Martin Storsjö <martin@martin.st>
Diego Biurrun [Mon, 23 Dec 2013 17:42:11 +0000 (18:42 +0100)]
dsputil: Split off HuffYUV encoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
Diego Biurrun [Tue, 7 Jan 2014 11:23:13 +0000 (12:23 +0100)]
dsputil: Split off HuffYUV decoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
Diego Biurrun [Fri, 23 May 2014 14:20:58 +0000 (07:20 -0700)]
h264_picture: Remove pointless dsputil.h #include
Diego Biurrun [Fri, 23 May 2014 14:20:24 +0000 (07:20 -0700)]
on2avc: Remove pointless dsputil.h #include
Anton Khirnov [Sat, 24 May 2014 09:15:15 +0000 (11:15 +0200)]
lavfi/formats: avoid using AV_{PIX,SAMPLE}_FMT_NB
Thatt hardcodes the number of formats into lavfi and will break when a
shared lavu is updated, adding new formats.
Anton Khirnov [Sat, 24 May 2014 09:15:15 +0000 (11:15 +0200)]
buffersrc: avoid using AV_PIX_FMT_NB
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
Anton Khirnov [Sat, 24 May 2014 09:15:15 +0000 (11:15 +0200)]
vf_fieldorder: avoid using AV_PIX_FMT_NB
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
Anton Khirnov [Sat, 24 May 2014 09:15:15 +0000 (11:15 +0200)]
vf_scale: use the pixfmt descriptor API
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
Anton Khirnov [Sat, 24 May 2014 09:15:15 +0000 (11:15 +0200)]
vf_format: rework format list parsing
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
Carl Eugen Hoyos [Fri, 23 Dec 2011 10:43:29 +0000 (11:43 +0100)]
imgutils: make systematic palette opaque.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Nidhi Makhijani [Thu, 22 May 2014 10:50:05 +0000 (16:20 +0530)]
smoothstream: check malloc calls
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Nidhi Makhijani [Fri, 23 May 2014 13:42:02 +0000 (19:12 +0530)]
rdt: check malloc calls
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Vittorio Giovara [Tue, 20 May 2014 15:13:12 +0000 (11:13 -0400)]
avcodec: bump version after rotation api
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Niels Möller [Tue, 6 May 2014 07:41:05 +0000 (09:41 +0200)]
dca: Convert dca_dmixtable to integers
Also include zero in the table, eliminating a special case in the
decoder.
Signed-off-by: Niels Möller <nisse@southpole.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Janne Grunau [Mon, 19 May 2014 14:29:30 +0000 (16:29 +0200)]
lavf: add av_stream_get_side_data
Janne Grunau [Thu, 15 May 2014 16:11:19 +0000 (18:11 +0200)]
build: export library dependencies in ${name}_FFLIBS
Removes an ugly $(if) to avoid conflicts with $(FFLIBS-) in the
top-level MAkefile.
Janne Grunau [Thu, 15 May 2014 15:57:16 +0000 (17:57 +0200)]
check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA)
Martin Storsjö [Mon, 19 May 2014 14:41:05 +0000 (17:41 +0300)]
display: Include mathematics.h for fallback definition of NAN
This fixes compilation with MSVC.
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Fri, 16 May 2014 02:06:50 +0000 (22:06 -0400)]
mov: store display matrix in a stream side data
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Vittorio Giovara [Fri, 16 May 2014 02:06:49 +0000 (22:06 -0400)]
Add transformation matrix API.
Add AV_PKT_DATA_DISPLAYMATRIX and AV_FRAME_DATA_DISPLAYMATRIX as stream and
frame side data (respectively) to describe a display transformation matrix
for linear transformation operations on the decoded video.
Add functions to easily extract a rotation angle from a matrix and
conversely to setup a matrix for a given rotation angle.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sun, 18 May 2014 19:20:25 +0000 (21:20 +0200)]
pthread_frame: simplify the code by using new AVPacket API
This also handles side data properly.
Anton Khirnov [Sun, 18 May 2014 19:16:47 +0000 (21:16 +0200)]
avpacket: fix copying side data in av_packet_copy_props()
Side data count is incremented by by calling av_packet_new_side_data()
in the following loop, setting it explicitly results in the resulting
value being twice what it should be.
CC: libav-stable@libav.org
Anton Khirnov [Sun, 18 May 2014 10:36:00 +0000 (12:36 +0200)]
lavf: deprecate now unused AVStream.pts
Anton Khirnov [Sun, 18 May 2014 10:25:29 +0000 (12:25 +0200)]
mux: drop one of the hacks comprising compute_pkt_fields2()
All encoders should output proper timestamps now.
Anton Khirnov [Sun, 18 May 2014 10:21:32 +0000 (12:21 +0200)]
avconv: do not use poorly defined and undocumented AVStream.pts
Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.
Anton Khirnov [Sat, 17 May 2014 20:30:42 +0000 (22:30 +0200)]
hevc/intra_pred: simplify neighboring sample derivation
Mickaël Raulet [Sat, 17 May 2014 19:59:08 +0000 (21:59 +0200)]
hevc/intra_pred: drop unnecessary conditions in loops
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Mickaël Raulet [Sat, 17 May 2014 19:59:08 +0000 (21:59 +0200)]
hevc/intra_pred: optimize EXTEND_()*
Process 4 pixels at once.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Sat, 17 May 2014 18:41:22 +0000 (20:41 +0200)]
hevc: templatize intra_pred
Mickaël Raulet [Sat, 17 May 2014 18:32:05 +0000 (20:32 +0200)]
hevc: templatize pred_planar
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Tue, 29 Apr 2014 15:40:57 +0000 (17:40 +0200)]
movenc: use the "encoder" metadata tag to write stsd Compressorname
This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.
Anton Khirnov [Tue, 29 Apr 2014 15:23:49 +0000 (17:23 +0200)]
avconv: set the "encoder" tag when transcoding
Anton Khirnov [Tue, 29 Apr 2014 15:01:17 +0000 (17:01 +0200)]
wavenc: use codec descriptors to get the codec name
Also, return a proper error code.
Anton Khirnov [Sun, 18 May 2014 08:53:00 +0000 (10:53 +0200)]
doc/APIchanges: mark the release 10 branch point
Anton Khirnov [Sun, 18 May 2014 08:52:41 +0000 (10:52 +0200)]
doc/APIchanges: fill in missing hashes and dates
Anton Khirnov [Sun, 17 Nov 2013 17:42:02 +0000 (18:42 +0100)]
dv: do not set codec timebase
It is not supposed to be set from outside of libavcodec.
Set average framerate instead.
Anton Khirnov [Sun, 11 May 2014 16:00:48 +0000 (18:00 +0200)]
avconv: set output avg_frame_rate when known
Anton Khirnov [Sun, 11 May 2014 15:58:05 +0000 (17:58 +0200)]
lavf: extend avg_frame_rate documentation.
Anton Khirnov [Sun, 11 May 2014 08:07:35 +0000 (10:07 +0200)]
avienc: sanitize variable naming in write_header()
Do not call an AVCodecContext 'stream', that is highly confusing.
Also, add a local variable for the current AVStream in the loop over all
streams.
Anton Khirnov [Sat, 3 May 2014 08:48:03 +0000 (10:48 +0200)]
yop: only set extradata size after it has been successfully allocated
Do not leave a non-zero extradata_size set on failure
Anton Khirnov [Sat, 3 May 2014 09:08:25 +0000 (11:08 +0200)]
yuv4mpegdec: do not set coded_frame properties
coded_frame is not meant to be changed from outside of lavc, and is not
used for decoding.
Set AVCodecContext.field_order instead.
Anton Khirnov [Sat, 3 May 2014 09:04:50 +0000 (11:04 +0200)]
yuv4mpeg: split the demuxer and muxer into separate files
Anton Khirnov [Sat, 3 May 2014 08:44:17 +0000 (10:44 +0200)]
a64: check that extradata exists before reading from it
Anton Khirnov [Sat, 3 May 2014 08:43:27 +0000 (10:43 +0200)]
a64: remove unneeded struct qualifier
Anton Khirnov [Sat, 3 May 2014 06:50:41 +0000 (08:50 +0200)]
4xm: allocate extradata properly.
Pad it with the required amount of zeros, check for malloc failure.
Anton Khirnov [Sat, 5 Apr 2014 06:36:00 +0000 (08:36 +0200)]
lavc: add avcodec_free_context().
Right now, the caller has to manually manage some allocated
AVCodecContext fields, like extradata or subtitle_header. This is
fragile and prone to leaks, especially if we want to add more such
fields in the future.
The only reason for this behaviour is so that the AVStream codec context
can be reused for decoding. Such reuse is discouraged anyway, so this
commit is the first step to deprecating it.
Anton Khirnov [Sat, 5 Apr 2014 05:09:44 +0000 (07:09 +0200)]
lavc: remove the locking code in avcodec_close()
This function should not modify any global state, so there should be no
reason for any locking.
nu774 [Fri, 16 May 2014 11:25:46 +0000 (20:25 +0900)]
riff: Pass block_align to estimate frame duration
Fix incorrect wSamplesPerBlock(=0) written for ADPCM_IMA_WAV
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Martin Storsjö [Thu, 15 May 2014 18:43:46 +0000 (21:43 +0300)]
hlsenc: Set the default codecs to AAC and H264
Most HLS implementation only support these codecs.
Signed-off-by: Martin Storsjö <martin@martin.st>
Katerina Barone-Adesi [Fri, 16 May 2014 16:07:34 +0000 (18:07 +0200)]
build: Support building using clang-usan and disable-optimization
Clang Undefined Behaviour Sanitizer seems to make non-constant constant
expressions, making the compilation fail when they are used within
inline assembly if no optimization is requested.
Add -O1 to the cflags to hide the misbehaviour.
Bug-Id: 683
Hendrik Leppkes [Thu, 8 May 2014 13:51:15 +0000 (09:51 -0400)]
avisynth: set duration of audio streams
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Anton Khirnov [Thu, 15 May 2014 06:02:59 +0000 (08:02 +0200)]
FATE/opus: increase fuzz for the celt tests
This seems to be needed on some 32bit arches.
Janne Grunau [Mon, 28 Apr 2014 15:56:43 +0000 (17:56 +0200)]
aarch64: opus NEON iMDCT and FFT
Opus celt decoding 11% faster and the iMDCT over 2.5 times faster on
Apple's A7.
Tristan Matthews [Wed, 14 May 2014 16:13:49 +0000 (16:13 +0000)]
configure: fix enable-libopus help string
Janne Grunau [Thu, 15 May 2014 12:53:30 +0000 (14:53 +0200)]
build: add avresample after avcodec to FFLIBS
avcodec might depend on avresample and with --as-needed required symbols
might be get removed if avresample is linked before avcodec.
Fixes link failures of avprobe and avplay on aarch64 with
--enable-neon-clobber-test.
Anton Khirnov [Sat, 5 Apr 2014 05:40:49 +0000 (07:40 +0200)]
lavc: properly handle subtitle_header in avcodec_copy_context()
Anton Khirnov [Sat, 5 Apr 2014 05:38:16 +0000 (07:38 +0200)]
lavc: preserve the original private data in avcodec_copy_context()
If a non-NULL codec was passed to avcodec_alloc_context3(), private data
will be already allocated in dest.
Anton Khirnov [Thu, 1 May 2014 11:11:57 +0000 (13:11 +0200)]
lavf: drop the zero-sized packets hack
There should not be any valid reason anymore for passing completely
empty packets to lavf.
OTOH side data-only packets can be useful.
Anton Khirnov [Thu, 1 May 2014 08:43:10 +0000 (10:43 +0200)]
lavf: add AVFMT_FLAG_BITEXACT.
Use it instead of checking CODEC_FLAG_BITEXACT in the first stream's
codec context.
Using codec options inside lavf is fragile and can easily break when the
muxing codec context is not the encoding context.
Anton Khirnov [Thu, 17 Apr 2014 10:51:03 +0000 (12:51 +0200)]
lavc: add a native Opus decoder.
Initial implementation by Andrew D'Addesio <modchipv12@gmail.com> during
GSoC 2012.
Completion by Anton Khirnov <anton@khirnov.net>, sponsored by the
Mozilla Corporation.
Further contributions by:
Christophe Gisquet <christophe.gisquet@gmail.com>
Janne Grunau <janne-libav@jannau.net>
Luca Barbato <lu_zero@gentoo.org>
Janne Grunau [Tue, 13 May 2014 22:05:27 +0000 (00:05 +0200)]
build: do not append $(FFLIBS-) to $(FFLIBS) if $(NAME) is not defined
Avoids including disabled library Makefiles.
Anton Khirnov [Thu, 1 May 2014 08:03:54 +0000 (10:03 +0200)]
lavf: properly document the distinction between flags and ctx_flags
Janne Grunau [Thu, 1 May 2014 11:18:57 +0000 (13:18 +0200)]
build: handle library dependencies in configure
Instead of setting FFLIBS in each library Makefile configure
exports FFLIBS-$library in config.mak.
Janne Grunau [Tue, 13 May 2014 13:47:51 +0000 (15:47 +0200)]
aarch64: assembler in clang-3.4 ignores the division by two
Values are positive powers of two, so just replace it with right shift.
Anton Khirnov [Mon, 24 Mar 2014 01:02:33 +0000 (02:02 +0100)]
avconv: Support VDA hwaccel
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>