[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [60299] branches/soc-2013-vse/source/ blender/sequencer: Updating the engine itself.

Alexander Kuznetsov kuzsasha at gmail.com
Sun Sep 22 07:17:13 CEST 2013


Revision: 60299
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=60299
Author:   alexk
Date:     2013-09-22 05:17:13 +0000 (Sun, 22 Sep 2013)
Log Message:
-----------
Updating the engine itself. This code manages the creation and execution of commands. 
Hierarchy:
* Engine: Single tasks queue. Manages init, devices, etc. 
* Player: Takes care of a single playback (might have multiple outputs)
** Output: images
*Devices: can be cpu or OpenCl. OpenCL can share OpenCL platform.
* Devices execute commands created by effects.

Not sequencer specific files don't have prefex sequencer_seq*

Modified Paths:
--------------
    branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt
    branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_main.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqBucket.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqBucket.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCLPlatform.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCLPlatform.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCanvas.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCanvas.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqChannel.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDevice.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDevice.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCL.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCL.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCPU.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqDeviceCPU.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqFrame.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqFrame.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStackInfo.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStackInfo.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStorage.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqImageStorage.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutput.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImage.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImage.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqRenderNode.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqRenderNode.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqStorage.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqStorage.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqViewHandle.h

Added Paths:
-----------
    branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_scond.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_scond.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCache.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImageTarget.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqOutputImageTarget.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_smutex.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_smutex.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_types.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_types.h

Removed Paths:
-------------
    branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCommand.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqCommand.h
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqEffect.cpp
    branches/soc-2013-vse/source/blender/sequencer/sequencer_seqEffect.h

Modified: branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt	2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/CMakeLists.txt	2013-09-22 05:17:13 UTC (rev 60299)
@@ -22,7 +22,8 @@
 # ***** END GPL LICENSE BLOCK *****
 
 set(INC
-	./kernal
+	.
+	./kernel
 	../../../intern/opencl
 	../../../intern/guardedalloc
 	../makesdna
@@ -30,6 +31,7 @@
 	../blenkernel
 	../cldm
 	../imbuf
+	../editors/include
 )
 
 set(INC_SYS
@@ -38,47 +40,124 @@
 
 set(SRC
 	sequencer_main.cpp
-	sequencer_seqCommand.cpp
 	sequencer_seqDevice.cpp
 	sequencer_seqDeviceCL.cpp
+	sequencer_seqCLPlatform.cpp
 	sequencer_seqDeviceCPU.cpp
-	sequencer_seqEffect.cpp
 	sequencer_seqBucket.cpp
 	sequencer_seqOutput.cpp
 	sequencer_seqOutputImage.cpp
+	sequencer_seqOutputImageTarget.cpp
 	sequencer_seqFrame.cpp
-	sequencer_SimpleRef.cpp
 	sequencer_seqChannel.cpp
 	sequencer_seqRenderNode.cpp
+	sequencer_seqStorage.cpp
 	sequencer_seqImageStorage.cpp
 	sequencer_seqImageStackInfo.cpp
 	sequencer_seqEngine.cpp
 	sequencer_seqPlayer.cpp
 	sequencer_seqCLProgram.cpp
 	sequencer_seqCanvas.cpp
+	sequencer_seqViewHandle.cpp
+	sequencer_smutex.cpp
+	sequencer_scond.cpp
+	sequencer_SimpleRef.cpp
+	sequencer_MutexRef.cpp
+	sequencer_types.cpp
 
+	effects/sequencer_seqEffect.cpp
+	effects/seqEffectBlendAlphaOver.cpp
+	effects/seqEffectBlendAlphaUnder.cpp
+	effects/seqEffectBlendAdd.cpp
+	effects/seqEffectBlendSubtract.cpp
+	effects/seqEffectBlendMultiply.cpp
+	effects/seqEffectBlendCross.cpp
+	effects/seqEffectBrightness.cpp
+	effects/seqEffectColorBalance.cpp
+	effects/seqEffectTransform.cpp
+	effects/seqEffectHistogram.cpp
+	effects/seqEffectWaveform.cpp
+	effects/seqEffectVectorscope.cpp
 
+	commands/sequencer_seqCommand.cpp
+	commands/seqCommandColorBalance.cpp
+	commands/seqCommandBlendAlphaOver.cpp
+	commands/seqCommandBlendAlphaUnder.cpp
+	commands/seqCommandBlendAdd.cpp
+	commands/seqCommandBlendSubtract.cpp
+	commands/seqCommandBlendMultiply.cpp
+	commands/seqCommandBlendCross.cpp
+	commands/seqCommandBrightenss.cpp
+	commands/seqCommandGenerate.cpp
+	commands/seqCommandTransform.cpp
+	commands/seqCommandHistogram.cpp
+	commands/seqCommandWaveform.cpp
+	commands/seqCommandVectorscope.cpp
+	commands/seqRoutineConvert.cpp
+	commands/seqRoutineTransfer.cpp
+	
+
+
 	sequencer_main.h
-	sequencer_seqCommand.h
 	sequencer_seqDevice.h
 	sequencer_seqDeviceCL.h
+	sequencer_seqCLPlatform.h
 	sequencer_seqDeviceCPU.h
-	sequencer_seqEffect.h
 	sequencer_seqBucket.h
 	sequencer_seqOutput.h
 	sequencer_seqOutputImage.h
+	sequencer_seqOutputImageTarget.h
 	sequencer_seqFrame.h
-	sequencer_SimpleRef.h
 	sequencer_seqChannel.h
 	sequencer_seqRenderNode.h
+	sequencer_seqStorage.h
 	sequencer_seqImageStorage.h
 	sequencer_seqImageStackInfo.h
 	sequencer_seqEngine.h
 	sequencer_seqPlayer.h
 	sequencer_seqCLProgram.h
 	sequencer_seqCanvas.h
+	sequencer_seqViewHandle.h
+	sequencer_smutex.h
+	sequencer_scond.h
+	sequencer_SimpleRef.h
+	sequencer_MutexRef.h
+	sequencer_types.h
 
+
+	effects/sequencer_seqEffect.h
+	effects/seqEffectBlendAlphaOver.h
+	effects/seqEffectBlendAlphaUnder.h
+	effects/seqEffectBlendAdd.h
+	effects/seqEffectBlendSubtract.h
+	effects/seqEffectBlendMultiply.h
+	effects/seqEffectBlendCross.h
+	effects/seqEffectBrightness.h
+	effects/seqEffectColorBalance.h
+	effects/seqEffectTransform.h
+	effects/seqEffectHistogram.h
+	effects/seqEffectWaveform.h
+	effects/seqEffectVectorscope.h
+
+	commands/sequencer_seqCommand.h
+	commands/seqCommandColorBalance.h
+	commands/seqCommandBlendAlphaOver.h
+	commands/seqCommandBlendAlphaUnder.h
+	commands/seqCommandBlendAdd.h
+	commands/seqCommandBlendSubtract.h
+	commands/seqCommandBlendMultiply.h
+	commands/seqCommandBlendCross.h
+	commands/seqCommandBrightenss.h
+	commands/seqCommandGenerate.h
+	commands/seqCommandTransform.h
+	commands/seqCommandHistogram.h
+	commands/seqCommandWaveform.h
+	commands/seqCommandVectorscope.h
+	commands/seqRoutineConvert.h
+	commands/seqRoutineTransfer.h
+
 	sequencer_common.h
+	sequencer_include.h
 
 )
 
@@ -88,9 +167,9 @@
 endif()
 
 
-data_to_c_simple_dev(kernel/kernel_main.cl SRC)
+data_to_c_simple_dev(kernel/kernel_working.cl SRC)
 data_to_c_simple_dev(kernel/include_type_float.cl SRC)
+data_to_c_simple_dev(kernel/common_stuctures.cl SRC)
 
 
-
 blender_add_lib(bf_sequencer "${SRC}" "${INC}" "${INC_SYS}")

Deleted: branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl	2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/kernel/kernel_main.cl	2013-09-22 05:17:13 UTC (rev 60299)
@@ -1,64 +0,0 @@
- 
-__kernel void square_dain(
-	__global float* in,
-	__global float* out,
-	const unsigned int sizex, 
-	const unsigned int sizey) 
-{ 
-	int i = get_global_id(0);
-	int j = get_global_id(1);
-
-
-	if(i>=sizex || j>=sizey)return;
-
-
-	int pos = j*sizex+i;
-	float val = in[pos*4];
-	out[pos*4]=val*val;
-
-
-};
-
- 
-__kernel void testme_add(
-	__global float* in,
-	__global float* out,
-	const float val,
-	const unsigned int sizex, 
-	const unsigned int sizey) 
-{ 
-	int i = get_global_id(0);
-	int j = get_global_id(1);
-
-
-	if(i>=sizex || j>=sizey)return;
-
-
-	int pos = j*sizex+i;
-;
-	out[pos] = in[pos]+val;
-
-
-};
-
-
-__kernel void testme_multiply(
-	__global float* in,
-	__global float* out,
-	const float val,
-	const unsigned int sizex, 
-	const unsigned int sizey) 
-{ 
-	int i = get_global_id(0);
-	int j = get_global_id(1);
-
-
-	if(i>=sizex || j>=sizey)return;
-
-
-	int pos = j*sizex+i;
-;
-	out[pos] = in[pos]*val;
-
-
-};
\ No newline at end of file

Added: branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.cpp	2013-09-22 05:17:13 UTC (rev 60299)
@@ -0,0 +1 @@
+ 

Added: branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_MutexRef.h	2013-09-22 05:17:13 UTC (rev 60299)
@@ -0,0 +1,63 @@
+#ifndef __SEQUENCER_MUTEXREF_H__
+#define __SEQUENCER_MUTEXREF_H__
+
+#include "MEM_guardedalloc.h"
+#include "BLI_utildefines.h"
+#include "sequencer_smutex.h"
+
+
+
+class MutexRef
+{
+private:
+
+	int ref_count;
+	smutex *mutex;
+
+public:
+
+	MutexRef(smutex *sm)
+	{
+		this->mutex = sm;
+		ref_count = 0;
+	}
+
+	virtual ~MutexRef()
+	{
+		BLI_assert(!ref_count);
+	}
+
+	void Retain(void)
+	{
+		mutex->lock();
+		ref_count++;
+		mutex->unlock();
+	}
+
+	virtual void Release(void)
+	{
+		bool to_delete = false;
+
+
+		mutex->lock();
+		ref_count--;
+		if(ref_count == 0)
+			to_delete = true;
+		else if(ref_count < 0)
+		{
+			BLI_assert(0);
+		}
+		mutex->unlock();
+
+		if(to_delete)
+			delete this;
+
+
+
+	}
+
+
+
+};
+
+#endif /* __SEQUENCER_MUTEXREF_H__*/

Modified: branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h	2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_SimpleRef.h	2013-09-22 05:17:13 UTC (rev 60299)
@@ -21,7 +21,7 @@
 		BLI_assert(!ref_count);
 	}
 
-	virtual void Retain(void)
+	void Retain(void)
 	{
 		ref_count++;
 	}

Modified: branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h	2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_common.h	2013-09-22 05:17:13 UTC (rev 60299)
@@ -14,7 +14,7 @@
 #include "sequencer_seqRenderNode.h"
 
 #include "sequencer_seqChannel.h"
-#include "sequencer_seqEffect.h"
+#include "effects/sequencer_seqEffect.h"
 
 
 #endif /*__SEQUENCER_COMMON_H__*/

Added: branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h	                        (rev 0)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_include.h	2013-09-22 05:17:13 UTC (rev 60299)
@@ -0,0 +1,15 @@
+#ifndef __SEQUENCER_INCLUDE_H__
+#define __SEQUENCER_INCLUDE_H__
+
+#include "MEM_guardedalloc.h"
+#include "sequencer_smutex.h"
+#include "sequencer_scond.h"
+#include "sequencer_MutexRef.h"
+
+class seqEngine;
+class seqBucket;
+class seqCommand;
+class seqCLPlatform;
+class seqFrame;
+
+#endif /* __SEQUENCER_INCLUDE_H__ */

Modified: branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp
===================================================================
--- branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp	2013-09-22 03:56:30 UTC (rev 60298)
+++ branches/soc-2013-vse/source/blender/sequencer/sequencer_main.cpp	2013-09-22 05:17:13 UTC (rev 60299)
@@ -2,1632 +2,123 @@
 extern "C" {
 #endif
 
-
-
-
 #include "sequencer_main.h"
-#include <string.h>
-#include <math.h>
-#include <GL/glew.h>
 
 #include "MEM_guardedalloc.h"
 #include "CLDM_init.h"
 
-#include "IMB_imbuf.h"
-#include "IMB_imbuf_types.h"
-#include "IMB_colormanagement.h"
-
 #include "DNA_sequence_types.h"
 
 #ifdef __cplusplus
 }
 #endif
 
-
-
-//#include <list>
-#include <vector>
-
-
 #include "sequencer_seqCanvas.h"
 #include "sequencer_seqImageStorage.h"
 #include "sequencer_seqPlayer.h"
 #include "sequencer_seqEngine.h"
 
 #include "sequencer_common.h"
-#include "sequencer_seqDevice.h"
 
+#include "BIF_gl.h"
 
 
-
-
-
-
-#define NUMOFELEM(a) (sizeof(a)/sizeof(*a))
-
-extern char datatoc_kernel_main_cl[];
-extern char datatoc_include_type_float_cl[];
-char *seq_vs_types[] = {datatoc_include_type_float_cl};
-
-char *seq_kernels_main[] = {"square_dain", "testme_add", "testme_multiply"};
-
-
-typedef struct seqCLPlatform
-{
-
-	struct seqCLPlatform *next, *prev;
-	cldm_platform * cldm_p;
-
-	cl_context cl_this_context;
-
-
-
-	seqCLProgram programs [NUMOFELEM(seq_vs_types)];
-
-
-	int refcount;
-
-} seqCLPlatform;
-
-
 typedef unsigned int uint;
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list