summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-14 12:51:55 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-10-14 12:51:55 +0000
commitfc499bc5362f8c866426b3d9b3b68cab8c351886 (patch)
treefdae5a298a1156f8219c27a9a6c3bc4923fd1453 /libmpcodecs
parent1162a169a121bad0dcf91239b7d9afa0e2dd616a (diff)
downloadmpv-fc499bc5362f8c866426b3d9b3b68cab8c351886.tar.bz2
mpv-fc499bc5362f8c866426b3d9b3b68cab8c351886.tar.xz
put M4S2 & MP4S headers in avctx->extradata (in the unlikely case that they arent missing completly)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7737 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/vd_ffmpeg.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libmpcodecs/vd_ffmpeg.c b/libmpcodecs/vd_ffmpeg.c
index efcfbc7ba6..01ab2de994 100644
--- a/libmpcodecs/vd_ffmpeg.c
+++ b/libmpcodecs/vd_ffmpeg.c
@@ -229,6 +229,14 @@ static int init(sh_video_t *sh){
// printf("%X %X %d %d\n", extrahdr[0], extrahdr[1]);
}
+ if (sh->bih && (sh->bih->biSize != sizeof(BITMAPINFOHEADER)) &&
+ (sh->format == mmioFOURCC('M','4','S','2') ||
+ sh->format == mmioFOURCC('M','P','4','S')))
+ {
+ avctx->extradata_size = sh->bih->biSize-sizeof(BITMAPINFOHEADER);
+ avctx->extradata = malloc(avctx->extradata_size);
+ memcpy(avctx->extradata, sh->bih+1, avctx->extradata_size);
+ }
/* open it */
if (avcodec_open(avctx, lavc_codec) < 0) {