@@ -498,7 +498,7 @@ impl FrameConverter for D3D11Converter {
498498fn pixel_to_dxgi ( pixel : Pixel ) -> Result < DXGI_FORMAT , ConvertError > {
499499 match pixel {
500500 Pixel :: NV12 => Ok ( DXGI_FORMAT_NV12 ) ,
501- Pixel :: YUYV422 => Ok ( DXGI_FORMAT_YUY2 ) ,
501+ Pixel :: YUYV422 | Pixel :: UYVY422 => Ok ( DXGI_FORMAT_YUY2 ) ,
502502 _ => Err ( ConvertError :: UnsupportedFormat ( pixel, Pixel :: NV12 ) ) ,
503503 }
504504}
@@ -548,35 +548,29 @@ unsafe fn copy_frame_to_mapped(frame: &frame::Video, dst: *mut u8, dst_stride: u
548548 match format {
549549 Pixel :: NV12 => {
550550 for y in 0 ..height {
551- unsafe {
552- ptr:: copy_nonoverlapping (
553- frame. data ( 0 ) . as_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
554- dst. add ( y * dst_stride) ,
555- frame. width ( ) as usize ,
556- ) ;
557- }
551+ ptr:: copy_nonoverlapping (
552+ frame. data ( 0 ) . as_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
553+ dst. add ( y * dst_stride) ,
554+ frame. width ( ) as usize ,
555+ ) ;
558556 }
559557 let uv_offset = height * dst_stride;
560558 for y in 0 ..height / 2 {
561- unsafe {
562- ptr:: copy_nonoverlapping (
563- frame. data ( 1 ) . as_ptr ( ) . add ( y * frame. stride ( 1 ) ) ,
564- dst. add ( uv_offset + y * dst_stride) ,
565- frame. width ( ) as usize ,
566- ) ;
567- }
559+ ptr:: copy_nonoverlapping (
560+ frame. data ( 1 ) . as_ptr ( ) . add ( y * frame. stride ( 1 ) ) ,
561+ dst. add ( uv_offset + y * dst_stride) ,
562+ frame. width ( ) as usize ,
563+ ) ;
568564 }
569565 }
570566 Pixel :: YUYV422 | Pixel :: UYVY422 => {
571567 let row_bytes = frame. width ( ) as usize * 2 ;
572568 for y in 0 ..height {
573- unsafe {
574- ptr:: copy_nonoverlapping (
575- frame. data ( 0 ) . as_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
576- dst. add ( y * dst_stride) ,
577- row_bytes,
578- ) ;
579- }
569+ ptr:: copy_nonoverlapping (
570+ frame. data ( 0 ) . as_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
571+ dst. add ( y * dst_stride) ,
572+ row_bytes,
573+ ) ;
580574 }
581575 }
582576 _ => { }
@@ -590,36 +584,30 @@ unsafe fn copy_mapped_to_frame(src: *const u8, src_stride: usize, frame: &mut fr
590584 match format {
591585 Pixel :: NV12 => {
592586 for y in 0 ..height {
593- unsafe {
594- ptr:: copy_nonoverlapping (
595- src. add ( y * src_stride) ,
596- frame. data_mut ( 0 ) . as_mut_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
597- frame. width ( ) as usize ,
598- ) ;
599- }
587+ ptr:: copy_nonoverlapping (
588+ src. add ( y * src_stride) ,
589+ frame. data_mut ( 0 ) . as_mut_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
590+ frame. width ( ) as usize ,
591+ ) ;
600592 }
601593 let uv_offset = height * src_stride;
602594 for y in 0 ..height / 2 {
603- unsafe {
604- ptr:: copy_nonoverlapping (
605- src. add ( uv_offset + y * src_stride) ,
606- frame. data_mut ( 1 ) . as_mut_ptr ( ) . add ( y * frame. stride ( 1 ) ) ,
607- frame. width ( ) as usize ,
608- ) ;
609- }
595+ ptr:: copy_nonoverlapping (
596+ src. add ( uv_offset + y * src_stride) ,
597+ frame. data_mut ( 1 ) . as_mut_ptr ( ) . add ( y * frame. stride ( 1 ) ) ,
598+ frame. width ( ) as usize ,
599+ ) ;
610600 }
611601 }
612- Pixel :: YUYV422 => {
602+ Pixel :: YUYV422 | Pixel :: UYVY422 => {
613603 let bytes_per_pixel = 2 ;
614604 let row_bytes = frame. width ( ) as usize * bytes_per_pixel;
615605 for y in 0 ..height {
616- unsafe {
617- ptr:: copy_nonoverlapping (
618- src. add ( y * src_stride) ,
619- frame. data_mut ( 0 ) . as_mut_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
620- row_bytes,
621- ) ;
622- }
606+ ptr:: copy_nonoverlapping (
607+ src. add ( y * src_stride) ,
608+ frame. data_mut ( 0 ) . as_mut_ptr ( ) . add ( y * frame. stride ( 0 ) ) ,
609+ row_bytes,
610+ ) ;
623611 }
624612 }
625613 _ => { }
0 commit comments