Ensure the array variable is NULLed when free'ed.
Support GEOV video (MPEG4).
Fix a few cppcheck warnings
Fix uninitialized scalar values

Fixes CID #1086903
Ensure extradata is available before freeing it.

Fixes CID #1086897
Don't run the audio deinterleaving for real audio on a flush.

Fixes CID #1086895
Remove unused variables

Fixes CID #1041218, #1041217
Initialize variable in constructor

Fixes CID ##1041212
Initialize alpha value to 0

Fixes CID #1041174
Move demuxer init down to where its needed.

This avoids a resource leak in an error case.
Fixes CID #1041164
Free memory on failure

Fixes CID #1041160
De-allocate the memory buffer when the registry value could not be read.

Fixes CID #1041155
Initialize class members

Fixes CID #1041204, #1041212, #1041203, #966280
Make VS2012 the default build environment.
Produce better debug symbols in release builds.

Reference:
https://randomascii.wordpress.com/2013/09/11/debugging-optimized-codenew-in-visual-studio-2012/
Propose a RGB mediatype with negative height on connect.

This can help the renderer/post-processor to pick the "proper" type,
so that flipping RGB images can be avoided.
Add support for THP MJPEG
Update ffmpeg for assert fix in avi
Fix 16-bit DVD LPCM decoding

Fixes Issue #392
Fix playback of DVD LPCM with other source filters or other decoders.