File: PsychMovieWritingSupport.h

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (54 lines) | stat: -rw-r--r-- 2,041 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/*
	Common/Screen/PsychMovieWritingSupport.h
	
	PLATFORMS:	
	
		These are platform independent prototype definitions.
		
	AUTHORS:
	
		Mario Kleiner           mk              mario.kleiner@tuebingen.mpg.de

	HISTORY:
	
	DESCRIPTION:
	
		Psychtoolbox functions for dealing with movie editing. The implementation
		of the actual functions is elsewhere and platform dependent.
		
	AUTHORS:

        Mario Kleiner   mk  mario.kleiner at tuebingen.mpg.de
 
	HISTORY:
	04/18/10		mk		Wrote it. 
							
	DESCRIPTION:
	
*/

//include once
#ifndef PSYCH_IS_INCLUDED_PsychMovieWritingSupport
#define PSYCH_IS_INCLUDED_PsychMovieWritingSupport

// Maximum number of allowed simultaneously open capture devices. As structures are allocated
// statically, this should not be increased beyond reasonable limits. 100 is always a nice number:
#define PSYCH_MAX_MOVIEWRITERDEVICES 10

#include "Screen.h"

// These are the generic entry points, to be called by SCREENxxxx videocapture functions and
// other parts of screen. They dispatch into API specific versions, depending on users choice
// of capture system and support by OS:
void PsychMovieWritingInit(void);
void PsychExitMovieWriting(void);
void PsychDeleteAllMovieWriters(void);
int PsychCreateNewMovieFile(char* moviefile, int width, int height, double framerate, int numChannels, int bitdepth, char* movieoptions, char* feedbackString);
int PsychFinalizeNewMovieFile(int movieHandle);
int PsychAddVideoFrameToMovie(int moviehandle, int frameDurationUnits, psych_bool isUpsideDown, double frameTimestamp);
unsigned char*	PsychGetVideoFrameForMoviePtr(int moviehandle, unsigned int* twidth, unsigned int* theight, unsigned int* numChannels, unsigned int* bitdepth);
psych_bool PsychAddAudioBufferToMovie(int moviehandle, unsigned int nrChannels, unsigned int nrSamples, double* buffer);
unsigned char* PsychMovieCopyPulledPipelineBuffer(int moviehandle, unsigned int* twidth, unsigned int* theight, unsigned int* numChannels, unsigned int* bitdepth, double* timestamp);

//end include once
#endif