From: Good Guy Date: Sat, 30 Sep 2017 03:26:52 +0000 (-0600) Subject: proxy asset refs fix, sams last ffmpeg icons X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=3c357d8bcdb855ea71487d2b2b6e518bf8a493f6;p=goodguy%2Fhistory.git proxy asset refs fix, sams last ffmpeg icons --- diff --git a/cinelerra-5.1/cinelerra/proxy.C b/cinelerra-5.1/cinelerra/proxy.C index 90c02a73..ddc4d1c9 100644 --- a/cinelerra-5.1/cinelerra/proxy.C +++ b/cinelerra-5.1/cinelerra/proxy.C @@ -177,13 +177,13 @@ void ProxyDialog::to_proxy() for( ; orig_asset; orig_asset=orig_asset->next ) { char new_path[BCTEXTLEN]; proxy_render.to_proxy_path(new_path, orig_asset, proxy_scale); - Asset *proxy_asset = edl->assets->get_asset(new_path); - if( !proxy_asset ) continue; // test if proxy asset was already added to proxy_assets int got_it = 0; for( int i = 0; !got_it && ipath, new_path); if( got_it ) continue; + Asset *proxy_asset = edl->assets->get_asset(new_path); + if( !proxy_asset ) continue; // add pointer to existing EDL asset if it exists // EDL won't delete it unless it's the same pointer. proxy_assets.append(proxy_asset); @@ -197,8 +197,12 @@ void ProxyDialog::to_proxy() mwindow->set_proxy(0, 1, proxy_auto_scale, &proxy_assets, &orig_idxbls); // remove the references - for( int i=0; iremove_user(); + for( int i=0; iwidth = proxy->actual_width; + proxy->height = proxy->actual_height; + proxy->remove_user(); + } proxy_assets.remove_all(); for( int i = 0; i < orig_idxbls.size(); i++ ) orig_idxbls[i]->remove_user(); @@ -328,26 +332,31 @@ Asset *ProxyRender::add_original(Indexable *idxbl, int new_scale) for( int i = 0; !got_it && ipath, new_path); if( got_it ) return 0; - -// new proxy asset - Asset *proxy = new Asset; + Assets *edl_assets = mwindow->edl->assets; + Asset *proxy = edl_assets->get_asset(new_path); + if( !proxy ) { + proxy = new Asset(new_path); // new compression parameters - proxy->copy_format(format_asset, 0); - proxy->update_path(new_path); - proxy->audio_data = 0; - proxy->video_data = 1; - proxy->layers = 1; - proxy->width = idxbl->get_w() / new_scale; - if( proxy->width & 1 ) ++proxy->width; - proxy->actual_width = proxy->width; - proxy->height = idxbl->get_h() / new_scale; - if( proxy->height & 1 ) ++proxy->height; - proxy->actual_height = proxy->height; - proxy->frame_rate = idxbl->get_frame_rate(); - proxy->video_length = idxbl->get_video_frames(); + proxy->copy_format(format_asset, 0); + proxy->audio_data = 0; + proxy->video_data = 1; + proxy->layers = 1; + proxy->width = idxbl->get_w() / new_scale; + if( proxy->width & 1 ) ++proxy->width; + proxy->actual_width = proxy->width; + proxy->height = idxbl->get_h() / new_scale; + if( proxy->height & 1 ) ++proxy->height; + proxy->actual_height = proxy->height; + proxy->frame_rate = idxbl->get_frame_rate(); + proxy->video_length = idxbl->get_video_frames(); + edl_assets->append(proxy); + } + else { + proxy->add_user(); + } orig_proxies.append(proxy); - orig_idxbls.append(idxbl); idxbl->add_user(); + orig_idxbls.append(idxbl); return proxy; } diff --git a/cinelerra-5.1/picon_cinfinity/ff_swaprect.png b/cinelerra-5.1/picon_cinfinity/ff_swaprect.png new file mode 100644 index 00000000..ed874013 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_swaprect.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_swapuv.png b/cinelerra-5.1/picon_cinfinity/ff_swapuv.png new file mode 100644 index 00000000..cd6549d5 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_swapuv.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_tinterlace.png b/cinelerra-5.1/picon_cinfinity/ff_tinterlace.png new file mode 100644 index 00000000..4f54ef85 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_tinterlace.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_transpose.png b/cinelerra-5.1/picon_cinfinity/ff_transpose.png new file mode 100644 index 00000000..c423ab81 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_transpose.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_uspp.png b/cinelerra-5.1/picon_cinfinity/ff_uspp.png new file mode 100644 index 00000000..1d13779a Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_uspp.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_vaguedenoiser.png b/cinelerra-5.1/picon_cinfinity/ff_vaguedenoiser.png new file mode 100644 index 00000000..583e9c2e Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_vaguedenoiser.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_vectorscope.png b/cinelerra-5.1/picon_cinfinity/ff_vectorscope.png new file mode 100644 index 00000000..d7d264a2 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_vectorscope.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_vflip.png b/cinelerra-5.1/picon_cinfinity/ff_vflip.png new file mode 100644 index 00000000..7dd81ed0 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_vflip.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_vignette.png b/cinelerra-5.1/picon_cinfinity/ff_vignette.png new file mode 100644 index 00000000..44e2c5ab Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_vignette.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_w3fdif.png b/cinelerra-5.1/picon_cinfinity/ff_w3fdif.png new file mode 100644 index 00000000..85a8a799 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_w3fdif.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_waveform.png b/cinelerra-5.1/picon_cinfinity/ff_waveform.png new file mode 100644 index 00000000..6f99a00c Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_waveform.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_weave.png b/cinelerra-5.1/picon_cinfinity/ff_weave.png new file mode 100644 index 00000000..f4b532d0 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_weave.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_xbr.png b/cinelerra-5.1/picon_cinfinity/ff_xbr.png new file mode 100644 index 00000000..029c54b0 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_xbr.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_yadif.png b/cinelerra-5.1/picon_cinfinity/ff_yadif.png new file mode 100644 index 00000000..9e8af1ac Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_yadif.png differ diff --git a/cinelerra-5.1/picon_cinfinity/ff_zoompan.png b/cinelerra-5.1/picon_cinfinity/ff_zoompan.png new file mode 100644 index 00000000..8317edd6 Binary files /dev/null and b/cinelerra-5.1/picon_cinfinity/ff_zoompan.png differ