Luca Barbato [Sat, 31 May 2014 13:49:30 +0000 (15:49 +0200)]
avconv: Report the codec and the encoder separately
Bug-Id: 694
Martin Storsjö [Thu, 29 May 2014 14:39:28 +0000 (17:39 +0300)]
oggenc: Support flushing the muxer
This allows the caller to write all buffered data to disk, allowing
the caller to know at what byte position in the file a certain
packet starts (any packet written after the flush will be located
after that byte position).
Signed-off-by: Martin Storsjö <martin@martin.st>
Janne Grunau [Fri, 30 May 2014 07:58:43 +0000 (09:58 +0200)]
build: check if AS supports the '.func' directive
Not supported by Clang's integrated assembler. Since it just adds
debug information it can safely omitted.
Janne Grunau [Thu, 29 May 2014 12:21:05 +0000 (14:21 +0200)]
arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn
check requires gas compatible assembler.
Disable the VC-1 motion compensation NEON asm which is the only part
using that directive. The integrated assembler in the upcoming clang 3.5
does not support .dn/.qn without plans to change that. Too much effort
to implement it while it is rarely used.
http://llvm.org/bugs/show_bug.cgi?id=18199.
Janne Grunau [Fri, 30 May 2014 14:57:44 +0000 (16:57 +0200)]
aarch64: use '#' for whole line asm comments
Both gnu as and clang treat lines starting with '#' as comments if they
aren't consumed by the C-style preprocessor.
Using '//' does not work with clang since comments are removed before
macro expansion.
Janne Grunau [Tue, 3 Jun 2014 09:24:15 +0000 (11:24 +0200)]
aarch64: remove optional :pg_hi21: for adrp instruction
Clang's integrated assembler does not support it.
Janne Grunau [Sun, 1 Jun 2014 13:50:42 +0000 (15:50 +0200)]
aarch64: add darwin style PAGE/PAGEOFF relocations
Diego Biurrun [Fri, 30 May 2014 10:44:12 +0000 (03:44 -0700)]
Remove all Blackfin architecture optimizations
Blackfin is a painful platform to work with, no test machines are available
and the range of multimedia applications is dubious. Thus it only represents
a maintenance burden.
Diego Biurrun [Thu, 13 Feb 2014 15:32:41 +0000 (16:32 +0100)]
bink: Rename BinkDSPContext member so as not to clash with BlockDSPContext
Uwe L. Korn [Sat, 31 May 2014 19:37:26 +0000 (20:37 +0100)]
rtmpproto: read metadata to set correct FLV header
In the presence of no metadata, do not set any stream flag in the FLV
header but let the demuxer handle the detection and creation of streams
as data arrives.
Signed-off-by: Martin Storsjö <martin@martin.st>
Uwe L. Korn [Sat, 31 May 2014 19:37:25 +0000 (20:37 +0100)]
rtmppkt: Add method to read an AMF string that is not prefixed by its type
Signed-off-by: Martin Storsjö <martin@martin.st>
Uwe L. Korn [Sat, 31 May 2014 16:53:01 +0000 (17:53 +0100)]
flvdec: Do not default to a video and audio stream
If no streams were indicated in the FLV header, do not automatically
allocate by default a video and an audio stream. Instead, in the case
that the header did not indicate the presence of any data, allocate no
stream until data actually arrives for one type.
Signed-off-by: Martin Storsjö <martin@martin.st>
Dirk Ausserhaus [Thu, 29 May 2014 11:30:37 +0000 (13:30 +0200)]
Decode both parts of Indeo4 IP frames
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Dirk Ausserhaus [Thu, 29 May 2014 11:17:49 +0000 (13:17 +0200)]
Move Indeo4 frametypes into common header.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
Anton Khirnov [Sat, 5 Apr 2014 06:48:24 +0000 (08:48 +0200)]
avconv: do not use the stream codec context for encoding
Anton Khirnov [Sat, 5 Apr 2014 06:48:24 +0000 (08:48 +0200)]
avconv: do not use the stream codec context for decoding
Anton Khirnov [Mon, 26 May 2014 20:14:14 +0000 (22:14 +0200)]
flac muxer: support reading updated extradata from side data
Anton Khirnov [Mon, 26 May 2014 13:51:22 +0000 (15:51 +0200)]
flac muxer: accept only STREAMINFO extradata
The other format (full flac header blocks) should not be exported by any
demuxers anymore.
This allows to drop an avpriv_ function and also simplify the following
commits.
Anton Khirnov [Tue, 29 Apr 2014 13:11:30 +0000 (15:11 +0200)]
flacenc: send final extradata in packet side data
Anton Khirnov [Tue, 29 Apr 2014 13:06:45 +0000 (15:06 +0200)]
lavc: add an option to enable side data-only packets during encoding
Some encoders (e.g. flac) need to send side data when there is no more
data to be output. This enables them to output a packet with no data in
it, only side data.
wm4 [Fri, 30 May 2014 20:14:22 +0000 (22:14 +0200)]
libavcodec: set AVFrame colorspace fields on decoding
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Fri, 30 May 2014 20:14:21 +0000 (22:14 +0200)]
lavu: add all color-related enums to AVFrame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
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