configure: prettify atomics handling.

Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
configure: Check for the atomic.h functions used in the suncc atomics header

The "suncc" atomics implementation uses a suncc specific memory
barrier, but also relies on a few atomic functions from atomic.h,
that are not suncc specific but specific to solaris. This made
the current implementation fail on suncc on linux.
avfiltergraph: check for sws opts being non-NULL before using them.

Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
clang: use -fsantize=address and -fsanitize=thread

The previous syntax is deprecated.
matroska: Update the available size after lace parsing

Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

CC: libav-stable@libav.org

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
matroska: fix a corner case in ebml-lace parsing

Make sure we notice when the lace_size[n] is a negative value.

CC: libav-stable@libav.org
matroska: pass the lace size to the matroska_parse_rm_audio

Each lace must be independent according to the specification.

Fix heap-buffer-overflow in matroska_parse_block for
corrupted real media in mkv files.

Stricter check than fc43c19a567aa945398dccb491d972c11ec2a065

CC: libav-stable@libav.org
rv34dsp: rearrange parameters to loop filter strength functions.

This should allow simpler code for x86 SIMD implementations.
rv40dsp x86: start implementing loop filter strength functions

x86_32/64 cycle counts:
v: 66/57 -> 33/31 cycles
h: 60/47 -> 43/35 cycles
rv40dsp: distinguish non-edge/edge versions.

This allows more optimized DSP functions and better results for the inlining
of rv40_loop_filter_strength.

Timing of the older C functions:
      32  64
h:    60  47
v:    66  57
New timing:
h_ne: 45  36
h_e:  81  64
v_ne: 42  33
v_e:  74  53
rv40dsp x86: implement edge/non-edge versions of strength functions

Timing of the older MMX2 functions:
      32  64
h:    43  35
v:    33  31
New timing:
h_ne: 27  24
h_e:  35  31
v_ne: 28  27
v_e:  41  32
rv40dsp: always inline inloop filter

3% speedup on x86-64.
rv40dsp x86: implement MMX2 rv34_inv_transform

Not bitexact with input:
-2554  11   0   0
    0   0   0   0
    0   0   0   0
    0   0   0   0

C output:
 -629 -631 -634 -636
 -629 -631 -634 -636
 -629 -631 -634 -636
 -629 -631 -634 -636
MMX2 output:
  619 617 614 612
  619 617 614 612
  619 617 614 612
  619 617 614 612

First cause is output of row transform:
-33202 -33202 -33202 -33202
143 143 143 143
  0   0   0   0
  0   0   0   0

I suspect the original decoder to saturate (as it does for normal idct).
rv34 x86 dsp: disable inaccurate MMX2 rv34_inv_transform

See previous commit.