lavr: use 8.8 instead of 10.6 as the 16-bit fixed-point mixing coeff type
twinvq: fix out of bounds array access

ModeTab.fmode has only 3 elements, so indexing it with ftype
in the initialier for 'size' is invalid when ftype == FT_PPC.

This fixes crashes with gcc 4.8.

Signed-off-by: Mans Rullgard <mans@mansr.com>
pcm_bluray: set bits_per_raw_sample for > 16-bit

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
indeo3: fix motion vector validation

The index of the motion vector has to be checked before being
multiplied by 2 for the array index.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
arm: intreadwrite: fix inline asm constraints for gcc 4.6 and later

With a dereferenced type-cast pointer as memory operand, gcc 4.6
and later will sometimes copy the data to a temporary location,
the address of which is used as the operand value, if it thinks
the target address might be misaligned.  Using a pointer to a
packed struct type instead does the right thing.

The 16-bit case is special since the ldrh instruction addressing
modes are limited compared to ldr.  The "Uq" constraint produces a
memory reference suitable for an ldrsb instruction, which supports
the same addressing modes as ldrh.  However, the restrictions appear
to apply only when the operand addresses a single byte.  The memory
reference must thus be split into two operands each targeting one
byte.  Finally, the "Uq" constraint is only available in ARM mode.
The Thumb-2 ldrh instruction supports most addressing modes so the
normal "m" constraint can be used there.

Signed-off-by: Mans Rullgard <mans@mansr.com>
arm: intreadwrite: disable inline asm for gcc 4.7 and later

Starting with version 4.7, gcc properly supports unaligned
memory accesses on ARM.  Not using the inline asm with these
compilers results in better code.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  arm: intreadwrite: disable inline asm for gcc 4.7 and later
  arm: intreadwrite: fix inline asm constraints for gcc 4.6 and later
  indeo3: fix motion vector validation
  pcm_bluray: set bits_per_raw_sample for > 16-bit
  twinvq: fix out of bounds array access
  lavr: use 8.8 instead of 10.6 as the 16-bit fixed-point mixing coeff type

Conflicts:
	doc/APIchanges
	libavcodec/indeo3.c
	libavcodec/pcm-mpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
lavfi/drawtext: alphabetically sort the expression parameters
doc/filters: fix location of "rate" and "timecode" drawtext options

They are options, not expression parameters.
doc/filters: document x and y drawtext expression parameters
doc/filters: document rand() drawtext expression function
lavfi/drawtext: rename and document variables d_expr and d_pexpr

Use the more expressive names draw_expr and draw_pexpr, also more
consistent.
doc/filters: document drawtext draw expression
lavfi/drawtext: give a new alias "timecode_rate" to the the r/rate option

The option is related to the timecode, the new name clearly specifies the
context. Also it allows to list the option close to the other timecode
options.
doc/filters: consistently use '"' for quoting the drawtext arguments in examples
examples/decoding_encoding: fix encoding when all frames got buffered.

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