docs: public static void nv21ToBoof(byte[] data, int width, int height, ImageBase output) {
  
  		if( output instanceof Planar) {
  			Planar ms = (Planar) output;
  
  			if (ms.getBandType() == GrayU8.class) {
  				ConvertNV21.nv21TPlanarRgb_U8(data, width, height, ms);
  			} else if (ms.getBandType() == GrayF32.class) {
  				ConvertNV21.nv21ToPlanarRgb_F32(data, width, height , ms);
  			} else {
  				throw new IllegalArgumentException("Unsupported output band format");
  			}
  		} else if( output instanceof ImageGray) {
  			if (output.getClass() == GrayU8.class) {
  				nv21ToGray(data, width, height, (GrayU8) output);
  			} else if (output.getClass() == GrayF32.class) {
  				nv21ToGray(data, width, height, (GrayF32) output);
  			} else {
  				throw new IllegalArgumentException("Unsupported output type");
  			}
  		} else if( output instanceof ImageInterleaved ) {
  			if( output.getClass() == InterleavedU8.class ) {
  				ConvertNV21.nv21ToInterleaved(data, width, height, (InterleavedU8) output);
  			} else if( output.getClass() == InterleavedF32.class ) {
  				ConvertNV21.nv21ToInterleaved(data, width, height, (InterleavedF32) output);
  			} else {
  				throw new IllegalArgumentException("Unsupported output type");
  			}
  		} else {
  			throw new IllegalArgumentException("Boofcv image type not yet supported");
  		}
  	}