get_bits: change the failure condition in init_get_bits

Too much code relies in having init_get_bits fed with a valid
buffer and set its dimension to 0.

Check for NULL buffer instead.
dsputil: drop non-compliant "fast" qpel mc functions

Signed-off-by: Diego Biurrun <diego@biurrun.de>
videodsp_armv5te: remove #if HAVE_ARMV5TE_EXTERNAL

libavutil/arm/asm.S sets '.arch' depending on HAVE_ARMV5TE so that
assembling armv5te code will always succeed even if the default -march
flag does not support it. HAVE_ARMV5TE_EXTERNAL tests assembling code
with the default arch.
Fixes the missing symbol ff_prefetch_arm with --cpu= not including
armv5te.

CC: libav-stable@libav.org
ppc: Include string.h for memset

This fixes build failures on ppc machines with a compiler that
supports -Werror=implicit-function-declaration.

Signed-off-by: Martin Storsjö <martin@martin.st>
rtpdec_mpeg4: Return one AAC AU per AVPacket

This makes the returned data valid to stream copy into other
containers as well, not only for decoding straight away.

Signed-off-by: Martin Storsjö <martin@martin.st>
mpegts: Share the cleanup code between the demuxer and lavf-internal parser functions

The lavf-internal parser functions are used when receiving
mpegts over RTP. This fixes memory leaks in this setup.

The normal mpegts demuxer close function was updated in ec7d0d2e in
2004 to fix leaks, but the parsing function used for RTP wasn't
updated and has been leaking ever since.

Signed-off-by: Martin Storsjö <martin@martin.st>
rtpdec: Reorder payload handler registration alphabetically

Signed-off-by: Martin Storsjö <martin@martin.st>
rtpdec: Split mpegts parsing to a normal depacketizer

This gets rid of a number of special cases from the common rtpdec
code.

Signed-off-by: Martin Storsjö <martin@martin.st>
rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer

This also adds checking of mallocs.

Signed-off-by: Martin Storsjö <martin@martin.st>
rtpdec: Move setting the parsing flags to the actual depacketizers

This gets rid of almost all the codec specific details from the
generic rtpdec code.

Signed-off-by: Martin Storsjö <martin@martin.st>
avconv: Increase the SDP buffer size to fit xiph SDPs

Signed-off-by: Martin Storsjö <martin@martin.st>
ppc: vorbisdsp: Drop some unnecessary #includes

Also fixes compilation with AltiVec disabled.
ac3dec: fix non-optimal dithering of zero bit mantissas

Use a noise range of -0.707 to 0.707 instead of -0.5 to 0.5

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
floatdsp: move vector_fmul_add from dsputil to avfloatdsp.
Convert vorbisdsp x86 functions from inline asm to yasm.
Change block_size type from int to intptr_t.

This saves one instruction in the x86-64 assembly.
Use wmv2 IDCT for wmv2 fate tests.
Move wmv idct to its own DSP context.

This allows us to remove FF_IDCT_WMV2, which serves no practical purpose
other than to be able to select the WMV2 IDCT for MPEG (or vice versa)
and get corrupt output.
Put FF_IDCT_{VP3,H264,CAVS,BINK,EA,WMV2} under FF_API_IDCT.

This allows us to get rid of them on the next major bump. All of the
above are functionally irrelevant, and most of them are unused, except
the vp3 one, which is used wrongly in the bfin arch optimizations.
floatdsp: move vector_fmul_reverse from dsputil to avfloatdsp.

Now, nellymoserenc and aacenc no longer depends on dsputil. Independent
of this patch, wmaprodec also does not depend on dsputil, so I removed
it from there also.