Date: Wed, 25 Jan 2012 01:39:25 +0200 From: Alexander Motin <mav@FreeBSD.org> To: =?UTF-8?B?TWlja2HDq2wgTWFpbGxvdA==?= <mickael.maillot@gmail.com> Cc: freebsd-multimedia@freebsd.org, FreeBSD current <freebsd-current@freebsd.org> Subject: Re: [RFT] Major snd_hda rewrite Message-ID: <4F1F412D.5040009@FreeBSD.org> In-Reply-To: <CAKT0JB7KfOepO9C6dBx7TRoR4qDRQ3V=V69zz=9BFtWOwqhpMQ@mail.gmail.com> References: <4F0DE3FD.2020203@FreeBSD.org> <20120112121853.GC1429@procyon.xvoid.org> <4F0ED8D0.8080403@FreeBSD.org> <CAKT0JB5xP__9KacknmkT8_QrC1hsq8Gj5quRY_FvgmB=sJGmSQ@mail.gmail.com> <4F171D7A.4080003@FreeBSD.org> <CAKT0JB6u-b1CTcYVphLnEf-rHCmuSLJJFrYOiiqChJKDYtRHtQ@mail.gmail.com> <4F177979.5010106@FreeBSD.org> <CAKT0JB7k0V42w0WGN1mq4sKgQxqbnf_NoDRZAxPrMGebuvUH2g@mail.gmail.com> <CAKT0JB5zOjmy1R13W%2BbY453VySOkYcShpnHwk8kbT=-yAUC2vQ@mail.gmail.com> <CAKT0JB5xHJ7=UFHDhumsiMqfYGEPV6QyNz2YbHb%2BojOUgw23WA@mail.gmail.com> <4F1ACBA8.6000203@FreeBSD.org> <CAKT0JB7Z=pwv9oryCcu2OV7kHnkXjPj-cYY_=0c6PMbNF1BLTw@mail.gmail.com> <4F1EB305.9000105@FreeBSD.org> <4F1EDD3D.6070800@FreeBSD.org> <CAKT0JB5jAr6VP5Q9sBVG6hFrnn%2BWafEDWT43yKhdXJuWv4U8pw@mail.gmail.com> <4F1F31CA.5000507@FreeBSD.org> <4F1F34DB.9040405@FreeBSD.org> <CAKT0JB7KfOepO9C6dBx7TRoR4qDRQ3V=V69zz=9BFtWOwqhpMQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 25.01.2012 01:32, Mickaƫl Maillot wrote:
> 2012/1/24 Alexander Motin <mav@freebsd.org <mailto:mav@freebsd.org>>
> Number of channels should be set to 8 by application when it
> expects bit
> rate above 6Mbps. Sample rate, as I've described, just give more
> fine
> control. Increasing sample rate does not automatically increase
> channels. They are orthogonal:
> Rate 48 96 192 48 96 192
> Channels 2 2 2 8 8 8
> ------------------------------__----------------------------
> Mbps 1.5 3 6 12 24 49
>
>
> ok so set 8 channels is just to allow more bandwidth.
> i just looked at alsa hdmi code (because i never find oss code that can
> play hd audio),
> they set 192k and 8 channels for every DTS HD / TRUEHD / E-AC3 file, so
> i was thinking to do the same.
HBR mode (8 channels) is not always supported by hardware and not
defined by HDMI 1.1 spec (not sure about 1.2). So I think if possible,
it would be nice to differentiate them.
> What I've forgot is to allow 8ch format. :) Add the patch below.
> Hope
> sound(4) has no other limitations for it.
>
> Hmm. Looks like there is some limitation. You may grep kernel for
> AFMT_PASSTHROUGH and find two "XXX force ..." comments and code,
> including forcing 2 channels for AC3. Luckily for not part for
> frequency is commented out. Further we may try to comment or modify
> part about number of channels.
>
> spotted and commented
>
> --- hdaa.c (revision 230511)
> +++ hdaa.c (working copy)
> @@ -4979,6 +4979,8 @@
> }
> if (HDA_PARAM_SUPP_STREAM___FORMATS_AC3(fmtcap)) {
> ch->fmtlist[i++] = SND_FORMAT(AFMT_AC3, 2, 0);
> + if (channels >= 8)
> + ch->fmtlist[i++] = SND_FORMAT(AFMT_AC3, 8, 0);
> }
> ch->fmtlist[i] = 0;
> i = 0;
>
> But in your case I think it should be enough to just increase sample
> rate to 96 or 192KHz.
>
> so if my problem persist after settings 8 channels, i'll blame xbmc oss
> part.
Can't wait to know result. :)
--
Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F1F412D.5040009>
