projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sams last ladspa icons, libopus/vp9, mixer fixer, plugin resets, fmt frmsz, shm fixes
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
vrender.C
diff --git
a/cinelerra-5.1/cinelerra/vrender.C
b/cinelerra-5.1/cinelerra/vrender.C
index c59c3fec0be0c4d185f71f6bb4b64c2e0c78c350..f46a4096b95f8b3750725b7411b04467f9954946 100644
(file)
--- a/
cinelerra-5.1/cinelerra/vrender.C
+++ b/
cinelerra-5.1/cinelerra/vrender.C
@@
-133,10
+133,10
@@
int VRender::process_buffer(int64_t input_position,
int use_brender = 0;
int result = 0;
int use_cache = renderengine->command->single_frame();
int use_brender = 0;
int result = 0;
int use_cache = renderengine->command->single_frame();
- int use_asynchronous =
- renderengine->command->realtime &&
-
renderengine->get_edl()->session->video_every_frame &&
-
renderengine->get_edl()->session->video_asynchronous;
+// int use_asynchronous =
+// renderengine->command->realtime &&
+
//
renderengine->get_edl()->session->video_every_frame &&
+
//
renderengine->get_edl()->session->video_asynchronous;
const int debug = 0;
// Determine the rendering strategy for this frame.
const int debug = 0;
// Determine the rendering strategy for this frame.
@@
-151,7
+151,9
@@
int VRender::process_buffer(int64_t input_position,
// Get output buffer from device
if(renderengine->command->realtime && !renderengine->is_nested)
{
// Get output buffer from device
if(renderengine->command->realtime && !renderengine->is_nested)
{
- renderengine->video->new_output_buffer(&video_out, colormodel);
+ renderengine->video->new_output_buffer(&video_out,
+ colormodel,
+ renderengine->get_edl());
}
if(debug) printf("VRender::process_buffer %d video_out=%p\n", __LINE__, video_out);
}
if(debug) printf("VRender::process_buffer %d video_out=%p\n", __LINE__, video_out);
@@
-177,9
+179,9
@@
int VRender::process_buffer(int64_t input_position,
corrected_position--;
// Cache single frames only
corrected_position--;
// Cache single frames only
-
if(use_asynchronous)
-
file->start_video_decode_thread();
-
else
+
//
if(use_asynchronous)
+
//
file->start_video_decode_thread();
+
//
else
file->stop_video_thread();
if(use_cache) file->set_cache_frames(1);
int64_t normalized_position = (int64_t)(corrected_position *
file->stop_video_thread();
if(use_cache) file->set_cache_frames(1);
int64_t normalized_position = (int64_t)(corrected_position *
@@
-206,7
+208,8
@@
int VRender::process_buffer(int64_t input_position,
renderengine->get_vcache(),
1,
use_cache,
renderengine->get_vcache(),
1,
use_cache,
- use_asynchronous);
+ 0);
+// use_asynchronous);
if(debug) printf("VRender::process_buffer %d\n", __LINE__);
}
if(debug) printf("VRender::process_buffer %d\n", __LINE__);
}
@@
-267,8
+270,7
@@
int VRender::get_colormodel(VEdit *playable_edit,
current_position,
renderengine->command->get_direction());
}
current_position,
renderengine->command->get_direction());
}
-// ffmpeg files are side effected by color_model, affects colorspace,color_range
- if( asset && asset->format != FILE_FFMPEG )
+ if( asset )
{
file = renderengine->get_vcache()->check_out(asset,
renderengine->get_edl());
{
file = renderengine->get_vcache()->check_out(asset,
renderengine->get_edl());
@@
-276,8
+278,12
@@
int VRender::get_colormodel(VEdit *playable_edit,
if(file)
{
colormodel = file->get_best_colormodel(driver);
if(file)
{
colormodel = file->get_best_colormodel(driver);
+//printf("VRender::get_colormodel %d driver=%d colormodel=%d\n", __LINE__, driver, colormodel);
renderengine->get_vcache()->check_in(asset);
}
renderengine->get_vcache()->check_in(asset);
}
+// ffmpeg files are side effected by color_model, affects colorspace,color_range
+// if( asset->format == FILE_FFMPEG && !BC_CModels::is_yuv(colormodel) )
+// colormodel = BC_BGR8888;
}
}
}
}