OpenBSD CVS

CVS log for src/usr.bin/sndiod/dsp.h


[BACK] Up to [local] / src / usr.bin / sndiod

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.14 / (download) - annotate - [select for diffs], Mon Apr 22 11:07:42 2024 UTC (3 weeks, 6 days ago) by ratchov
Branch: MAIN
CVS Tags: HEAD
Changes since 1.13: +2 -2 lines
Diff to previous 1.13 (colored)

sndiod: Use a 24-bit table for index to volume conversion.

Revision 1.13 / (download) - annotate - [select for diffs], Mon Apr 22 11:01:02 2024 UTC (3 weeks, 6 days ago) by ratchov
Branch: MAIN
Changes since 1.12: +4 -2 lines
Diff to previous 1.12 (colored)

sndiod: Use resampling algorithm from aucat

sndiod doesn't use partial blocks as aucat, but having the same
algorithm makes code review and testing easier.

Revision 1.12 / (download) - annotate - [select for diffs], Mon Dec 26 19:16:03 2022 UTC (16 months, 3 weeks ago) by jmc
Branch: MAIN
CVS Tags: OPENBSD_7_5_BASE, OPENBSD_7_5, OPENBSD_7_4_BASE, OPENBSD_7_4, OPENBSD_7_3_BASE, OPENBSD_7_3
Changes since 1.11: +2 -2 lines
Diff to previous 1.11 (colored)

spelling fixes; from paul tagliamonte
amendments to his diff are noted on tech

Revision 1.11 / (download) - annotate - [select for diffs], Mon Mar 7 08:58:33 2022 UTC (2 years, 2 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_7_2_BASE, OPENBSD_7_2, OPENBSD_7_1_BASE, OPENBSD_7_1
Changes since 1.10: +2 -16 lines
Diff to previous 1.10 (colored)

Switch internal sample representation to 24-bit fixed-point.

The default device precision doesn't change (yet), i.e. we still
request the usual 16-bit mode, when available. Hardware supporting
24-bit samples only gets end-to-end 24-bit processing by default.

ok kettenis

Revision 1.10 / (download) - annotate - [select for diffs], Tue May 25 08:06:12 2021 UTC (2 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_7_0_BASE, OPENBSD_7_0
Changes since 1.9: +1 -44 lines
Diff to previous 1.9 (colored)

Drop assembly for 24-bit fixed-point operations

Now i386 compiler is smart enough to generate a single imul
instruction per fixed-point multiplication. This change also allows
24-bit precision to be used on all archs (if -DADATA_BITS=24 is used).

Tested on arm64 by Doug Moss <dougmoss710 at yahoo.com>, thanks

Suggested and ok naddy@

Revision 1.9 / (download) - annotate - [select for diffs], Tue Jan 12 15:46:53 2021 UTC (3 years, 4 months ago) by naddy
Branch: MAIN
CVS Tags: OPENBSD_6_9_BASE, OPENBSD_6_9
Changes since 1.8: +2 -2 lines
Diff to previous 1.8 (colored)

const-ify lookup tables; ok ratchov@

Revision 1.8 / (download) - annotate - [select for diffs], Mon Jan 11 14:26:00 2021 UTC (3 years, 4 months ago) by ratchov
Branch: MAIN
Changes since 1.7: +29 -2 lines
Diff to previous 1.7 (colored)

Use a 8-th order FIR low-pass filter for resampling

At the expence of slightly more CPU cycles, it almost removes aliasing
noise in most practical use-cases.

Revision 1.7 / (download) - annotate - [select for diffs], Fri Jun 8 06:21:56 2018 UTC (5 years, 11 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_8_BASE, OPENBSD_6_8, OPENBSD_6_7_BASE, OPENBSD_6_7, OPENBSD_6_6_BASE, OPENBSD_6_6, OPENBSD_6_5_BASE, OPENBSD_6_5, OPENBSD_6_4_BASE, OPENBSD_6_4
Changes since 1.6: +2 -3 lines
Diff to previous 1.6 (colored)

Greatly simplify the resampling routine using the fact it processes
exactly one block.

Revision 1.6 / (download) - annotate - [select for diffs], Thu Oct 20 05:29:55 2016 UTC (7 years, 7 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_3_BASE, OPENBSD_6_3, OPENBSD_6_2_BASE, OPENBSD_6_2, OPENBSD_6_1_BASE, OPENBSD_6_1
Changes since 1.5: +0 -1 lines
Diff to previous 1.5 (colored)

remove unused variables

Revision 1.5 / (download) - annotate - [select for diffs], Fri Jan 8 16:17:31 2016 UTC (8 years, 4 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_6_0_BASE, OPENBSD_6_0, OPENBSD_5_9_BASE, OPENBSD_5_9
Changes since 1.4: +3 -3 lines
Diff to previous 1.4 (colored)

Make code fit in 80 columns, remove trailing spaces & tabs.

Revision 1.4 / (download) - annotate - [select for diffs], Sun Oct 12 21:52:27 2014 UTC (9 years, 7 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_8_BASE, OPENBSD_5_8, OPENBSD_5_7_BASE, OPENBSD_5_7
Changes since 1.3: +2 -2 lines
Diff to previous 1.3 (colored)

Don't assume that right-shift sign-extends integers.

Revision 1.3 / (download) - annotate - [select for diffs], Wed Mar 5 20:06:05 2014 UTC (10 years, 2 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_6_BASE, OPENBSD_5_6
Changes since 1.2: +1 -2 lines
Diff to previous 1.2 (colored)

remove (unused) square tone generator

Revision 1.2 / (download) - annotate - [select for diffs], Mon Nov 18 17:37:45 2013 UTC (10 years, 6 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_5_BASE, OPENBSD_5_5
Changes since 1.1: +2 -1 lines
Diff to previous 1.1 (colored)

add missing prototypes

Revision 1.1 / (download) - annotate - [select for diffs], Fri Nov 23 07:03:28 2012 UTC (11 years, 5 months ago) by ratchov
Branch: MAIN
CVS Tags: OPENBSD_5_4_BASE, OPENBSD_5_4, OPENBSD_5_3_BASE, OPENBSD_5_3

Remplace aucat server by a new sndiod daemon aimed to be simpler
smaller and faster than aucat. It's a drop in replacement with the
following exceptions that don't affect the default setup:
  - The sample rate and the encoding are a per-device parameters
    thus -r and -e options must precede the corresponding -f option
  - MIDI thru boxes are dynamically created and no -M option
    is required anymore, so -M was removed.
  - MIDI ports are exposed with a new ``midi/N'' name, rather
    than abusing MIDI thru boxes.
with help from armani@, ok deraadt@

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.