diff options
author | Peter Schlaile <peter@schlaile.de> | 2006-02-05 22:12:25 +0300 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2006-02-05 22:12:25 +0300 |
commit | 1ce9e196f7c4b76da9a5cf3c789fe6ff2cada2e2 (patch) | |
tree | 9faa8ce7ac2cc377b28dd609d84b1120782cd731 /source/blender/blenkernel/intern/writeavi.c | |
parent | 4f59db9ca17630a0289a953574303b77fccb46ff (diff) |
Adds support for frameserver rendering to blender. This is done by
integrating a mini-webserver (around 300 lines of code) into blender.
Using the VFAPI-plugin in contrib/windows it enables blender to
directly feed its output into TMPGEnc, a commercial high quality MPEG-Encoder.
Since it is a mini-webserver, you can probably easily use it for other
interfacing purposes.
Diffstat (limited to 'source/blender/blenkernel/intern/writeavi.c')
-rw-r--r-- | source/blender/blenkernel/intern/writeavi.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/writeavi.c b/source/blender/blenkernel/intern/writeavi.c index eb559df89e7..8c39e5f46c9 100644 --- a/source/blender/blenkernel/intern/writeavi.c +++ b/source/blender/blenkernel/intern/writeavi.c @@ -57,6 +57,12 @@ #include "BIF_writeavicodec.h" #endif +#ifdef WITH_FFMPEG +#include "BKE_writeffmpeg.h" +#endif + +#include "BKE_writeframeserver.h" + bMovieHandle *BKE_get_movie_handle(int imtype) { static bMovieHandle mh; @@ -65,6 +71,7 @@ bMovieHandle *BKE_get_movie_handle(int imtype) mh.start_movie= start_avi; mh.append_movie= append_avi; mh.end_movie= end_avi; + mh.get_next_frame = 0; /* do the platform specific handles */ #ifdef __sgi @@ -86,6 +93,19 @@ bMovieHandle *BKE_get_movie_handle(int imtype) mh.end_movie= end_qt; } #endif +#ifdef WITH_FFMPEG + if (imtype == R_FFMPEG) { + mh.start_movie = start_ffmpeg; + mh.append_movie = append_ffmpeg; + mh.end_movie = end_ffmpeg; + } +#endif + if (imtype == R_FRAMESERVER) { + mh.start_movie = start_frameserver; + mh.append_movie = append_frameserver; + mh.end_movie = end_frameserver; + mh.get_next_frame = frameserver_loop; + } return &mh; } |