case BC_YUV422P: in_w &= ~1; break; // 2x1
case BC_YUV410P: in_w &= ~3; in_h &= ~3; break; // 4x4
case BC_YUV411P: in_w &= ~3; break; // 4x1
case BC_YUV422P: in_w &= ~1; break; // 2x1
case BC_YUV410P: in_w &= ~3; in_h &= ~3; break; // 4x4
case BC_YUV411P: in_w &= ~3; break; // 4x1
case BC_YUV422P: out_w &= ~1; break;
case BC_YUV410P: out_w &= ~3; out_h &= ~3; break;
case BC_YUV411P: out_w &= ~3; break;
case BC_YUV422P: out_w &= ~1; break;
case BC_YUV410P: out_w &= ~3; out_h &= ~3; break;
case BC_YUV411P: out_w &= ~3; break;
slicers.lock("BC_Xfer::xfer_slices");
for( int i=0; i<slices1; y0=y1 ) {
Slicer *slicer = slicers.get_slicer(this);
slicers.lock("BC_Xfer::xfer_slices");
for( int i=0; i<slices1; y0=y1 ) {
Slicer *slicer = slicers.get_slicer(this);
active[i] = slicer;
y1 = out_h * ++i / slices;
slicer->slice(this, y0, y1);
active[i] = slicer;
y1 = out_h * ++i / slices;
slicer->slice(this, y0, y1);