[mythtv-users] Upmixing with 0.25

Karl Newman siliconfiend at gmail.com
Tue May 22 18:08:47 UTC 2012


On Sun, May 20, 2012 at 8:47 AM, Karl Newman <newmank1 at asme.org> wrote:
> On Sat, May 19, 2012 at 10:54 PM, Jean-Yves Avenard <jyavenard at gmail.com> wrote:
>> Hi
>>
>>
>> On Sunday, 20 May 2012, Karl Newman wrote:
>>>
>>>
>>>
>>> If that were an option, I would have already done it and not even
>>> bothered with the software setup. My amp is a very simple Cambridge
>>> Soundworks 5.1 system with one coax SP/DIF input and no effects. I
>>> can't justify the expense to upgrade right now. This setup worked for
>>> about 4 or 5 years. It's only now that I'm having problems.
>>
>>
>> There's been no changes in myth in regards to that particular behaviours for
>> years.. In fact, it's pretty much always been behaving like this. So there
>> must be something else you've changed in the mean time that would cause the
>> problem.
>>
>> And don't say you haven't changed anything other than myth, probably the
>> original bug you mentioned was completely outside of myth... Did that too
>> work for years?
>>
>
> Oh, I absolutely changed a ton of things, which is definitely a
> complicating factor. I had to rebuild the system after my AMD + nVidia
> motherboard died. I replaced it with an Intel core i3 system, and
> completely rebuilt all the software with modified USE flags (this is a
> Gentoo system). Also during this process I upgraded MythTV to 0.25 to
> get VAAPI support. But, the only thing not working now is Myth.
>
> I think mplayer opens alsa in a blocking manner by default, too,
> because there is a "noblock" option that you can pass to it.
>
> Karl

Well, it appears we've hit a wall with this approach, even though my
upmixing asound.conf works everywhere except video playback in Myth.
Anyway, I thought I'd go back and try to get the internal upmixing
working the way I want. I dug into the code a little bit and found
this little constructor in freesurround.cpp:
FreeSurround::fsurround_params::fsurround_params(int32_t center_width,
                                                 int32_t dimension) :
    center_width(center_width),
    dimension(dimension),
    coeff_a(0.8165),coeff_b(0.5774),
    phasemode(0),
    steering(1),
    front_sep(100),
    rear_sep(100)
{
}

I see it's initializing the fsurround_params struct with some static
values, and I'm thinking that maybe tweaking those might accomplish
what I'm after. From some digging in the decoder code, it looks like
the coeff_a and coeff_b are the key values, but I'm not really sure
what happens with them. Can you give me some idea about which way to
go with these?

Thanks,

Karl


More information about the mythtv-users mailing list