Skip to content

neon: fix missing had8x8 dispatch and remove AVX dead code#200

Open
kjg0724 wants to merge 1 commit intoAcademySoftwareFoundation:mainfrom
kjg0724:fix/neon-dispatch-cleanup
Open

neon: fix missing had8x8 dispatch and remove AVX dead code#200
kjg0724 wants to merge 1 commit intoAcademySoftwareFoundation:mainfrom
kjg0724:fix/neon-dispatch-cleanup

Conversation

@kjg0724
Copy link
Copy Markdown

@kjg0724 kjg0724 commented Apr 7, 2026

The encoder NEON platform init connects fn_itx, fn_txb, and fn_quant
to their NEON implementations but leaves fn_had8x8 on the C reference.
This patch wires it to oapv_dc_removed_had8x8_neon.

Also cleans up AVX256 intrinsic macros (CALCU_2x8, CALCU_2x4,
CALCU_LINE_1x8, etc.) that were left in oapv_tq_neon.h — these are
unused dead code from a copy-paste of the AVX header.

Additionally removes a redundant fn_dquant assignment in the decoder
NEON block that simply duplicated the default already set in the
common initialization path.

Tested on Apple Silicon (M-series):

  • Build: cmake + make, NEON enabled, no warnings
  • Decode: tile_A.apv conformance bitstream, 3 frames OK
  • Encode: 320x240 YUV422P10LE test sequence, 125 frames OK

Connect oapv_dc_removed_had8x8_neon to the encoder NEON dispatch
block, which was falling back to the C reference despite the NEON
implementation being available.

Remove leftover AVX256 macros (CALCU_2x8, CALCU_2x4, CALCU_LINE_1x8
and their variants) from oapv_tq_neon.h. These were copied from the
AVX header but never converted to NEON intrinsics and are unused.

Also remove a redundant fn_dquant assignment in the decoder NEON
block that duplicated the default C reference already set above.

Signed-off-by: Jeongkeun Kim <variety0724@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant