入力データは16ビットデータであり、SSE2命令セットを使用して3つの値の中央値を見つける必要があります。
16ビットの入力値A、B、Cが3つある場合、次のようにすると思いました。
D = max( max( A, B ), C )
E = min( min( A, B ), C )
median = A + B + C - D - E
私が使用する予定のC関数は次のとおりです。
- max-_mm_max_epi16
- min-_mm_min_epi16
- 追加-_mm_add_epi16
- 減算-_mm_sub_epi16
誰かがより良い方法を提案できますか?