* Adds userdef-types for memcache limitor and frameserver-rendering

* Boosts the blender frame limit by changing the type of the frame number
  from short to int everywhere. Without this, timelines longer than a few
  minutes are impossible to handle.
* Adds several types for ffmpeg input/output, hdaudio-tracks in sequencer
This commit is contained in:
Peter Schlaile
2006-02-05 19:18:55 +00:00
parent 44e39005f8
commit 38c4a3a209
5 changed files with 72 additions and 33 deletions

View File

@@ -91,8 +91,8 @@ typedef struct SoftBody {
float infrict; /* softbody inner springs friction */
/* baking */
short sfra, efra;
short interval, pad2;
int sfra, efra;
int interval, pad2;
SBVertex **keys; /* array of size totpointkey */
int totpointkey, totkey; /* if totpointkey != totpoint or totkey!- (efra-sfra)/interval -> free keys */

View File

@@ -59,10 +59,10 @@ typedef struct Base {
} Base;
typedef struct AviCodecData {
void *lpFormat; /* save format */
void *lpParms; /* compressor options */
unsigned int cbFormat; /* size of lpFormat buffer */
unsigned int cbParms; /* size of lpParms buffer */
void *lpFormat; /* save format */
void *lpParms; /* compressor options */
unsigned int cbFormat; /* size of lpFormat buffer */
unsigned int cbParms; /* size of lpParms buffer */
unsigned int fccType; /* stream type, for consistency */
unsigned int fccHandler; /* compressor */
@@ -78,15 +78,32 @@ typedef struct AviCodecData {
typedef struct QuicktimeCodecData {
void *cdParms; /* codec/compressor options */
void *pad; /* padding */
void *cdParms; /* codec/compressor options */
void *pad; /* padding */
unsigned int cdSize; /* size of cdParms buffer */
unsigned int pad2; /* padding */
unsigned int cdSize; /* size of cdParms buffer */
unsigned int pad2; /* padding */
char qtcodecname[128];
} QuicktimeCodecData;
typedef struct FFMpegCodecData {
int type;
int codec;
int audio_codec;
int video_bitrate;
int audio_bitrate;
int gop_size;
int flags;
int rc_min_rate;
int rc_max_rate;
int rc_buffer_size;
int mux_packet_size;
int mux_rate;
} FFMpegCodecData;
typedef struct AudioData {
int mixrate;
float main; /* Main mix in dB */
@@ -125,8 +142,12 @@ typedef struct SceneRenderLayer {
typedef struct RenderData {
struct AviCodecData *avicodecdata;
struct QuicktimeCodecData *qtcodecdata;
struct FFMpegCodecData ffcodecdata;
int cfra, sfra, efra; /* fames as in 'images' */
short pad1;
short cfra, sfra, efra; /* fames as in 'images' */
short images, framapto, flag;
float ctime; /* use for calcutions */
float framelen, blurfac;
@@ -135,14 +156,13 @@ typedef struct RenderData {
float edgeR, edgeG, edgeB;
short fullscreen, xplay, yplay, freqplay; /* standalone player */
short depth, attrib, rt1, rt2; /* standalone player */
short depth, attrib, rt1, rt2; /* standalone player */
short stereomode; /* standalone player stereo settings */
short stereomode; /* standalone player stereo settings */
short dimensionspreset; /* for the dimensions presets menu */
short filtertype; /* filter is box, tent, gauss, mitch, etc */
short filtertype; /* filter is box, tent, gauss, mitch, etc */
short size, maximsize; /* size in %, max in Kb */
/* from buttons: */
@@ -266,7 +286,7 @@ typedef struct RenderData {
float YF_gamma, YF_exposure, YF_raybias, YF_AApixelsize, YF_AAthreshold;
char backbuf[160], pic[160], ftype[160];
} RenderData;
@@ -451,6 +471,8 @@ typedef struct Scene {
#define R_RADHDR 21
#define R_TIFF 22
#define R_OPENEXR 23
#define R_FFMPEG 24
#define R_FRAMESERVER 25
/* subimtype, flag options for imtype */
#define R_OPENEXR_HALF 1
@@ -498,6 +520,8 @@ typedef struct Scene {
#define AUDIO_SYNC 2
#define AUDIO_SCRUB 4
#define FFMPEG_MULTIPLEX_AUDIO 1
#define FFMPEG_AUTOSPLIT_OUTPUT 2
#ifdef __cplusplus
}

View File

@@ -48,19 +48,18 @@ typedef struct StripElem {
char name[80];
struct ImBuf *ibuf;
struct StripElem *se1, *se2, *se3;
short ok, nr;
int pad;
short ok;
unsigned char isneeded;
unsigned char pad;
int nr;
} StripElem;
typedef struct Strip {
struct Strip *next, *prev;
short rt, len, us, done;
int rt, len, us, done;
StripElem *stripdata;
char dir[160];
short orx, ory;
int pad;
int orx, ory;
} Strip;
@@ -77,6 +76,9 @@ typedef struct PluginSeq {
float data[32];
void *instance_private_data;
void **current_private_data;
void (*doit)(void);
void (*callback)(void);
@@ -91,14 +93,14 @@ typedef struct Sequence {
void *lib;
char name[24];
short flag, type; /*flags bitmap (see below) and the type of sequence*/
short flag, type; /*flags bitmap (see below) and the type of sequence*/
int len;
int start, startofs, endofs;
int startstill, endstill;
int machine, depth;
int startdisp, enddisp; /*starting and ending points in the sequence*/
int startdisp, enddisp; /*starting and ending points in the sequence*/
float mul, handsize;
int sfra; /* starting frame according to the timeline of the scene */
int sfra; /* starting frame according to the timeline of the scene */
Strip *strip;
StripElem *curelem;
@@ -117,11 +119,12 @@ typedef struct Sequence {
ListBase seqbase;
struct bSound *sound; /* the linked "bSound" object */
float level, pan; /* level in dB (0=full), pan -1..1 */
int curpos; /* last sample position in audio_fill() */
struct hdaudio *hdaudio; /* external hdaudio object */
float level, pan; /* level in dB (0=full), pan -1..1 */
int curpos; /* last sample position in audio_fill() */
float strobe;
void *effectdata; /* Struct pointer for effect settings */
void *effectdata; /* Struct pointer for effect settings */
} Sequence;
@@ -135,8 +138,9 @@ typedef struct Editing {
ListBase *seqbasep;
ListBase seqbase;
ListBase metastack;
short flag, rt;
int pad;
short flag;
short pad;
int rt;
} Editing;
/* ************* Effect Variable Structs ********* */
@@ -165,13 +169,15 @@ typedef struct GlowVars {
#define SEQ_MUTE 32
#define SEQ_MAKE_PREMUL 64
#define SEQ_REVERSE_FRAMES 128
#define SEQ_IPO_FRAME_LOCKED 256
/* seq->type WATCH IT: SEQ_EFFECT BIT is used to determine if this is an effect strip!!! */
#define SEQ_IMAGE 0
#define SEQ_META 1
#define SEQ_SCENE 2
#define SEQ_MOVIE 3
#define SEQ_SOUND 4
#define SEQ_RAM_SOUND 4
#define SEQ_HD_SOUND 5
#define SEQ_EFFECT 8
#define SEQ_CROSS 8

View File

@@ -146,7 +146,8 @@ typedef struct SpaceSeq {
View2D v2d;
short mainb, zoom;
int pad2;
short chanshown;
short pad2;
} SpaceSeq;
@@ -560,5 +561,10 @@ typedef struct SpaceImaSel {
#define TIME_ALL_BUTS_WIN 8
#define TIME_WITH_SEQ_AUDIO 16
/* sseq->mainb */
#define SEQ_DRAW_SEQUENCE 0
#define SEQ_DRAW_IMG_IMBUF 1
#define SEQ_DRAW_IMG_WAVEFORM 2
#define SEQ_DRAW_IMG_VECTORSCOPE 3
#endif

View File

@@ -161,6 +161,9 @@ typedef struct UserDef {
struct SolidLight light[3];
short tw_hotspot, tw_flag, tw_handlesize, tw_size;
int textimeout, texcollectrate;
int memcachelimit;
short frameserverport;
short pad;
short obcenter_dia, pad1, pad2, pad3;
} UserDef;