configure: Do not use pthread_create to check for pthread

Certain instrumentation addons leads to a false positive in configure
and link failures at the end of the build phase.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
dcadec: Add some logging before returning on error

Based on a patch by Michael Niedermayer.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
avcodec/mpeg4video: fix doxycomments so they are not associated with random unrelated fields

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'f058f384a0d76bfd125f4738dceab7c890186432'

* commit 'f058f384a0d76bfd125f4738dceab7c890186432':
  configure: Do not use pthread_create to check for pthread

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  dcadec: Add some logging before returning on error

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
version.sh: add a little usage comment

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
version.sh: add preprocessing guards

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
build: rename version.h to libavutil/ffversion.h

Also the libavutil/ffversion.h will be installed.

Rationale:
* Applications might want to know FFmpeg's version besides the individual
  libraries'.
* Avoids file name clash between FFmpeg's ./version.h and lib*/version.h when
  a library source file includes both and is compiled on an out-of-tree build.

Fixes #1769.

Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Makefile: remove version.h on distclean

Without this nothing will remove it even if it isnt generated in newer
versions anymore.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
vp9: use proper refcounting.

Based on something similar in libav. Author is likely Anton Khirnov
<anton@khirnov.net> but I'm not sure.
vp9: split packet parsing into an AVParser.
vp9: move some entries out of VP9Block into VP9Context.

They aren't really block-related variables in the sense that they are
not block-coded, rather they are state trackers.
vp9: split last/cur_frame from the reference buffers.

We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.
vp9: allocate 'b', 'block/uvblock' and 'eob/uveob' dynamically.
vp9: add a 2-pass decoding mode, and add frame-mt support.

For a random 1080p sample, decoding time went from 9.7sec (1 threads)
to 6.0sec (2 threads) and 5.2sec (4 threads) in 2-pass decoding mode.
I don't have any samples that use the parallelmode feature, but the
gains should be higher.
vp9: cosmetics.
vp9: add fate sample for parallelmode.

This disables backward probability updates, which makes the codec more
friendly for frame-level multi-threading.
vp9: add a new segmentation sample.

The old one didn't use segmentation. One uses segmentation in all frame
types (--aq-mode=1), and the other uses all segmentation features, but
only in inter frames (mbgraph).
vp9: make decode_coeffs() return value void.

It was previously int and would return error if decode_coeffs_b()
returns an error; however, that can never happen, so refactor all
that code to make all dependent functions return void also (all the
way up to decode_coeffs_sb()).