[mythtv] [mythtv-commits] Ticket #5900: AO: Generalise upmix and AC-3 encoding

John P Poet jppoet at gmail.com
Mon Nov 10 19:45:30 UTC 2008


On Mon, Nov 10, 2008 at 12:24 PM, foo bar <foobum at gmail.com> wrote:
>> Modern ALSA will automatically resample to 48, but only for cards
>> that need it.  Mine does not.
>
> Modern ALSA does software mixing by default and resamples to 48k
> before doing so.
> That the card supports the original sample rate makes no difference.
>
>> How are you defining SNR?  There is no way you can resample a
>> 44.1KHz source into 48KHz and have it be "accurate".
>
> I would venture that it's inaudibly inaccurate.
> Details of the resampler, including SNR definition, here:
> http://www.mega-nerd.com/SRC/
> We use SRC_SINC_BEST_QUALITY.
>
>> Yeah, I just mean *that* feature of the patch.  It would be nice if
>> foo could identify which part of the patch I would need to revert.
>> The rest of it could be useful.
>
> Assuming your card/receiver can do both 44.1k AC-3 and PCM, the
> following should do what you want:
>
> --- libs/libmyth/audiooutputbase.cpp    2008-11-10 19:08:28.000000000 +0000
> +++ libs/libmyth/audiooutputbase.cpp    2008-11-10 19:09:41.000000000 +0000
> @@ -252,7 +252,7 @@
>     {
>         VERBOSE(VB_AUDIO, LOC + "Creating AC-3 Encoder");
>         encoder = new AudioOutputDigitalEncoder();
> -        if (!encoder->Init(CODEC_ID_AC3, 448000, 48000,
> +        if (!encoder->Init(CODEC_ID_AC3, 448000, audio_samplerate,
>                            configured_audio_channels, audio_reenc))
>         {
>             VERBOSE(VB_AUDIO, LOC + "Can't create AC-3 encoder");
> @@ -272,7 +272,7 @@
>
>     // Always resample to 48k - many cards can't do anything else
>     // and ALSA will do it with linear interpolation (yuk) if we don't anyway
> -    if (audio_samplerate != 48000)
> +    if (0)
>     {
>         int error;
>         audio_samplerate = 48000;

Thank you!


John
-- 
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?


More information about the mythtv-dev mailing list