mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 15:51:11 +00:00
70 lines
924 B
Text
70 lines
924 B
Text
|
|
.init gst_volume_orc_init
|
|
|
|
.function orc_scalarmultiply_f64_ns
|
|
.dest 8 d1 double
|
|
.floatparam 8 p1
|
|
|
|
muld d1, d1, p1
|
|
|
|
.function orc_scalarmultiply_f32_ns
|
|
.dest 4 d1 float
|
|
.floatparam 4 p1
|
|
|
|
mulf d1, d1, p1
|
|
|
|
|
|
.function orc_process_int16
|
|
.dest 2 d1 gint16
|
|
.param 2 p1
|
|
.temp 4 t1
|
|
|
|
mulswl t1, d1, p1
|
|
shrsl t1, t1, 13
|
|
convlw d1, t1
|
|
|
|
|
|
.function orc_process_int16_clamp
|
|
.dest 2 d1 gint16
|
|
.param 2 p1
|
|
.temp 4 t1
|
|
|
|
mulswl t1, d1, p1
|
|
shrsl t1, t1, 13
|
|
convssslw d1, t1
|
|
|
|
|
|
.function orc_process_int8
|
|
.dest 1 d1 gint8
|
|
.param 1 p1
|
|
.temp 2 t1
|
|
|
|
mulsbw t1, d1, p1
|
|
shrsw t1, t1, 5
|
|
convwb d1, t1
|
|
|
|
|
|
.function orc_process_int8_clamp
|
|
.dest 1 d1 gint8
|
|
.param 1 p1
|
|
.temp 2 t1
|
|
|
|
mulsbw t1, d1, p1
|
|
shrsw t1, t1, 5
|
|
convssswb d1, t1
|
|
|
|
.function orc_memset_f64
|
|
.dest 8 d1 gdouble
|
|
.floatparam 8 p1
|
|
|
|
copyq d1, p1
|
|
|
|
.function orc_prepare_volumes
|
|
.dest 8 d1 gdouble
|
|
.source 4 s1 gboolean
|
|
.temp 8 t1
|
|
|
|
convld t1, s1
|
|
subd t1, 0x3FF0000000000000L, t1
|
|
muld d1, d1, t1
|
|
|