oggdec: free the ogg streams on read_header failure

Plug an annoying memory leak on broken files.
oggdec: make sure the private parse data is cleaned up
Merge commit '89b51b570daa80e6e3790fcd449fe61fc5574e07'

* commit '89b51b570daa80e6e3790fcd449fe61fc5574e07':
  oggdec: free the ogg streams on read_header failure

Conflicts:
	libavformat/oggdec.c

Original commit this was based on: (this merge just moves the function up)
commit 07a866282f08985c65c47ebabcf7b20f1c46daa0
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Nov 20 15:12:37 2012 +0100

    oggdec: fix memleak on header parsing failure

    Fixes Ticket1931

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  oggdec: make sure the private parse data is cleaned up

Merged-by: Michael Niedermayer <michaelni@gmx.at>
oggparsevorbis: fix vorbis_cleanup return type

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mpeg12: Support decoding dimensions that are a multiple of 4096

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mpeg12enc: Correctly mask dimensions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
mpeg12enc: check dimension validity

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