ffmpeg.git
4 years agovc1: Do not assume seek happens after decoding
Luca Barbato [Sat, 4 Oct 2014 10:40:35 +0000 (12:40 +0200)]
vc1: Do not assume seek happens after decoding

If a seek is requested before the decoding start there is no
current picture.

CC: libav-stable@libav.org
(cherry picked from commit 3e348ecfc6ab1830e43288a9e12e8f0a000afbcb)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
4 years agoavconv: Use the mpeg12 private option scan_offset
Julien Ramseier [Sun, 14 Dec 2014 01:00:04 +0000 (02:00 +0100)]
avconv: Use the mpeg12 private option scan_offset

Introduced in aed790070486b1b01b48106310d9d0ca1730e459

Bug-Id: debian/773055
CC: libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit fd665f7f48fa7db89eb9a93ac33919f6adc40f9d)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agoPrepare for 11.1 Release
Reinhard Tartler [Tue, 2 Dec 2014 02:39:37 +0000 (21:39 -0500)]
Prepare for 11.1 Release

4 years agoUpdate changelog for v11.1
Reinhard Tartler [Tue, 2 Dec 2014 02:39:01 +0000 (21:39 -0500)]
Update changelog for v11.1

4 years agoReplace lena.pnm
Reinhard Tartler [Thu, 27 Nov 2014 17:21:03 +0000 (18:21 +0100)]
Replace lena.pnm

The new reference.pnm is a freely licensed replacement. The photo has
been taken by Reinhard Tartler on August 28 2014, and is licensed under
the expat license as stated at http://www.jclark.com/xml/copying.txt

(cherry picked from commit 8895bf7b78650c0c21c88cec0484e138ec511a4b)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
4 years agoTreat all '*.pnm' files as non-text file
Reinhard Tartler [Fri, 28 Nov 2014 14:52:50 +0000 (09:52 -0500)]
Treat all '*.pnm' files as non-text file

This convinces the pre-receive hook to not consider all *.pnm files as
text files to reduce the patch sizes and avoids triggering whitespace
checks,

Contains a correction by Janne Grunau <janne-libav@jannau.net>

(cherry picked from commit 0f257e29c5520b215e573e7e3abde8e5a4743309)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
4 years agoopusdec: make sure all substreams have the same number of coded samples
Anton Khirnov [Mon, 24 Nov 2014 10:16:46 +0000 (11:16 +0100)]
opusdec: make sure all substreams have the same number of coded samples

Fixes invalid writes with invalid multichannel streams.

CC:libav-stable@libav.org
(cherry picked from commit 1973079417e8701b52ba810a72cb6c7c6f7f9a56)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agolavu: fix memory leaks by using a mutex instead of atomics
wm4 [Fri, 14 Nov 2014 12:34:50 +0000 (13:34 +0100)]
lavu: fix memory leaks by using a mutex instead of atomics

The buffer pool has to atomically add and remove entries from the linked
list of available buffers. This was done by removing the entire list
with a CAS operation, working on it, and then setting it back again
(using a retry-loop in case another thread was doing the same thing).

This could effectively cause memory leaks: while a thread was working on
the buffer list, other threads would allocate new buffers, increasing
the pool's total size. There was no real leak, but since these extra
buffers were not needed, but not free'd either (except when the buffer
pool was destroyed), this had the same effects as a real leak. For some
reason, growth was exponential, and could easily kill the process due
to OOM in real-world uses.

Fix this by using a mutex to protect the list operations. The fancy
way atomics remove the whole list to work on it is not needed anymore,
which also avoids the situation which was causing the leak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit fbd6c97f9ca858140df16dd07200ea0d4bdc1a83)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agolavu: add wrappers for the pthreads mutex API
Anton Khirnov [Sun, 23 Nov 2014 20:25:05 +0000 (21:25 +0100)]
lavu: add wrappers for the pthreads mutex API

Also add no-op fallbacks when threading is disabled.

This helps keeping the code clean if Libav is compiled for targets
without threading. Since we assume that no threads of any kind are used
in such configurations, doing nothing is ok by definition.

Based on a patch by wm4 <nfxjfg@googlemail.com>.

(cherry picked from commit 2443e522f0059176ff8717c9c753eb6fe7e7bbf1)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
4 years agomp3enc: fix a triggerable assert
Anton Khirnov [Fri, 14 Nov 2014 19:20:50 +0000 (20:20 +0100)]
mp3enc: fix a triggerable assert

We have to check against the number of bytes actually needed, not the
theoretical maximum size.

5 years agoresample: Avoid off-by-1 errors in PTS calcs.
Timothy B. Terriberry [Tue, 14 Oct 2014 00:46:00 +0000 (17:46 -0700)]
resample: Avoid off-by-1 errors in PTS calcs.

The rounding used in the PTS calculations in filter_frame() does
not actually match the number of samples output by the resampler.
This leads to off-by-1 errors in the timestamps indicating gaps and
underruns, even when the input timestamps are all contiguous.

Bug-Id: 753

Signed-off-by: Anton Khirnov <anton@khirnov.net>
(cherry picked from commit 6cbbf0592f4f3940aac7f687850d1b726a2ea836)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
5 years agoimc: fix order of operations in coefficients read
Vittorio Giovara [Mon, 13 Oct 2014 14:42:28 +0000 (15:42 +0100)]
imc: fix order of operations in coefficients read

Reported-by: Ruoyu <liangry@ucweb.com>
5 years agohevc_mvs: make sure to always initialize the temporal MV fully
Anton Khirnov [Mon, 29 Sep 2014 16:25:14 +0000 (16:25 +0000)]
hevc_mvs: make sure to always initialize the temporal MV fully

The spec requires this.

Fixes uninitialized reads on some samples.

Remove now unnecessary initialization of the whole merge candidate list.

5 years agohevc_mvs: initialize the temporal MV in case of missing ref
Anton Khirnov [Mon, 29 Sep 2014 16:16:50 +0000 (16:16 +0000)]
hevc_mvs: initialize the temporal MV in case of missing ref

The caller expects the MV to always be initialized.

5 years agoh264: reset ret to avoid propagating minor failures
Michael Niedermayer [Sat, 27 Sep 2014 23:46:50 +0000 (00:46 +0100)]
h264: reset ret to avoid propagating minor failures

Unbreak 772d150a6e82542c06b0c251e73dd299d98d1027.

CC: libav-stable@libav.org
Bug-Id: 750 / 905753
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
5 years agohevc: Initialize mergecand_list to 0
Luca Barbato [Wed, 17 Sep 2014 17:51:40 +0000 (19:51 +0200)]
hevc: Initialize mergecand_list to 0

Unbreak cf6090dc6252f2b276aa4133e3d73a89f4c6046c.

CC: libav-stable@libav.org
Sample-Id: hevc-conformance-LTRPSPS_A_Qualcomm_1

5 years agompeg12: Always invoke the get_format() callback
Rémi Denis-Courmont [Thu, 25 Sep 2014 08:59:58 +0000 (11:59 +0300)]
mpeg12: Always invoke the get_format() callback

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agoh264: Always invoke the get_format() callback
Rémi Denis-Courmont [Thu, 25 Sep 2014 08:59:57 +0000 (11:59 +0300)]
h264: Always invoke the get_format() callback

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
5 years agoUpdate default FATE URL for release/11
Diego Biurrun [Wed, 17 Sep 2014 14:08:57 +0000 (07:08 -0700)]
Update default FATE URL for release/11

5 years agoapetag: Fix APE tag size check
Katerina Barone-Adesi [Mon, 15 Sep 2014 23:40:24 +0000 (01:40 +0200)]
apetag: Fix APE tag size check

The size variable is (correctly) unsigned, but is passed to several functions
which take signed parameters, such as avio_read, sometimes after having
numbers added to it. So ensure that size remains within the bounds that
these functions can handle.

(cherry picked from commit c5560e72d0bb69f8a1ac9536570398f84388f396)
Signed-off-by: Diego Biurrun <diego@biurrun.de>
5 years agoPrepare for 11 release
Diego Biurrun [Sat, 13 Sep 2014 18:14:46 +0000 (11:14 -0700)]
Prepare for 11 release

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

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

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

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

5 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

5 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

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

5 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

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

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

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

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

5 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

5 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

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

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

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

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

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

5 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

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

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

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

5 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

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

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

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

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

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

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

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

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

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

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

5 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

5 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

5 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

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