projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
camera zoom fix, upgrade giflib, configure.ac ix86 probe tweaks, any python
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
render.C
diff --git
a/cinelerra-5.1/cinelerra/render.C
b/cinelerra-5.1/cinelerra/render.C
index e7b3e12d54b3dafc3ca942a31ab9b19ef8853a14..0398ccf095854e5dbd77cc7b9eb286be03b490d7 100644
(file)
--- a/
cinelerra-5.1/cinelerra/render.C
+++ b/
cinelerra-5.1/cinelerra/render.C
@@
-661,6
+661,7
@@
RenderThread::RenderThread(MWindow *mwindow, Render *render)
{
this->mwindow = mwindow;
this->render = render;
{
this->mwindow = mwindow;
this->render = render;
+ render_frames = 0;
}
RenderThread::~RenderThread()
}
RenderThread::~RenderThread()
@@
-672,7
+673,7
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
int strategy, int range_type)
{
// Total length in seconds
int strategy, int range_type)
{
// Total length in seconds
- double total_length;
+ double total_length
= 0
;
RenderFarmServer *farm_server = 0;
FileSystem fs;
const int debug = 0;
RenderFarmServer *farm_server = 0;
FileSystem fs;
const int debug = 0;
@@
-737,6
+738,7
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
render->result = 1;
}
}
render->result = 1;
}
}
+ render_frames = render->default_asset->frame_rate * total_length;
// Generate packages
if(!render->result)
// Generate packages
if(!render->result)
@@
-807,26
+809,16
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
// Perform local rendering
// Perform local rendering
-
if(!render->result)
{
render->start_progress();
if(!render->result)
{
render->start_progress();
-
-
-
MainPackageRenderer package_renderer(render);
render->result = package_renderer.initialize(mwindow,
command->get_edl(), // Copy of master EDL
render->preferences,
render->default_asset);
MainPackageRenderer package_renderer(render);
render->result = package_renderer.initialize(mwindow,
command->get_edl(), // Copy of master EDL
render->preferences,
render->default_asset);
-
-
-
-
-
-
while(!render->result)
{
// Get unfinished job
while(!render->result)
{
// Get unfinished job
@@
-856,14
+848,8
@@
void RenderThread::render_single(int test_overwrite, Asset *asset, EDL *edl,
} // file_number
} // file_number
-
-
printf("Render::render_single: Session finished.\n");
printf("Render::render_single: Session finished.\n");
-
-
-
-
if( strategy == SINGLE_PASS_FARM ||
strategy == FILE_PER_LABEL_FARM ) {
if( !render->progress ) {
if( strategy == SINGLE_PASS_FARM ||
strategy == FILE_PER_LABEL_FARM ) {
if( !render->progress ) {
@@
-904,11
+890,9
@@
if(debug) printf("Render::render %d\n", __LINE__);
// Delete the progress box
render->stop_progress();
// Delete the progress box
render->stop_progress();
-
if(debug) printf("Render::render %d\n", __LINE__);
}
if(debug) printf("Render::render %d\n", __LINE__);
}
-
// Paste all packages into timeline if desired
if(!render->result &&
// Paste all packages into timeline if desired
if(!render->result &&
@@
-948,13
+932,7
@@
if(debug) printf("Render::render %d\n", __LINE__);
if(debug) printf("Render::render %d\n", __LINE__);
mwindow->update_plugin_guis();
if(debug) printf("Render::render %d\n", __LINE__);
if(debug) printf("Render::render %d\n", __LINE__);
mwindow->update_plugin_guis();
if(debug) printf("Render::render %d\n", __LINE__);
- mwindow->gui->update(1,
- 2,
- 1,
- 1,
- 1,
- 1,
- 0);
+ mwindow->gui->update(1, FORCE_REDRAW, 1, 1, 1, 1, 0);
if(debug) printf("Render::render %d\n", __LINE__);
mwindow->sync_parameters(CHANGE_ALL);
if(debug) printf("Render::render %d\n", __LINE__);
if(debug) printf("Render::render %d\n", __LINE__);
mwindow->sync_parameters(CHANGE_ALL);
if(debug) printf("Render::render %d\n", __LINE__);
@@
-994,6
+972,8
@@
if(debug) printf("Render::render %d\n", __LINE__);
void RenderThread::run()
{
void RenderThread::run()
{
+ Timer render_timer;
+
if( mwindow )
render->preferences->copy_from(mwindow->preferences);
if( mwindow )
render->preferences->copy_from(mwindow->preferences);
@@
-1077,6
+1057,10
@@
void RenderThread::run()
}
}
render->completion->unlock();
}
}
render->completion->unlock();
+ double render_time = render_timer.get_difference() / 1000.0;
+ double render_rate = render_time > 0 ? render_frames / render_time : 0;
+ printf("** rendered %jd frames in %0.3f secs, %0.3f fps\n",
+ render_frames, render_time, render_rate);
if( render->mode == Render::INTERACTIVE && render->beep )
mwindow->beep(3000., 1.5, 0.5);
if( render->mode == Render::INTERACTIVE && render->beep )
mwindow->beep(3000., 1.5, 0.5);