From 914aa4aed14738616d2d0f61d857977f10a0cb02 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 3 Nov 2015 11:57:32 +0100 Subject: [PATCH] audiopack: improve pack functions Avoid shifts by using convh functions. --- gst-libs/gst/audio/gstaudiopack.orc | 36 ++++++++---------------------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/gst-libs/gst/audio/gstaudiopack.orc b/gst-libs/gst/audio/gstaudiopack.orc index 9945827..89b2627 100644 --- a/gst-libs/gst/audio/gstaudiopack.orc +++ b/gst-libs/gst/audio/gstaudiopack.orc @@ -171,74 +171,54 @@ swapq d1, s1 .function audio_orc_pack_u8 .dest 1 d1 guint8 .source 4 s1 gint32 -.const 4 c2 24 .const 4 c1 0x80000000 .temp 4 t1 .temp 2 t2 xorl t1, s1, c1 -shrul t1, t1, c2 -convlw t2, t1 -convwb d1, t2 - +convhlw t2, t1 +convhwb d1, t2 .function audio_orc_pack_s8 .dest 1 d1 guint8 .source 4 s1 gint32 -.const 4 c1 24 -.temp 4 t1 .temp 2 t2 -shrsl t1, s1, c1 -convlw t2, t1 -convwb d1, t2 - +convhlw t2, s1 +convhwb d1, t2 .function audio_orc_pack_u16 .dest 2 d1 guint8 .source 4 s1 gint32 -.const 4 c2 16 .const 4 c1 0x80000000 .temp 4 t1 xorl t1, s1, c1 -shrul t1, t1, c2 -convlw d1, t1 - +convhlw d1, t1 .function audio_orc_pack_s16 .dest 2 d1 guint8 .source 4 s1 gint32 -.const 4 c1 16 -.temp 4 t1 - -shrsl t1, s1, c1 -convlw d1, t1 +convhlw d1, s1 .function audio_orc_pack_u16_swap .dest 2 d1 guint8 .source 4 s1 gint32 .const 4 c1 0x80000000 -.const 4 c2 16 .temp 4 t1 .temp 2 t2 xorl t1, s1, c1 -shrul t1, t1, c2 -convlw t2, t1 +convhlw t2, t1 swapw d1, t2 - .function audio_orc_pack_s16_swap .dest 2 d1 guint8 .source 4 s1 gint32 -.const 4 c1 16 -.temp 4 t1 .temp 2 t2 -shrsl t1, s1, c1 -convlw t2, t1 +convhlw t2, s1 swapw d1, t2 .function audio_orc_pack_u24_32 -- 2.7.4