X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcxfer.C;h=263daaa97823d4bcc93c6da3b3147465f49d3bd2;hp=4b98f1188c76efd4b660e6dafbfcf12c1d42b270;hb=048758971ba1956419f8f6d60100c2de28f1b16f;hpb=d68248049f2164ee236816085baedd4624bcee10;ds=sidebyside diff --git a/cinelerra-5.1/guicast/bcxfer.C b/cinelerra-5.1/guicast/bcxfer.C index 4b98f118..263daaa9 100644 --- a/cinelerra-5.1/guicast/bcxfer.C +++ b/cinelerra-5.1/guicast/bcxfer.C @@ -180,7 +180,8 @@ void BC_CModels::transfer(unsigned char **output_rows, unsigned char **input_row out_yp, out_up, out_vp, in_yp, in_up, in_vp, in_x, in_y, in_w, in_h, out_x, out_y, out_w, out_h, in_colormodel, out_colormodel, bg_color,0xff, in_rowspan, out_rowspan); - xfer.xfer(); + if( xfer.xfer() ) + printf("BC_CModels::transfer failed: %d to %d\n", in_colormodel, out_colormodel); } void BC_CModels::transfer( @@ -194,11 +195,12 @@ void BC_CModels::transfer( output_ptrs, out_colormodel, out_x, out_y, out_w, out_h, out_rowspan, input_ptrs, in_colormodel, in_x, in_y, in_w, in_h, in_rowspan, bg_color,0xff); - xfer.xfer(); + if( xfer.xfer() ) + printf("BC_CModels::transfer failed: %d to %d\n", in_colormodel, out_colormodel); } // color is rgb -void BC_CModels::init_color(int color, int alpha, +int BC_CModels::init_color(int color, int alpha, unsigned char **output_rows, int out_colormodel, unsigned char *out_yp, unsigned char *out_up, unsigned char *out_vp, int out_x, int out_y, int out_w, int out_h, int out_rowspan) @@ -206,7 +208,7 @@ void BC_CModels::init_color(int color, int alpha, BC_Xfer xfer(output_rows, 0, out_yp,out_up,out_vp, 0,0,0, 0,0,0,0, out_x,out_y,out_w,out_h, BC_TRANSPARENCY, out_colormodel, color,alpha, 0, out_rowspan); - xfer.xfer(); + return xfer.xfer(); } // specialized functions @@ -262,9 +264,9 @@ BC_Xfer::Slicer *BC_Xfer::SlicerList::get_slicer(BC_Xfer *xp) return slicer; } -void BC_Xfer::xfer_slices(int slices) +int BC_Xfer::xfer_slices(int slices) { - if( !xfn ) return; + if( !xfn ) return 1; int max_slices = BC_Resources::machine_cpus/2; if( slices > max_slices ) slices = max_slices; if( slices < 1 ) slices = 1; @@ -291,6 +293,7 @@ void BC_Xfer::xfer_slices(int slices) slicers.append(active[i]); slicers.unlock(); } + return 0; } BC_Xfer::Slicer::Slicer(BC_Xfer *xp)