OS/2, eCS & ArcaOS - Technical > Multimedia

AVX safe FFmpeg

<< < (2/5) > >>


I have installed:
1. SDL2 2.0.12-2
2. libvorbis 1.3.7-2

Possibly needed packages SDL2_*
I also have them installed.

Dave Yeo:
Here's the xqs files for it. The *_g.exe files aren't needed, they should have been the unstripped versions with debug data but seem the same as the *.exe versions.
Dmitriy looked at why -fno-common works here, https://github.com/bitwiseworks/gcc-os2/issues/11#issuecomment-759738933 along with the following comments.
Only needed SDL2 2.0.12-2 here, already had libvorbis. The other SDL2 files will be handy for other projects.
Edit: fix zip name

Hi Ivan,

can you confirm that this AVX enabled version will ONLY EVER run on the OS/4 kernel ?

As far as I know, it requires OS support to save and restore the full 256 bit registers on a task switch and I seem to remember that the standard OS/2 kernel only supports SSE, that is, save and restore of only the 128 bit registers.
By the way, does anyone know if the 128 bits that SSE uses are only the lower 128 bits of the 256 bit registers or are these completely distinct register sets (one complete register set for SSE and an additional register set for AVX) ?

Or do I miss something altogether ?


--- Quote from: Lars on February 19, 2021, 01:05:26 pm ---can you confirm that this AVX enabled version will ONLY EVER run on the OS/4 kernel ?

--- End quote ---

The R3 code should ask if the operating system supports AVX.  If yes - R3 may decides to use AVX code.  I mean, that correctly  compiled and linked dll  will work  on OS/2 and OS/4 as well.

In OS/4  dll will use AVX code, on OS/2 will NOT use AVX code.

Issue happened because     OS/4 supports AVX  and reports about it to R3 apps,  but FFmpeg libs were generated wrongly  and  cannot use their own AVX code (wrong data alignment).

Of course it does not affect pure OS/2 system - R3 apps   do not see AVX support from OS  and even do try   to use AVX code.

AFAIK,  Igor somehow  generated  dlls  with proper alignments -  so they can use  their AVX code,  but it does not affect OS/2 system at all.

I was aware of the fact that an application can check via CPUID instruction if the CPU supports AVX.
I was not aware of the fact that an application can check that the OS actually supports to save and restore the AVX register set (even though I remember that the OS is specifically required to set some flag in some register in order to indicate that it supports AVX save/restore registers).
Maybe I will have to look into the Intel / AMD specs ...


[0] Message Index

[#] Next page

[*] Previous page

Go to full version