VOGONS


First post, by emosun

User metadata
Rank Oldbie
Rank
Oldbie

Currently am playing with a 486 machine and encoding videos to play back on it. the machine plays videos just fine and plays them as expected without issue , however , the audio card seems to be the biggest bottleneck.

The videos being encoded are cinepak and the only audio codec option to go along with the video that is compatible with such an old machine is IMA 4:1. The machine will not play back the video smoothly unless the Sample rate is set as low as possible , 8000hz. Now 8000hz is somewhat listenable but it sounds god awful. The machine uses a soundblaster 16 and I'm thinking this may be the culprit.

I'm not 100% sure as far as sound card knowledge goes , but I'm guessing even though the soundblaster is capable of running higher sample rate audio it just becomes a bottleneck for the rest of the machine and the video jumps around and skips trying to keep them both in sync.

The VIDEO aspect of the machine is totally fine , I've pretty much perfected it's playback capabilities , it's just the audio that needs to be a bit better.

486 75mhz overdrive , 36mb ram , sb 16 , CL 1mb gpu , 2gb seagate hdd

Also heres a link so far of it running

https://www.reddit.com/r/pcmasterrace/comment … ying_cyberpunk/

Reply 1 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

I don't suppose that machine has any PCI slots, does it? If so, you could perhaps try a PCI card, provided that the OS that you are running this on supports one, and there are any PCI sound cards that work in earlier PCI revisions at all.

Speaking of operating systems, you could try using Windows NT instead of 3.1/9x, or Linux. Or heck, even OS/2. Or BeOS, if you're really adventurous. Such OSes might provide better multitasking and multimedia performance.

Also, Sound Blaster cards support ADPCM decompression in hardware. Unfortunately, such support is limited to 8-bit mono audio at 12kHz, 13kHz tops. But it might stil provide a marginal improvement in audio quality, if you are willing to sacrifice stereo and 16-bit quality. And it might help with synchronization, since there is less data for the CPU to process. Could you try encoding the audio as ADPCM, if your video player supports it? (The Sound Blaster driver in your OS should also support passing through ADPCM streams to the card without attempting any decompression in software. Not sure if that is always the case, and in every OS.)

Reply 2 of 16, by emosun

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote on 2020-10-04, 18:56:

I don't suppose that machine has any PCI slots, does it?

Unfortunately it only has isa

digger wrote on 2020-10-04, 18:56:

Also, Sound Blaster cards support ADPCM decompression in hardware. Unfortunately, such support is limited to 8-bit mono audio at 12kHz, 13kHz tops. But it might stil provide a marginal improvement in audio quality, if you are willing to sacrifice stereo and 16-bit quality. And it might help with synchronization, since there is less data for the CPU to process. Could you try encoding the audio as ADPCM, if your video player supports it? (The Sound Blaster driver in your OS should also support passing through ADPCM streams to the card without attempting any decompression in software. Not sure if that is always the case, and in every OS.)

I've attached what codecs are available to render with , I haven't actually tried uncompressed yet but IDK if windows media will support it. I'm using windows media player to play back the video files as it turns out it's the absolute best player to use with such low specs. Anything else like vlc or mpc is either too cpu intensive or doesn't support full screen so they aren't worth using. From what I remember quicktime is capable of better video and audio quality..... but it doesn't support full screen playback until later paid versions which is very very dumb.

Attachments

Reply 3 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++

The SB16 ASP chip can help in decompression under Windows 9x..
"Accelerating" Windows 95 with Creative's Advanced Signal Processor (CSP)

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Interesting suggestion by Jo22. If that doesnt' work, I would indeed try uncompressed audio. That's basically PCM audio, like in WAV files, right? Surely Windows Media Player should play that back without problems, and the CPU would not be burdened with on-the-fly decompression during playback. I'd definitely try that.

And again, I'd consider alternative operating systems. I mentioned BeOS before, and that OS was particularly well optimized for multimedia applications, and I remember it having incredible performance. For instance, it could play back multiple videos on a system with modest specs without breaking a sweat. BeOS has limited driver support, though. Sound Blaster 16 is fine, but your video card needs to be supported as well.

BeOS was intended as *the* multimedia OS, so it would fit with your project perfectly. 🙂

Reply 5 of 16, by emosun

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2020-10-04, 19:22:

The SB16 ASP chip can help in decompression under Windows 9x..
"Accelerating" Windows 95 with Creative's Advanced Signal Processor (CSP)

It looks interesting but if there's no way to integrate it with a video stream then it's not too much help. The thread doesn't seem to indicate what methods are used to create the files but more the performance of the files so IDK how I'd ever be able to even use that.

Reply 6 of 16, by radiounix

User metadata
Rank Member
Rank
Member

Normal compression at the time was ADPCM, and shouldn't require much CPU time and achieves 50% compression by dropping the sound to 4-bits. It sounds less awful than it seems like it should. Wholly uncompressed audio was common too. 8kz is indeed awful, but 8bit/22khz mono is pretty okay outside of music and would very much fit Cinepak. Cinepak was designed for fast 386s and pretty much any 486. It was the least computationally intensive. Indeo 3.2 is the other to play with, bit more computationally intensive but looks better on some material.

I'm assuming you're encoding around 320x240 right? Higher resolution video, even in Cinepak, is a lot to ask for a 486. If it decodes realtime, there might be nothing left for audio decoding.

Assuming you have the right codec packs, Virtualdub will let you encode in ADPCM and supports 1990s potato codecs including Cinepak, CRAM, Indeo 3.2 and even RLE. That would be the typical tool for this task. Get the Indeo codec pack and maybe you can even get Indeo 4 to decode realtime, no codec pack will bundle this but it's floating around and does install on Windows 7. That's really a Pentium era codec, but straddling; it's less intensive than MPEG1 and looks closer to MPEG1 quality than to Cinepak quality.

Also, the terrible audio of early multimedia had more to do with the CD-ROM technology of the time. In Cinepaks's heyday a CD-ROM spun at 1X or 2X, and with padding, could only be relied upon to deliver 100 to 200 kilobytes a second. That's a lot for anything MPEG, but Cinepak and CRAM are very inefficient codecs and so they really needed every bit of that bandwidth to keep any sense of visual quality. So audio quality went.

Since you're streaming off the hard disk and not a double speed CD-ROM, uncompressed PCM is a real possibility. I would just try for mastering full 44KHZ 16 bit stereo audio unless you have a slow hard disk and/or no local bus IDE, in which case dropping to mono audio and/or 22KHz sampling should work.

Also, you might get better performance from a DOS player like Quickview. But the standard Video for Windows player in 3.1 and 95 is indeed fast. It had to be! It was intended to work on machines that met the minimum MPC1 standard; just a 386SX16, and unofficially, maybe as low as a 286/12.

Last edited by radiounix on 2020-10-04, 22:05. Edited 1 time in total.

Reply 7 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++
radiounix wrote on 2020-10-04, 21:55:

Also, you might get better performance from a DOS player like Quickview. But the standard Video for Windows player in 3.1 and 95 is indeed fast.

There's another, lesser known on. The OS/2 video codec (Ultimotion) .
It was also released for Win-OS/2.

https://m.youtube.com/watch?v=H3BYvPDdRcQ

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 8 of 16, by wiretap

User metadata
Rank Oldbie
Rank
Oldbie

Are you using a MPEG decoder card to free up CPU resources? It will enable you to have full motion video in full screen with high quality audio.

Example: https://youtu.be/wNT8sw649QA

My Github
Circuit Board Repair Manuals

Reply 9 of 16, by emosun

User metadata
Rank Oldbie
Rank
Oldbie
wiretap wrote on 2020-10-05, 01:21:

Are you using a MPEG decoder card to free up CPU resources? It will enable you to have full motion video in full screen with high quality audio.

the machine has mpeg decoding but the machine is far to slow to make use of it. the only mpeg based video it can playback is lower quality than just playing cinepak video.

Reply 10 of 16, by emosun

User metadata
Rank Oldbie
Rank
Oldbie
Jo22 wrote on 2020-10-04, 22:02:

There's another, lesser known on. The OS/2 video codec (Ultimotion) .
It was also released for Win-OS/2.

https://m.youtube.com/watch?v=H3BYvPDdRcQ

your link only goes to a youtube video and not and encoder or anything i can use

Reply 11 of 16, by wiretap

User metadata
Rank Oldbie
Rank
Oldbie
emosun wrote on 2020-10-05, 15:24:
wiretap wrote on 2020-10-05, 01:21:

Are you using a MPEG decoder card to free up CPU resources? It will enable you to have full motion video in full screen with high quality audio.

the machine has mpeg decoding but the machine is far to slow to make use of it. the only mpeg based video it can playback is lower quality than just playing cinepak video.

Sounds like the MPEG card and driver isn't configured. I can play full screen video with good quality audio (i.e VCD) that is smooth on my 25MHz 486SX.

My Github
Circuit Board Repair Manuals

Reply 12 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++
emosun wrote on 2020-10-05, 15:26:
Jo22 wrote on 2020-10-04, 22:02:

There's another, lesser known on. The OS/2 video codec (Ultimotion) .
It was also released for Win-OS/2.

https://m.youtube.com/watch?v=H3BYvPDdRcQ

your link only goes to a youtube video and not and encoder or anything i can use

I do have the decoder. If you wish, I can send it via PM no problem.
If memory serves, it was made available at some OS/2 site long ago (have to double check).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 13 of 16, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++
wiretap wrote on 2020-10-05, 16:16:
emosun wrote on 2020-10-05, 15:24:
wiretap wrote on 2020-10-05, 01:21:

Are you using a MPEG decoder card to free up CPU resources? It will enable you to have full motion video in full screen with high quality audio.

the machine has mpeg decoding but the machine is far to slow to make use of it. the only mpeg based video it can playback is lower quality than just playing cinepak video.

Sounds like the MPEG card and driver isn't configured. I can play full screen video with good quality audio (i.e VCD) that is smooth on my 25MHz 486SX.

This right here. The system requirements for an ISA RealMagic card (full screen MPEG playback) is a measly 386sx-25.

Edit... here are a few more thoughts.

1. Up your FSB to 33Mhz. That CPU should run at 100Mhz no problem... At least that is how I had my OD 75 set up and never had a problem with it.
2. Up your ISA speed. Probably an AT BUS divider option in the BIOS. You might be having issues with the ISA BUS not having enough bandwidth to deal with what you are doing. If it is currently at the default divider of 3 for the 25Mhz FSB, then the ISA bus is only running at 8.33Mhz. Chances are, a 1/2 divider would work just fine for an ISA bus speed of 12.5Mhz.
3. If you up the FSB to 33Mhz, then a 1/3 divider will give you ~11Mhz.

What are your full system specs? Is that a VLB or PCI motherboard or just plain ISA?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 14 of 16, by emosun

User metadata
Rank Oldbie
Rank
Oldbie
wiretap wrote on 2020-10-05, 16:16:

Sounds like the MPEG card and driver isn't configured. I can play full screen video with good quality audio (i.e VCD) that is smooth on my 25MHz 486SX.

ok well the video aspect has already been finished and works very well so now it's more the audio thats the issue.

cyclone3d wrote on 2020-10-05, 16:26:

What are your full system specs? Is that a VLB or PCI motherboard or just plain ISA?

the board is here

http://www.uktsupport.co.uk/pb/mb/450.htm

and its using an overdrive 75mhz and 36mb of ram and the sb 16 and the onboard video

Reply 15 of 16, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Ok, I would try upping the fsb to 33Mhz.

Is there a BIOS option to adjust the AT (ISA) clock divider? Kinda doubting it since it is an OEM board.

Also reduce the timings for the RAM in the BIOS if available. Same for cache.

And reduce the I/O recovery time as well.

How much L2 cache do you have?

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 16 of 16, by emosun

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote on 2020-10-05, 22:32:

How much L2 cache do you have?

i think it has zero l2 cache , but idk that l2 cache would help with sound playback , if someone want to try their own machine with removable l2 cache to see what it does that be neat to see