X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fproxy.C;fp=cinelerra-5.1%2Fcinelerra%2Fproxy.C;h=a53dcf6c6bf29aba38d0eae04c26b196658d091d;hp=e368c17c0a860c3d2e56918c0855de2af39bb49c;hb=9a7a880b549aed850fd3c29abb152d69a94e23f8;hpb=20e53b92d93df8fe3c3b99c9134f992b156330db diff --git a/cinelerra-5.1/cinelerra/proxy.C b/cinelerra-5.1/cinelerra/proxy.C index e368c17c..a53dcf6c 100644 --- 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 PROXY_DEFAULT_VCODEC "h265.mp4" 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; - 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")); @@ -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; +// 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);