platform/upstream/libav.git
9 years agoadd scripts for dibs to build qemu in SDK
Kitae Kim [Thu, 13 Mar 2014 04:31:12 +0000 (13:31 +0900)]
add scripts for dibs to build qemu in SDK

Change-Id: Id97d6b2368ddd9b0e33ecb6c4b044763a6e73abb
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agobuild: fixes a "can't cd to..." issue when installing shared libraries.
Cyrille Faucheux [Tue, 12 Feb 2013 16:23:31 +0000 (17:23 +0100)]
build: fixes a "can't cd to..." issue when installing shared libraries.

The problem is reproducible with a relative prefix path.

Change-Id: Ic7196c6737655dbe8793c57459259abfbe2f6942
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
9 years agoadd .gbs.conf
Anas Nashif [Thu, 18 Jul 2013 02:33:18 +0000 (22:33 -0400)]
add .gbs.conf

9 years agoadd url.h for libmm-fileinfo
Yan Yin [Tue, 16 Jul 2013 05:40:49 +0000 (13:40 +0800)]
add url.h for libmm-fileinfo

Change-Id: I09a59c66db7761dc6beddf1f800e0d7f29ab28ab

9 years agopackaging: Initial packaging
Yan Yin [Tue, 16 Jul 2013 05:24:37 +0000 (13:24 +0800)]
packaging: Initial packaging

Change-Id: If41e63e4c7366b7b8215e9876141aa6f0c993e3c

9 years agoPrepare for 11 release v11
Diego Biurrun [Sat, 13 Sep 2014 18:14:46 +0000 (11:14 -0700)]
Prepare for 11 release

9 years agodoc: Fix syntax and logical errors in avconv stream combination example
Diego Biurrun [Wed, 10 Sep 2014 16:38:15 +0000 (18:38 +0200)]
doc: Fix syntax and logical errors in avconv stream combination example

Bug-Id: 661
CC: libav-stable@libav.org
(cherry picked from commit 775a0b04f0cf8102fe322b2ee03fe1a0633dea04)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoFix RELEASE identification
Sean McGovern [Fri, 5 Sep 2014 05:04:21 +0000 (01:04 -0400)]
Fix RELEASE identification

This was accidentally left over in b5d4f49e3cb1a13642542f08c8c54791c3d54dfb

9 years agoMark 11 release in the changelog
Diego Biurrun [Tue, 2 Sep 2014 22:43:29 +0000 (00:43 +0200)]
Mark 11 release in the changelog

Also fix some typos in the entries for the 11 release.

(cherry picked from commit d9792b773516a560ecb99694b8ee745a50027fac)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoAdd release notes for 11.
Anton Khirnov [Mon, 18 Aug 2014 18:04:47 +0000 (18:04 +0000)]
Add release notes for 11.

(cherry picked from commit 12f0388f9cb32016ac0dacaeca631b088b29bb96)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoavcodec: fix missing doxygen comment marker
Michael Niedermayer [Sun, 31 Aug 2014 23:48:50 +0000 (00:48 +0100)]
avcodec: fix missing doxygen comment marker

9 years agoPrepare for 11_beta2 Release
Reinhard Tartler [Sat, 30 Aug 2014 15:51:28 +0000 (11:51 -0400)]
Prepare for 11_beta2 Release

9 years agolicense: Mention that vf_interlace is GPL, not LGPL
Diego Biurrun [Wed, 27 Aug 2014 11:14:20 +0000 (13:14 +0200)]
license: Mention that vf_interlace is GPL, not LGPL

(cherry picked from commit 9e8bbe7d4d1dcd5fec491dbfbb98ed2038a7bed5)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agomatroskaenc: convert avstream stereo3d side data during encoding
Vittorio Giovara [Tue, 5 Aug 2014 10:16:17 +0000 (11:16 +0100)]
matroskaenc: convert avstream stereo3d side data during encoding

Write the StereoMode Embl to bitstream.

9 years agomatroskadec: parse stereo mode on decoding
Vittorio Giovara [Tue, 12 Aug 2014 21:28:49 +0000 (22:28 +0100)]
matroskadec: parse stereo mode on decoding

Convert the Matroska stereo format to the Stereo3D format, and add a
Stereo3D side data to the stream.

Bump the doctype version supported.

Bug-Id: 728 / https://bugs.debian.org/757185

9 years agoavcodec: add stream-level stereo3d side data
Vittorio Giovara [Wed, 23 Jul 2014 08:21:28 +0000 (09:21 +0100)]
avcodec: add stream-level stereo3d side data

9 years agomatroska: list supported extensions
Vittorio Giovara [Wed, 23 Jul 2014 08:49:24 +0000 (09:49 +0100)]
matroska: list supported extensions

9 years agodoc/APIchanges: fill in missing hashes and dates
Anton Khirnov [Sun, 18 May 2014 08:52:41 +0000 (10:52 +0200)]
doc/APIchanges: fill in missing hashes and dates

9 years agopulse: Add a wallclock option to be compatible with other other captures
Luca Barbato [Sat, 23 Aug 2014 17:03:21 +0000 (19:03 +0200)]
pulse: Add a wallclock option to be compatible with other other captures

alsa and x11grab use av_gettime() to report timestamps.

Have it on by default.

Bug-Id: 647
(cherry picked from commit 424b929b5cb9ca4094099f25179829260d4b0fa3)
(cherry picked from commit 404731bd20e1df5880e6fe381e975ba48afc75b2)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agovc1: Initialize start_code_found to 0
Luca Barbato [Wed, 27 Aug 2014 00:50:58 +0000 (02:50 +0200)]
vc1: Initialize start_code_found to 0

9 years agoavconv: fix parsing the AVOptions for -target
Anton Khirnov [Tue, 26 Aug 2014 06:26:35 +0000 (06:26 +0000)]
avconv: fix parsing the AVOptions for -target

CC: libav-stable@libav.org
(cherry picked from commit f5245a9c6206878b892adf3ccbccc9311c202af5)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoavconv: fix the muxrate values for -target
Anton Khirnov [Mon, 25 Aug 2014 21:24:35 +0000 (21:24 +0000)]
avconv: fix the muxrate values for -target

The mpegenc private option values are in 50-byte units.

CC: libav-stable@libav.org
(cherry picked from commit 1688eef25385089026aba55da1885f70a57815ab)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agompegenc: limit the maximum muxrate
Anton Khirnov [Mon, 25 Aug 2014 21:21:57 +0000 (21:21 +0000)]
mpegenc: limit the maximum muxrate

It is written to the file as a 22-bit value.

CC: libav-stable@libav.org
(cherry picked from commit 75bbaf2493a71ee66eaabe3c21fadd84d07888de)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agovc1: Fix the skip condition
Luca Barbato [Sun, 24 Aug 2014 17:34:13 +0000 (19:34 +0200)]
vc1: Fix the skip condition

As written in the comment above, skip must be added only if a
start code is found.

9 years agovfwcap: Add fallback define for HWND_MESSAGE
Diego Biurrun [Mon, 25 Aug 2014 15:26:15 +0000 (17:26 +0200)]
vfwcap: Add fallback define for HWND_MESSAGE

Some obsolete versions of the MinGW32 runtime (<4.0.0) lack the definition.

(cherry picked from commit ab56fabe6294524e99815451ad01e4ff50c6d734)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agosetpts: Add missing inttypes.h #include for PRId64
Diego Biurrun [Wed, 20 Aug 2014 16:54:50 +0000 (09:54 -0700)]
setpts: Add missing inttypes.h #include for PRId64

Also convert a debug av_log() to av_dlog().

(cherry picked from commit 593aaee953f8b07c141ff115e67bae85ef0350c7)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agompeg12enc: Add missing #include for PICT_FRAME
Diego Biurrun [Wed, 20 Aug 2014 16:48:54 +0000 (09:48 -0700)]
mpeg12enc: Add missing #include for PICT_FRAME

(cherry picked from commit 8fc6a70c2167b645b7a37d0cbc0e276e7b787cc9)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoerror_resilience: Drop asserts from guess_mv()
Diego Biurrun [Wed, 20 Aug 2014 16:35:08 +0000 (09:35 -0700)]
error_resilience: Drop asserts from guess_mv()

The asserts check struct members that are not referenced in guess_mv()
and one of them fails to compile.

(cherry picked from commit 7cb66ebc0be48489785f7166c9d15eac594b0763)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agovsrc_movie: Adjust a silly typo from b977b287f61fea48ecd6251d54a26334213b7ec6
Diego Biurrun [Wed, 20 Aug 2014 16:56:26 +0000 (09:56 -0700)]
vsrc_movie: Adjust a silly typo from b977b287f61fea48ecd6251d54a26334213b7ec6

(cherry picked from commit 11cd727fbd603197cb1e49654fce3352d56f8fd8)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoelectronicarts: do not fail on zero-sized chunks
Anton Khirnov [Wed, 20 Aug 2014 05:40:53 +0000 (05:40 +0000)]
electronicarts: do not fail on zero-sized chunks

At least one FATE sample contains such chunks and happens to work simply
by accident (due to find_stream_info() swallowing the error).

CC: libav-stable@libav.org
(cherry picked from commit 4d6c5152849e23a4cc0f6a6ac2880c01ebcd301b)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoRevert "lavf: eliminate ff_get_audio_frame_size()"
Andrew Stone [Mon, 18 Aug 2014 21:28:23 +0000 (17:28 -0400)]
Revert "lavf: eliminate ff_get_audio_frame_size()"

This reverts commit 30e50c50274f88f0f5ae829f401cd3c7f5266719.

The original commit broke the ability to stream AAC over HTTP/Icecast. It looks
like avformat_find_stream_info() gets stuck in an infinite loop, never hitting
AVFormatContext.max_analyze_duration since duration is never set for any of
the packets.

Example stream: http://listen.classicrocklounge.com:8000/aac64

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoavfilter: Remove unused variable from ff_get_video_buffer()
Diego Biurrun [Fri, 15 Aug 2014 20:13:09 +0000 (22:13 +0200)]
avfilter: Remove unused variable from ff_get_video_buffer()

9 years agovsrc_movie: Avoid a variable indirection in movie_get_frame()
Diego Biurrun [Fri, 15 Aug 2014 20:13:14 +0000 (22:13 +0200)]
vsrc_movie: Avoid a variable indirection in movie_get_frame()

This avoids an unused variable warning with MSVC since the variable is
only used in a debug mode printf statement.

9 years agopcm: Drop av_unused attribute from variable that is always used
Diego Biurrun [Fri, 15 Aug 2014 20:13:11 +0000 (22:13 +0200)]
pcm: Drop av_unused attribute from variable that is always used

9 years agopcm: Drop unused variable from DECODE_PLANAR macro
Diego Biurrun [Fri, 15 Aug 2014 20:13:10 +0000 (22:13 +0200)]
pcm: Drop unused variable from DECODE_PLANAR macro

9 years agovc1: Add missing parentheses to conditions in vc1_decode_b_mb_intfr()
Diego Biurrun [Fri, 15 Aug 2014 20:13:08 +0000 (22:13 +0200)]
vc1: Add missing parentheses to conditions in vc1_decode_b_mb_intfr()

9 years agovfwcap: Drop fallback VfW defines
Diego Biurrun [Fri, 15 Aug 2014 20:13:06 +0000 (22:13 +0200)]
vfwcap: Drop fallback VfW defines

The defines were added long ago when MinGW still lacked them.

9 years agomov: Drop unused parameter from ff_mov_read_esds()
Diego Biurrun [Fri, 15 Aug 2014 20:13:03 +0000 (22:13 +0200)]
mov: Drop unused parameter from ff_mov_read_esds()

This is cleaner and avoids an uninitialized variable warning with MSVC.

9 years agoproresenc: Properly account for alpha plane
Christophe Gisquet [Mon, 18 Aug 2014 14:15:24 +0000 (14:15 +0000)]
proresenc: Properly account for alpha plane

The packet buffer allocation considers the alpha channel as DCT-coded,
while it is actually run-coded and thus requires a larger buffer.

CC: libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoproresenc: Realloc if buffer is too small
Christophe Gisquet [Mon, 18 Aug 2014 14:15:23 +0000 (14:15 +0000)]
proresenc: Realloc if buffer is too small

The buffer allocation may be incorrect (e.g. with an alpha plane),
and currently causes the buffer to be set to NULL by init_put_bits,
causing a crash later on.

So, detect that situation, and if detected, reallocate the buffer
and ask for a sample that shows the problem.

CC: libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoproresenc: Report buffer overflow
Christophe Gisquet [Mon, 18 Aug 2014 14:15:22 +0000 (14:15 +0000)]
proresenc: Report buffer overflow

If the allocated size, despite best efforts, is too small, exit
with the appropriate error.

CC: libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoproresenc: Remove unneeded parameters from encode_alpha_plane()
Christophe Gisquet [Mon, 18 Aug 2014 14:15:21 +0000 (14:15 +0000)]
proresenc: Remove unneeded parameters from encode_alpha_plane()

Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agotiff: Return proper error for missing LZMA compression
Diego Elio Pettenò [Mon, 18 Aug 2014 08:27:49 +0000 (09:27 +0100)]
tiff: Return proper error for missing LZMA compression

The LZMA support is a semi-official extension supported by libtiff 4.0.0
and later.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agodoc: Change wrong term to avoid confusion
Gabriel Dume [Sun, 17 Aug 2014 20:19:38 +0000 (16:19 -0400)]
doc: Change wrong term to avoid confusion

A function declaration is the prototype.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agoPrepare for 11_beta1 Release
Reinhard Tartler [Mon, 18 Aug 2014 02:18:19 +0000 (22:18 -0400)]
Prepare for 11_beta1 Release

9 years agomxf: Support AAC v11_beta1
Luca Barbato [Tue, 12 Aug 2014 16:58:52 +0000 (18:58 +0200)]
mxf: Support AAC

Update mxf_set_audio_pts to use the container-provided information.

The UL is marked as "to be changed in the future", but the current
samples in the wild do use it.

9 years agomxf: Add the UL for the MPEG2VideoDescriptor
Luca Barbato [Tue, 12 Aug 2014 17:02:41 +0000 (19:02 +0200)]
mxf: Add the UL for the MPEG2VideoDescriptor

9 years agomxf: Add UID print helpers
Luca Barbato [Tue, 12 Aug 2014 14:55:22 +0000 (16:55 +0200)]
mxf: Add UID print helpers

And use it to print non-parsed ULs.

9 years agolavr: Update the planar check in ff_audio_convert
Luca Barbato [Sun, 17 Aug 2014 13:28:03 +0000 (13:28 +0000)]
lavr: Update the planar check in ff_audio_convert

Leftover from fbc0b8659967ea54a8472b5f795270d38bb085dd.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
9 years agodoc: Add more information in the README
Luca Barbato [Tue, 12 Aug 2014 17:34:47 +0000 (19:34 +0200)]
doc: Add more information in the README

And convert it to Markdown.

9 years agocosmetics: Write NULL pointer inequality checks more compactly
Gabriel Dume [Thu, 14 Aug 2014 20:31:25 +0000 (16:31 -0400)]
cosmetics: Write NULL pointer inequality checks more compactly

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agocosmetics: Write NULL pointer equality checks more compactly
Gabriel Dume [Thu, 14 Aug 2014 20:31:24 +0000 (16:31 -0400)]
cosmetics: Write NULL pointer equality checks more compactly

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agobuild: Add explanatory comments to (optimization) blocks in the Makefiles
Diego Biurrun [Thu, 31 Jul 2014 11:52:24 +0000 (04:52 -0700)]
build: Add explanatory comments to (optimization) blocks in the Makefiles

9 years agompegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes
Diego Biurrun [Sun, 10 Aug 2014 15:25:12 +0000 (08:25 -0700)]
mpegvideo: cosmetics: Lowercase ugly uppercase MPV_ function name prefixes

9 years agovfwcap: Replace deprecated av_destruct_packet() by av_free_packet()
Diego Biurrun [Thu, 14 Aug 2014 18:56:32 +0000 (20:56 +0200)]
vfwcap: Replace deprecated av_destruct_packet() by av_free_packet()

9 years agoatomic_win32: Drop unnecessary atomic.h #include
Diego Biurrun [Thu, 14 Aug 2014 18:55:15 +0000 (20:55 +0200)]
atomic_win32: Drop unnecessary atomic.h #include

The file does not require atomic.h. Also kills function redefinition warnings.

9 years agow32pthreads: Mark functions in compatibility wrapper as av_unused
Diego Biurrun [Thu, 14 Aug 2014 12:40:19 +0000 (14:40 +0200)]
w32pthreads: Mark functions in compatibility wrapper as av_unused

This avoids annoying warnings about unused functions. The compatibility
wrapper is designed to provide a complete (stub) API, so some functions
being unused by some files is natural and no reason for a warning.

9 years agohttp: Reduce scope of a variable in parse_content_encoding()
Diego Biurrun [Wed, 13 Aug 2014 19:33:27 +0000 (21:33 +0200)]
http: Reduce scope of a variable in parse_content_encoding()

Also fixes an unused variable warning with zlib disabled.

9 years agoh261dec: Fix order of initialization
John Stebbins [Fri, 8 Aug 2014 15:55:48 +0000 (08:55 -0700)]
h261dec: Fix order of initialization

ff_MPV_common_init requires the frame dimensions which get parsed in
h261_decode_picture_header.

9 years agoh263dec: Fix order of initialization
John Stebbins [Fri, 8 Aug 2014 15:21:02 +0000 (08:21 -0700)]
h263dec: Fix order of initialization

ff_MPV_common_init requires the frame dimensions which get parsed in
*_decode_picture_header.

9 years agoidct: remove call to ff_idctdsp_init from ff_MPV_common_init
John Stebbins [Fri, 8 Aug 2014 15:11:20 +0000 (08:11 -0700)]
idct: remove call to ff_idctdsp_init from ff_MPV_common_init

One step in untangling the mpegvideo code and fixing some problems in
the order that initialization is being done in h263dec and h261dec.

9 years agompeg4video: Fix doxygen comment syntax to document correct struct member
Nidhi Makhijani [Tue, 12 Aug 2014 12:28:17 +0000 (17:58 +0530)]
mpeg4video: Fix doxygen comment syntax to document correct struct member

Also fix some comment typos.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoa64: Return correct error code on invalid data stream
Nidhi Makhijani [Wed, 13 Aug 2014 12:24:55 +0000 (17:54 +0530)]
a64: Return correct error code on invalid data stream

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoframe: Remove some FF_API_AVFRAME_COLORSPACE leftovers
Diego Biurrun [Wed, 13 Aug 2014 20:35:47 +0000 (22:35 +0200)]
frame: Remove some FF_API_AVFRAME_COLORSPACE leftovers

9 years agovaapi: set the scaling list correctly.
Edgar Hucek [Sun, 11 Sep 2011 10:53:17 +0000 (12:53 +0200)]
vaapi: set the scaling list correctly.

Fixes VAAPI decoding artefacts.

CC:libav-stable@libav.org

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agompegts: Do not try to write a PMT larger than SECTION_SIZE v11_alpha2
Luca Barbato [Tue, 12 Aug 2014 18:21:12 +0000 (20:21 +0200)]
mpegts: Do not try to write a PMT larger than SECTION_SIZE

Prevent out of array writes.

Similar to what Michael Niedermayer did to address the same issue.

Bug-Id: CVE-2014-2263
CC: libav-stable@libav.org
Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agocpu-test: Add unistd.h #include for getopt()
Diego Biurrun [Wed, 13 Aug 2014 15:17:54 +0000 (17:17 +0200)]
cpu-test: Add unistd.h #include for getopt()

9 years agolavf: eliminate ff_get_audio_frame_size()
Anton Khirnov [Mon, 28 Jul 2014 13:27:57 +0000 (13:27 +0000)]
lavf: eliminate ff_get_audio_frame_size()

It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.

For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.

Therefore, removing the frame_size fallback should not break any
important case.

9 years agocmdutils: allow matching by metadata in stream specifiers
Anton Khirnov [Tue, 12 Aug 2014 16:51:28 +0000 (16:51 +0000)]
cmdutils: allow matching by metadata in stream specifiers

9 years agomem: add av_strndup() for duplicating substrings
Anton Khirnov [Tue, 12 Aug 2014 16:24:19 +0000 (16:24 +0000)]
mem: add av_strndup() for duplicating substrings

9 years agoavconv: rename output_packet() to process_input_packet()
Anton Khirnov [Mon, 25 Nov 2013 08:57:54 +0000 (09:57 +0100)]
avconv: rename output_packet() to process_input_packet()

It more accurately describes what this function does

9 years agostereo3d: initialize AVStereo3D to zero
Felix Abecassis [Tue, 12 Aug 2014 12:56:35 +0000 (14:56 +0200)]
stereo3d: initialize AVStereo3D to zero

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohttp: Fix authentication, broken since 6a463e7fb
Martin Storsjö [Wed, 13 Aug 2014 11:32:52 +0000 (14:32 +0300)]
http: Fix authentication, broken since 6a463e7fb

The cur_*auth_type variables were set before the http_connect call
prior to 6a463e7fb - their sole purpose is to record the
authentication type used to do the latest request, since parsing
the http response sets the new type in the auth state.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.
Andrew Stone [Tue, 12 Aug 2014 21:03:55 +0000 (17:03 -0400)]
ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.

Originally, AVFormatContext and a metadata dict were provided to ff_vorbis_comment(),
but this presented issues if an AVStream was being updated or the metadata on
AVFormatContext wasn't actually being updated. To remedy this, ff_vorbis_stream_comment()
explicitly updates a stream's metadata and sets any necessary flags.

ff_vorbis_comment() does not modify any flags, and any calls to it that update
AVFormatContext's metadata (just a single call) must also update
AVFormatContext.event_flags after detecting any metadata changes to the provided
dictionary, as signaled by a positive return value.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agomov: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.
Andrew Stone [Tue, 12 Aug 2014 21:03:54 +0000 (17:03 -0400)]
mov: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agonutdec: update AVFormatContext.event_flags with STREAM_/METADATA_UPDATED whenever...
Andrew Stone [Tue, 12 Aug 2014 21:03:53 +0000 (17:03 -0400)]
nutdec: update AVFormatContext.event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoflvdec: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata...
Andrew Stone [Tue, 12 Aug 2014 21:03:52 +0000 (17:03 -0400)]
flvdec: update AVFormatContext.event_flags with METADATA_UPDATED whenever metadata changes.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoExpose metadata found in onCuePoint events in .flv files.
Andrew Stone [Mon, 11 Aug 2014 17:35:09 +0000 (13:35 -0400)]
Expose metadata found in onCuePoint events in .flv files.

Currently, only onMetaData is used, but some providers (wrongly)
put metadata into onCuePoint events, and it's still nice to be
able to use that data.

onCuePoint events also present metadata slightly differently than
onMetaData events: all metadata is found inside an object called
"parameters". In order to extract this metadata, it's easiest to
recurse through the object tree and pull out anything found in
child objects and put it in the top-level metadata.

Reference: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/2/help.html?content=00001404.html

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoSet protocol-level metadata in AVFormatContext any time a packet is read.
Andrew Stone [Thu, 31 Jul 2014 23:56:37 +0000 (19:56 -0400)]
Set protocol-level metadata in AVFormatContext any time a packet is read.

If any option named "metadata" is set inside the context, it is pulled up to
the context and then the option is cleared.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohttp: enable icy metadata by default.
Andrew Stone [Thu, 31 Jul 2014 23:56:36 +0000 (19:56 -0400)]
http: enable icy metadata by default.

It won't hurt servers that don't care about the header,
and those that do will include it by default.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohttp: export icecast metadata as an option with name "metadata".
Andrew Stone [Thu, 31 Jul 2014 23:56:35 +0000 (19:56 -0400)]
http: export icecast metadata as an option with name "metadata".

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoAVOption: add support for dictionary types.
Andrew Stone [Thu, 31 Jul 2014 23:56:34 +0000 (19:56 -0400)]
AVOption: add support for dictionary types.

In order to support metadata being set as an option, it's necessary to be able
to set dictionaries as values.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agolavf: add AVFormatContext/AVStream fields for signaling to the user when events happen.
Andrew Stone [Fri, 8 Aug 2014 17:09:23 +0000 (13:09 -0400)]
lavf: add AVFormatContext/AVStream fields for signaling to the user when events happen.

The only flags, for now, indicate if metadata was updated and are set after each call to
av_read_frame(). This comes with the caveat that, on stream start, it might not be set properly
as packets might be buffered in AVFormatContext.packet_buffer before being given to the user
in av_read_frame().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoconfigure: Check for nanosleep in headers as well, not only in libs
Martin Storsjö [Mon, 11 Aug 2014 12:02:28 +0000 (15:02 +0300)]
configure: Check for nanosleep in headers as well, not only in libs

On mingw64 with c++11 support, the link libraries do contain a
nanosleep function, while it isn't exposed via the headers. Using
check_func_headers instead of a plain check_func fixes this
misdetection.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agow32threads: Use newer thread synchronization functions when targeting Vista
Martin Storsjö [Wed, 6 Aug 2014 06:52:38 +0000 (09:52 +0300)]
w32threads: Use newer thread synchronization functions when targeting Vista

When explicitly targeting Vista or newer (which only happens if the
caller explicitly sets _WIN32_WINNT to a high enough value via the
extra cflags option - otherwise configure script sets
-D_WIN32_WINNT=0x0502), we already unconditionally link to the
ConditionVariable functions, since 4622f11f9.

Similarly use the newer -Ex versions of CreateEvent, CreateSemaphore,
InitializeCriticalSection and WaitForSingleObject, that all appeared
in Vista. When building Windows Store applications, the older versions
of these functions aren't available, only the -Ex functions. When
doing such a build, the user can set -D_WIN32_WINNT=0x0600 to
forcibly use the newer functions instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agohttp: Stop reading after receiving the whole file for non-chunked transfers
Martin Storsjö [Mon, 11 Aug 2014 07:18:28 +0000 (10:18 +0300)]
http: Stop reading after receiving the whole file for non-chunked transfers

Previously this logic was only used if the server didn't
respond with Connection: close, but use it even for that case,
if the server response is non-chunked.

Originally the http code has relied on Connection: close to close
the socket when the file/stream is received - the http protocol
code just kept reading from the socket until the socket was closed.
In f240ed18 we added a check for the file size, because some
http servers didn't respond with Connection: close (and wouldn't
close the socket) even though we requested it, which meant that the
http protocol blocked for a long time at the end of files, waiting
for a socket level timeout.

When reading over tls, trying to read at the end of the connection,
when the peer has closed the connection, can produce spurious (but
harmless) warnings. Therefore always voluntarily stop reading when
the specified file size has been received, if not using a chunked
transfer encoding. (For chunked transfers, we already return 0
as soon as we get the chunk header indicating end of stream.)

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoffv1dec: check that global parameters do not change in version 0/1
Michael Niedermayer [Fri, 30 Aug 2013 02:51:09 +0000 (04:51 +0200)]
ffv1dec: check that global parameters do not change in version 0/1

Such changes are neither allowed nor supported

Found-by: ami_stuff
Bug-Id: CVE-2013-7020
CC: libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc_mvs: avoid deriving tmvp in amvp
Christophe Gisquet [Fri, 8 Aug 2014 18:21:04 +0000 (18:21 +0000)]
hevc_mvs: avoid deriving tmvp in amvp

Reduces the number of calls to tmvp derivation from 933685 to 586271 on
a sequence.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc: wait proper position for tmvp
Christophe Gisquet [Sun, 20 Jul 2014 07:34:58 +0000 (09:34 +0200)]
hevc: wait proper position for tmvp

The position is either rounded or not checked, so delay the wait to
check the proper value.

Reviewed-by: Mickaël Raulet <mraulet@insa-rennes.fr>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc: use intreadwrite
Christophe Gisquet [Fri, 8 Aug 2014 18:21:02 +0000 (18:21 +0000)]
hevc: use intreadwrite

When dealing with MVs, both components may be processed at a time.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc: derive partial merge list
Christophe Gisquet [Fri, 8 Aug 2014 18:21:01 +0000 (18:21 +0000)]
hevc: derive partial merge list

The merge list only needs to be derived up to the merge index.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc: derive partially amvp list
Christophe Gisquet [Fri, 8 Aug 2014 18:21:00 +0000 (18:21 +0000)]
hevc: derive partially amvp list

When the candidate has been found, no need to derive others.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc: simplify rounding
Christophe Gisquet [Thu, 10 Jul 2014 06:47:55 +0000 (06:47 +0000)]
hevc: simplify rounding

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agohevc: reorder loops
Christophe Gisquet [Fri, 8 Aug 2014 18:20:58 +0000 (18:20 +0000)]
hevc: reorder loops

iterate over memory in a more continuous order

Signed-off-by: Anton Khirnov <anton@khirnov.net>
9 years agoconfigure: Don't pass MSVC compiler options -M[TD] to armasm
Martin Storsjö [Sun, 10 Aug 2014 11:40:09 +0000 (14:40 +0300)]
configure: Don't pass MSVC compiler options -M[TD] to armasm

The -MD option (for enabling a dynamically linked crt) gets interpreted
as a cpp option for generating dependency information (into a file named
'-.d', when preprocessing to a pipe). We shouldn't be passing
any and all C compiler flags to armasm (which is a plain assembler,
only with cpp bolted on via gas-preprocessor), but these are the
main conflicting ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
9 years agoavcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump
Diego Biurrun [Sun, 10 Aug 2014 13:44:03 +0000 (06:44 -0700)]
avcodec: Postpone FF_IDCT_XVIDMMX removal until the next version bump

9 years agolavc: drop the av_fast_{re,m}alloc compatibility wrappers
Anton Khirnov [Sun, 10 Aug 2014 10:13:30 +0000 (10:13 +0000)]
lavc: drop the av_fast_{re,m}alloc compatibility wrappers

They were only needed until the bump.

9 years agompegts: Return proper error code on invalid input data
Nidhi Makhijani [Sat, 9 Aug 2014 18:19:12 +0000 (23:49 +0530)]
mpegts: Return proper error code on invalid input data

Signed-off-by: Diego Biurrun <diego@biurrun.de>
9 years agoPrepare for 11_alpha2 Release
Reinhard Tartler [Sun, 10 Aug 2014 14:07:55 +0000 (10:07 -0400)]
Prepare for 11_alpha2 Release

9 years agoconfigure: Suggest upgrading gas-preprocessor instead of just installing
Martin Storsjö [Sun, 10 Aug 2014 13:05:41 +0000 (16:05 +0300)]
configure: Suggest upgrading gas-preprocessor instead of just installing

Older versions don't support all the features we test for now.

Signed-off-by: Martin Storsjö <martin@martin.st>