libavcodec: new API for frame threading by step

The new _progress3 functions allow reporting the x,y position in
decoding.

ff_thread_report_progress3_raster_end allows signaling the end of
a raster line and updates unconditionally the position to the
start of next raster line.

ff_thread_report_progress3_increment tries to increment position
if it lies on the same raster line as current position.
hevc: use new step progress API

Use new API without introducing changes to synchronization points,
i.e. same behaviour.
hevc: actual benefits from new step threading API

The new API allows tracking the position of the first raster line
being decoded, so allow updating it whenever SAO is called.
hevc: use new step threading API for DBF-only cases

In that case, there's an offset of 4 between the CTB line and the
raster line.
x86: hevc_mc: compute filter pointer once

Currently, a more complex than needed addressing is used instead.
x86: vp9intrapred: prepare to share pw_4096

hevc will need it too.
x86: hevc_deblock: use memory operand / pmulhrsw
x264asm: warn when inappropriate instruction used in function with specified cpuflags

Signed-off-by: Christophe Gisquet <christophe.gisquet@gmail.com>
x86: hevc_mc: convert to ssse3

The only sse4 instruction is pextrw, which is used on rather minor
functions for small blocks. Therefore use whichever GPR is available
to extract the output word.

Before (sse4), for block_w == 6:
4627 decicycles in epel_uni, 16377 runs, 7 skips
7422 decicycles in epel_bi, 65501 runs, 35 skips

After:
4649 decicycles in epel_uni, 16371 runs, 13 skips
7432 decicycles in epel_bi, 65505 runs, 31 skips
x86: hevc_mc: reimplement SSE4 versions for WP

*pel values below are decicyle timings, hevc* are object sizes
for Win64.
       qpel    epel      hevc_mc  hevcdsp_init
SSSE3: 68702   14469     116624   185388
SSE4:  65907   13811     121312   300996

Note: without 10 and 12bits, the object sizes are respectively:
       hevc_mc  hevcdsp_init
SSSE3: 39920    59028
SSE4:  41408    97948
x86: hevcdsp: add intrinsic versions of idct.
x86: hevc: add intrinsic version of some intra pred
x86: hevcdsp: add intrinsic versions of SAO
x86: hevc_mc: remove non necessary moves

Slight adaption of patch from Mickael Raulet.