ffmpeg.git
5 years agompegvideo: synchronize AVFrame pointers in ERContext fully
Janne Grunau [Wed, 11 Jun 2014 17:40:28 +0000 (19:40 +0200)]
mpegvideo: synchronize AVFrame pointers in ERContext fully

Since error resilience uses AVFrame pointers instead of references it
has to copy NULL pointers too. After a codec flush the last/next frame
pointers in MpegEncContext are NULL and the old pointers remaining in
ERContext are invalid. Fixes a crash in vlc for android thumbnailer.
Reported and debugged by Adrien Maglo <magsoft@videolan.org>.

5 years agofate: add on2avc audio test
Vittorio Giovara [Fri, 23 May 2014 22:16:50 +0000 (18:16 -0400)]
fate: add on2avc audio test

5 years agompegvideoenc: check color_range
Vittorio Giovara [Fri, 23 May 2014 16:39:51 +0000 (12:39 -0400)]
mpegvideoenc: check color_range

Rework the comparison into something simpler to understand.

5 years agoppc: Consistently use convenience macro for runtime CPU detection
Diego Biurrun [Thu, 5 Jun 2014 15:46:47 +0000 (08:46 -0700)]
ppc: Consistently use convenience macro for runtime CPU detection

5 years agoppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc
Diego Biurrun [Thu, 5 Jun 2014 15:45:59 +0000 (08:45 -0700)]
ppc: Fix runtime CPU detection for apedsp, huffyuvdsp, svq1enc

5 years agompegts: Provide an option to override the pcr period
Luca Barbato [Fri, 6 Jun 2014 13:59:25 +0000 (15:59 +0200)]
mpegts: Provide an option to override the pcr period

Certain hardware demuxer have specific restrictions for PCR periodicity.

5 years agompegts: Move the option section to the bottom
Luca Barbato [Tue, 10 Jun 2014 09:57:17 +0000 (11:57 +0200)]
mpegts: Move the option section to the bottom

Makes it consistent with the rest of the formats and ease usage
of macros constants for the defaults.

5 years agodoc: Document mpegts muxrate
Luca Barbato [Tue, 10 Jun 2014 09:53:44 +0000 (11:53 +0200)]
doc: Document mpegts muxrate

5 years agox86: h264: Don't keep data in the redzone across function calls on 64 bit unix
Martin Storsjö [Mon, 20 Feb 2012 09:24:35 +0000 (11:24 +0200)]
x86: h264: Don't keep data in the redzone across function calls on 64 bit unix

We know that the called function (ff_chroma_inter_body_mmxext)
doesn't touch the redzone, and thus will be kept intact - thus,
this doesn't fix any bug per se.

However, valgrind's memcheck tool intentionally assumes that the
redzone is clobbered on every function call and function return
(see a long comment in valgrind/memcheck/mc_main.c). This avoids
false positives in that tool, at the cost of an extra stack pointer
adjustment.

The other alternative would be a valgrind suppression for this issue,
but that's an extra burden for everybody that wants to run libavcodec
within valgrind.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoadpcm: Write the proper predictor in trellis mode in IMA QT
Martin Storsjö [Thu, 5 Jun 2014 11:49:14 +0000 (14:49 +0300)]
adpcm: Write the proper predictor in trellis mode in IMA QT

The actual predictor value, set by the trellis code, never
was written back into the variable that was written into
the block header. This was accidentally removed in b304244b.

This significantly improves the audio quality of the trellis
case, which was plain broken since b304244b.

Encoding IMA QT with trellis still actually gives a slightly
worse quality than without trellis, since the trellis encoder
doesn't use the exact same way of rounding as in
adpcm_ima_qt_compress_sample and adpcm_ima_qt_expand_nibble.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoav_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE
Janne Grunau [Sun, 8 Jun 2014 15:53:31 +0000 (17:53 +0200)]
av_dict_set: fix potential memory leak with AV_DICT_DONT_OVERWRITE

av_dict_set leaks it key/value arguments if AV_DICT_DONT_OVERWRITE is
combined with AV_DICT_DONT_STRDUP_{KEY,VAL} and the key exists.

5 years agoconfigure: use .altmacro for gnu as check on arm
Janne Grunau [Thu, 29 May 2014 15:04:57 +0000 (17:04 +0200)]
configure: use .altmacro for gnu as check on arm

Clang's integrated assembler (after 3.4) does not yet support the
'.altmacro' directive which is only used in arm asm. Support is planned:
http://llvm.org/bugs/show_bug.cgi?id=18918

5 years agoadpcm: Avoid reading out of bounds in the IMA QT trellis encoder
Martin Storsjö [Thu, 5 Jun 2014 08:48:53 +0000 (11:48 +0300)]
adpcm: Avoid reading out of bounds in the IMA QT trellis encoder

This was broken in 095be4fb - samples+ch (for the previous
non-planar case) equals &samples_p[ch][0]. The confusion
probably stemmed from the IMA WAV case where it originally
was &samples[avctx->channels + ch], which was correctly
changed into &samples_p[ch][1].

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agooggenc: Set the right AVOption size for the pref_duration option
Martin Storsjö [Fri, 6 Jun 2014 10:59:14 +0000 (13:59 +0300)]
oggenc: Set the right AVOption size for the pref_duration option

On big endian machines, the default value set via the faulty
AVOption ended up as 2^32 times too big.

This fixes the fate-lavf-ogg test which currently is broken on
big endian machines, broken since 3831362. Since that commit,
a final zero-sized packet is written to the ogg muxer in that test,
which caused different flushing behaviour on little and big endian
depending on whether the pref_duration option was handled as it
should or not.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agoavcodec options: add enum option for color_range
Marc-Antoine Arnaud [Wed, 4 Jun 2014 08:32:19 +0000 (10:32 +0200)]
avcodec options: add enum option for color_range

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoavcodec options: add enum option for colorspace
Marc-Antoine Arnaud [Tue, 3 Jun 2014 09:52:11 +0000 (11:52 +0200)]
avcodec options: add enum option for colorspace

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoavcodec options: add enum option for color_trc
Marc-Antoine Arnaud [Tue, 3 Jun 2014 09:53:21 +0000 (11:53 +0200)]
avcodec options: add enum option for color_trc

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agoavcodec options: add enum option for color_primaries
Marc-Antoine Arnaud [Tue, 3 Jun 2014 09:51:34 +0000 (11:51 +0200)]
avcodec options: add enum option for color_primaries

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agompeg2: add sequence display extension information
Marc-Antoine Arnaud [Wed, 4 Jun 2014 07:26:55 +0000 (09:26 +0200)]
mpeg2: add sequence display extension information

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
5 years agolibfdk-aac: Relicense the library wrappers to the ISC license
Martin Storsjö [Fri, 6 Jun 2014 07:48:27 +0000 (10:48 +0300)]
libfdk-aac: Relicense the library wrappers to the ISC license

This reduces the number of different licenses used within libav,
and is preferrable since it has less ambiguous wordings than
the BSD license with respect to the duties of the user of the code.

Fraunhofer have now indicated that they're allowed to contribute
code under this license as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agomov: Export geotag metadata fields
Martin Storsjö [Tue, 3 Jun 2014 11:48:19 +0000 (14:48 +0300)]
mov: Export geotag metadata fields

The '?xyz' form is used by android devices (and according to apple
mailing list archives, also by older iOS devices). The 'loci' field
(defined in 3GPP 26.244) is used by recent iOS devices.

Even though the loci field can contain an altitude, it was plain
0 in my sample. Just export longitude and latitude, in a string
format matching the one used by the '?xyz' metadata field.

Signed-off-by: Martin Storsjö <martin@martin.st>
5 years agodict: const correctness for av_dict_get() and av_dict_copy()
Diego Biurrun [Wed, 4 Jun 2014 11:58:33 +0000 (04:58 -0700)]
dict: const correctness for av_dict_get() and av_dict_copy()

5 years agoavconv: Report the codec and the encoder separately
Luca Barbato [Sat, 31 May 2014 13:49:30 +0000 (15:49 +0200)]
avconv: Report the codec and the encoder separately

Bug-Id: 694

5 years agooggenc: Support flushing the muxer
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>
5 years agobuild: check if AS supports the '.func' directive
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.

5 years agoarm: check if AS supports .dn
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.

5 years agoaarch64: use '#' for whole line asm comments
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.

5 years agoaarch64: remove optional :pg_hi21: for adrp instruction
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.

5 years agoaarch64: add darwin style PAGE/PAGEOFF relocations
Janne Grunau [Sun, 1 Jun 2014 13:50:42 +0000 (15:50 +0200)]
aarch64: add darwin style PAGE/PAGEOFF relocations

5 years agoRemove all Blackfin architecture optimizations
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.

5 years agobink: Rename BinkDSPContext member so as not to clash with BlockDSPContext
Diego Biurrun [Thu, 13 Feb 2014 15:32:41 +0000 (16:32 +0100)]
bink: Rename BinkDSPContext member so as not to clash with BlockDSPContext

5 years agortmpproto: read metadata to set correct FLV header
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>
5 years agortmppkt: Add method to read an AMF string that is not prefixed by its type
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>
5 years agoflvdec: Do not default to a video and audio stream
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>
5 years agoDecode both parts of Indeo4 IP frames
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>
5 years agoMove Indeo4 frametypes into common header.
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>
5 years agoavconv: 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 encoding

5 years agoavconv: do not use the stream codec context for decoding
Anton Khirnov [Sat, 5 Apr 2014 06:48:24 +0000 (08:48 +0200)]
avconv: do not use the stream codec context for decoding

5 years agoflac muxer: support reading updated extradata from side data
Anton Khirnov [Mon, 26 May 2014 20:14:14 +0000 (22:14 +0200)]
flac muxer: support reading updated extradata from side data

5 years agoflac muxer: accept only STREAMINFO extradata
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.

5 years agoflacenc: send final extradata in packet side data
Anton Khirnov [Tue, 29 Apr 2014 13:11:30 +0000 (15:11 +0200)]
flacenc: send final extradata in packet side data

5 years agolavc: add an option to enable side data-only packets during encoding
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.

5 years agolibavcodec: set AVFrame colorspace fields on decoding
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>
5 years agolavu: add all color-related enums to AVFrame
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>
5 years agomatroskaenc: Allow VP9 and Opus in webm
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>
5 years agortpenc_chain: Don't copy the time base to the source stream by default
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>
5 years agoppc: Fix compilation for ppc64le (ELFv2)
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>
5 years agoRevert "rtpenc_chain: Don't copy the time_base back to the caller"
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>
5 years agodsputil: Split off quarterpel bits into their own context
Diego Biurrun [Wed, 8 Jan 2014 13:00:10 +0000 (14:00 +0100)]
dsputil: Split off quarterpel bits into their own context

5 years agodsputil: Move Bink-specific add_pixels8 to binkdsp
Diego Biurrun [Sun, 29 Dec 2013 10:53:00 +0000 (11:53 +0100)]
dsputil: Move Bink-specific add_pixels8 to binkdsp

5 years agodsputil: Move APE-specific bits into apedsp
Diego Biurrun [Sun, 29 Dec 2013 01:32:16 +0000 (02:32 +0100)]
dsputil: Move APE-specific bits into apedsp

5 years agodsputil: Move mspel_pixels_tab to the only place it is used
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

5 years agodsputil: Move ff_alternate_*_scan tables to mpegvideo
Diego Biurrun [Fri, 27 Dec 2013 00:12:23 +0000 (01:12 +0100)]
dsputil: Move ff_alternate_*_scan tables to mpegvideo

5 years agodsputil: Move SVQ1 encoding specific bits into svq1enc
Diego Biurrun [Mon, 23 Dec 2013 18:48:43 +0000 (19:48 +0100)]
dsputil: Move SVQ1 encoding specific bits into svq1enc

5 years agosvq1enc: Rename SVQ1Context to SVQ1EncContext
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.

5 years agoaarch64: Use the correct syntax for relocations
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>
5 years agomatroskaenc: set the stream timebase earlier
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.

5 years agoflvenc: only write the framerate tag based on avg_frame_rate
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.

5 years agomovenc: write avg_frame_rate as the framerate, not the codec timebase
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

5 years agomatroskaenc: base DefaultDuration on 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.

5 years agoframe: fix the error path in av_frame_copy_props()
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>
5 years agoaf_resample: Use avresample_get_out_samples
Luca Barbato [Mon, 26 May 2014 19:30:30 +0000 (21:30 +0200)]
af_resample: Use avresample_get_out_samples

5 years agoavresample: Add 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.

5 years agonut: Support experimental NUT 4 features
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>
5 years agoavformat: Provide a standard compliance flag
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>
5 years agooggenc: Fix the EOS flag
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>
5 years agoppc: Move vec_unaligned_load macro to util_altivec
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.

5 years agoppc: util_altivec: Drop unused macros
Diego Biurrun [Wed, 28 May 2014 10:11:24 +0000 (03:11 -0700)]
ppc: util_altivec: Drop unused macros

5 years agomatroskaenc: write the channel mask for FLAC
Anton Khirnov [Mon, 26 May 2014 11:53:13 +0000 (13:53 +0200)]
matroskaenc: write the channel mask for FLAC

5 years agovorbiscomment: simplify API by using av_dict_count()
Anton Khirnov [Mon, 26 May 2014 11:30:10 +0000 (13:30 +0200)]
vorbiscomment: simplify API by using av_dict_count()

5 years agomatroskadec: parse the channel layout mask for FLAC
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.

5 years agomatroskadec: export just the STREAMINFO block as FLAC extradata
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.

5 years agomatroskadec: split parsing tracks into a separate function
Anton Khirnov [Sun, 25 May 2014 07:07:32 +0000 (09:07 +0200)]
matroskadec: split parsing tracks into a separate function

5 years agoflac: make avpriv_flac_parse_block_header() inline
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.

5 years agoflac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files
Anton Khirnov [Sun, 25 May 2014 09:34:32 +0000 (11:34 +0200)]
flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files

5 years agoflac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag
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.

5 years agoflacdec: do not overwrite a channel layout set by the caller
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.

5 years agooggenc: Flush after writing headers
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>
5 years agooggenc: Move ogg_write_pages up above ogg_write_header
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>
5 years agodsputil: Split off HuffYUV encoding bits into their own context
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.

5 years agodsputil: Split off HuffYUV decoding bits into their own context
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.

5 years agoh264_picture: Remove pointless dsputil.h #include
Diego Biurrun [Fri, 23 May 2014 14:20:58 +0000 (07:20 -0700)]
h264_picture: Remove pointless dsputil.h #include

5 years agoon2avc: Remove pointless dsputil.h #include
Diego Biurrun [Fri, 23 May 2014 14:20:24 +0000 (07:20 -0700)]
on2avc: Remove pointless dsputil.h #include

5 years agolavfi/formats: avoid using AV_{PIX,SAMPLE}_FMT_NB
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.

5 years agobuffersrc: avoid using AV_PIX_FMT_NB
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.

5 years agovf_fieldorder: avoid using AV_PIX_FMT_NB
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.

5 years agovf_scale: use the pixfmt descriptor API
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.

5 years agovf_format: rework format list parsing
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.

5 years agoimgutils: make systematic palette opaque.
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>
5 years agosmoothstream: check malloc calls
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>
5 years agordt: check malloc calls
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>
5 years agoavcodec: bump version after rotation api
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>
5 years agodca: Convert dca_dmixtable to integers
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>
5 years agolavf: add av_stream_get_side_data
Janne Grunau [Mon, 19 May 2014 14:29:30 +0000 (16:29 +0200)]
lavf: add av_stream_get_side_data

5 years agobuild: export library dependencies in ${name}_FFLIBS
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.

5 years agocheck: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA)
Janne Grunau [Thu, 15 May 2014 15:57:16 +0000 (17:57 +0200)]
check: add libavcodec/vda_internal.h to SKIPHEADERS-$(CONFIG_VDA)

5 years agodisplay: Include mathematics.h for fallback definition of NAN
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>
5 years agomov: store display matrix in a stream side data
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>
5 years agoAdd transformation matrix API.
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>
5 years agopthread_frame: simplify the code by using new AVPacket API
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.