projects
/
goodguy
/
cinelerra.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
group selection rework, rm inv title clr, add titlebar alpha textbox, default proxy...
[goodguy/cinelerra.git]
/
cinelerra-5.1
/
cinelerra
/
proxy.C
diff --git
a/cinelerra-5.1/cinelerra/proxy.C
b/cinelerra-5.1/cinelerra/proxy.C
index e368c17c0a860c3d2e56918c0855de2af39bb49c..a53dcf6c6bf29aba38d0eae04c26b196658d091d 100644
(file)
--- a/
cinelerra-5.1/cinelerra/proxy.C
+++ b/
cinelerra-5.1/cinelerra/proxy.C
@@
-50,7
+50,6
@@
#define WIDTH 400
#define HEIGHT 330
#define MAX_SCALE 16
#define WIDTH 400
#define HEIGHT 330
#define MAX_SCALE 16
-#define PROXY_DEFAULT_VCODEC "h265.mp4"
ProxyMenuItem::ProxyMenuItem(MWindow *mwindow)
: BC_MenuItem(_("Proxy settings..."), _("Alt-r"), 'r')
ProxyMenuItem::ProxyMenuItem(MWindow *mwindow)
: BC_MenuItem(_("Proxy settings..."), _("Alt-r"), 'r')
@@
-83,7
+82,13
@@
ProxyDialog::ProxyDialog(MWindow *mwindow)
this->mwindow = mwindow;
gui = 0;
asset = new Asset;
this->mwindow = mwindow;
gui = 0;
asset = new Asset;
- strcpy(asset->vcodec, PROXY_DEFAULT_VCODEC);
+
+// quicker than some, not as good as others
+ asset->format = FILE_FFMPEG;
+ strcpy(asset->fformat, "mpeg");
+ strcpy(asset->vcodec, "mpeg.mpeg");
+ asset->ff_video_bitrate = 2000000;
+
bzero(size_text, sizeof(char*) * MAX_SIZES);
bzero(size_factors, sizeof(int) * MAX_SIZES);
size_text[0] = cstrdup(_("Original size"));
bzero(size_text, sizeof(char*) * MAX_SIZES);
bzero(size_factors, sizeof(int) * MAX_SIZES);
size_text[0] = cstrdup(_("Original size"));
@@
-632,6
+637,11
@@
void ProxyClient::process_package(LoadPackage *ptr)
int jobs = proxy_render->needed_proxies.size();
int processors = preferences->project_smp / jobs + 1, result = 0;
int jobs = proxy_render->needed_proxies.size();
int processors = preferences->project_smp / jobs + 1, result = 0;
+// each cpu should process at least about 1 MB, or it thrashes
+ int size = edl->session->output_w * edl->session->output_h * 4;
+ int cpus = size / 0x100000 + 1;
+ if( processors > cpus ) processors = cpus;
+
if( orig->is_asset ) {
src_file = new File;
src_file->set_processors(processors);
if( orig->is_asset ) {
src_file = new File;
src_file->set_processors(processors);