- Header changes to support hdaudio, memcache limitor and framecount boost.
This commit is contained in:
parent
6c29ba8494
commit
680756393a
@ -2639,6 +2639,7 @@ static void lib_link_scene(FileData *fd, Main *main)
|
||||
}
|
||||
}
|
||||
seq->anim= 0;
|
||||
seq->hdaudio = 0;
|
||||
}
|
||||
END_SEQ
|
||||
}
|
||||
@ -2740,7 +2741,8 @@ static void direct_link_scene(FileData *fd, Scene *sce)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(seq->type==SEQ_SOUND) {
|
||||
else if(seq->type==SEQ_RAM_SOUND
|
||||
|| seq->type == SEQ_HD_SOUND) {
|
||||
/* only first stripelem is in file */
|
||||
se= newdataadr(fd, seq->strip->stripdata);
|
||||
|
||||
|
@ -1186,7 +1186,7 @@ static void write_scenes(WriteData *wd, ListBase *scebase)
|
||||
|
||||
if(seq->type==SEQ_IMAGE)
|
||||
writestruct(wd, DATA, "StripElem", strip->len, strip->stripdata);
|
||||
else if(seq->type==SEQ_MOVIE || seq->type==SEQ_SOUND)
|
||||
else if(seq->type==SEQ_MOVIE || seq->type==SEQ_RAM_SOUND || seq->type == SEQ_HD_SOUND)
|
||||
writestruct(wd, DATA, "StripElem", 1, strip->stripdata);
|
||||
|
||||
strip->done= 1;
|
||||
|
@ -125,6 +125,8 @@
|
||||
|
||||
#define AN_INIT an_stringdec = stringdec; an_stringenc = stringenc;
|
||||
|
||||
struct MEM_CacheLimiterHandle_s;
|
||||
|
||||
typedef struct ImBuf{
|
||||
short x,y; /* width in pixels, height in scanlines */
|
||||
short skipx; /* width in ints to get to the next scanline */
|
||||
@ -148,7 +150,11 @@ typedef struct ImBuf{
|
||||
unsigned char *encodedbuffer;
|
||||
unsigned int encodedsize;
|
||||
unsigned int encodedbuffersize;
|
||||
|
||||
float *rect_float;
|
||||
|
||||
struct MEM_CacheLimiterHandle_s * c_handle;
|
||||
int refcounter;
|
||||
} ImBuf;
|
||||
|
||||
extern struct ImBuf *allocImBuf(short,short,uchar,uint,uchar);
|
||||
|
@ -37,6 +37,7 @@ struct bSound;
|
||||
struct bSample;
|
||||
struct ListBase;
|
||||
struct PackedFile;
|
||||
struct hdaudio;
|
||||
|
||||
void sound_init_audio(void);
|
||||
void sound_initialize_sounds(void);
|
||||
@ -64,8 +65,23 @@ void sound_play_sound(struct bSound *sound);
|
||||
void sound_stop_all_sounds(void);
|
||||
|
||||
void sound_set_position(void *object,
|
||||
struct bSound *sound,
|
||||
float obmatrix[4][4]);
|
||||
struct bSound *sound,
|
||||
float obmatrix[4][4]);
|
||||
|
||||
struct hdaudio * sound_open_hdaudio(char * name);
|
||||
struct hdaudio * sound_copy_hdaudio(struct hdaudio * c);
|
||||
|
||||
long sound_hdaudio_get_duration(struct hdaudio * hdaudio, int frame_rate);
|
||||
void sound_hdaudio_extract(struct hdaudio * hdaudio,
|
||||
short * target_buffer,
|
||||
int sample_position /* units of target_rate */,
|
||||
int target_rate,
|
||||
int target_channels,
|
||||
int nb_samples /* in target */);
|
||||
|
||||
void sound_close_hdaudio(struct hdaudio * hdaudio);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -293,10 +293,10 @@ typedef enum {
|
||||
ICON_MOD_MIRROR,
|
||||
ICON_MOD_SOFT,
|
||||
ICON_MOD_SUBSURF,
|
||||
ICON_BLANK73,
|
||||
ICON_BLANK74,
|
||||
ICON_BLANK75,
|
||||
ICON_BLANK76,
|
||||
ICON_SEQ_SEQUENCER,
|
||||
ICON_SEQ_PREVIEW,
|
||||
ICON_SEQ_LUMA_WAVEFORM,
|
||||
ICON_SEQ_CHROMA_SCOPE,
|
||||
ICON_ROTATE,
|
||||
ICON_CURSOR,
|
||||
ICON_ROTATECOLLECTION,
|
||||
|
@ -43,6 +43,7 @@
|
||||
void audio_mixdown();
|
||||
void audio_makestream(bSound *sound);
|
||||
void audiostream_play(Uint32 startframe, Uint32 duration, int mixdown);
|
||||
void audiostream_fill(Uint8* mixdown, int len);
|
||||
void audiostream_start(Uint32 frame);
|
||||
void audiostream_scrub(Uint32 frame);
|
||||
void audiostream_stop(void);
|
||||
|
@ -123,16 +123,19 @@ void do_effect(int cfra, struct Sequence *seq, struct StripElem *se);
|
||||
int evaluate_seq_frame(int cfra);
|
||||
struct StripElem *give_stripelem(struct Sequence *seq, int cfra);
|
||||
void set_meta_stripdata(struct Sequence *seqm);
|
||||
void do_seq_count_cfra(struct ListBase *seqbase, int *totseq, int cfra);
|
||||
void do_build_seqar_cfra(struct ListBase *seqbase, struct Sequence ***seqar, int cfra);
|
||||
struct ImBuf *give_ibuf_seq(int rectx, int recty, int cfra);
|
||||
struct ImBuf *give_ibuf_seq(int rectx, int recty, int cfra, int chansel);
|
||||
/* chansel: render this channel. Default=0 (renders end result)*/
|
||||
|
||||
struct ImBuf *make_waveform_view_from_ibuf(struct ImBuf * ibuf);
|
||||
struct ImBuf *make_vectorscope_view_from_ibuf(struct ImBuf * ibuf);
|
||||
|
||||
void free_imbuf_effect_spec(int cfra);
|
||||
void free_imbuf_seq_except(int cfra);
|
||||
void free_imbuf_seq(void);
|
||||
|
||||
/* still bad level call... */
|
||||
struct RenderResult;
|
||||
void do_render_seq(struct RenderResult *rr);
|
||||
void do_render_seq(struct RenderResult *rr, int cfra);
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -34,8 +34,8 @@
|
||||
|
||||
/* **************** MAX ********************* */
|
||||
|
||||
#define MAXFRAME 30000
|
||||
#define MAXFRAMEF 30000.0f
|
||||
#define MAXFRAME 300000
|
||||
#define MAXFRAMEF 300000.0f
|
||||
|
||||
#define MINFRAME 1
|
||||
#define MINFRAMEF 1.0
|
||||
@ -277,6 +277,8 @@
|
||||
#define B_UITHEMEIMPORT 323
|
||||
#define B_UITHEMEEXPORT 324
|
||||
|
||||
#define B_MEMCACHELIMIT 325
|
||||
|
||||
/* Definitions for the fileselect buttons in user prefs */
|
||||
#define B_FONTDIRFILESEL 330
|
||||
#define B_TEXTUDIRFILESEL 331
|
||||
|
@ -1443,22 +1443,22 @@ PyObject *RenderData_GaussFilterSize( BPy_RenderData * self, PyObject * args )
|
||||
//------------------------------------RenderData.StartFrame() -----------
|
||||
PyObject *RenderData_StartFrame( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeShort( args, &self->renderContext->sfra,
|
||||
1, MAXFRAME );
|
||||
return M_Render_GetSetAttributeInt( args, &self->renderContext->sfra,
|
||||
1, MAXFRAME );
|
||||
}
|
||||
|
||||
//------------------------------------RenderData.CurrentFrame() ---------
|
||||
PyObject *RenderData_CurrentFrame( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeShort( args, &self->renderContext->cfra,
|
||||
1, MAXFRAME );
|
||||
return M_Render_GetSetAttributeInt( args, &self->renderContext->cfra,
|
||||
1, MAXFRAME );
|
||||
}
|
||||
|
||||
//------------------------------------RenderData.EndFrame() -------------
|
||||
PyObject *RenderData_EndFrame( BPy_RenderData * self, PyObject * args )
|
||||
{
|
||||
return M_Render_GetSetAttributeShort( args, &self->renderContext->efra,
|
||||
1, MAXFRAME );
|
||||
return M_Render_GetSetAttributeInt( args, &self->renderContext->efra,
|
||||
1, MAXFRAME );
|
||||
}
|
||||
|
||||
//------------------------------------RenderData.ImageSizeX() ----------
|
||||
|
Loading…
Reference in New Issue
Block a user