Use LINEARNTOMULAW for 8 bits as well.
This commit is contained in:
parent
f10f926732
commit
ef1ca21e92
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: mulaw.c,v 1.29 2017/06/20 07:21:50 nat Exp $ */
|
/* $NetBSD: mulaw.c,v 1.30 2017/06/25 02:16:41 nat Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1991-1993 Regents of the University of California.
|
* Copyright (c) 1991-1993 Regents of the University of California.
|
||||||
@ -35,7 +35,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
__KERNEL_RCSID(0, "$NetBSD: mulaw.c,v 1.29 2017/06/20 07:21:50 nat Exp $");
|
__KERNEL_RCSID(0, "$NetBSD: mulaw.c,v 1.30 2017/06/25 02:16:41 nat Exp $");
|
||||||
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/systm.h>
|
#include <sys/systm.h>
|
||||||
@ -406,28 +406,7 @@ LINEARNTOMULAW(32, 32)
|
|||||||
LINEARNTOMULAW(24, 32)
|
LINEARNTOMULAW(24, 32)
|
||||||
LINEARNTOMULAW(24, 24)
|
LINEARNTOMULAW(24, 24)
|
||||||
LINEARNTOMULAW(16, 16)
|
LINEARNTOMULAW(16, 16)
|
||||||
|
LINEARNTOMULAW(8, 8)
|
||||||
DEFINE_FILTER(linear8_to_mulaw)
|
|
||||||
{
|
|
||||||
stream_filter_t *this;
|
|
||||||
int m, err;
|
|
||||||
|
|
||||||
this = (stream_filter_t *)self;
|
|
||||||
if ((err = this->prev->fetch_to(sc, this->prev, this->src, max_used)))
|
|
||||||
return err;
|
|
||||||
m = dst->end - dst->start;
|
|
||||||
m = min(m, max_used);
|
|
||||||
if (this->src->param.encoding == AUDIO_ENCODING_ULINEAR_LE) {
|
|
||||||
FILTER_LOOP_PROLOGUE(this->src, 1, dst, 1, m) {
|
|
||||||
*d = lintomulaw[*s];
|
|
||||||
} FILTER_LOOP_EPILOGUE(this->src, dst);
|
|
||||||
} else { /* SLINEAR_LE */
|
|
||||||
FILTER_LOOP_PROLOGUE(this->src, 1, dst, 1, m) {
|
|
||||||
*d = lintomulaw[*s ^ 0x80];
|
|
||||||
} FILTER_LOOP_EPILOGUE(this->src, dst);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
DEFINE_FILTER(alaw_to_linear8)
|
DEFINE_FILTER(alaw_to_linear8)
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: mulaw.h,v 1.23 2017/06/25 02:14:16 nat Exp $ */
|
/* $NetBSD: mulaw.h,v 1.24 2017/06/25 02:16:41 nat Exp $ */
|
||||||
|
|
||||||
/*-
|
/*-
|
||||||
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||||
@ -46,8 +46,8 @@ extern stream_filter_factory_t linear16_16_to_mulaw;
|
|||||||
#define linear16_to_mulaw linear16_16_to_mulaw
|
#define linear16_to_mulaw linear16_16_to_mulaw
|
||||||
/* Convert 8-bit mu-law to/from 8 bit unsigned/signed linear. */
|
/* Convert 8-bit mu-law to/from 8 bit unsigned/signed linear. */
|
||||||
extern stream_filter_factory_t mulaw_to_linear8;
|
extern stream_filter_factory_t mulaw_to_linear8;
|
||||||
extern stream_filter_factory_t linear8_to_mulaw;
|
extern stream_filter_factory_t linear8_8_to_mulaw;
|
||||||
#define linear8_8_to_mulaw linear8_to_mulaw
|
#define linear8_to_mulaw linear8_8_to_mulaw
|
||||||
|
|
||||||
/* Convert 8-bit alaw to/from 32 bit unsigned/signed linear. */
|
/* Convert 8-bit alaw to/from 32 bit unsigned/signed linear. */
|
||||||
extern stream_filter_factory_t alaw_to_linear32;
|
extern stream_filter_factory_t alaw_to_linear32;
|
||||||
|
Loading…
Reference in New Issue
Block a user