]> git.sesse.net Git - ffmpeg/log
ffmpeg
8 years agolavfi/af_channelmap: fix memory leak
Ganesh Ajjanagadde [Fri, 4 Dec 2015 05:49:55 +0000 (00:49 -0500)]
lavfi/af_channelmap: fix memory leak

Recent commits 6aaac24d72a7da631173209841a3944fcb4a3309 and
3835554bf8ed78539a3492c239f979c0ab03a15f made progress towards cleaning
up usage of the formats API, and in particular fixed possible NULL pointer
dereferences.

This commit addresses the issue of possible resource leaks when some intermediate
call fails.

Tested with valgrind --leak-check=full --show-leak-kinds=all, and manual simulation
of malloc/realloc failures.

Fixes: CID 1338330.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agolavfi/vf_alphamerge: fix memory leaks
Ganesh Ajjanagadde [Fri, 4 Dec 2015 05:37:19 +0000 (00:37 -0500)]
lavfi/vf_alphamerge: fix memory leaks

Recent commits 6aaac24d72a7da631173209841a3944fcb4a3309 and
3835554bf8ed78539a3492c239f979c0ab03a15f made progress towards cleaning
up usage of the formats API, and in particular fixed possible NULL pointer
dereferences.

This commit addresses the issue of possible resource leaks when some intermediate
call fails.

Tested with valgrind --leak-check=full --show-leak-kinds=all, and manual simulation
of malloc/realloc failures.

Fixes: CID 1338326, 1338329.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agolavfi/vf_overlay: fix memory leaks
Ganesh Ajjanagadde [Fri, 4 Dec 2015 05:20:24 +0000 (00:20 -0500)]
lavfi/vf_overlay: fix memory leaks

Recent commits 6aaac24d72a7da631173209841a3944fcb4a3309 and
3835554bf8ed78539a3492c239f979c0ab03a15f made progress towards cleaning
up usage of the formats API, and in particular fixed possible NULL pointer
dereferences.

This commit addresses the issue of possible resource leaks when some intermediate
call fails.

Tested with valgrind --leak-check=full --show-leak-kinds=all, and manual simulation
of malloc/realloc failures.

Fixes: CID 1338327.
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agolavfi/show_palette: fix memory leak
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:46:07 +0000 (01:46 -0500)]
lavfi/show_palette: fix memory leak

Recent commits 6aaac24d72a7da631173209841a3944fcb4a3309 and
3835554bf8ed78539a3492c239f979c0ab03a15f made progress towards cleaning
up usage of the formats API, and in particular fixed possible NULL pointer
dereferences.

This commit addresses the issue of possible resource leaks when some intermediate
call fails. Unfortunately, even leaving aside this subtle intermediate
failure aspect, commit 8087632027d755cd32ccc9e91ea025e276197055 was only
partially successful in addressing memleaks. Hopefully, this commit
fixes the issue completely.

Tested with valgrind --leak-check=full --show-leak-kinds=all, and manual simulation
of malloc/realloc failures.

Fixes: CID 1270818.
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavcodec/aacsbr_tablegen: always initialize tables at runtime
Ganesh Ajjanagadde [Mon, 30 Nov 2015 03:35:00 +0000 (22:35 -0500)]
avcodec/aacsbr_tablegen: always initialize tables at runtime

This gets rid of virtually useless hardcoded tables hackery. The reason
it is useless is that a 320 element lut is anyway placed regardless of
--enable-hardcoded-tables, from which all necessary tables are trivially
derived at runtime at very low cost:

sample benchmark (x86-64, Haswell, GNU/Linux, single run is really
what is relevant here since looping drastically changes the bench). Fluctuations
are on the order of 10% for the single run test:
39400 decicycles in aacsbr_tableinit,       1 runs,      0 skips
25325 decicycles in aacsbr_tableinit,       2 runs,      0 skips
18475 decicycles in aacsbr_tableinit,       4 runs,      0 skips
15008 decicycles in aacsbr_tableinit,       8 runs,      0 skips
13016 decicycles in aacsbr_tableinit,      16 runs,      0 skips
12005 decicycles in aacsbr_tableinit,      32 runs,      0 skips
11546 decicycles in aacsbr_tableinit,      64 runs,      0 skips
11506 decicycles in aacsbr_tableinit,     128 runs,      0 skips
11500 decicycles in aacsbr_tableinit,     256 runs,      0 skips
11183 decicycles in aacsbr_tableinit,     509 runs,      3 skips

Tested with FATE with/without --enable-hardcoded-tables.

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavfilter/vf_delogo: round to the closest value
Jean Delvare [Wed, 9 Dec 2015 11:07:47 +0000 (12:07 +0100)]
avfilter/vf_delogo: round to the closest value

When the interpolated value is divided by the sum of weights, no
rounding is done, which means the value is truncated. This results in
a slight bias towards dark green in the interpolated area. Rounding
properly removes the bias.

I measured this change to reduce the interpolation error by 1 to 2 %
on average on a number of sample input and logo area combinations.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoswscale/utils: replace pow by exp2
Ganesh Ajjanagadde [Tue, 8 Dec 2015 04:05:05 +0000 (23:05 -0500)]
swscale/utils: replace pow by exp2

exp2 is a faster function.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavcodec/jpeg2000: replace naive pow call with smarter exp2fi
Ganesh Ajjanagadde [Tue, 8 Dec 2015 02:31:41 +0000 (21:31 -0500)]
avcodec/jpeg2000: replace naive pow call with smarter exp2fi

pow is a very wasteful function for this purpose. A low hanging fruit
would be simply to replace with exp2f, and that does yield some speedup.
However, there are 2 drawbacks of this:
1. It does not exploit the integer nature of the argument.
2. (minor) Some platforms lack a proper exp2f routine, making benefits available
only to non broken libm.
3. exp2f does not solve the same issue that plagues pow, namely terrible
worst case performance. This is a fundamental issue known as the
"table-maker's dilemma" recognized by Prof. Kahan himself and
subsequently elaborated and researched by many others. All this is clear from benchmarks below.

This exploits the IEEE-754 format to get very good performance even in
the worst case for integer powers of 2. This solves all the issues noted
above. Function tested with clang usan over [-1000, 1000] (beyond range of
relevance for this, which is [-255, 255]), patch itself with FATE.

Benchmarks obtained on x86-64, Haswell, GNU-Linux via 10^5 iterations of
the pow call, START/STOP, and command ffplay ~/samples/jpeg2000/chiens_dcinema2K.mxf.
Low number of runs also given to prove the point about worst case:

pow:
 216270 decicycles in pow,       1 runs,      0 skips
 110175 decicycles in pow,       2 runs,      0 skips
  56085 decicycles in pow,       4 runs,      0 skips
  29013 decicycles in pow,       8 runs,      0 skips
  15472 decicycles in pow,      16 runs,      0 skips
   8689 decicycles in pow,      32 runs,      0 skips
   5295 decicycles in pow,      64 runs,      0 skips
   3599 decicycles in pow,     128 runs,      0 skips
   2748 decicycles in pow,     256 runs,      0 skips
   2304 decicycles in pow,     511 runs,      1 skips
   2072 decicycles in pow,    1022 runs,      2 skips
   1963 decicycles in pow,    2044 runs,      4 skips
   1894 decicycles in pow,    4091 runs,      5 skips
   1860 decicycles in pow,    8184 runs,      8 skips

exp2f:
 134140 decicycles in pow,       1 runs,      0 skips
  68110 decicycles in pow,       2 runs,      0 skips
  34530 decicycles in pow,       4 runs,      0 skips
  17677 decicycles in pow,       8 runs,      0 skips
   9175 decicycles in pow,      16 runs,      0 skips
   4931 decicycles in pow,      32 runs,      0 skips
   2808 decicycles in pow,      64 runs,      0 skips
   1747 decicycles in pow,     128 runs,      0 skips
   1208 decicycles in pow,     256 runs,      0 skips
    952 decicycles in pow,     512 runs,      0 skips
    822 decicycles in pow,    1024 runs,      0 skips
    765 decicycles in pow,    2047 runs,      1 skips
    722 decicycles in pow,    4094 runs,      2 skips
    693 decicycles in pow,    8190 runs,      2 skips

exp2fi:
   2740 decicycles in pow,       1 runs,      0 skips
   1530 decicycles in pow,       2 runs,      0 skips
    955 decicycles in pow,       4 runs,      0 skips
    622 decicycles in pow,       8 runs,      0 skips
    477 decicycles in pow,      16 runs,      0 skips
    368 decicycles in pow,      32 runs,      0 skips
    317 decicycles in pow,      64 runs,      0 skips
    291 decicycles in pow,     128 runs,      0 skips
    277 decicycles in pow,     256 runs,      0 skips
    268 decicycles in pow,     512 runs,      0 skips
    265 decicycles in pow,    1024 runs,      0 skips
    263 decicycles in pow,    2048 runs,      0 skips
    263 decicycles in pow,    4095 runs,      1 skips
    260 decicycles in pow,    8191 runs,      1 skips

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoaacenc: update max_sfb when num_swb changes
Andreas Cadhalpun [Sun, 6 Dec 2015 20:35:08 +0000 (21:35 +0100)]
aacenc: update max_sfb when num_swb changes

This fixes out-of-bounds reads in avoid_clipping.

Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
8 years agofate/api-jpeg-codec-param: rename to api-mjpeg-codec-param
Matthieu Bouron [Mon, 7 Dec 2015 09:40:03 +0000 (10:40 +0100)]
fate/api-jpeg-codec-param: rename to api-mjpeg-codec-param

8 years agoavcodec/h264: Set CORRUPT flag on output frames that are not fully recovered
Sebastian Dröge [Tue, 8 Dec 2015 08:24:09 +0000 (10:24 +0200)]
avcodec/h264: Set CORRUPT flag on output frames that are not fully recovered

In the merge commit 78265fcfeee153e5e26ad4dbc7831a84ade447d6 this behaviour
was broken and the CORRUPT flag would never ever be set on a frame. However
the flag on the AVCodecContext was taken into account properly, including
AV_CODEC_FLAG2_SHOW_ALL.

The reason for this was that the recovered field of the next output picture
was always set to TRUE whenever one of the two AVCodecContext flags was set,
which made it impossible to detect later, before outputting, if the frame was
really recovered or not. Now don't set it to TRUE unless the frame is really
recovered and check the AVCodecContext flags right before outputting.

Signed-off-by: Sebastian Dröge <sebastian@centricular.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agolavu/frame: use AVPALETTE_SIZE instead of 1024
Clément Bœsch [Tue, 8 Dec 2015 16:50:40 +0000 (17:50 +0100)]
lavu/frame: use AVPALETTE_SIZE instead of 1024

8 years agoaacenc_ltp: disable LTP with high lambda values
Rostislav Pehlivanov [Tue, 8 Dec 2015 13:24:48 +0000 (13:24 +0000)]
aacenc_ltp: disable LTP with high lambda values

Makes no sense to enable for high bitrates, the coder does well enough.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc_tns: use 4 bits for short windows
Rostislav Pehlivanov [Tue, 8 Dec 2015 13:21:41 +0000 (13:21 +0000)]
aacenc_tns: use 4 bits for short windows

With only 7 coefficients per short window at most the extra precision
makes a difference and seems to reduce crackling and stddev even
further.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoMerge commit '6788baebb3680d447eabdadf3f5743c8470a4611'
Hendrik Leppkes [Tue, 8 Dec 2015 09:06:23 +0000 (10:06 +0100)]
Merge commit '6788baebb3680d447eabdadf3f5743c8470a4611'

* commit '6788baebb3680d447eabdadf3f5743c8470a4611':
  log: Use a do {} while (0) for dlog

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '7d36474d1908d6267d4e11d4d9909f9604bd0c81'
Hendrik Leppkes [Tue, 8 Dec 2015 09:03:51 +0000 (10:03 +0100)]
Merge commit '7d36474d1908d6267d4e11d4d9909f9604bd0c81'

* commit '7d36474d1908d6267d4e11d4d9909f9604bd0c81':
  imgconvert: Re-enable the deprecation warnings

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'f7edcac040f73635fc1127489c9bb29ca8b43532'
Hendrik Leppkes [Tue, 8 Dec 2015 09:03:08 +0000 (10:03 +0100)]
Merge commit 'f7edcac040f73635fc1127489c9bb29ca8b43532'

* commit 'f7edcac040f73635fc1127489c9bb29ca8b43532':
  avpicture: Suppress warning from deprecated code

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'b805482b1fba1d82fbe47023a24c9261f18979b6'
Hendrik Leppkes [Tue, 8 Dec 2015 08:59:45 +0000 (09:59 +0100)]
Merge commit 'b805482b1fba1d82fbe47023a24c9261f18979b6'

* commit 'b805482b1fba1d82fbe47023a24c9261f18979b6':
  aac: Provide more information on the failure message

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'c5eb279e240af6b7228a624cd7193732f2d5adaa'
Hendrik Leppkes [Tue, 8 Dec 2015 08:50:59 +0000 (09:50 +0100)]
Merge commit 'c5eb279e240af6b7228a624cd7193732f2d5adaa'

* commit 'c5eb279e240af6b7228a624cd7193732f2d5adaa':
  g723: Add missing header

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '1077d8c8455b27688de37cd04f8cc253fb37944d'
Hendrik Leppkes [Tue, 8 Dec 2015 08:50:45 +0000 (09:50 +0100)]
Merge commit '1077d8c8455b27688de37cd04f8cc253fb37944d'

* commit '1077d8c8455b27688de37cd04f8cc253fb37944d':
  configure: Add -framework CoreVideo when building the avfoundation indev

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'bf12a81cc67d62dd45c58e29fa0e9177331cc151'
Hendrik Leppkes [Tue, 8 Dec 2015 08:45:24 +0000 (09:45 +0100)]
Merge commit 'bf12a81cc67d62dd45c58e29fa0e9177331cc151'

* commit 'bf12a81cc67d62dd45c58e29fa0e9177331cc151':
  configure: Replace `pr` since it is not provided by busybox

Not merged as requested by Timothy Gu.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '5f3a081b42b84404a40a52c80ef7a354cf048c56'
Hendrik Leppkes [Tue, 8 Dec 2015 08:41:43 +0000 (09:41 +0100)]
Merge commit '5f3a081b42b84404a40a52c80ef7a354cf048c56'

* commit '5f3a081b42b84404a40a52c80ef7a354cf048c56':
  avi: Spin out the logic to position to the next non-interleaved stream

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoswscale/arm: add ff_nv{12,21}_to_{argb,rgba,abgr,bgra}_neon_16
Matthieu Bouron [Mon, 7 Dec 2015 12:56:25 +0000 (13:56 +0100)]
swscale/arm: add ff_nv{12,21}_to_{argb,rgba,abgr,bgra}_neon_16

8 years agofate/api-{jpeg,png}-codec-param: add missing codec dependencies
Matthieu Bouron [Mon, 7 Dec 2015 09:12:27 +0000 (10:12 +0100)]
fate/api-{jpeg,png}-codec-param: add missing codec dependencies

8 years agofate/api-codec-param: fix codec context leak
Matthieu Bouron [Mon, 7 Dec 2015 09:00:35 +0000 (10:00 +0100)]
fate/api-codec-param: fix codec context leak

8 years agoavcodec/libdcadec: honor -err_detect option
foo86 [Mon, 7 Dec 2015 15:48:53 +0000 (18:48 +0300)]
avcodec/libdcadec: honor -err_detect option

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/libdcadec: add some useful options
foo86 [Mon, 7 Dec 2015 15:48:34 +0000 (18:48 +0300)]
avcodec/libdcadec: add some useful options

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/libdcadec: implement logging callback
foo86 [Mon, 7 Dec 2015 15:48:13 +0000 (18:48 +0300)]
avcodec/libdcadec: implement logging callback

Don't print a warning when dcadec_context_filter() returns positive
warning code. Most relevant warnings are now output through the callback
function.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/libdcadec: fix request_channel_layout
foo86 [Mon, 7 Dec 2015 15:47:47 +0000 (18:47 +0300)]
avcodec/libdcadec: fix request_channel_layout

Take request_channel_layout as a hint and don't force 2.0 downmix by
using both the 2CH and 6CH flags together.

Remove warnings about missing coefficients because they are no longer
relevant.

Honor AV_CH_LAYOUT_NATIVE and make it possible for native DTS channel
layout to be output.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agolavf/mxfdec: fix seeking before the first keyframe
Marton Balint [Fri, 27 Nov 2015 23:13:52 +0000 (00:13 +0100)]
lavf/mxfdec: fix seeking before the first keyframe

Regression since 53f2ef2c4afb1d49a679dea9163cb0e4671f3117.
Fixes ticket #5017.

Signed-off-by: Marton Balint <cus@passwd.hu>
8 years agolavu/opencl: restore #if HAVE_THREADS
Clément Bœsch [Mon, 7 Dec 2015 19:28:26 +0000 (20:28 +0100)]
lavu/opencl: restore #if HAVE_THREADS

Fix regression since a8bb81a.

Spotted-by: RiCON
8 years agocosmetics: Fix weird indentations
Timothy Gu [Mon, 7 Dec 2015 18:42:28 +0000 (10:42 -0800)]
cosmetics: Fix weird indentations

8 years agolavc, lavu: use avutil/thread.h instead of redundant conditional includes
Clément Bœsch [Mon, 7 Dec 2015 14:08:51 +0000 (15:08 +0100)]
lavc, lavu: use avutil/thread.h instead of redundant conditional includes

8 years agoconfigure: fix vp9_d3d11va_hwaccel deps
James Almer [Mon, 7 Dec 2015 16:12:21 +0000 (13:12 -0300)]
configure: fix vp9_d3d11va_hwaccel deps

Signed-off-by: James Almer <jamrial@gmail.com>
8 years agoavutil/threadmessage: fix build without HAVE_THREADS, new attempt
Clément Bœsch [Mon, 7 Dec 2015 15:39:57 +0000 (16:39 +0100)]
avutil/threadmessage: fix build without HAVE_THREADS, new attempt

8 years agoavcodec/g723_1: fix license header
Hendrik Leppkes [Mon, 7 Dec 2015 15:10:51 +0000 (16:10 +0100)]
avcodec/g723_1: fix license header

8 years agoMerge commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da'
Hendrik Leppkes [Mon, 7 Dec 2015 15:01:41 +0000 (16:01 +0100)]
Merge commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da'

* commit 'cb49bb10ca7fcff2e382d9d989232b1a7f28e7da':
  build: Move -Wcast-qual to the extra_warnings

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4'
Hendrik Leppkes [Mon, 7 Dec 2015 15:00:47 +0000 (16:00 +0100)]
Merge commit '0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4'

* commit '0fc61c6ab6912a2f0c40fdd3f3c591bc2a33efd4':
  avi: Validate the stream-id for DV as well

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'd017ed878a45171f2f6c69fb9d76401c3c494110'
Hendrik Leppkes [Mon, 7 Dec 2015 14:57:02 +0000 (15:57 +0100)]
Merge commit 'd017ed878a45171f2f6c69fb9d76401c3c494110'

* commit 'd017ed878a45171f2f6c69fb9d76401c3c494110':
  avi: Use the correct data type

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '7f57ea143c55ce5732ef7e31e4b75ae6c307af13'
Hendrik Leppkes [Mon, 7 Dec 2015 14:55:51 +0000 (15:55 +0100)]
Merge commit '7f57ea143c55ce5732ef7e31e4b75ae6c307af13'

* commit '7f57ea143c55ce5732ef7e31e4b75ae6c307af13':
  vsrc_color: Drop unneeded variable

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'ca5f386e75c592ce25b8184516fd0d580ccb31bb'
Hendrik Leppkes [Mon, 7 Dec 2015 14:55:13 +0000 (15:55 +0100)]
Merge commit 'ca5f386e75c592ce25b8184516fd0d580ccb31bb'

* commit 'ca5f386e75c592ce25b8184516fd0d580ccb31bb':
  lavf: G.723.1 muxer

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244'
Hendrik Leppkes [Mon, 7 Dec 2015 14:50:45 +0000 (15:50 +0100)]
Merge commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244'

* commit 'f023d57d355ff3b917f1aad9b03db5c293ec4244':
  lavc: G.723.1 encoder

Split existing FFmpeg G.723.1 encoder into a new file.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '165cc6fb9defcd79fd71c08167f3e8df26b058ff'
Hendrik Leppkes [Mon, 7 Dec 2015 14:18:12 +0000 (15:18 +0100)]
Merge commit '165cc6fb9defcd79fd71c08167f3e8df26b058ff'

* commit '165cc6fb9defcd79fd71c08167f3e8df26b058ff':
  g723_1: Move sharable functions to a separate file

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'aac996cc01042194bf621d845bbe684549b5882e'
Hendrik Leppkes [Mon, 7 Dec 2015 14:04:13 +0000 (15:04 +0100)]
Merge commit 'aac996cc01042194bf621d845bbe684549b5882e'

* commit 'aac996cc01042194bf621d845bbe684549b5882e':
  g723_1: Rename files to better reflect their purpose

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agofate/api: add w32+os2 support for fate-api-threadmessage
Clément Bœsch [Mon, 7 Dec 2015 13:51:21 +0000 (14:51 +0100)]
fate/api: add w32+os2 support for fate-api-threadmessage

8 years agoMerge commit 'b74b88f30da2389f333a31815d8326d5576d3331'
Hendrik Leppkes [Mon, 7 Dec 2015 13:58:38 +0000 (14:58 +0100)]
Merge commit 'b74b88f30da2389f333a31815d8326d5576d3331'

* commit 'b74b88f30da2389f333a31815d8326d5576d3331':
  g723_1: Handle values at the ends of the table in lsp2lpc()

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'a0fa6d06b848f26b16ba12f0a9a4a85b93ab8022'
Hendrik Leppkes [Mon, 7 Dec 2015 13:51:23 +0000 (14:51 +0100)]
Merge commit 'a0fa6d06b848f26b16ba12f0a9a4a85b93ab8022'

* commit 'a0fa6d06b848f26b16ba12f0a9a4a85b93ab8022':
  matroska: Warn when metadata references a non-existent element

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'f7986239f4dbec91c743c4c5eb0a2339bd325bf6'
Hendrik Leppkes [Mon, 7 Dec 2015 13:45:32 +0000 (14:45 +0100)]
Merge commit 'f7986239f4dbec91c743c4c5eb0a2339bd325bf6'

* commit 'f7986239f4dbec91c743c4c5eb0a2339bd325bf6':
  dvenc: Validate the frame size before copying it

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agofate/api: fix fate-api-threadmessage dependency
Clément Bœsch [Mon, 7 Dec 2015 13:40:10 +0000 (14:40 +0100)]
fate/api: fix fate-api-threadmessage dependency

8 years agoavutil/threadmessage: fix build without HAVE_THREADS
Clément Bœsch [Mon, 7 Dec 2015 13:26:39 +0000 (14:26 +0100)]
avutil/threadmessage: fix build without HAVE_THREADS

8 years agoMerge commit '7139489c452ef8af6a745ec4e62056ee4ea4d6a8'
Hendrik Leppkes [Mon, 7 Dec 2015 13:20:03 +0000 (14:20 +0100)]
Merge commit '7139489c452ef8af6a745ec4e62056ee4ea4d6a8'

* commit '7139489c452ef8af6a745ec4e62056ee4ea4d6a8':
  pgssubdec: fix API compability layer

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit 'b0e8651a2a84553d08fbb2f7cb9697bd64fb1b55'
Hendrik Leppkes [Mon, 7 Dec 2015 13:18:41 +0000 (14:18 +0100)]
Merge commit 'b0e8651a2a84553d08fbb2f7cb9697bd64fb1b55'

* commit 'b0e8651a2a84553d08fbb2f7cb9697bd64fb1b55':
  doc: Amend the MSYS2 Documentation

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agoMerge commit '4f979418c723652ad4e43115118c57a44bd46b52'
Hendrik Leppkes [Mon, 7 Dec 2015 13:16:36 +0000 (14:16 +0100)]
Merge commit '4f979418c723652ad4e43115118c57a44bd46b52'

* commit '4f979418c723652ad4e43115118c57a44bd46b52':
  avfoundation: Simple capture

Not merged on request by Thilo Borgmann, original author of the
AVFoundation capture in FFmpeg.

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
8 years agodoc/filters: add more compand examples
Paul B Mahol [Mon, 7 Dec 2015 11:22:42 +0000 (12:22 +0100)]
doc/filters: add more compand examples

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavfilter/af_biquads: pass filter ctx to av_log calls
Paul B Mahol [Mon, 7 Dec 2015 10:14:59 +0000 (11:14 +0100)]
avfilter/af_biquads: pass filter ctx to av_log calls

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavutil/threadmessage: split the pthread condition in two
Clément Bœsch [Tue, 1 Dec 2015 14:54:31 +0000 (15:54 +0100)]
avutil/threadmessage: split the pthread condition in two

Fix a dead lock under certain conditions. Let's assume we have a queue of 1
message max, 2 senders, and 1 receiver.

Scenario (real record obtained with debug added):
    [...]
    SENDER #0: acquired lock
    SENDER #0: queue is full, wait
    SENDER #1: acquired lock
    SENDER #1: queue is full, wait
    RECEIVER: acquired lock
    RECEIVER: reading a msg from the queue
    RECEIVER: signal the cond
    RECEIVER: acquired lock
    RECEIVER: queue is empty, wait
    SENDER #0: writing a msg the queue
    SENDER #0: signal the cond
    SENDER #0: acquired lock
    SENDER #0: queue is full, wait
    SENDER #1: queue is full, wait

Translated:
 - initially the queue contains 1/1 message with 2 senders blocking on
   it, waiting to push another message.
 - Meanwhile the receiver is obtaining the lock, read the message,
   signal & release the lock. For some reason it is able to acquire the
   lock again before the signal wakes up one of the sender. Since it
   just emptied the queue, the reader waits for the queue to fill up
   again.
 - The signal finally reaches one of the sender, which writes a message
   and then signal the condition. Unfortunately, instead of waking up
   the reader, it actually wakes up the other worker (signal = notify
   the condition just for 1 waiter), who can't push another message in
   the queue because it's full.
 - Meanwhile, the receiver is still waiting. Deadlock.

This scenario can be triggered with for example:
    tests/api/api-threadmessage-test 1 2 100 100 1 1000 1000

One working solution is to make av_thread_message_queue_{send,recv}()
call pthread_cond_broadcast() instead of pthread_cond_signal() so both
senders and receivers are unlocked when work is done (be it reading or
writing).

This second solution replaces the condition with two: one to notify the
senders, and one to notify the receivers. This prevents senders from
notifying other senders instead of a reader, and the other way around.
It also avoid broadcasting to everyone like the first solution, and is,
as a result in theory more optimized.

8 years agofate/api: test threadmessage
Clément Bœsch [Mon, 30 Nov 2015 17:18:59 +0000 (18:18 +0100)]
fate/api: test threadmessage

8 years agoavutil/threadmessage: add av_thread_message_flush()
Clément Bœsch [Mon, 30 Nov 2015 17:18:42 +0000 (18:18 +0100)]
avutil/threadmessage: add av_thread_message_flush()

8 years agofate: add limited_input_seek tests
Simon Thelen [Sun, 6 Dec 2015 04:00:54 +0000 (05:00 +0100)]
fate: add limited_input_seek tests

Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoffmpeg_dxva2: support vp9 hwaccel
Hendrik Leppkes [Mon, 12 Oct 2015 22:09:22 +0000 (00:09 +0200)]
ffmpeg_dxva2: support vp9 hwaccel

8 years agoavcodec: implement vp9 dxva2 hwaccel
Hendrik Leppkes [Thu, 3 Dec 2015 10:09:51 +0000 (11:09 +0100)]
avcodec: implement vp9 dxva2 hwaccel

8 years agovp9: add hwaccel hooks
Hendrik Leppkes [Thu, 3 Dec 2015 10:10:33 +0000 (11:10 +0100)]
vp9: add hwaccel hooks

8 years agovp9: fix pixel format changes with threading
Hendrik Leppkes [Sun, 6 Dec 2015 15:44:32 +0000 (16:44 +0100)]
vp9: fix pixel format changes with threading

8 years agocmdutils: use version accessor macros
Reynaldo H. Verdejo Pinochet [Mon, 7 Dec 2015 04:27:40 +0000 (20:27 -0800)]
cmdutils: use version accessor macros

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
8 years agoavfilter/showcqt: BASEFREQ and ENDFREQ cast to double
Muhammad Faiz [Mon, 30 Nov 2015 15:20:30 +0000 (22:20 +0700)]
avfilter/showcqt: BASEFREQ and ENDFREQ cast to double

fix default basefreq/endfreq comparison
on platform that does not do comparison
in double type

found on zeranoe 32-bit build, where
default freq range is detected as non-default

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoRemove Redundant Entry of MPEG2 Video Desc
Anshul Maheshwari [Sun, 6 Dec 2015 18:22:15 +0000 (23:52 +0530)]
Remove Redundant Entry of MPEG2 Video Desc

Signed-off-by: Anshul Maheshwari <er.anshul.maheshwari@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agomjpegdec: consider chroma subsampling in size check
Andreas Cadhalpun [Wed, 2 Dec 2015 20:52:23 +0000 (21:52 +0100)]
mjpegdec: consider chroma subsampling in size check

If the chroma components are subsampled, smaller buffers are allocated
for them. In that case the maximal block_offset for the chroma
components is not as large as for the luma component.

This fixes out of bounds writes causing segmentation faults or memory
corruption.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
8 years agofate: change the CMP_TARGETs for the recent AAC encoder changes
Rostislav Pehlivanov [Sun, 6 Dec 2015 13:54:06 +0000 (13:54 +0000)]
fate: change the CMP_TARGETs for the recent AAC encoder changes

The case of PNS was outdated and resulted in failures on some
kdfreebds systems.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc_tns: tune and reduce artifacts
Rostislav Pehlivanov [Sun, 6 Dec 2015 13:34:33 +0000 (13:34 +0000)]
aacenc_tns: tune and reduce artifacts

There are a couple of major changes here:

1. Start using TNS coefficient compression.
2. Start using 3 bits per coefficient maximum for short windows.
The bits we save from these 2 changes seem to make a nice impact on the
rest of the file/windows.

3. Remove special case gain checking for short windows.
4. Modify the coefficient loop to support up to 3 windows.
The additional restrictions on TNS were something that was no in the
specifications and furthermore restricting TNS to only low energy short
windows was done to compensate for bugs elsewhere in the code.

Overall, the improvements here reduce crackling artifacts heard in very
noisy tracks.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: move the TNS search and filtering before PNS
Rostislav Pehlivanov [Sun, 6 Dec 2015 13:32:40 +0000 (13:32 +0000)]
aacenc: move the TNS search and filtering before PNS

The original plan was to have TNS use data from the PNS search to better
tune itself to noise but this was never used nor necessary. This should
slightly boost the PNS accuracy if TNS was used.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoavfilter/af_alimiter: add 3 more options
Paul B Mahol [Sun, 6 Dec 2015 13:57:05 +0000 (14:57 +0100)]
avfilter/af_alimiter: add 3 more options

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agofate/concatdec: Use -bitexact
Timothy Gu [Fri, 27 Nov 2015 22:33:03 +0000 (14:33 -0800)]
fate/concatdec: Use -bitexact

Fixes FATE failures on --enable-small builds.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoffprobe: Do not print profile names in -bitexact
Timothy Gu [Fri, 27 Nov 2015 22:33:02 +0000 (14:33 -0800)]
ffprobe: Do not print profile names in -bitexact

Instead, print "unknown" if it's unknown, or their numerical values if
they are known.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoffplay: use hypot()
Ganesh Ajjanagadde [Sun, 22 Nov 2015 16:27:22 +0000 (11:27 -0500)]
ffplay: use hypot()

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavcodec/dvdsubdec: fix typo in dlog message
Ganesh Ajjanagadde [Fri, 4 Dec 2015 07:35:25 +0000 (02:35 -0500)]
avcodec/dvdsubdec: fix typo in dlog message

Likely accidental in 764900d6458a2f79166ff91df4f20ad39cd6acec.

Fixes: CID 1341578.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavformat/movenc-test: correct varargs usage
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:03:26 +0000 (01:03 -0500)]
avformat/movenc-test: correct varargs usage

It is required to call va_end for each invocation of va_start within the
same function.

Fixes: CID 1341583.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavformat/rtsp: free opts dictionary on failure of getnameinfo
Ganesh Ajjanagadde [Fri, 4 Dec 2015 06:11:10 +0000 (01:11 -0500)]
avformat/rtsp: free opts dictionary on failure of getnameinfo

Fixes: CID 1341579.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
8 years agoavfilter/af_stereotools: fix logic fail
Paul B Mahol [Sun, 6 Dec 2015 09:09:09 +0000 (10:09 +0100)]
avfilter/af_stereotools: fix logic fail

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agolibavutil: add version component accessor macros
Reynaldo H. Verdejo Pinochet [Fri, 4 Dec 2015 22:07:23 +0000 (14:07 -0800)]
libavutil: add version component accessor macros

Pretty standard macros, these should help libav*
users avoid repeating ver.si.on parsing code,
which aids in compatibility-checking tasks like
identifying FFmpeg from Libav (_MICRO >= 100 check).
Something many are doing since we are not
intercompatible anymore.

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
8 years agodoc/encoders.texi: fix typo and clarify mpeg2_aac_low
Rostislav Pehlivanov [Sat, 5 Dec 2015 23:44:04 +0000 (23:44 +0000)]
doc/encoders.texi: fix typo and clarify mpeg2_aac_low

Thanks to Brad Smith for finding the typo.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoavcodec/hevc: Fix integer overflow of entry_point_offset
Michael Niedermayer [Sat, 5 Dec 2015 21:08:59 +0000 (22:08 +0100)]
avcodec/hevc: Fix integer overflow of entry_point_offset

Fixes out of array read
Fixes: d41d8cd98f00b204e9800998ecf8427e/signal_sigsegv_321165b_7641_077dfcd8cbc80b1c0b470c8554cd6ffb.bit
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoaacenc_ltp: use an AR filter for LTP encoding as well
Rostislav Pehlivanov [Sat, 5 Dec 2015 19:06:39 +0000 (19:06 +0000)]
aacenc_ltp: use an AR filter for LTP encoding as well

Seems to work better. Information on why the decoder does this is
lacking.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: fix aac_pred option triggering an error
Rostislav Pehlivanov [Sat, 5 Dec 2015 18:43:17 +0000 (18:43 +0000)]
aacenc: fix aac_pred option triggering an error

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agodoc/encoders.texi: use words intead of numbers to describe option states
Rostislav Pehlivanov [Sat, 5 Dec 2015 18:35:59 +0000 (18:35 +0000)]
doc/encoders.texi: use words intead of numbers to describe option states

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoChangelog: append experimental flag removal to the AAC encoder entry
Rostislav Pehlivanov [Sat, 5 Dec 2015 18:29:10 +0000 (18:29 +0000)]
Changelog: append experimental flag removal to the AAC encoder entry

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoavcodec/dirac_parser: Check that there is a previous PU before accessing it
Michael Niedermayer [Sat, 5 Dec 2015 16:15:38 +0000 (17:15 +0100)]
avcodec/dirac_parser: Check that there is a previous PU before accessing it

Fixes out of array read
Fixes: 99d142c47e6ba3510a74b872a1a2ae72/asan_heap-oob_11b36f4_3811_0f5c69e7609a88a580135678de1df844.dxa
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset
Michael Niedermayer [Sat, 5 Dec 2015 16:14:36 +0000 (17:14 +0100)]
avcodec/dirac_parser: Add basic validity checks for next_pu_offset and prev_pu_offset

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/dirac_parser: Fix potential overflows in pointer checks
Michael Niedermayer [Sat, 5 Dec 2015 16:11:54 +0000 (17:11 +0100)]
avcodec/dirac_parser: Fix potential overflows in pointer checks

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agodoc/encoders.texi: remove forgotten mention of "experimental" from libvo-aacenc
Rostislav Pehlivanov [Sat, 5 Dec 2015 16:38:18 +0000 (16:38 +0000)]
doc/encoders.texi: remove forgotten mention of "experimental" from libvo-aacenc

Previous documentation commit overlooked that particular mention.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: remove the experimental flag
Rostislav Pehlivanov [Sat, 5 Dec 2015 14:45:18 +0000 (14:45 +0000)]
aacenc: remove the experimental flag

Thiss commit removes the experimental flag from the native AAC Encoder
and thus makes it the default.

After a lot of work, done by myself and Claudio Freire, the quality of
this encoder rivals and surpasses libfdk_aac in some situations. The
encoder had instability issues earlier which prevented it from having
its experimental flag removed, however the last commits done by Claudio
removed the last known source of instability and solved a lot of
problems which were previously observed. The issues were caused by the
various coding tools interfering with the scalefactor indices. Thus,
with these problems solved, it should now be possible to declare this
encoder as the default and recommend that the users should use it
instead of others provided by external libraries, as it is both faster
and has a subjectively higher quality with selected tracks.
The encoder has still yet to be fine tuned for every possible audio file
type like music or voice, so it is hoped that with the experimental flag
removed the users should be able to provide feedback and make the
encoder better than the alternatives for every type of audio and at
every bitrate.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agodoc/encoders.texi: update documentation for the native AAC encoder
Rostislav Pehlivanov [Sat, 5 Dec 2015 14:43:17 +0000 (14:43 +0000)]
doc/encoders.texi: update documentation for the native AAC encoder

Since the next commit removes the experimental flag from the encoder
it's better to update the documentation which has been around in its
current form for as long as the encoder itself.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: mark coders other than twoloop as experimental
Rostislav Pehlivanov [Sat, 5 Dec 2015 14:41:41 +0000 (14:41 +0000)]
aacenc: mark coders other than twoloop as experimental

ANMR has some interesting things coming up but is currently not in a
shape fit for non-experimental usage. Same with "FAST".

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoaacenc: mark the "faac"-like coder for removal
Rostislav Pehlivanov [Sat, 5 Dec 2015 14:38:44 +0000 (14:38 +0000)]
aacenc: mark the "faac"-like coder for removal

This coder produces a much lower quality audio than the rest, is much
slower and is unstable. Hasn't been updated for a very long time as
well, hence it is more appropriate to remove it since it also depends on
a big burden of a code (the encode_window_bands_info function which is
just as old, just as unstable and bad and in no way modifiable or
fixable).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
8 years agoavfilter/af_stereotools: check s->length size
Paul B Mahol [Sat, 5 Dec 2015 15:08:29 +0000 (16:08 +0100)]
avfilter/af_stereotools: check s->length size

Signed-off-by: Paul B Mahol <onemda@gmail.com>
8 years agoavcodec/wmaprodec: Check bits per sample to be within the range not causing integer...
Michael Niedermayer [Sat, 5 Dec 2015 12:48:06 +0000 (13:48 +0100)]
avcodec/wmaprodec: Check bits per sample to be within the range not causing integer overflows

Fixes: 549d5aab1480d10f2a775ed90b0342f1/signal_sigabrt_7ffff6ae7cc9_5643_96bbb0cfe3e28be1dadfce1075016345.wma
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agolog: Use a do {} while (0) for dlog
Luca Barbato [Sat, 5 Dec 2015 12:45:01 +0000 (13:45 +0100)]
log: Use a do {} while (0) for dlog

Avoid the warning `-Wempty-body`.

8 years agoimgconvert: Re-enable the deprecation warnings
Luca Barbato [Sat, 5 Dec 2015 12:31:38 +0000 (13:31 +0100)]
imgconvert: Re-enable the deprecation warnings

The end-marked was typoed in

f7edcac040f73635fc1127489c9bb29ca8b43532

8 years agoavcodec/utils: Fix overflow in get_bit_rates computations
Michael Niedermayer [Sat, 5 Dec 2015 12:15:01 +0000 (13:15 +0100)]
avcodec/utils: Fix overflow in get_bit_rates computations

Fixes: 129ca3e28d73af7b1e24a9d4118e7a2d/signal_sigabrt_7ffff6ae7cc9_836_762b310fc3ef6087bd7771e5d8e90b9b.asf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/pcm: Fix overflow in bitrate computation
Michael Niedermayer [Sat, 5 Dec 2015 12:13:10 +0000 (13:13 +0100)]
avcodec/pcm: Fix overflow in bitrate computation

Fixes: 129ca3e28d73af7b1e24a9d4118e7a2d/signal_sigabrt_7ffff6ae7cc9_836_762b310fc3ef6087bd7771e5d8e90b9b.asf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 years agoavcodec/wmaprodec: Fix overflow of cutoff
Michael Niedermayer [Sat, 5 Dec 2015 12:11:23 +0000 (13:11 +0100)]
avcodec/wmaprodec: Fix overflow of cutoff

Fixes: 129ca3e28d73af7b1e24a9d4118e7a2d/signal_sigabrt_7ffff6ae7cc9_836_762b310fc3ef6087bd7771e5d8e90b9b.asf
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>