1 |
sping 11/05/07 00:02:07 |
2 |
|
3 |
Added: blender-2.57-CVE-2009-3850-v1.patch |
4 |
blender-2.57-glew.patch |
5 |
blender-2.57-libav-0.7.patch |
6 |
blender-2.57-desktop.patch |
7 |
blender-2.57-doxygen.patch blender-2.57-eigen.patch |
8 |
blender-2.57-bmake.patch |
9 |
Log: |
10 |
media-gfx/blender: Bump to 2.57 (bugs #312593, #364291) |
11 |
|
12 |
(Portage version: 2.1.9.46/cvs/Linux x86_64) |
13 |
|
14 |
Revision Changes Path |
15 |
1.1 media-gfx/blender/files/blender-2.57-CVE-2009-3850-v1.patch |
16 |
|
17 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-CVE-2009-3850-v1.patch?rev=1.1&view=markup |
18 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-CVE-2009-3850-v1.patch?rev=1.1&content-type=text/plain |
19 |
|
20 |
Index: blender-2.57-CVE-2009-3850-v1.patch |
21 |
=================================================================== |
22 |
From dfb6ecd9a4a129b976b7a8d2002e32146125340f Mon Sep 17 00:00:00 2001 |
23 |
From: Sebastian Pipping <sebastian@×××××××.org> |
24 |
Date: Sun, 24 Apr 2011 18:26:47 +0200 |
25 |
Subject: [PATCH] Disable execution of embedded Python code unless run with |
26 |
--enable-autoexec|-y|-666 (CVE-2009-3850) |
27 |
|
28 |
--- |
29 |
source/blender/blenkernel/intern/blender.c | 3 ++- |
30 |
source/blender/makesrna/intern/rna_userdef.c | 9 ++++++--- |
31 |
source/blender/windowmanager/intern/wm_files.c | 3 ++- |
32 |
source/creator/creator.c | 10 ++++++---- |
33 |
4 files changed, 16 insertions(+), 9 deletions(-) |
34 |
|
35 |
diff --git a/source/blender/blenkernel/intern/blender.c b/source/blender/blenkernel/intern/blender.c |
36 |
index 5f08505..9c27ac7 100644 |
37 |
--- a/source/blender/blenkernel/intern/blender.c |
38 |
+++ b/source/blender/blenkernel/intern/blender.c |
39 |
@@ -141,7 +141,8 @@ void initglobals(void) |
40 |
G.charmin = 0x0000; |
41 |
G.charmax = 0xffff; |
42 |
|
43 |
- G.f |= G_SCRIPT_AUTOEXEC; |
44 |
+ G.f &= ~G_SCRIPT_AUTOEXEC; |
45 |
+ G.f |= G_SCRIPT_OVERRIDE_PREF; /* Disables turning G_SCRIPT_AUTOEXEC on from user prefs */ |
46 |
} |
47 |
|
48 |
/***/ |
49 |
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c |
50 |
index e9a9ddc..a120857 100644 |
51 |
--- a/source/blender/makesrna/intern/rna_userdef.c |
52 |
+++ b/source/blender/makesrna/intern/rna_userdef.c |
53 |
@@ -99,9 +99,12 @@ static void rna_userdef_show_manipulator_update(Main *bmain, Scene *scene, Point |
54 |
|
55 |
static void rna_userdef_script_autoexec_update(Main *bmain, Scene *scene, PointerRNA *ptr) |
56 |
{ |
57 |
- UserDef *userdef = (UserDef*)ptr->data; |
58 |
- if (userdef->flag & USER_SCRIPT_AUTOEXEC_DISABLE) G.f &= ~G_SCRIPT_AUTOEXEC; |
59 |
- else G.f |= G_SCRIPT_AUTOEXEC; |
60 |
+ if ((G.f & G_SCRIPT_OVERRIDE_PREF) == 0) { |
61 |
+ /* Blender run with --enable-autoexec */ |
62 |
+ UserDef *userdef = (UserDef*)ptr->data; |
63 |
+ if (userdef->flag & USER_SCRIPT_AUTOEXEC_DISABLE) G.f &= ~G_SCRIPT_AUTOEXEC; |
64 |
+ else G.f |= G_SCRIPT_AUTOEXEC; |
65 |
+ } |
66 |
} |
67 |
|
68 |
static void rna_userdef_mipmap_update(Main *bmain, Scene *scene, PointerRNA *ptr) |
69 |
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c |
70 |
index f4f7af0..c1bacc6 100644 |
71 |
--- a/source/blender/windowmanager/intern/wm_files.c |
72 |
+++ b/source/blender/windowmanager/intern/wm_files.c |
73 |
@@ -270,7 +270,8 @@ static void wm_init_userdef(bContext *C) |
74 |
|
75 |
/* set the python auto-execute setting from user prefs */ |
76 |
/* enabled by default, unless explicitly enabled in the command line which overrides */ |
77 |
- if((G.f & G_SCRIPT_OVERRIDE_PREF) == 0) { |
78 |
+ if (! G.background && ((G.f & G_SCRIPT_OVERRIDE_PREF) == 0)) { |
79 |
+ /* Blender run with --enable-autoexec */ |
80 |
if ((U.flag & USER_SCRIPT_AUTOEXEC_DISABLE) == 0) G.f |= G_SCRIPT_AUTOEXEC; |
81 |
else G.f &= ~G_SCRIPT_AUTOEXEC; |
82 |
} |
83 |
diff --git a/source/creator/creator.c b/source/creator/creator.c |
84 |
index c687cc2..1da282f 100644 |
85 |
--- a/source/creator/creator.c |
86 |
+++ b/source/creator/creator.c |
87 |
@@ -278,6 +278,7 @@ static int print_help(int UNUSED(argc), const char **UNUSED(argv), void *data) |
88 |
|
89 |
printf("\n"); |
90 |
|
91 |
+ BLI_argsPrintArgDoc(ba, "-666"); |
92 |
BLI_argsPrintArgDoc(ba, "--enable-autoexec"); |
93 |
BLI_argsPrintArgDoc(ba, "--disable-autoexec"); |
94 |
|
95 |
@@ -359,14 +360,14 @@ static int end_arguments(int UNUSED(argc), const char **UNUSED(argv), void *UNUS |
96 |
static int enable_python(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data)) |
97 |
{ |
98 |
G.f |= G_SCRIPT_AUTOEXEC; |
99 |
- G.f |= G_SCRIPT_OVERRIDE_PREF; |
100 |
+ G.f &= ~G_SCRIPT_OVERRIDE_PREF; /* Enables turning G_SCRIPT_AUTOEXEC off from user prefs */ |
101 |
return 0; |
102 |
} |
103 |
|
104 |
static int disable_python(int UNUSED(argc), const char **UNUSED(argv), void *UNUSED(data)) |
105 |
{ |
106 |
G.f &= ~G_SCRIPT_AUTOEXEC; |
107 |
- G.f |= G_SCRIPT_OVERRIDE_PREF; |
108 |
+ G.f |= G_SCRIPT_OVERRIDE_PREF; /* Disables turning G_SCRIPT_AUTOEXEC on from user prefs */ |
109 |
return 0; |
110 |
} |
111 |
|
112 |
@@ -1075,8 +1076,9 @@ static void setupArguments(bContext *C, bArgs *ba, SYS_SystemHandle *syshandle) |
113 |
|
114 |
BLI_argsAdd(ba, 1, "-v", "--version", "\n\tPrint Blender version and exit", print_version, NULL); |
115 |
|
116 |
- BLI_argsAdd(ba, 1, "-y", "--enable-autoexec", "\n\tEnable automatic python script execution (default)", enable_python, NULL); |
117 |
- BLI_argsAdd(ba, 1, "-Y", "--disable-autoexec", "\n\tDisable automatic python script execution (pydrivers, pyconstraints, pynodes)", disable_python, NULL); |
118 |
+ BLI_argsAdd(ba, 1, NULL, "-666", "\n\tEnable automatic python script execution (port from CVE-2009-3850 patch to Blender 2.49b)", enable_python, NULL); |
119 |
+ BLI_argsAdd(ba, 1, "-y", "--enable-autoexec", "\n\tEnable automatic python script execution", enable_python, NULL); |
120 |
+ BLI_argsAdd(ba, 1, "-Y", "--disable-autoexec", "\n\tDisable automatic python script execution (pydrivers, pyconstraints, pynodes) (default)", disable_python, NULL); |
121 |
|
122 |
BLI_argsAdd(ba, 1, "-b", "--background", "<file>\n\tLoad <file> in background (often used for UI-less rendering)", background_mode, NULL); |
123 |
|
124 |
-- |
125 |
1.7.5.rc1 |
126 |
|
127 |
|
128 |
|
129 |
|
130 |
1.1 media-gfx/blender/files/blender-2.57-glew.patch |
131 |
|
132 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-glew.patch?rev=1.1&view=markup |
133 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-glew.patch?rev=1.1&content-type=text/plain |
134 |
|
135 |
Index: blender-2.57-glew.patch |
136 |
=================================================================== |
137 |
--- extern/SConscript |
138 |
+++ extern/SConscript |
139 |
@@ -2,8 +2,6 @@ |
140 |
|
141 |
Import('env') |
142 |
|
143 |
-SConscript(['glew/SConscript']) |
144 |
- |
145 |
if env['WITH_BF_BULLET']: |
146 |
SConscript(['bullet2/src/SConscript']) |
147 |
|
148 |
--- source/blender/editors/include/BIF_gl.h |
149 |
+++ source/blender/editors/include/BIF_gl.h |
150 |
@@ -31,7 +31,7 @@ |
151 |
#ifndef BIF_GL_H |
152 |
#define BIF_GL_H |
153 |
|
154 |
-#include "GL/glew.h" |
155 |
+#include <GL/glew.h> |
156 |
|
157 |
/* |
158 |
* these should be phased out. cpack should be replaced in |
159 |
|
160 |
|
161 |
|
162 |
1.1 media-gfx/blender/files/blender-2.57-libav-0.7.patch |
163 |
|
164 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-libav-0.7.patch?rev=1.1&view=markup |
165 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-libav-0.7.patch?rev=1.1&content-type=text/plain |
166 |
|
167 |
Index: blender-2.57-libav-0.7.patch |
168 |
=================================================================== |
169 |
diff -burN blender-2.57.orig//intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp blender-2.57/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp |
170 |
--- blender-2.57.orig//intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2011-04-14 17:06:35.000000000 +0200 |
171 |
+++ blender-2.57/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp 2011-05-04 01:44:30.184004582 +0200 |
172 |
@@ -64,15 +64,10 @@ |
173 |
|
174 |
// read samples from the packet |
175 |
data_size = buf_size - buf_pos; |
176 |
- /*read_length = avcodec_decode_audio3(m_codecCtx, |
177 |
+ read_length = avcodec_decode_audio3(m_codecCtx, |
178 |
(int16_t*)(((data_t*)buffer.getBuffer())+buf_pos), |
179 |
&data_size, |
180 |
- packet);*/ |
181 |
- read_length = avcodec_decode_audio2(m_codecCtx, |
182 |
- (int16_t*)(((data_t*)buffer.getBuffer()) + buf_pos), |
183 |
- &data_size, |
184 |
- audio_pkg_data, |
185 |
- audio_pkg_size); |
186 |
+ packet); |
187 |
|
188 |
// read error, next packet! |
189 |
if(read_length < 0) |
190 |
@@ -112,7 +107,7 @@ |
191 |
|
192 |
for(unsigned int i = 0; i < m_formatCtx->nb_streams; i++) |
193 |
{ |
194 |
- if((m_formatCtx->streams[i]->codec->codec_type == CODEC_TYPE_AUDIO) |
195 |
+ if((m_formatCtx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) |
196 |
&& (m_stream < 0)) |
197 |
{ |
198 |
m_stream=i; |
199 |
diff -burN blender-2.57.orig//source/blender/blenkernel/intern/writeffmpeg.c blender-2.57/source/blender/blenkernel/intern/writeffmpeg.c |
200 |
--- blender-2.57.orig//source/blender/blenkernel/intern/writeffmpeg.c 2011-04-14 17:17:03.000000000 +0200 |
201 |
+++ blender-2.57/source/blender/blenkernel/intern/writeffmpeg.c 2011-05-04 03:36:08.365219076 +0200 |
202 |
@@ -163,7 +163,7 @@ |
203 |
} |
204 |
|
205 |
pkt.stream_index = audio_stream->index; |
206 |
- pkt.flags |= PKT_FLAG_KEY; |
207 |
+ pkt.flags |= AV_PKT_FLAG_KEY; |
208 |
if (av_interleaved_write_frame(outfile, &pkt) != 0) { |
209 |
fprintf(stderr, "Error writing audio packet!\n"); |
210 |
return -1; |
211 |
@@ -290,7 +290,7 @@ |
212 |
fprintf(stderr, "Video Frame PTS: not set\n"); |
213 |
} |
214 |
if (c->coded_frame->key_frame) |
215 |
- packet.flags |= PKT_FLAG_KEY; |
216 |
+ packet.flags |= AV_PKT_FLAG_KEY; |
217 |
packet.stream_index = video_stream->index; |
218 |
packet.data = video_buffer; |
219 |
packet.size = outsize; |
220 |
@@ -396,7 +396,7 @@ |
221 |
switch(prop->type) { |
222 |
case IDP_STRING: |
223 |
fprintf(stderr, "%s.\n", IDP_String(prop)); |
224 |
- rv = av_set_string(c, prop->name, IDP_String(prop)); |
225 |
+ av_set_string3(c, prop->name, IDP_String(prop), 0, &rv); |
226 |
break; |
227 |
case IDP_FLOAT: |
228 |
fprintf(stderr, "%g.\n", IDP_Float(prop)); |
229 |
@@ -407,7 +407,7 @@ |
230 |
|
231 |
if (param) { |
232 |
if (IDP_Int(prop)) { |
233 |
- rv = av_set_string(c, name, param); |
234 |
+ av_set_string3(c, name, param, 0, &rv); |
235 |
} else { |
236 |
return; |
237 |
} |
238 |
@@ -461,7 +461,7 @@ |
239 |
|
240 |
c = get_codec_from_stream(st); |
241 |
c->codec_id = codec_id; |
242 |
- c->codec_type = CODEC_TYPE_VIDEO; |
243 |
+ c->codec_type = AVMEDIA_TYPE_VIDEO; |
244 |
|
245 |
|
246 |
/* Get some values from the current render settings */ |
247 |
@@ -519,7 +519,7 @@ |
248 |
c->pix_fmt = PIX_FMT_YUV422P; |
249 |
} |
250 |
|
251 |
- if (codec_id == CODEC_ID_XVID) { |
252 |
+ if (codec_id == CODEC_ID_MPEG4) { |
253 |
/* arghhhh ... */ |
254 |
c->pix_fmt = PIX_FMT_YUV420P; |
255 |
c->codec_tag = (('D'<<24) + ('I'<<16) + ('V'<<8) + 'X'); |
256 |
@@ -588,7 +588,7 @@ |
257 |
|
258 |
c = get_codec_from_stream(st); |
259 |
c->codec_id = codec_id; |
260 |
- c->codec_type = CODEC_TYPE_AUDIO; |
261 |
+ c->codec_type = AVMEDIA_TYPE_AUDIO; |
262 |
|
263 |
c->sample_rate = rd->ffcodecdata.audio_mixrate; |
264 |
c->bit_rate = ffmpeg_audio_bitrate*1000; |
265 |
@@ -666,13 +666,13 @@ |
266 |
BKE_report(reports, RPT_ERROR, "No valid formats found."); |
267 |
return 0; |
268 |
} |
269 |
- fmt = guess_format(NULL, exts[0], NULL); |
270 |
+ fmt = av_guess_format(NULL, exts[0], NULL); |
271 |
if (!fmt) { |
272 |
BKE_report(reports, RPT_ERROR, "No valid formats found."); |
273 |
return 0; |
274 |
} |
275 |
|
276 |
- of = av_alloc_format_context(); |
277 |
+ of = avformat_alloc_context(); |
278 |
if (!of) { |
279 |
BKE_report(reports, RPT_ERROR, "Error opening output file"); |
280 |
return 0; |
281 |
@@ -713,7 +713,7 @@ |
282 |
fmt->video_codec = CODEC_ID_H264; |
283 |
break; |
284 |
case FFMPEG_XVID: |
285 |
- fmt->video_codec = CODEC_ID_XVID; |
286 |
+ fmt->video_codec = CODEC_ID_MPEG4; |
287 |
break; |
288 |
case FFMPEG_FLV: |
289 |
fmt->video_codec = CODEC_ID_FLV1; |
290 |
@@ -834,7 +834,7 @@ |
291 |
fprintf(stderr, "Video Frame PTS: not set\n"); |
292 |
} |
293 |
if (c->coded_frame->key_frame) { |
294 |
- packet.flags |= PKT_FLAG_KEY; |
295 |
+ packet.flags |= AV_PKT_FLAG_KEY; |
296 |
} |
297 |
packet.stream_index = video_stream->index; |
298 |
packet.data = video_buffer; |
299 |
@@ -1314,7 +1314,7 @@ |
300 |
case FFMPEG_PRESET_XVID: |
301 |
if(preset == FFMPEG_PRESET_XVID) { |
302 |
rd->ffcodecdata.type = FFMPEG_AVI; |
303 |
- rd->ffcodecdata.codec = CODEC_ID_XVID; |
304 |
+ rd->ffcodecdata.codec = CODEC_ID_MPEG4; |
305 |
} |
306 |
else if(preset == FFMPEG_PRESET_THEORA) { |
307 |
rd->ffcodecdata.type = FFMPEG_OGG; // XXX broken |
308 |
@@ -1357,7 +1357,7 @@ |
309 |
} |
310 |
} |
311 |
else if(rd->imtype == R_XVID) { |
312 |
- if(rd->ffcodecdata.codec != CODEC_ID_XVID) { |
313 |
+ if(rd->ffcodecdata.codec != CODEC_ID_MPEG4) { |
314 |
ffmpeg_set_preset(rd, FFMPEG_PRESET_XVID); |
315 |
audio= 1; |
316 |
} |
317 |
diff -burN blender-2.57.orig//source/blender/imbuf/intern/anim_movie.c blender-2.57/source/blender/imbuf/intern/anim_movie.c |
318 |
--- blender-2.57.orig//source/blender/imbuf/intern/anim_movie.c 2011-04-14 17:19:18.000000000 +0200 |
319 |
+++ blender-2.57/source/blender/imbuf/intern/anim_movie.c 2011-05-04 03:33:56.724566283 +0200 |
320 |
@@ -566,7 +566,7 @@ |
321 |
videoStream=-1; |
322 |
for(i=0; i<pFormatCtx->nb_streams; i++) |
323 |
if(get_codec_from_stream(pFormatCtx->streams[i])->codec_type |
324 |
- == CODEC_TYPE_VIDEO) { |
325 |
+ == AVMEDIA_TYPE_VIDEO) { |
326 |
videoStream=i; |
327 |
break; |
328 |
} |
329 |
@@ -830,10 +830,10 @@ |
330 |
&& position - (anim->curposition + 1) < anim->preseek) { |
331 |
while(av_read_frame(anim->pFormatCtx, &packet)>=0) { |
332 |
if (packet.stream_index == anim->videoStream) { |
333 |
- avcodec_decode_video( |
334 |
+ avcodec_decode_video2( |
335 |
anim->pCodecCtx, |
336 |
anim->pFrame, &frameFinished, |
337 |
- packet.data, packet.size); |
338 |
+ &packet); |
339 |
|
340 |
if (frameFinished) { |
341 |
anim->curposition++; |
342 |
@@ -915,9 +915,9 @@ |
343 |
|
344 |
while(av_read_frame(anim->pFormatCtx, &packet)>=0) { |
345 |
if(packet.stream_index == anim->videoStream) { |
346 |
- avcodec_decode_video(anim->pCodecCtx, |
347 |
+ avcodec_decode_video2(anim->pCodecCtx, |
348 |
anim->pFrame, &frameFinished, |
349 |
- packet.data, packet.size); |
350 |
+ &packet); |
351 |
|
352 |
if (seek_by_bytes && preseek_count > 0) { |
353 |
preseek_count--; |
354 |
diff -burN blender-2.57.orig//source/blender/imbuf/intern/util.c blender-2.57/source/blender/imbuf/intern/util.c |
355 |
--- blender-2.57.orig//source/blender/imbuf/intern/util.c 2011-04-14 17:19:18.000000000 +0200 |
356 |
+++ blender-2.57/source/blender/imbuf/intern/util.c 2011-05-04 02:15:26.369208909 +0200 |
357 |
@@ -292,7 +292,7 @@ |
358 |
for(i=0; i<pFormatCtx->nb_streams; i++) |
359 |
if(pFormatCtx->streams[i] && |
360 |
get_codec_from_stream(pFormatCtx->streams[i]) && |
361 |
- (get_codec_from_stream(pFormatCtx->streams[i])->codec_type==CODEC_TYPE_VIDEO)) |
362 |
+ (get_codec_from_stream(pFormatCtx->streams[i])->codec_type==AVMEDIA_TYPE_VIDEO)) |
363 |
{ |
364 |
videoStream=i; |
365 |
break; |
366 |
diff -burN blender-2.57.orig//source/blender/makesrna/intern/rna_scene.c blender-2.57/source/blender/makesrna/intern/rna_scene.c |
367 |
--- blender-2.57.orig//source/blender/makesrna/intern/rna_scene.c 2011-04-14 17:18:53.000000000 +0200 |
368 |
+++ blender-2.57/source/blender/makesrna/intern/rna_scene.c 2011-05-04 02:19:10.326319453 +0200 |
369 |
@@ -2135,7 +2135,7 @@ |
370 |
{CODEC_ID_HUFFYUV, "HUFFYUV", 0, "HuffYUV", ""}, |
371 |
{CODEC_ID_DVVIDEO, "DV", 0, "DV", ""}, |
372 |
{CODEC_ID_H264, "H264", 0, "H.264", ""}, |
373 |
- {CODEC_ID_XVID, "XVID", 0, "Xvid", ""}, |
374 |
+ {CODEC_ID_MPEG4, "XVID", 0, "Xvid", ""}, |
375 |
{CODEC_ID_THEORA, "THEORA", 0, "Theora", ""}, |
376 |
{CODEC_ID_FLV1, "FLASH", 0, "Flash Video", ""}, |
377 |
{CODEC_ID_FFV1, "FFV1", 0, "FFmpeg video codec #1", ""}, |
378 |
diff -burN blender-2.57.orig//source/gameengine/VideoTexture/VideoFFmpeg.cpp blender-2.57/source/gameengine/VideoTexture/VideoFFmpeg.cpp |
379 |
--- blender-2.57.orig//source/gameengine/VideoTexture/VideoFFmpeg.cpp 2011-04-14 17:13:34.000000000 +0200 |
380 |
+++ blender-2.57/source/gameengine/VideoTexture/VideoFFmpeg.cpp 2011-05-04 02:49:31.147348425 +0200 |
381 |
@@ -182,7 +182,7 @@ |
382 |
{ |
383 |
if(formatCtx->streams[i] && |
384 |
get_codec_from_stream(formatCtx->streams[i]) && |
385 |
- (get_codec_from_stream(formatCtx->streams[i])->codec_type==CODEC_TYPE_VIDEO)) |
386 |
+ (get_codec_from_stream(formatCtx->streams[i])->codec_type==AVMEDIA_TYPE_VIDEO)) |
387 |
{ |
388 |
videoStream=i; |
389 |
break; |
390 |
@@ -368,9 +368,9 @@ |
391 |
BLI_remlink(&video->m_packetCacheBase, cachePacket); |
392 |
// use m_frame because when caching, it is not used in main thread |
393 |
// we can't use currentFrame directly because we need to convert to RGB first |
394 |
- avcodec_decode_video(video->m_codecCtx, |
395 |
+ avcodec_decode_video2(video->m_codecCtx, |
396 |
video->m_frame, &frameFinished, |
397 |
- cachePacket->packet.data, cachePacket->packet.size); |
398 |
+ &cachePacket->packet); |
399 |
if(frameFinished) |
400 |
{ |
401 |
AVFrame * input = video->m_frame; |
402 |
@@ -641,7 +641,7 @@ |
403 |
if (m_captRate <= 0.f) |
404 |
m_captRate = defFrameRate; |
405 |
sprintf(rateStr, "%f", m_captRate); |
406 |
- av_parse_video_frame_rate(&frameRate, rateStr); |
407 |
+ av_parse_video_rate(&frameRate, rateStr); |
408 |
// populate format parameters |
409 |
// need to specify the time base = inverse of rate |
410 |
formatParams.time_base.num = frameRate.den; |
411 |
@@ -924,10 +924,10 @@ |
412 |
{ |
413 |
if (packet.stream_index == m_videoStream) |
414 |
{ |
415 |
- avcodec_decode_video( |
416 |
+ avcodec_decode_video2( |
417 |
m_codecCtx, |
418 |
m_frame, &frameFinished, |
419 |
- packet.data, packet.size); |
420 |
+ &packet); |
421 |
if (frameFinished) |
422 |
{ |
423 |
m_curPosition = (long)((packet.dts-startTs) * (m_baseFrameRate*timeBase) + 0.5); |
424 |
@@ -999,9 +999,9 @@ |
425 |
{ |
426 |
if(packet.stream_index == m_videoStream) |
427 |
{ |
428 |
- avcodec_decode_video(m_codecCtx, |
429 |
+ avcodec_decode_video2(m_codecCtx, |
430 |
m_frame, &frameFinished, |
431 |
- packet.data, packet.size); |
432 |
+ &packet); |
433 |
// remember dts to compute exact frame number |
434 |
dts = packet.dts; |
435 |
if (frameFinished && !posFound) |
436 |
diff -burN blender-2.57.orig//source/gameengine/VideoTexture/VideoFFmpeg.h blender-2.57/source/gameengine/VideoTexture/VideoFFmpeg.h |
437 |
--- blender-2.57.orig//source/gameengine/VideoTexture/VideoFFmpeg.h 2011-04-14 17:13:34.000000000 +0200 |
438 |
+++ blender-2.57/source/gameengine/VideoTexture/VideoFFmpeg.h 2011-05-04 03:11:53.106002831 +0200 |
439 |
@@ -34,6 +34,7 @@ |
440 |
#include <libavformat/avformat.h> |
441 |
#include <libavcodec/avcodec.h> |
442 |
#include <libavutil/rational.h> |
443 |
+#include <libavutil/parseutils.h> |
444 |
#include <libswscale/swscale.h> |
445 |
#include "DNA_listBase.h" |
446 |
#include "BLI_threads.h" |
447 |
|
448 |
|
449 |
|
450 |
1.1 media-gfx/blender/files/blender-2.57-desktop.patch |
451 |
|
452 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-desktop.patch?rev=1.1&view=markup |
453 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-desktop.patch?rev=1.1&content-type=text/plain |
454 |
|
455 |
Index: blender-2.57-desktop.patch |
456 |
=================================================================== |
457 |
--- release/freedesktop/blender.desktop 2010-09-12 00:05:51.000000000 -0700 |
458 |
+++ release/freedesktop/blender.desktop 2010-09-12 00:07:32.000000000 -0700 |
459 |
@@ -1,5 +1,5 @@ |
460 |
[Desktop Entry] |
461 |
-Name=Blender |
462 |
+Name=Blender-2.5 |
463 |
GenericName=3D modeller |
464 |
GenericName[es]=modelador 3D |
465 |
GenericName[de]=3D Modellierer |
466 |
@@ -7,8 +7,8 @@ |
467 |
GenericName[ru]=Редактор 3D-моделей |
468 |
Comment=3D modeling, animation, rendering and post-production |
469 |
Comment[es]=modelado 3D, animación, renderizado y post-producción |
470 |
-Exec=blender |
471 |
-Icon=blender |
472 |
+Exec=blender-2.5 |
473 |
+Icon=blender-2.5.svg |
474 |
Terminal=false |
475 |
Type=Application |
476 |
Categories=Graphics;3DGraphics; |
477 |
|
478 |
|
479 |
|
480 |
1.1 media-gfx/blender/files/blender-2.57-doxygen.patch |
481 |
|
482 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-doxygen.patch?rev=1.1&view=markup |
483 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-doxygen.patch?rev=1.1&content-type=text/plain |
484 |
|
485 |
Index: blender-2.57-doxygen.patch |
486 |
=================================================================== |
487 |
--- doc/doxygen/Doxyfile 2011-02-19 18:51:40.216999981 +0100 |
488 |
+++ doc/doxygen/Doxyfile 2011-02-19 18:57:46.628999965 +0100 |
489 |
@@ -559,26 +559,26 @@ |
490 |
# The QUIET tag can be used to turn on/off the messages that are generated |
491 |
# by doxygen. Possible values are YES and NO. If left blank NO is used. |
492 |
|
493 |
-QUIET = NO |
494 |
+QUIET = YES |
495 |
|
496 |
# The WARNINGS tag can be used to turn on/off the warning messages that are |
497 |
# generated by doxygen. Possible values are YES and NO. If left blank |
498 |
# NO is used. |
499 |
|
500 |
-WARNINGS = YES |
501 |
+WARNINGS = NO |
502 |
|
503 |
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings |
504 |
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will |
505 |
# automatically be disabled. |
506 |
|
507 |
-WARN_IF_UNDOCUMENTED = YES |
508 |
+WARN_IF_UNDOCUMENTED = NO |
509 |
|
510 |
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for |
511 |
# potential errors in the documentation, such as not documenting some |
512 |
# parameters in a documented function, or documenting parameters that |
513 |
# don't exist or using markup commands wrongly. |
514 |
|
515 |
-WARN_IF_DOC_ERROR = YES |
516 |
+WARN_IF_DOC_ERROR = NO |
517 |
|
518 |
# The WARN_NO_PARAMDOC option can be enabled to get warnings for |
519 |
# functions that are documented, but have no documentation for their parameters |
520 |
|
521 |
|
522 |
|
523 |
1.1 media-gfx/blender/files/blender-2.57-eigen.patch |
524 |
|
525 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-eigen.patch?rev=1.1&view=markup |
526 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-eigen.patch?rev=1.1&content-type=text/plain |
527 |
|
528 |
Index: blender-2.57-eigen.patch |
529 |
=================================================================== |
530 |
--- intern/itasc/SConscript 2009-09-26 09:14:02.000000000 +0200 |
531 |
+++ intern/itasc/SConscript 2009-09-26 09:14:54.000000000 +0200 |
532 |
@@ -5,7 +5,8 @@ |
533 |
sources += env.Glob('kdl/*.cpp') |
534 |
sources += env.Glob('kdl/utilities/*.cpp') |
535 |
|
536 |
-incs = '. ../../extern/Eigen2' |
537 |
+#incs = '. ../../extern/Eigen2' |
538 |
+incs = '. /usr/include/eigen2' |
539 |
|
540 |
env.BlenderLib ('bf_ITASC', sources, Split(incs), [], libtype=['intern','player'], priority=[20,100] ) |
541 |
|
542 |
--- source/blender/ikplugin/SConscript |
543 |
+++ source/blender/ikplugin/SConscript |
544 |
@@ -4,6 +4,6 @@ |
545 |
sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp') |
546 |
|
547 |
incs = '#/intern/guardedalloc #/intern/iksolver/extern ../makesdna ../blenlib' |
548 |
-incs += ' ../blenkernel ../include ../ikplugin #/intern/itasc #/extern/Eigen2' |
549 |
+incs += ' ../blenkernel ../include ../ikplugin #/intern/itasc /usr/include/eigen2' |
550 |
|
551 |
env.BlenderLib ( 'bf_ikplugin', sources, Split(incs), [], libtype=['core','player'], priority=[180, 190] ) |
552 |
|
553 |
|
554 |
|
555 |
1.1 media-gfx/blender/files/blender-2.57-bmake.patch |
556 |
|
557 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-bmake.patch?rev=1.1&view=markup |
558 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/media-gfx/blender/files/blender-2.57-bmake.patch?rev=1.1&content-type=text/plain |
559 |
|
560 |
Index: blender-2.57-bmake.patch |
561 |
=================================================================== |
562 |
--- release/plugins/bmake 2010-03-21 17:44:20.500741049 +0100 |
563 |
+++ release/plugins/bmake 2010-03-21 17:44:33.659740173 +0100 |
564 |
@@ -57,10 +57,10 @@ |
565 |
LDFLAGS="-Bshareable"; |
566 |
elif ( test $UNAME = "Linux" ) then |
567 |
CC="gcc"; |
568 |
- CFLAGS="-fPIC -funsigned-char -O2"; |
569 |
+# CFLAGS="-fPIC -funsigned-char -O2"; |
570 |
|
571 |
LD="ld"; |
572 |
- LDFLAGS="-Bshareable"; |
573 |
+# LDFLAGS="-Bshareable"; |
574 |
elif ( test $UNAME = "SunOS" ) then |
575 |
CC="cc"; |
576 |
CFLAGS="-O"; |