1. making RenderData, xrect, yrect parameters in AviCodec calls
authorJens Ole Wund <bjornmose@gmx.net>
Sun, 29 Jan 2006 17:46:19 +0000 (17:46 +0000)
committerJens Ole Wund <bjornmose@gmx.net>
Sun, 29 Jan 2006 17:46:19 +0000 (17:46 +0000)
2. fixing MSVC6 projects to build

projectfiles/blender/blenkernel/BKE_blenkernel.dsp
projectfiles/blender/blenlib/BLI_blenlib.dsp
source/blender/blenkernel/intern/writeavi.c
source/blender/include/BIF_writeavicodec.h
source/blender/src/writeavicodec.c

index e884117ce3e69292bcabf907e99ee0c237327bf3..0d36747951a952f7d6669f2ab2390f65081abcfd 100644 (file)
@@ -42,8 +42,8 @@ RSC=rc.exe
 # PROP Output_Dir "..\..\..\obj\windows\blender\blenkernel"
 # PROP Intermediate_Dir "..\..\..\obj\windows\blender\blenkernel"
 # PROP Target_Dir ""
-MTL=midl.exe
 LINK32=link.exe -lib
+MTL=midl.exe
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
 # ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\..\lib\windows\decimation\include" /I "../../../../lib/windows/zlib/include" /I "..\..\..\intern\elbeem\extern" /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\source\blender\renderconverter" /I "..\..\..\source\blender\render\extern\include" /I "..\..\..\source\blender\avi" /I "..\..\..\source\blender\imbuf" /I "..\..\..\source\kernel\gen_system" /I "..\..\..\source\blender\blenloader" /I "..\..\..\source\blender" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\makesdna" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\blenlib" /I "../../../source/gameengine\SoundSystem\\" /I "../../../../lib/windows/iksolver/include" /I "../../../../lib/windows/bsp/include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WITH_FREETYPE2" /D "USE_CCGSUBSURFLIB" /YX /J /FD /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -67,8 +67,8 @@ LIB32=link.exe -lib
 # PROP Output_Dir "..\..\..\obj\windows\blender\blenkernel\debug"
 # PROP Intermediate_Dir "..\..\..\obj\windows\blender\blenkernel\debug"
 # PROP Target_Dir ""
-MTL=midl.exe
 LINK32=link.exe -lib
+MTL=midl.exe
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
 # ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\lib\windows\decimation\include" /I "../../../../lib/windows/zlib/include" /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\source\blender\renderconverter" /I "..\..\..\source\blender\render\extern\include" /I "..\..\..\source\blender\avi" /I "..\..\..\source\blender\imbuf" /I "..\..\..\source\kernel\gen_system" /I "..\..\..\source\blender\blenloader" /I "..\..\..\source\blender" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\makesdna" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\blenlib" /I "../../../source/gameengine\SoundSystem\\" /I "../../../../lib/windows/iksolver/include" /I "../../../../lib/windows/bsp/include" /I "..\..\..\intern\elbeem\extern" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WITH_FREETYPE2" /YX /J /FD /GZ /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
@@ -92,8 +92,8 @@ LIB32=link.exe -lib
 # PROP Output_Dir "..\..\..\obj\windows\blender\blenkernel\mtdll_debug"
 # PROP Intermediate_Dir "..\..\..\obj\windows\blender\blenkernel\mtdll_debug"
 # PROP Target_Dir ""
-MTL=midl.exe
 LINK32=link.exe -lib
+MTL=midl.exe
 # ADD BASE CPP /nologo /Gm /GX /ZI /Od /I "..\..\..\source\blender\render\extern\include" /I "..\..\..\source\blender\avi" /I "..\..\..\source\blender\imbuf" /I "..\..\..\source\kernel\gen_system" /I "..\..\..\source\gameengine\soundsystem" /I "..\..\..\source\gameengine\soundsystem\snd_openal" /I "..\..\..\source\blender\blenloader" /I "..\..\..\source\blender" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\makesdna" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\blenlib" /I "..\..\..\source\gameengine\soundsystem\snd_blenderwavecache" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /GZ /c
 # SUBTRACT BASE CPP /WX
 # ADD CPP /nologo /MDd /Gm /GX /ZI /Od /I "..\..\..\source\blenloader" /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\source\blender\renderconverter" /I "..\..\..\source\blender\render\extern\include" /I "..\..\..\source\blender\avi" /I "..\..\..\source\blender\imbuf" /I "..\..\..\source\kernel\gen_system" /I "..\..\..\source\blender\blenloader" /I "..\..\..\source\blender" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\makesdna" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\blenlib" /I "../../../source/gameengine\SoundSystem\\" /I "../../../../lib/windows/iksolver/include" /I "../../../../lib/windows/bsp/include" /I "..\..\..\intern\elbeem\extern" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /GZ /c
@@ -119,8 +119,8 @@ LIB32=link.exe -lib
 # PROP Output_Dir "..\..\..\obj\windows\blender\blenkernel\mtdll"
 # PROP Intermediate_Dir "..\..\..\obj\windows\blender\blenkernel\mtdll"
 # PROP Target_Dir ""
-MTL=midl.exe
 LINK32=link.exe -lib
+MTL=midl.exe
 # ADD BASE CPP /nologo /GX /O2 /I "..\..\..\source\blender\render\extern\include" /I "..\..\..\source\blender\avi" /I "..\..\..\source\blender\imbuf" /I "..\..\..\source\kernel\gen_system" /I "..\..\..\source\gameengine\soundsystem" /I "..\..\..\source\gameengine\soundsystem\snd_openal" /I "..\..\..\source\blender\blenloader" /I "..\..\..\source\blender" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\makesdna" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\blenlib" /I "..\..\..\source\gameengine\soundsystem\snd_blenderwavecache" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /c
 # ADD CPP /nologo /MD /GX /O2 /I "..\..\..\source\gameengine\soundsystem" /I "..\..\..\source\gameengine\soundsystem\snd_openal" /I "..\..\..\source\gameengine\soundsystem\snd_blenderwavecache" /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\source\blender\renderconverter" /I "..\..\..\source\blender\render\extern\include" /I "..\..\..\source\blender\avi" /I "..\..\..\source\blender\imbuf" /I "..\..\..\source\kernel\gen_system" /I "..\..\..\source\blender\blenloader" /I "..\..\..\source\blender" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\makesdna" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\blenlib" /I "../../../source/gameengine\SoundSystem\\" /I "../../../../lib/windows/iksolver/include" /I "../../../../lib/windows/bsp/include" /I "..\..\..\intern\elbeem\extern" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /J /FD /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
@@ -261,7 +261,7 @@ SOURCE=..\..\..\source\blender\blenkernel\intern\node.c
 # End Source File
 # Begin Source File
 
-SOURCE=..\..\..\source\blender\blenkernel\intern\node_composit.c
+SOURCE=..\..\..\source\blender\blenkernel\intern\node_composite.c
 # End Source File
 # Begin Source File
 
index 8505d17eb7fa8c8890b00fc3e22cdfba7048f7de..66e7c0a332027b7ea14b3c914a50fb61086547ea 100644 (file)
@@ -45,7 +45,7 @@ RSC=rc.exe
 MTL=midl.exe
 LINK32=link.exe -lib
 # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\..\lib\windows\freetype\include" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenlib" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\makesdna" /I "../../../../lib/windows/zlib/include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WITH_FREETYPE2" /J /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\..\lib\windows\freetype\include" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenlib" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\makesdna" /I "../../../../lib/windows/zlib/include" /I "..\..\..\..\lib\windows\sdl\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WITH_FREETYPE2" /J /FD /c
 # ADD BASE RSC /l 0x409 /d "NDEBUG"
 # ADD RSC /l 0x409 /d "NDEBUG"
 BSC32=bscmake.exe
@@ -70,7 +70,7 @@ LIB32=link.exe -lib
 MTL=midl.exe
 LINK32=link.exe -lib
 # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\..\lib\windows\freetype\include" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenlib" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\makesdna" /I "../../../../lib/windows/zlib/include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WITH_FREETYPE2" /J /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\lib\windows\guardedalloc\include" /I "..\..\..\..\lib\windows\freetype\include" /I "..\..\..\source\blender\include" /I "..\..\..\source\blender\blenlib" /I "..\..\..\source\blender\blenkernel" /I "..\..\..\source\blender\python" /I "..\..\..\source\blender\makesdna" /I "../../../../lib/windows/zlib/include" /I "..\..\..\..\lib\windows\sdl\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "WITH_FREETYPE2" /J /FD /GZ /c
 # ADD BASE RSC /l 0x409 /d "_DEBUG"
 # ADD RSC /l 0x409 /d "_DEBUG"
 BSC32=bscmake.exe
@@ -215,6 +215,10 @@ SOURCE=..\..\..\source\blender\blenlib\intern\storage.c
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\source\blender\blenlib\intern\threads.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\source\blender\blenlib\intern\time.c
 # End Source File
 # Begin Source File
index d754a694d5d0127b0434b6215a6f041fee661710..eb559df89e78ca11b45e254c90fad41d4dedf841 100644 (file)
@@ -44,7 +44,6 @@
 
 #include "BKE_global.h"
 #include "BKE_writeavi.h"
-
 #include "AVI_avi.h"
 
 
 #include "quicktime_export.h"
 #endif
 
+#if defined(_WIN32) && !defined(FREE_WINDOWS)
+#include "BIF_writeavicodec.h"
+#endif
+
 bMovieHandle *BKE_get_movie_handle(int imtype)
 {
        static bMovieHandle mh;
@@ -70,8 +73,10 @@ bMovieHandle *BKE_get_movie_handle(int imtype)
        }
 #endif
 #if defined(_WIN32) && !defined(FREE_WINDOWS)
-       if (imtype == R_AVICODEC) {
-               
+       if (imtype == R_AVICODEC) {             
+               mh.start_movie= start_avi_codec;
+               mh.append_movie= append_avi_codec;
+               mh.end_movie= end_avi_codec;
        }
 #endif
 #ifdef WITH_QUICKTIME
index ff347fe494cc537e8871d7643ce4c3f93aee9632..5b8ccdce4e23761e75ddb1cd131b721f54aad132 100644 (file)
@@ -35,8 +35,8 @@
 
 #ifdef _WIN32
 
-void start_avi_codec(void);
-void append_avi_codec(int frame);
+void start_avi_codec(RenderData *rd,int rectx, int recty );
+void append_avi_codec(int frame,int *pixels,int rectx, int recty);
 void end_avi_codec(void);
 int get_avicodec_settings(void);
 
index 83b0f4660498dbb211658c2b2d9b3fedec5ab24c..2e84840beea6fd105dda25989cc5272baf87cfae 100644 (file)
  * 
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #if defined(_WIN32) && !defined(FREE_WINDOWS)
 
 #define  INC_OLE2
@@ -50,6 +54,7 @@
 #include "MEM_guardedalloc.h"
 #include "BLI_blenlib.h"
 #include "DNA_userdef_types.h"
+#include "DNA_scene_types.h"
 
 #include "BKE_global.h"
 #include "BKE_scene.h"
@@ -68,12 +73,11 @@ static int avifileinitdone = 0;
 static PAVISTREAM psUncompressed = NULL, psCompressed = NULL;
 
 // function definitions
-static void init_bmi(BITMAPINFOHEADER *bmi);
-static void opts_to_acd(struct AviCodecData *acd);
-static void acd_to_opts(struct AviCodecData *acd);
+static void init_bmi(BITMAPINFOHEADER *bmi,int rectx, int recty );
+static void opts_to_acd(AviCodecData *acd);
+static void acd_to_opts(AviCodecData *acd);
 static void free_opts_data();
-static int open_avi_codec_file(char * name);
-extern struct Render R;
+static int open_avi_codec_file(char * name,RenderData *rd,int rectx, int recty );
 
 ///////////////////////////////////////////////////////////////////////////
 //
@@ -492,19 +496,19 @@ HRESULT STDMETHODCALLTYPE AVIBallDelete       (PAVISTREAM ps, LONG lStart, LONG
 
 
 //////////////////////////////////////
-static void init_bmi(BITMAPINFOHEADER *bmi)
+static void init_bmi(BITMAPINFOHEADER *bmi,int rectx, int recty )
 {
        memset(bmi, 0, sizeof(BITMAPINFOHEADER));
        bmi->biSize = sizeof(BITMAPINFOHEADER);
-       bmi->biWidth = R.rectx;
-       bmi->biHeight = R.recty;
+       bmi->biWidth = rectx;
+       bmi->biHeight = recty;
        bmi->biPlanes = 1;
        bmi->biBitCount = 24;
        bmi->biSizeImage = bmi->biWidth * bmi->biHeight * sizeof(RGBTRIPLE);
 }
 
 
-static void opts_to_acd(struct AviCodecData *acd)
+static void opts_to_acd(AviCodecData *acd)
 {
        HIC hic;
        ICINFO icinfo;
@@ -543,7 +547,7 @@ static void opts_to_acd(struct AviCodecData *acd)
 }
 
 
-static void acd_to_opts(struct AviCodecData *acd)
+static void acd_to_opts(AviCodecData *acd)
 {
        memset(&opts, 0, sizeof(opts));
        if (acd) {
@@ -581,7 +585,7 @@ static void free_opts_data()
        }
 }
 
-static int open_avi_codec_file(char * name)
+static int open_avi_codec_file(char * name,RenderData *rd,int rectx, int recty )
 {
        HRESULT hr;
        WORD wVer;
@@ -606,7 +610,7 @@ static int open_avi_codec_file(char * name)
                        ret_val = 1;
                } else {
                        // initialize the BITMAPINFOHEADER 
-                       init_bmi(&bmi);
+                       init_bmi(&bmi,rectx,recty);
                        // and associate a stream with the input images
                        memset(&strhdr, 0, sizeof(strhdr));
                        strhdr.fccType                = streamtypeVIDEO;        // stream type
@@ -614,7 +618,7 @@ static int open_avi_codec_file(char * name)
                                strhdr.fccHandler             = G.scene->r.avicodecdata->fccHandler;
                        }
                        strhdr.dwScale                = 1;
-                       strhdr.dwRate                 = R.r.frs_sec;
+                       strhdr.dwRate                 = rd->frs_sec;
                        strhdr.dwSuggestedBufferSize  = bmi.biSizeImage;
                        SetRect(&strhdr.rcFrame, 0, 0,                                          // rectangle for stream
                                (int) bmi.biWidth,
@@ -640,7 +644,6 @@ static int open_avi_codec_file(char * name)
 
 void end_avi_codec(void)
 {
-#if 0
        free_opts_data();
 
        if (psUncompressed) {
@@ -662,19 +665,17 @@ void end_avi_codec(void)
                AVIFileExit();
                avifileinitdone--;
        }
-#endif
 }
 
 
-void start_avi_codec(void)
+void start_avi_codec(RenderData *rd,int rectx, int recty )
 {
-#if 0
        HRESULT hr;
        BITMAPINFOHEADER bmi;
        char name[2048];
        char bakname[2048];
        
-       makeavistring(name);
+       makeavistring(rd,name);
        sframe = (G.scene->r.sfra);
 
        strcpy(bakname, name);
@@ -685,9 +686,9 @@ void start_avi_codec(void)
        }
 
        // initialize the BITMAPINFOHEADER 
-       init_bmi(&bmi);
+       init_bmi(&bmi,rectx,recty);
 
-       if (open_avi_codec_file(name)) {
+       if (open_avi_codec_file(name,rd,rectx,recty)) {
                error("Can not open file %s", name);
                G.afbreek = 1;
        } else {
@@ -728,13 +729,11 @@ void start_avi_codec(void)
                        BLI_move(bakname, name);
                }
        }
-#endif
 }
 
 
-void append_avi_codec(int frame)
+void append_avi_codec(int frame,int *pixels,int rectx, int recty)
 {
-#if 0
        HRESULT hr;
        BITMAPINFOHEADER bmi;
        RGBTRIPLE *buffer, *to;
@@ -743,14 +742,14 @@ void append_avi_codec(int frame)
 
        if (psCompressed) {
                // initialize the BITMAPINFOHEADER 
-               init_bmi(&bmi);
+               init_bmi(&bmi, rectx, recty);
 
                // copy pixels
                buffer = MEM_mallocN(bmi.biSizeImage, "append_win_avi");
                to = buffer;
-               from = (unsigned char *) R.rectot;
-               for (y = R.recty; y > 0 ; y--) {
-                       for (x = R.rectx; x > 0 ; x--) {
+               from = (unsigned char *) pixels;
+               for (y = recty; y > 0 ; y--) {
+                       for (x = rectx; x > 0 ; x--) {
                                to->rgbtRed   = from[0];
                                to->rgbtGreen = from[1];
                                to->rgbtBlue  = from[2];
@@ -776,13 +775,11 @@ void append_avi_codec(int frame)
                        printf ("added frame %3d (frame %3d in avi): ", frame, frame-sframe);
                }
        }
-#endif
 }
 
 
 int get_avicodec_settings(void)
 {
-#if 0
        int ret_val = 0;
        AVICOMPRESSOPTIONS *aopts[1] = {&opts};
        AviCodecData *acd = G.scene->r.avicodecdata;
@@ -825,7 +822,6 @@ int get_avicodec_settings(void)
        }
 
        return(ret_val);
-#endif
 }
 
 #endif // _WIN32