aarch64/vvc: Add put_qpel_hv
With Apple M1 (no i8mm): put_luma_hv_8_4x4_c: 2.2 ( 1.00x) put_luma_hv_8_4x4_neon: 0.8 ( 3.00x) put_luma_hv_8_8x8_c: 7.0 ( 1.00x) put_luma_hv_8_8x8_neon: 0.8 ( 9.33x) put_luma_hv_8_16x16_c: 22.8 ( 1.00x) put_luma_hv_8_16x16_neon: 2.5 ( 9.10x) put_luma_hv_8_32x32_c: 84.8 ( 1.00x) put_luma_hv_8_32x32_neon: 9.5 ( 8.92x) put_luma_hv_8_64x64_c: 333.0 ( 1.00x) put_luma_hv_8_64x64_neon: 35.5 ( 9.38x) put_luma_hv_8_128x128_c: 1294.5 ( 1.00x) put_luma_hv_8_128x128_neon: 137.8 ( 9.40x) With Pixel 8 Pro: put_luma_hv_8_4x4_c: 5.0 ( 1.00x) put_luma_hv_8_4x4_neon: 0.8 ( 6.67x) put_luma_hv_8_4x4_i8mm: 0.2 (20.00x) put_luma_hv_8_8x8_c: 13.2 ( 1.00x) put_luma_hv_8_8x8_neon: 1.2 (10.60x) put_luma_hv_8_8x8_i8mm: 1.2 (10.60x) put_luma_hv_8_16x16_c: 44.2 ( 1.00x) put_luma_hv_8_16x16_neon: 4.5 ( 9.83x) put_luma_hv_8_16x16_i8mm: 4.2 (10.41x) put_luma_hv_8_32x32_c: 160.8 ( 1.00x) put_luma_hv_8_32x32_neon: 17.5 ( 9.19x) put_luma_hv_8_32x32_i8mm: 16.0 (10.05x) put_luma_hv_8_64x64_c: 611.2 ( 1.00x) put_luma_hv_8_64x64_neon: 68.0 ( 8.99x) put_luma_hv_8_64x64_i8mm: 62.2 ( 9.82x) put_luma_hv_8_128x128_c: 2384.8 ( 1.00x) put_luma_hv_8_128x128_neon: 268.8 ( 8.87x) put_luma_hv_8_128x128_i8mm: 245.8 ( 9.70x)
This commit is contained in:
parent
a0b52afd32
commit
5ac6925803
3 changed files with 162 additions and 0 deletions
|
|
@ -67,6 +67,13 @@ void ff_vvc_dsp_init_aarch64(VVCDSPContext *const c, const int bd)
|
|||
c->inter.put[0][5][1][0] =
|
||||
c->inter.put[0][6][1][0] = ff_vvc_put_qpel_v8_8_neon;
|
||||
|
||||
c->inter.put[0][1][1][1] = ff_vvc_put_qpel_hv4_8_neon;
|
||||
c->inter.put[0][2][1][1] = ff_vvc_put_qpel_hv8_8_neon;
|
||||
c->inter.put[0][3][1][1] = ff_vvc_put_qpel_hv16_8_neon;
|
||||
c->inter.put[0][4][1][1] = ff_vvc_put_qpel_hv32_8_neon;
|
||||
c->inter.put[0][5][1][1] = ff_vvc_put_qpel_hv64_8_neon;
|
||||
c->inter.put[0][6][1][1] = ff_vvc_put_qpel_hv128_8_neon;
|
||||
|
||||
c->inter.put_uni[0][1][0][0] = ff_vvc_put_pel_uni_pixels4_8_neon;
|
||||
c->inter.put_uni[0][2][0][0] = ff_vvc_put_pel_uni_pixels8_8_neon;
|
||||
c->inter.put_uni[0][3][0][0] = ff_vvc_put_pel_uni_pixels16_8_neon;
|
||||
|
|
@ -103,6 +110,13 @@ void ff_vvc_dsp_init_aarch64(VVCDSPContext *const c, const int bd)
|
|||
c->inter.put[0][4][0][1] = ff_vvc_put_qpel_h32_8_neon_i8mm;
|
||||
c->inter.put[0][5][0][1] = ff_vvc_put_qpel_h64_8_neon_i8mm;
|
||||
c->inter.put[0][6][0][1] = ff_vvc_put_qpel_h128_8_neon_i8mm;
|
||||
|
||||
c->inter.put[0][1][1][1] = ff_vvc_put_qpel_hv4_8_neon_i8mm;
|
||||
c->inter.put[0][2][1][1] = ff_vvc_put_qpel_hv8_8_neon_i8mm;
|
||||
c->inter.put[0][3][1][1] = ff_vvc_put_qpel_hv16_8_neon_i8mm;
|
||||
c->inter.put[0][4][1][1] = ff_vvc_put_qpel_hv32_8_neon_i8mm;
|
||||
c->inter.put[0][5][1][1] = ff_vvc_put_qpel_hv64_8_neon_i8mm;
|
||||
c->inter.put[0][6][1][1] = ff_vvc_put_qpel_hv128_8_neon_i8mm;
|
||||
}
|
||||
} else if (bd == 10) {
|
||||
c->alf.filter[LUMA] = alf_filter_luma_10_neon;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue