From 766d42edcf6d7027c587a1c698977a34df56d935 Mon Sep 17 00:00:00 2001 From: Nicole LeGare Date: Wed, 19 Jul 2023 12:32:30 -0700 Subject: [PATCH] Remove Option from looprestorationfilter_fn --- src/looprestoration.rs | 24 ++++++++++---------- src/looprestoration_tmpl_16.rs | 38 ++++++++++++++++---------------- src/looprestoration_tmpl_8.rs | 40 +++++++++++++++++----------------- src/lr_apply_tmpl_16.rs | 4 ++-- src/lr_apply_tmpl_8.rs | 4 ++-- 5 files changed, 54 insertions(+), 56 deletions(-) diff --git a/src/looprestoration.rs b/src/looprestoration.rs index cd04d0e0e..855b1385c 100644 --- a/src/looprestoration.rs +++ b/src/looprestoration.rs @@ -28,19 +28,17 @@ pub union LooprestorationParams { type pixel = libc::c_void; pub type const_left_pixel_row = *const libc::c_void; // *const [pixel; 4] -pub type looprestorationfilter_fn = Option< - unsafe extern "C" fn( - *mut pixel, - ptrdiff_t, - const_left_pixel_row, - *const pixel, - libc::c_int, - libc::c_int, - *const LooprestorationParams, - LrEdgeFlags, - libc::c_int, - ) -> (), ->; +pub type looprestorationfilter_fn = unsafe extern "C" fn( + *mut pixel, + ptrdiff_t, + const_left_pixel_row, + *const pixel, + libc::c_int, + libc::c_int, + *const LooprestorationParams, + LrEdgeFlags, + libc::c_int, +) -> (); #[derive(Copy, Clone)] #[repr(C)] diff --git a/src/looprestoration_tmpl_16.rs b/src/looprestoration_tmpl_16.rs index fd5d5f5e3..90d6cb1ce 100644 --- a/src/looprestoration_tmpl_16.rs +++ b/src/looprestoration_tmpl_16.rs @@ -952,13 +952,13 @@ unsafe extern "C" fn loop_restoration_dsp_init_x86( return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_16bpc_ssse3); - (*c).wiener[1] = Some(dav1d_wiener_filter5_16bpc_ssse3); + (*c).wiener[0] = dav1d_wiener_filter7_16bpc_ssse3; + (*c).wiener[1] = dav1d_wiener_filter5_16bpc_ssse3; if bpc == 10 { - (*c).sgr[0] = Some(dav1d_sgr_filter_5x5_16bpc_ssse3); - (*c).sgr[1] = Some(dav1d_sgr_filter_3x3_16bpc_ssse3); - (*c).sgr[2] = Some(dav1d_sgr_filter_mix_16bpc_ssse3); + (*c).sgr[0] = dav1d_sgr_filter_5x5_16bpc_ssse3; + (*c).sgr[1] = dav1d_sgr_filter_3x3_16bpc_ssse3; + (*c).sgr[2] = dav1d_sgr_filter_mix_16bpc_ssse3; } #[cfg(target_arch = "x86_64")] @@ -967,26 +967,26 @@ unsafe extern "C" fn loop_restoration_dsp_init_x86( return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_16bpc_avx2); - (*c).wiener[1] = Some(dav1d_wiener_filter5_16bpc_avx2); + (*c).wiener[0] = dav1d_wiener_filter7_16bpc_avx2; + (*c).wiener[1] = dav1d_wiener_filter5_16bpc_avx2; if bpc == 10 { - (*c).sgr[0] = Some(dav1d_sgr_filter_5x5_16bpc_avx2); - (*c).sgr[1] = Some(dav1d_sgr_filter_3x3_16bpc_avx2); - (*c).sgr[2] = Some(dav1d_sgr_filter_mix_16bpc_avx2); + (*c).sgr[0] = dav1d_sgr_filter_5x5_16bpc_avx2; + (*c).sgr[1] = dav1d_sgr_filter_3x3_16bpc_avx2; + (*c).sgr[2] = dav1d_sgr_filter_mix_16bpc_avx2; } if flags & DAV1D_X86_CPU_FLAG_AVX512ICL == 0 { return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_16bpc_avx512icl); - (*c).wiener[1] = Some(dav1d_wiener_filter5_16bpc_avx512icl); + (*c).wiener[0] = dav1d_wiener_filter7_16bpc_avx512icl; + (*c).wiener[1] = dav1d_wiener_filter5_16bpc_avx512icl; if bpc == 10 { - (*c).sgr[0] = Some(dav1d_sgr_filter_5x5_16bpc_avx512icl); - (*c).sgr[1] = Some(dav1d_sgr_filter_3x3_16bpc_avx512icl); - (*c).sgr[2] = Some(dav1d_sgr_filter_mix_16bpc_avx512icl); + (*c).sgr[0] = dav1d_sgr_filter_5x5_16bpc_avx512icl; + (*c).sgr[1] = dav1d_sgr_filter_3x3_16bpc_avx512icl; + (*c).sgr[2] = dav1d_sgr_filter_mix_16bpc_avx512icl; } } } @@ -1443,11 +1443,11 @@ pub unsafe extern "C" fn dav1d_loop_restoration_dsp_init_16bpc( c: *mut Dav1dLoopRestorationDSPContext, _bpc: libc::c_int, ) { - (*c).wiener[1] = Some(wiener_c); + (*c).wiener[1] = wiener_c; (*c).wiener[0] = (*c).wiener[1]; - (*c).sgr[0] = Some(sgr_5x5_c); - (*c).sgr[1] = Some(sgr_3x3_c); - (*c).sgr[2] = Some(sgr_mix_c); + (*c).sgr[0] = sgr_5x5_c; + (*c).sgr[1] = sgr_3x3_c; + (*c).sgr[2] = sgr_mix_c; #[cfg(feature = "asm")] cfg_if! { diff --git a/src/looprestoration_tmpl_8.rs b/src/looprestoration_tmpl_8.rs index 4337b3a2b..0cf902f9f 100644 --- a/src/looprestoration_tmpl_8.rs +++ b/src/looprestoration_tmpl_8.rs @@ -919,19 +919,19 @@ unsafe extern "C" fn loop_restoration_dsp_init_x86( return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_8bpc_sse2); - (*c).wiener[1] = Some(dav1d_wiener_filter5_8bpc_sse2); + (*c).wiener[0] = dav1d_wiener_filter7_8bpc_sse2; + (*c).wiener[1] = dav1d_wiener_filter5_8bpc_sse2; if flags & DAV1D_X86_CPU_FLAG_SSSE3 == 0 { return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_8bpc_ssse3); - (*c).wiener[1] = Some(dav1d_wiener_filter5_8bpc_ssse3); + (*c).wiener[0] = dav1d_wiener_filter7_8bpc_ssse3; + (*c).wiener[1] = dav1d_wiener_filter5_8bpc_ssse3; - (*c).sgr[0] = Some(dav1d_sgr_filter_5x5_8bpc_ssse3); - (*c).sgr[1] = Some(dav1d_sgr_filter_3x3_8bpc_ssse3); - (*c).sgr[2] = Some(dav1d_sgr_filter_mix_8bpc_ssse3); + (*c).sgr[0] = dav1d_sgr_filter_5x5_8bpc_ssse3; + (*c).sgr[1] = dav1d_sgr_filter_3x3_8bpc_ssse3; + (*c).sgr[2] = dav1d_sgr_filter_mix_8bpc_ssse3; #[cfg(target_arch = "x86_64")] { @@ -939,23 +939,23 @@ unsafe extern "C" fn loop_restoration_dsp_init_x86( return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_8bpc_avx2); - (*c).wiener[1] = Some(dav1d_wiener_filter5_8bpc_avx2); + (*c).wiener[0] = dav1d_wiener_filter7_8bpc_avx2; + (*c).wiener[1] = dav1d_wiener_filter5_8bpc_avx2; - (*c).sgr[0] = Some(dav1d_sgr_filter_5x5_8bpc_avx2); - (*c).sgr[1] = Some(dav1d_sgr_filter_3x3_8bpc_avx2); - (*c).sgr[2] = Some(dav1d_sgr_filter_mix_8bpc_avx2); + (*c).sgr[0] = dav1d_sgr_filter_5x5_8bpc_avx2; + (*c).sgr[1] = dav1d_sgr_filter_3x3_8bpc_avx2; + (*c).sgr[2] = dav1d_sgr_filter_mix_8bpc_avx2; if flags & DAV1D_X86_CPU_FLAG_AVX512ICL == 0 { return; } - (*c).wiener[0] = Some(dav1d_wiener_filter7_8bpc_avx512icl); + (*c).wiener[0] = dav1d_wiener_filter7_8bpc_avx512icl; (*c).wiener[1] = (*c).wiener[0]; - (*c).sgr[0] = Some(dav1d_sgr_filter_5x5_8bpc_avx512icl); - (*c).sgr[1] = Some(dav1d_sgr_filter_3x3_8bpc_avx512icl); - (*c).sgr[2] = Some(dav1d_sgr_filter_mix_8bpc_avx512icl); + (*c).sgr[0] = dav1d_sgr_filter_5x5_8bpc_avx512icl; + (*c).sgr[1] = dav1d_sgr_filter_3x3_8bpc_avx512icl; + (*c).sgr[2] = dav1d_sgr_filter_mix_8bpc_avx512icl; } } @@ -1387,11 +1387,11 @@ pub unsafe extern "C" fn dav1d_loop_restoration_dsp_init_8bpc( c: *mut Dav1dLoopRestorationDSPContext, _bpc: libc::c_int, ) { - (*c).wiener[1] = Some(wiener_c); + (*c).wiener[1] = wiener_c; (*c).wiener[0] = (*c).wiener[1]; - (*c).sgr[0] = Some(sgr_5x5_c); - (*c).sgr[1] = Some(sgr_3x3_c); - (*c).sgr[2] = Some(sgr_mix_c); + (*c).sgr[0] = sgr_5x5_c; + (*c).sgr[1] = sgr_3x3_c; + (*c).sgr[2] = sgr_mix_c; #[cfg(feature = "asm")] cfg_if! { diff --git a/src/lr_apply_tmpl_16.rs b/src/lr_apply_tmpl_16.rs index 6f175fc8e..f53a7781a 100644 --- a/src/lr_apply_tmpl_16.rs +++ b/src/lr_apply_tmpl_16.rs @@ -653,7 +653,7 @@ unsafe extern "C" fn lr_stripe( ) .offset(x as isize); let mut stripe_h = imin(64 - 8 * (y == 0) as libc::c_int >> ss_ver, row_h - y); - let mut lr_fn: looprestorationfilter_fn = None; + let mut lr_fn: looprestorationfilter_fn; let mut params: LooprestorationParams = LooprestorationParams { filter: [[0; 8]; 2].into(), }; @@ -714,7 +714,7 @@ unsafe extern "C" fn lr_stripe( ^ edges as libc::c_uint) & LR_HAVE_BOTTOM as libc::c_int as libc::c_uint, ); - lr_fn.expect("non-null function pointer")( + lr_fn( p.cast(), stride, left.cast(), diff --git a/src/lr_apply_tmpl_8.rs b/src/lr_apply_tmpl_8.rs index 67cdab9d3..ded80e120 100644 --- a/src/lr_apply_tmpl_8.rs +++ b/src/lr_apply_tmpl_8.rs @@ -628,7 +628,7 @@ unsafe extern "C" fn lr_stripe( ) .offset(x as isize); let mut stripe_h = imin(64 - 8 * (y == 0) as libc::c_int >> ss_ver, row_h - y); - let mut lr_fn: looprestorationfilter_fn = None; + let mut lr_fn: looprestorationfilter_fn; let mut params: LooprestorationParams = LooprestorationParams { filter: [[0; 8]; 2].into(), }; @@ -687,7 +687,7 @@ unsafe extern "C" fn lr_stripe( ^ edges as libc::c_uint) & LR_HAVE_BOTTOM as libc::c_int as libc::c_uint, ); - lr_fn.expect("non-null function pointer")( + lr_fn( p.cast(), stride, left.cast(),