Page 1 of 1

TRVCAmMultView different behavior on x32 and x64

Posted: Tue Mar 30, 2021 5:43 pm
by medreis
Hi Sergey,

Using the example FFMpeg on x32 it works correctly.

However, when using the same example in x64, the divisions are incorrect and the Videos too.

Is this problem in the example or in the TRVCamMulview component?

Re: TRVCAmMultView different behavior on x32 and x64

Posted: Tue Mar 30, 2021 6:34 pm
by Sergey Tkachenko
Probably, it is a problem related to a high DPI display mode, I'll check it tomorrow.

Re: TRVCAmMultView different behavior on x32 and x64

Posted: Wed Mar 31, 2021 8:37 am
by Sergey Tkachenko
Yes, the problem is in high-DPI display mode.
In the original 32-bit project, in Appearance | Manifest project options, DPI awareness = None, so the application works in 96 DPI even on high-DPI displays. You can see, text is blurred in the application window, because it is scaled by the system.
When you added a 64-bit platform, it received the option DPI awareness = Per Monitor v2.
And this demo does not take into account, that sizes and positions of viewers in CamMultiView.Viewers[] are measured in pixels at 96 DPI.
So, in this demo, in procedure TfrmMain.MakeGrid(nX, nY: Integer), instead of

Code: Select all

    w := rvcmv.ClientWidth div nX;
    h := rvcmv.ClientHeight div nY;
must be:

Code: Select all

    w := RVConvertTo96DPI(rvcmv.ClientWidth div nX, rvcmv);
    h := RVConvertTo96DPI(rvcmv.ClientHeight div nY, rvcmv);
where RVConvertTo96DPI is defined in MRVCore unit.

But, unfortunately, this change is not enough, some corrections are needed in RVMedia code as well.
I'll try to upload a fixed version of RVMedia ASAP, today or tomorrow.

Re: TRVCAmMultView different behavior on x32 and x64

Posted: Thu Apr 01, 2021 4:13 pm
by Sergey Tkachenko
Fixed in RVMedia 8.1