Quest for faster H264 playback - OpenH264
#1
Quest for faster H264 playback - OpenH264
OpenH264 is a competing standard to x264 that appears to have a MIPS32 and MIPS64 optimized backend, and is designed for some embedded applications. It may be more viable if we could get it working on IRIX.

Some work would probably need to be done. It doesn't build with MIPSPro and I'm not hacking around with C++ at this time. the assembler appears to also be for a slightly different MIPS standard and may need some adjustment.

May still be worth checking out.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,239
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
02-18-2020, 04:35 AM
#2
RE: Quest for faster H264 playback - OpenH264
(02-18-2020, 04:35 AM)Raion Wrote:  OpenH264 is a competing standard to x264 that appears to have a MIPS32 and MIPS64 optimized backend, and is designed for some embedded applications. It may be more viable if we could get it working on IRIX.

It's important to remember that MIPS32 and MIPS64 are different instruction sets than the MIPS3 and MIPS4 we're used to on SGIs.  It's not shorthand for "32-bit MIPS".  So it would still require a fair bit of porting to either of the instruction sets used in SGI hardware.

(I'm not trying to discourage anyone from attempting it.  Just offering a word of caution about the amount of effort required.)

SGI:  Indigo, Indigo2, Octane, Origin 300
Sun:  SPARCstation 20 (x4), Ultra 2, Blade 2500, T5240
HP:  9000/380, 425e, C8000
Digital: DECstation 5000/125, PWS 600au
jpstewart
Developer

Trade Count: (1)
Posts: 444
Threads: 6
Joined: May 2018
Location: SW Ontario, CA
Find Reply
02-18-2020, 04:33 PM
#3
RE: Quest for faster H264 playback - OpenH264
(02-18-2020, 04:33 PM)jpstewart Wrote:  It's important to remember that MIPS32 and MIPS64 are different instruction sets than the MIPS3 and MIPS4 we're used to on SGIs.  It's not shorthand for "32-bit MIPS".  So it would still require a fair bit of porting to either of the instruction sets used in SGI hardware.

(I'm not trying to discourage anyone from attempting it.  Just offering a word of caution about the amount of effort required.)

Indeed, hence why I said that that there is some ASM that would need to be changed. There would need to be modifications.  But it's better than x264 which is basically, from what I read in the code, all falling back to C in the versions we have in nekoware, and the SIMD that's out there is entirely derived from the embedded MIPS chips, not ones that we have here. 

If I were to contribute between the two of the projects, I'd probably do OpenH264 due to licensing. I don't sign my code away to the GPL devil unless I gotta, but that's just me

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,239
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
02-18-2020, 04:44 PM
#4
RE: Quest for faster H264 playback - OpenH264
I had a quick look at https://github.com/cisco/openh264/blob/m...d-check.sh and it's probing for Longsoon CPU specific instructions. There are no vector instructions in the MIPS CPUs using in SGI systems. H.264 without vector instructions will be painful; hand-optimizing some critical code in asm will not make up for that.
jan-jaap
SGI Collector

Trade Count: (0)
Posts: 1,048
Threads: 37
Joined: Jun 2018
Location: Netherlands
Website Find Reply
02-18-2020, 09:18 PM
#5
RE: Quest for faster H264 playback - OpenH264
Yeah, I saw that. I'm not super familiar as of yet with the extent that SIMD exists in SGI systems, but it does seem to be limited if at all in the CPUs themselves. I know the ICE does, but that's strictly O2 specific.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,239
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
02-18-2020, 09:49 PM
#6
RE: Quest for faster H264 playback - OpenH264
Unfortunately, MIPS-3D didn't show up in the MIPS ISA until version V (five):

https://en.wikipedia.org/wiki/MIPS-3D

And has already been pointed out, trying to implement CPU features in software, even assembler,  will never come close to matching hardware performance in the CPU. :huh:

Project: Temporarily lost at sea
Plan: World domination! Or something...
vishnu
Tezro, Octane2, 2 x Onyx4

Trade Count: (0)
Posts: 1,245
Threads: 41
Joined: Dec 2017
Location: Minneapolis, Minnesota USA
Find Reply
02-19-2020, 12:50 AM
#7
RE: Quest for faster H264 playback - OpenH264
Well, then I guess x264 and OpenH264 aren't worth working in anymore. Guess my next build of mplayer will leave it off.

I'm the system admin of this site. Private security technician, licensed locksmith, hack of a c developer and vintage computer enthusiast. 

https://contrib.irixnet.org/raion/ -- contributions and pieces that I'm working on currently. 

https://codeberg.org/SolusRaion -- Code repos I control

Technical problems should be sent my way.
Raion
Chief IRIX Officer

Trade Count: (9)
Posts: 4,239
Threads: 533
Joined: Nov 2017
Location: Eastern Virginia
Website Find Reply
02-19-2020, 01:22 AM


Forum Jump:


Users browsing this thread: 1 Guest(s)