[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19199] trunk/blender/extern/ffmpeg: FFmpeg update: fix bug in V5 and V6 codec; enable PNG support for VideoTexture.
Benoit Bolsee
benoit.bolsee at online.be
Thu Mar 5 15:30:36 CET 2009
Revision: 19199
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19199
Author: ben2610
Date: 2009-03-05 15:30:36 +0100 (Thu, 05 Mar 2009)
Log Message:
-----------
FFmpeg update: fix bug in V5 and V6 codec; enable PNG support for VideoTexture. Note: V5/V6 bug fix is copied from ffmpeg SVN. PNG support is obtained by enabling zlib on configure command line.
Modified Paths:
--------------
trunk/blender/extern/ffmpeg/Makefile
trunk/blender/extern/ffmpeg/SConscript
trunk/blender/extern/ffmpeg/libavcodec/vp5.c
trunk/blender/extern/ffmpeg/libavcodec/vp56.c
trunk/blender/extern/ffmpeg/libavcodec/vp6.c
Modified: trunk/blender/extern/ffmpeg/Makefile
===================================================================
--- trunk/blender/extern/ffmpeg/Makefile 2009-03-05 12:09:30 UTC (rev 19198)
+++ trunk/blender/extern/ffmpeg/Makefile 2009-03-05 14:30:36 UTC (rev 19199)
@@ -35,7 +35,7 @@
ALLDIRS = libavcodec libavformat libavutil libswscale libavdevice
config::
- ./configure --disable-shared --enable-liba52bin --enable-gpl --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscale --enable-pthreads
+ ./configure --disable-shared --enable-liba52bin --enable-gpl --enable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscale --enable-pthreads
all::
@for i in $(ALLDIRS); do \
echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
Modified: trunk/blender/extern/ffmpeg/SConscript
===================================================================
--- trunk/blender/extern/ffmpeg/SConscript 2009-03-05 12:09:30 UTC (rev 19198)
+++ trunk/blender/extern/ffmpeg/SConscript 2009-03-05 14:30:36 UTC (rev 19199)
@@ -7,9 +7,9 @@
root = "extern/ffmpeg"
if env['OURPLATFORM'] == 'win32-mingw':
- ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscale --enable-pthreads --enable-libx264 --enable-libxvid --enable-libmp3lame"
+ ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --enable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscale --enable-pthreads --enable-libx264 --enable-libxvid --enable-libmp3lame"
else:
- ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --disable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscale --enable-memalign-hack --enable-libx264 --enable-libxvid --enable-libmp3lame"
+ ffmpeg_switches = "--disable-shared --enable-liba52bin --enable-gpl --enable-zlib --disable-vhook --disable-ffserver --disable-ffplay --enable-swscale --enable-memalign-hack --enable-libx264 --enable-libxvid --enable-libmp3lame"
if env['OURPLATFORM'] == 'darwin':
ffmpeg_switches += " --disable-mmx"
Modified: trunk/blender/extern/ffmpeg/libavcodec/vp5.c
===================================================================
--- trunk/blender/extern/ffmpeg/libavcodec/vp5.c 2009-03-05 12:09:30 UTC (rev 19198)
+++ trunk/blender/extern/ffmpeg/libavcodec/vp5.c 2009-03-05 14:30:36 UTC (rev 19199)
@@ -58,12 +58,14 @@
vp56_rac_gets(c, 8); /* number of displayed macroblock rows */
vp56_rac_gets(c, 8); /* number of displayed macroblock cols */
vp56_rac_gets(c, 2);
- if (16*cols != s->avctx->coded_width ||
+ if (!s->macroblocks || /* first frame */
+ 16*cols != s->avctx->coded_width ||
16*rows != s->avctx->coded_height) {
avcodec_set_dimensions(s->avctx, 16*cols, 16*rows);
return 2;
}
- }
+ } else if (!s->macroblocks)
+ return 0;
return 1;
}
Modified: trunk/blender/extern/ffmpeg/libavcodec/vp56.c
===================================================================
--- trunk/blender/extern/ffmpeg/libavcodec/vp56.c 2009-03-05 12:09:30 UTC (rev 19198)
+++ trunk/blender/extern/ffmpeg/libavcodec/vp56.c 2009-03-05 14:30:36 UTC (rev 19199)
@@ -656,8 +656,6 @@
dsputil_init(&s->dsp, avctx);
ff_init_scantable(s->dsp.idct_permutation, &s->scantable,ff_zigzag_direct);
- avcodec_set_dimensions(avctx, 0, 0);
-
for (i=0; i<4; i++)
s->framep[i] = &s->frames[i];
s->framep[VP56_FRAME_UNUSED] = s->framep[VP56_FRAME_GOLDEN];
Modified: trunk/blender/extern/ffmpeg/libavcodec/vp6.c
===================================================================
--- trunk/blender/extern/ffmpeg/libavcodec/vp6.c 2009-03-05 12:09:30 UTC (rev 19198)
+++ trunk/blender/extern/ffmpeg/libavcodec/vp6.c 2009-03-05 14:30:36 UTC (rev 19199)
@@ -75,7 +75,8 @@
/* buf[4] is number of displayed macroblock rows */
/* buf[5] is number of displayed macroblock cols */
- if (16*cols != s->avctx->coded_width ||
+ if (!s->macroblocks || /* first frame */
+ 16*cols != s->avctx->coded_width ||
16*rows != s->avctx->coded_height) {
avcodec_set_dimensions(s->avctx, 16*cols, 16*rows);
if (s->avctx->extradata_size == 1) {
@@ -135,6 +136,8 @@
if (coeff_offset) {
buf += coeff_offset;
buf_size -= coeff_offset;
+ if (buf_size < 0)
+ return 0;
if (s->use_huffman) {
s->parse_coeff = vp6_parse_coeff_huffman;
init_get_bits(&s->gb, buf, buf_size<<3);
More information about the Bf-blender-cvs
mailing list