smacker: add a clarification notice about audio decoding
lavf: preserve side data when parsing packets.
wavpack: remove the subframes codec cap

The decoder always consumes full packets.
wavpack: drop redundant if/else blocks
wavpack: switch to planar output

This simplifies the code and makes it faster.
wavpack: return 0 instead of samples count from decoding functions

The caller never cares about the number of decoded samples, so this only
confuses the reader.
wavpack: add an error message to a failure.
wavpack: remove a useless check.

Number of samples in the first block is checked to be strictly positive
earlier in wavpack_decode_frame() and number of samples in all the other
blocks is checked to be equal to the first one.
wavpack: return an error on 0-sized blocks

Such blocks are not valid.
wavpack: remove a useless parameter from wavpack_decode_block().

The decoder always returns output if an error does not occur.
wavpack: don't set sample format in init.

We don't know whether it will be float until we look at the data.
wavpack demuxer: export full wavpack blocks.

Currently the demuxer shaves the blocks and exports only the
information that is useful to the decoder.

Exporting the blocks just as they are stored is simpler to understand
and will make remuxing wavpack easier.
matroskadec: export full wavpack blocks.

This allows us to get rid of demuxer-specific hacks in the decoder and
will allow streamcopy from matroska once we have a wavpack muxer.
smacker: assign video frame PTS
vc1dec: Shuffle field MVs after decoding, not before

This simplifies the code since copying MVs to the reference is not needed
anymore (and maybe something about fixing artifacts).

Also remove the unused mv_f_last.

Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos.

Signed-off-by: Martin Storsjö <martin@martin.st>
vc1dec: Redesign the intensity compensation

Use the intensity-compensated reference frame for subsequent
fields/B-frames.

Since we currently don't change the reference frame we have to
maintain lookup tables for intensity compensation in the following
dependent frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
vc1dec: Implement intensity compensation for vc1_interp_mc()

Signed-off-by: Martin Storsjö <martin@martin.st>
vc1: Use shuffled use_ic instead of equally shuffled mv_mode

Signed-off-by: Martin Storsjö <martin@martin.st>
vc1dec: Drop old use_ic code from vc1_b_mc

Signed-off-by: Martin Storsjö <martin@martin.st>
vc1dec: Fix doxy for vc1_mc_4mv_chroma4()

Signed-off-by: Martin Storsjö <martin@martin.st>