Merge pull request #2133 from oioitff/atrac-fix

Max sample number for atrac3plus should be 0x800.
Merge pull request #2137 from oioitff/atrac-fix

A tiny mistake in low level atrac3 decode.
Merge pull request #2136 from oioitff/mpeg-fix

PsmfPlayer seems to step video and sync in scePsmfPlayerGetVideoData.
Armjit: Combine mul.s + neg.s to VNMUL. Implement VNMUL, VNMLA, VNMLS.
I had implemented mul.s + add/sub.s + add/sub.s -> VADD/VSUB + V(N)ML(A/S). Turns out it doesn't happen enough though (once or twice per game).
project file fix: Set LTCG to default, as suggested in #2138.
Return a more accurate mpeg ringbuffer decode pos.
Don't allow sceMpegInit() twice.
Delay sceMpegCreate() a bit to match PSP firmware.
Apparently, return 1 is not needed now.  Hurray.
Don't read more than total packets per mpeg put.

And add notes on how it's supposed to really work.
Make sure to decode reordered mpeg frames.
Set video end only when we run out of frames.
Don't use m_pFrame->pkt_duration directly.

Docs say you're supposed to call this func instead.
Cut down on void *'s for easier debugging.

Nice to be able to see inside structs with the debugger.
Try to handle video end more correctly.
Calculate packets left based on decode, not read.

This seems to be more correct.  Fixes #2039.
Fix crash in sceKernelGetThreadmanIdType().
Detect audio end separately from video end.

Fixes Crisis Core, broken by Wipeout Pure fix.
Merge pull request #2143 from unknownbrackets/mpeg-fix

Improvements to sceMpeg: fix end cutoff, early audio end, and minor
Add sceAudiocodec stuff