The Game Creators
The Game Creators Home Online Shop Click to Login
 
Dark GDK
FREE Download - Dark GDK and Microsoft Visual C++ 2008 Express
Newsletter
Issue 82 is out now
The Game Creators Newsletter
Get our free newsletter
Forums
Join thousands of game developers in our forums and read over 1.4 million messages
Free Software
Download a free version of FPS Creator
Twitter
Keep up to date with all the latest events at The Game Creators
Programming
GBN
Dark Game Studio
Get Firefox!
Dark Video

Dark Video is a complete movie encoder and decoder solution, targeted at anyone interested in adding hyper speed movie playback into their game. Built from the ground up to focus on extreme speed and quality, Dark Video opens the gateway for ultra high quality movies but with a very low impact to your game. Designed for ease of use and ease of integration, Dark Video makes adding movie functionality to your game a cinch.

Dark Video
Features
  • Speed. Dark Video is seriously fast. Both the encoder and decoder feature whole portions of code written in hand optimized MMX, SSE and SSE2 assembler.
  • Video quality. Dark Video is designed from the ground up so that quality is of paramount importance. Using Deep Cove Software's proprietary video compression on high or highest, your encoded movies are pretty much indistinguishable from the original source material, looking fantastic.
  • Audio quality. Dark Video leverages the amazing Ogg Vorbis audio compression to offer sound quality almost indistinguishable from the origrinal source material and thus, sounding phenomenal.
  • Stand-alone Encoder. Dark Video not only comprises the decoder but also, an Encoder program, dedicated to getting your movies into the Dark Video format as quickly as possible. Built on top of DirectShow, Dark Video Encoder, with critical parts also hand optimized in assembler, can quickly transcode your AVI (for non-standard formats like x264, the correct filters must be installed; we recommend uncompressed AVIs for maximum encoding speed) into a Dark Video DVF movie, for use in your game. With a responsive preview, you'll be able to see how the transcode is progressing.
  • Stand-alone DLL. All of Dark Video's substantial capability is packed into a single, tiny 300kb DLL. You don't need anything else! You don't need to worry about any required runtimes, libraries or CODECs. With Dark Video, you just ship with its DLL and that's that!
  • Dark Video comes with full documentation and samples so you'll quickly be able to get up and running, whether you use DarkBASIC Professional or Dark GDK.
  • Unencumbered. As Dark Video is a technology owned by Deep Cove Software, you don't have to worry about license, patent or royalty issues. Just encode and ship!
  • Multi-core. Dark Video runs on multiple cores to ensure fastest encoding and decoding.
Dark Video
Requirements

DarkBASIC Professional or Dark GDK is required to use this product. It runs on Windows 2000, XP, Vista and Windows 7 (x86 and x64 variants)

Download Trial

The trial version of Dark video is a time limited version. It contains all of the functionality, demos and documentation.

Download the trial version of Dark Video

Order Now

DarkNet

Dark Video

  $ Dollar € Euros £ Sterling Click to Buy
Price: $49.99 €35.99 £30.99 Click here to buy

Dark Video is distributed electronically.
You must download this product. Download instructions are sent after purchase.
DarkBASIC Professional or Dark GDK is required to use this product.

Sample Code

The following code demonstrates how easy it is to utilise Dark Video in Dark GDK.


// Dark Video - Deep Cove Software, Ltd. - www.deepcovesoftware.com
// Dark GDK - The Game Creators - www.thegamecreators.com

// this sample is based on the Dark Video DarkBASIC Professional sample,
// which in turn is based on The Game Creators' 3DVideo sample.

// whenever using Dark GDK you must ensure you include the header file
#include "DarkGDK.h"

// include the header file for Dark Video
#include "DarkVideo.h"

// the main entry point for the application is this function
void DarkGDK ( void )
{
	// initialize Dark Video
	DarkVideoInitialize();

	// when starting a Dark GDK program it is useful to set global
	// application properties, we begin by turning the sync rate on,
	// this means we control when the screen is updated, we also set
	// the maximum rate to 30 which means the maximum frame rate will
	// be set at 30 frames per second
	dbSyncOn   ( );
	dbSyncRate ( 30 );

	// set the window title
	dbSetWindowTitle( "Dark Video Dark GDK Sample" );

	// set default screen
	dbColorBackdrop( dbRGB( 0, 32, 32 ) );

	// open our Dark Video movie (*.dvf) and get the dimensions (we should
	// check the return value of DarkVideoOpen here but for simplicity...)
	int movieId = DarkVideoOpen( "sample.dvf" );
	int movieWidth = DarkVideoGetWidth( movieId );
	int movieHeight = DarkVideoGetHeight( movieId );

	// set the movie volume (between 0-255), no effect of course if there's
	// no audio in the movie.
	DarkVideoSetVolume( movieId, 255 );

	// arbitrary ids we'll use
	int memBlockId = 32;
	int imageId = 32;

	// create a blank 32-bit image of the same dimensions as the Dark Video
	// movie. Dark Video will decode each frame to this image.
	// the size is the width by the height by 4 bytes per pixel as it's
	// 32-bit color. we also add 12 bytes for 3 dwords at the start of
	// the memblock that contain the width, height and bit depth as we're
	// going to create an image from this memblock.
	dbMakeMemblock( memBlockId, movieWidth * movieHeight * 4 + 12 );
	dbWriteMemblockDword( memBlockId, 0, movieWidth );
	dbWriteMemblockDword( memBlockId, 4, movieHeight );
	dbWriteMemblockDword( memBlockId, 8, 32 );
	dbMakeImageFromMemblock( imageId, memBlockId );
	dbDeleteMemblock( memBlockId );

	// create 3D projection
	for ( int p = 1; p <= 3; p++ )
	{
		dbMakeObjectBox( p, 320, 240, 10 );
		dbScaleObject( p, p * 250, p * 250, p * 250 );
		if ( p > 1 )
			dbGhostObjectOn( p, 2 );
		dbTextureObject( p, imageId );
	}
	dbSetObjectLight( 1, 0 );

	// setup camera
	dbPositionCamera( 0, 0, -700 );
	dbRotateCamera( 0, 0, 0 );

	bool begin = true;
	float a = 0.0f;

	// now we come to our main loop, we call LoopGDK so some internal
	// work can be carried out by the GDK
	while ( LoopGDK ( ) )
	{
		// begin movie playback
		if ( begin )
		{
			begin = false;
			bool loop = true;

			// note the last parameter? This *HAS* to be set to dbGetImagePointer
			// or Dark Video is unable to decode the movie to a Dark GDK image.
			DarkVideoPlay( movieId, imageId, loop, dbGetImagePointer );
		}

		// move projection around
		for ( int p = 1; p <= 3; p++ )
		{
			a = dbWrapValue( a + 1.0f );
			dbPositionObject( p, dbCOS( a ) * 20, dbSIN( a ) * 10, p * 75 );
			dbYRotateObject( p, dbCOS( a ) * 20 );
			dbZRotateObject( p, ( p - 1 ) * 10 );
		}
		
		// here we make a call to update the contents of the screen
		dbSync ( );
	}

	// stop and shutdown Dark Video movie
	DarkVideoStop( movieId );
	DarkVideoClose( movieId );

	// shutdown Dark Video
	DarkVideoShutdown();

	// and now everything is ready to return back to Windows
	return;
}

Send this page by Email Printer Friendly Page Web Site Assistance



Dark Video
A complete movie encoder and decoder solution. Read >
Dark Physics
State of the art physics engine. Read >
Dark Lights
Fast light mapping system. Read >
Dark AI
Pathfinding, teams and zones. Read >
Enhanced Anims
Comprehensive 3D animation. Read >
Dark Shader
Fast and impressive shader creation. Read >
EZ Rotate
Easy object and world rotation. Read >
Newsletter 82
Read our free monthly newsletter online

10 year anniversary, DarkBASIC Pro FREE, Lee Bamber Interview & loads more!

Subscribe for free:

DB Pro
GBN
Latest Releases

FPSC Model Pack 36
DB Pro Add-on Pack 2009
FPSC Model Pack 35
FPSC Model Pack 34
Dark Data
FPSC Model Pack 33
FPSC Model Pack 32
FPSC Model Pack 31
DB Pro Upgrade 7.4
DarkCLOUDS
Dark Video
Magic Particles
FPS Creator Bonanza

User Gallery
Who (2)
Delphi
VR-arena2 botmania
VR-arena2:botmania
Who
Inside The Horror
Visit our new screen shot Gallery