@@ -367,7 +367,7 @@ where
367367
368368 // All branches on generic const will be optimized out.
369369 for ( y_src, rgb) in y_iter. zip ( rgb_iter) {
370- let rgb_chunks = rgb. chunks_exact_mut ( CHANNELS ) ;
370+ let rgb_chunks = rgb. as_chunks_mut :: < CHANNELS > ( ) . 0 . iter_mut ( ) ;
371371
372372 for ( y_src, rgb_dst) in y_src. iter ( ) . zip ( rgb_chunks) {
373373 let r = * y_src;
@@ -403,7 +403,7 @@ where
403403
404404 // All branches on generic const will be optimized out.
405405 for ( y_src, rgb) in y_iter. zip ( rgb_iter) {
406- let rgb_chunks = rgb. chunks_exact_mut ( CHANNELS ) ;
406+ let rgb_chunks = rgb. as_chunks_mut :: < CHANNELS > ( ) . 0 . iter_mut ( ) ;
407407
408408 for ( y_src, rgb_dst) in y_src. iter ( ) . zip ( rgb_chunks) {
409409 let y_value = ( y_src. as_ ( ) - bias_y) * y_coef;
@@ -567,9 +567,11 @@ fn process_halved_chroma_row_cbcr<
567567
568568 let bias_y = range. bias_y as i32 ;
569569 let bias_uv = range. bias_uv as i32 ;
570- let y_iter = y_plane. chunks_exact ( 2 ) ;
571- let rgb_chunks = rgba. chunks_exact_mut ( CHANNELS * 2 ) ;
572- for ( ( ( y_src, & u_src) , & v_src) , rgb_dst) in y_iter. zip ( u_plane) . zip ( v_plane) . zip ( rgb_chunks) {
570+ let ( y_iter, y_left) = y_plane. as_chunks :: < 2 > ( ) ;
571+ let mut rgb_chunks = rgba. chunks_exact_mut ( CHANNELS * 2 ) ;
572+ for ( ( ( y_src, & u_src) , & v_src) , rgb_dst) in
573+ y_iter. iter ( ) . zip ( u_plane) . zip ( v_plane) . zip ( & mut rgb_chunks)
574+ {
573575 let y_value0: i32 = y_src[ 0 ] . as_ ( ) - bias_y;
574576 let cb_value: i32 = u_src. as_ ( ) - bias_uv;
575577 let cr_value: i32 = v_src. as_ ( ) - bias_uv;
@@ -599,11 +601,11 @@ fn process_halved_chroma_row_cbcr<
599601
600602 // Process remainder if width is odd.
601603 if image. width & 1 != 0 {
602- let y_left = y_plane. chunks_exact ( 2 ) . remainder ( ) ;
603- let rgb_chunks = rgba
604- . chunks_exact_mut ( CHANNELS * 2 )
604+ let rgb_chunks = rgb_chunks
605605 . into_remainder ( )
606- . chunks_exact_mut ( CHANNELS ) ;
606+ . as_chunks_mut :: < CHANNELS > ( )
607+ . 0
608+ . iter_mut ( ) ;
607609 let u_iter = u_plane. iter ( ) . rev ( ) ;
608610 let v_iter = v_plane. iter ( ) . rev ( ) ;
609611
@@ -615,11 +617,7 @@ fn process_halved_chroma_row_cbcr<
615617 let cr_value = v_src. as_ ( ) - bias_uv;
616618
617619 ycbcr_execute :: < V , PRECISION , CHANNELS , BIT_DEPTH > (
618- rgb_dst. try_into ( ) . unwrap ( ) ,
619- y_value,
620- cb_value,
621- cr_value,
622- transform,
620+ rgb_dst, y_value, cb_value, cr_value, transform,
623621 ) ;
624622 }
625623 }
@@ -1098,7 +1096,7 @@ where
10981096
10991097 // All branches on generic const will be optimized out.
11001098 for ( ( ( y_src, u_src) , v_src) , rgb) in y_iter. zip ( u_iter) . zip ( v_iter) . zip ( rgb_iter) {
1101- let rgb_chunks = rgb. chunks_exact_mut ( CHANNELS ) ;
1099+ let rgb_chunks = rgb. as_chunks_mut :: < CHANNELS > ( ) . 0 . iter_mut ( ) ;
11021100
11031101 for ( ( ( y_src, u_src) , v_src) , rgb_dst) in y_src. iter ( ) . zip ( u_src) . zip ( v_src) . zip ( rgb_chunks)
11041102 {
@@ -1107,7 +1105,7 @@ where
11071105 let cr_value = v_src. as_ ( ) - bias_uv;
11081106
11091107 ycbcr_execute :: < V , PRECISION , CHANNELS , BIT_DEPTH > (
1110- rgb_dst. try_into ( ) . unwrap ( ) ,
1108+ rgb_dst,
11111109 y_value,
11121110 cb_value,
11131111 cr_value,
@@ -1240,7 +1238,7 @@ where
12401238 let y_bias = range. bias_y as i32 ;
12411239
12421240 for ( ( ( y_src, u_src) , v_src) , rgb) in y_iter. zip ( u_iter) . zip ( v_iter) . zip ( rgb_iter) {
1243- let rgb_chunks = rgb. chunks_exact_mut ( CHANNELS ) ;
1241+ let rgb_chunks = rgb. as_chunks_mut :: < CHANNELS > ( ) . 0 . iter_mut ( ) ;
12441242
12451243 for ( ( ( & y_src, & u_src) , & v_src) , rgb_dst) in
12461244 y_src. iter ( ) . zip ( u_src) . zip ( v_src) . zip ( rgb_chunks)
@@ -1259,7 +1257,7 @@ where
12591257 }
12601258 YuvIntensityRange :: Pc => {
12611259 for ( ( ( y_src, u_src) , v_src) , rgb) in y_iter. zip ( u_iter) . zip ( v_iter) . zip ( rgb_iter) {
1262- let rgb_chunks = rgb. chunks_exact_mut ( CHANNELS ) ;
1260+ let rgb_chunks = rgb. as_chunks_mut :: < CHANNELS > ( ) . 0 . iter_mut ( ) ;
12631261
12641262 for ( ( ( & y_src, & u_src) , & v_src) , rgb_dst) in
12651263 y_src. iter ( ) . zip ( u_src) . zip ( v_src) . zip ( rgb_chunks)
0 commit comments