X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fplugins%2FC41%2Fc41.C;h=ee59aec5eacd8df62793555083ad0cf525c2e0a1;hb=e5013d46af178d2557a656a777d747e23cc3ae7f;hp=89607d7030300ead9a4ed50bebc18a90baca2e70;hpb=ff25a5db2d01c183307afbfa4da645aab20ca479;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/plugins/C41/c41.C b/cinelerra-5.0/plugins/C41/c41.C index 89607d70..ee59aec5 100644 --- a/cinelerra-5.0/plugins/C41/c41.C +++ b/cinelerra-5.0/plugins/C41/c41.C @@ -504,14 +504,9 @@ int C41Effect::process_buffer(VFrame *vframe, int components = active_model == BC_RGBA_FLOAT ? 4 : 3; if( color_model != active_model ) { - frame = new VFrame(frame_w, frame_h, active_model); - BC_CModels::transfer(frame->get_rows(), vframe->get_rows(), - 0, 0, 0, 0, 0, 0, - 0, 0, vframe->get_w(), vframe->get_h(), - 0, 0, frame->get_w(), frame->get_h(), - vframe->get_color_model(), frame->get_color_model(), - 0, vframe->get_bytes_per_line(), - frame->get_bytes_per_line()); + new_temp(frame_w, frame_h, active_model); + frame = get_temp(); + frame->transfer_from(vframe); } if(config.compute_magic) { @@ -612,17 +607,8 @@ for(int i = 0; i < frame_h; i++) } } - if( vframe != frame ) { - BC_CModels::transfer(vframe->get_rows(), frame->get_rows(), - vframe->get_y(), vframe->get_u(), vframe->get_v(), - 0, 0, 0, - 0, 0, frame->get_w(), frame->get_h(), - 0, 0, vframe->get_w(), vframe->get_h(), - frame->get_color_model(), vframe->get_color_model(), - 0, frame->get_bytes_per_line(), - vframe->get_bytes_per_line()); - delete frame; - } + if( vframe != frame ) + vframe->transfer_from(frame); return 0; }