7 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.

7 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

7 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

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

7 years agox11grab: Use a typedef for the context, as most other code does
Luca Barbato [Wed, 27 Aug 2014 02:43:50 +0000 (04:43 +0200)]
x11grab: Use a typedef for the context, as most other code does

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agox11grab: Drop a spurious space in the extension reporting message
Luca Barbato [Wed, 27 Aug 2014 02:43:49 +0000 (04:43 +0200)]
x11grab: Drop a spurious space in the extension reporting message

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agox11grab: Small near-cosmetic refactorings
Luca Barbato [Wed, 27 Aug 2014 02:43:48 +0000 (04:43 +0200)]
x11grab: Small near-cosmetic refactorings

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agox11grab: K&R formatting cosmetics
Luca Barbato [Wed, 27 Aug 2014 02:43:47 +0000 (04:43 +0200)]
x11grab: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agox86: xvid: K&R formatting cosmetics
Diego Biurrun [Wed, 27 Aug 2014 00:58:08 +0000 (02:58 +0200)]
x86: xvid: K&R formatting cosmetics

7 years agocosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs
Diego Biurrun [Wed, 27 Aug 2014 00:58:07 +0000 (02:58 +0200)]
cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs

7 years agox86: xvid_idct: Drop unused definitions
Diego Biurrun [Wed, 27 Aug 2014 00:58:06 +0000 (02:58 +0200)]
x86: xvid_idct: Drop unused definitions

7 years agopulse: Set the wallclock option as default
Luca Barbato [Sun, 24 Aug 2014 12:13:45 +0000 (14:13 +0200)]
pulse: Set the wallclock option as default

7 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

Leftover of a4d3c20035946cbc1509aec2dc28d51c2a2f9a8e.

7 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
7 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
7 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
7 years agoh264: fully check cropping amount from sps
Vittorio Giovara [Tue, 26 Aug 2014 00:40:19 +0000 (20:40 -0400)]
h264: fully check cropping amount from sps

Even if sps.crop is true, the cropping amount may be zero.
Fixes a sample with a valid but broken container cropping.

7 years agolibxvid: K&R formatting cosmetics
Gabriel Dume [Wed, 20 Aug 2014 21:25:21 +0000 (17:25 -0400)]
libxvid: K&R formatting cosmetics

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agodoc: fix a typo
Gabriel Dume [Mon, 25 Aug 2014 19:28:02 +0000 (15:28 -0400)]
doc: fix a typo

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 years agoos_support: Adjust an outdated #endif comment
Diego Biurrun [Fri, 15 Aug 2014 07:46:03 +0000 (09:46 +0200)]
os_support: Adjust an outdated #endif comment

7 years agompeg: Write H264 streams at offset 2
Luca Barbato [Fri, 8 Aug 2014 11:05:12 +0000 (13:05 +0200)]
mpeg: Write H264 streams at offset 2

It hints that the content is H264 according to HD-DVD.

7 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.

7 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.

7 years agolibavformat: use MSG_NOSIGNAL when applicable
Rémi Denis-Courmont [Wed, 20 Aug 2014 20:06:07 +0000 (23:06 +0300)]
libavformat: use MSG_NOSIGNAL when applicable

If the remote end of a connection oriented socket hangs up, generating
an EPIPE error is preferable over an unhandled SIGPIPE signal.

Signed-off-by: Martin Storsjö <martin@martin.st>
7 years agolavf: add AVFormatContext.max_ts_probe
Anton Khirnov [Tue, 19 Aug 2014 17:49:58 +0000 (17:49 +0000)]
lavf: add AVFormatContext.max_ts_probe

It allows to configure how long will avformat_find_stream_info() wait
to get the first timestamp.

7 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

7 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.

Bug-Id: 647

7 years agoconfigure: add --enable-rpath
Reinhard Tartler [Sat, 23 Aug 2014 14:04:26 +0000 (10:04 -0400)]
configure: add --enable-rpath

This option facilitates testing shared libarary builds: for instance
fate builders do no longer need to set LD_LIBRARY_PATH as the binaries will
get the right search paths hardcoded into their executable file.

This option is only meant to be used for testing purposes: The installed
libraries must not move around in the file system, and doing so will
cause a lot of subtle problems. For more information why using RPATH is
dangerous, please refer to


7 years agoPrepare for 11_beta2 Release
Reinhard Tartler [Sat, 23 Aug 2014 14:12:16 +0000 (10:12 -0400)]
Prepare for 11_beta2 Release

7 years agoogg: Use separate classes for the aliases
Luca Barbato [Sat, 23 Aug 2014 00:42:18 +0000 (02:42 +0200)]
ogg: Use separate classes for the aliases

Unbreak 051aadeed104ecbe8ee4850ec2d7e5394f5e1ccd

7 years agoqt-faststart: Undefine fseeko/ftello before defining them
Diego Biurrun [Fri, 15 Aug 2014 19:43:48 +0000 (21:43 +0200)]
qt-faststart: Undefine fseeko/ftello before defining them

This avoids a number of redefinition warnings on MinGW64.

7 years agoos_support: Undefine lseek/stat/fstat before defining them
Diego Biurrun [Fri, 15 Aug 2014 19:42:56 +0000 (21:42 +0200)]
os_support: Undefine lseek/stat/fstat before defining them

This avoids a number of redefinition warnings on MinGW64.

7 years agoogg: Provide aliases for Speex, Opus and audio-only ogg
Luca Barbato [Sun, 17 Aug 2014 18:55:37 +0000 (20:55 +0200)]
ogg: Provide aliases for Speex, Opus and audio-only ogg

Since they are aliases for ogg enabling any of them enables ogg as well.

7 years agoelectronicarts: set the framerate for TGQ/TQI
Anton Khirnov [Wed, 20 Aug 2014 06:06:41 +0000 (06:06 +0000)]
electronicarts: set the framerate for TGQ/TQI

It is hardcoded to 15fps.

7 years agoelectronicarts: read the framerate for MAD
Anton Khirnov [Wed, 20 Aug 2014 05:52:44 +0000 (05:52 +0000)]
electronicarts: read the framerate for MAD

7 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
7 years agorv34: use ff_mpeg_update_thread_context only when decoder is fully initialized
Janne Grunau [Thu, 21 Aug 2014 11:26:33 +0000 (13:26 +0200)]
rv34: use ff_mpeg_update_thread_context only when decoder is fully initialized

MpegEncContext based decoders are only fully initialized after the first
ff_thread_get_buffer() call. The RV30/40 decoders may fail before a frame
buffer was requested. ff_mpeg_update_thread_context() fails on half
initialized MpegEncContexts. Since this can only happen before a the
first frame was decoded there is no need to call

Based on patches by John Stebbins and tested by John Stebbins.

CC: libav-stable@libav.org
7 years agoconfigure: Suppress "potentially uninitialized variable" warnings from MSVC
Diego Biurrun [Fri, 15 Aug 2014 18:03:27 +0000 (20:03 +0200)]
configure: Suppress "potentially uninitialized variable" warnings from MSVC

The same is done for GCC and clang already.

7 years agoadts: Return more meaningful error codes
Nidhi Makhijani [Fri, 15 Aug 2014 11:37:24 +0000 (17:07 +0530)]
adts: Return more meaningful error codes

Signed-off-by: Diego Biurrun <diego@biurrun.de>
7 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().

7 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

7 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.

7 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

7 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()

7 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.

7 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

7 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

7 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()

7 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.

7 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.

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 years agoPrepare for 11_beta1 Release
Reinhard Tartler [Mon, 18 Aug 2014 02:18:19 +0000 (22:18 -0400)]
Prepare for 11_beta1 Release

7 years agomxf: Support AAC
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.

7 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

7 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.

7 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>
7 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.

7 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>
7 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>
7 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

7 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

7 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()

7 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.

7 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.

7 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.

7 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

7 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

7 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.

7 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>
7 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>
7 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

7 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.


Signed-off-by: Anton Khirnov <anton@khirnov.net>
7 years agompegts: Do not try to write a PMT larger than SECTION_SIZE
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>
7 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()

7 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.

7 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

7 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

7 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

7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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>
7 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

Signed-off-by: Martin Storsjö <martin@martin.st>
7 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>
7 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>
7 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>
7 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>