vp56: Remove clear_blocks call, and clear alpha plane U/V DC only

The non-alpha and alpha-Y planes are cleared in the idct_put/add()
calls. For the alpha U/V planes, we only care about the DC for entropy
context prediction purposes, the rest of the data is unused.

Signed-off-by: Martin Storsjö <martin@martin.st>
x86: Use simple nop codes for <= sse (rather than <= mmx)

The "CentaurHauls family 6 model 9 stepping 8" family of CPUs
(flags: fpu vme de pse tsc msr cx8 sep mtrr pge mov pat mmx fxsr sse
up rng rng_en ace ace_en) SIGILLs on long nop codes.

Signed-off-by: Martin Storsjö <martin@martin.st>
h264chroma: Remove duplicate 9/10 bit functions

These functions do the same thing in 16 bit space and don't need
any depth specific clipping.

Signed-off-by: Martin Storsjö <martin@martin.st>
h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil

These functions are mostly H264-specific (the only other user I can
spot is bink), and this allows us to special-case some functionality
for H264. Also remove the 16-bit-coeff with >8bpp versions (unused)
and merge the duplicate 32-bit-coeff for >8bpp (identical).

Signed-off-by: Martin Storsjö <martin@martin.st>
get_bits: Return pointer to buffer that is the result of the alignment

This allows more transparent mixing of get_bits and whole-byte access
without having to touch get_bits internals.

Signed-off-by: Martin Storsjö <martin@martin.st>
h264: Don't store intra pcm samples in h->mb

Instead, keep them in the bitstream buffer until we read them verbatim,
this saves a memcpy() and a subsequent clearing of the target buffer.
decode_cabac+decode_mb for a sample file (CAPM3_Sony_D.jsv) goes from
6121.4 to 6095.5 cycles, i.e. 26 cycles faster.

Signed-off-by: Martin Storsjö <martin@martin.st>
h264/svq3: Stop using draw_edges

Instead, only extend edges on-demand when the motion vector actually
crosses the visible decoded area using ff_emulated_edge_mc(). This
changes decoding time for cathedral from 8.722sec to 8.706sec, i.e.
0.2% faster overall. More generally (VP8 uses this also), low-motion
content gets significant speed improvements, whereas high-motion content
tends to decode in approximately the same time.

Signed-off-by: Martin Storsjö <martin@martin.st>
h264: Get rid of unnecessary casts

This gets rid of a number of warnings about casts discarding
qualifiers from the pointer target, present since 7ebfb466a.

Signed-off-by: Martin Storsjö <martin@martin.st>
build: Ensure that output directories for header objects are created
intreadwrite: tomi: Add missing attributes.h #include for av_always_inline
h264: add videodsp dependency.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec_align_dimensions2: Ensure cinepak has large enough buffers.

This is partly redundant with the following patches, but its safer

Found-by: u-bo1b@0w.se
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
cinepak: Use correct colorspace.

The new code is also faster and more robust.

As for the performance:

old decoder + conversion to rgb:         fps = 2618
old decoder, without converting to rgb:  fps = 4012

new decoder, producing rgb:              fps = 4502

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
cinepak: simplify

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
cinepak: More correct Cinepak decoder.

change the treatment of the strip y coordinates which previously did
not follow the description (nor did it behave like the binary decoder
on files with absolute strip offsets).

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

* commit 'e5ffffe48d20642acc079166f0fa7d93a6a9f594':
  h264chroma: Remove duplicate 9/10 bit functions
  x86: Use simple nop codes for <= sse (rather than <= mmx)
  vp56: Remove clear_blocks call, and clear alpha plane U/V DC only

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '2ed008204d5467be03a0a3af1e293b2f7038d0a0'

* commit '2ed008204d5467be03a0a3af1e293b2f7038d0a0':
  h264: Add add_pixels4/8() to h264dsp, and remove add_pixels4 from dsputil

Conflicts:
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264_mb_template.c
	libavcodec/h264addpx_template.c
	libavcodec/h264dsp.c
	libavcodec/h264dsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
lavfi/hue: simplify parsing by making use of option shorthands
lavfi/hue: reindent after previous commit
doc: filters: Correct BNF FILTER description

Signed-off-by: Diego Biurrun <diego@biurrun.de>