Jump to content
IGNORED

60 fps video using SIDE 2


phaeron

Recommended Posts

And finally, I've made a video to demonstrate the vividness of what is actually shown on the TV.

(I'd forgotten to turn the volume up a bit louder however the tune sounds good too!)

It should be extra vivid on my PAL 1200XL with SV 2.1 upgrade then (the only computer version with the enhanced chroma circuit), since EVERYTHING is much more vivid on it than on my other Atari! And no color bleeding or over saturation, almost as clean as VGA color.

Edited by Gunstar
Link to comment
Share on other sites

I g

 

I guess I need to go get another CF card for videos then. Thanks! and looking forward to the MyIDE patch versions!

Well I tried to edit the newer movie player. Videos play (in Altirra) but I can't seem to find notes on MyIDE II registers. Changes aren't disabling the cartridge.

 

I guess that doesn't matter as long as video does play.

  • Like 2
Link to comment
Share on other sites

 

Thanks Wrathchild! Scripts were enough for me to move forward, but I'll carefully read the instructions you posted as well.

 

As it appeared, I made much more mistakes:

  • When configuring external encoders in virtual dub, I forgot to surround command line parameters with double quotes
  • I used unstable DirectShow input plugin to import MP4 video. So I decided to switch to ffmpeg plugin for virtualdub, but it didn't work on win XP

After that I successfully converted video and played it under Altirra. The converted file soon will be available here (it's PAL video): https://1drv.ms/f/s!Al-x2lbdaRKHjdlep1YlMp3VD_SOOg

 

Then I decided test it on real hardware. I have SIDE version 1 and two CF cards: Kingston Elite Pro 1GB (the blue one) and Alan - Bradley Industrial Standard 128MB card (yes, it's from the PLC manufacturer). To move data to I used HDDRawCopy on Windows.

 

Immediately after running the MOVPLAY.XEX on Atari I receive message "IDE Command error 5000 00000000". However, after few restarts of Atari it played! The video is superb, but the audio.. disappointing. During whole movie I can hear loud sound similar to shooting gun making it unpleasant to listen to. Check the recording I made during playback with my phone - it's also on Onedrive (or soon will be)

 

So I questions are:

  • what can be done with "IDE command error"?
  • is there any chance two remove that loud "gun-like" noise from audio?

 

@Phaeron

 

I think I have some information to add to grzybson's issues.

 

This is a bit involved but here goes.

 

I have 2 CF cards. One works in all situations. The other has varying but repeatable results

 

I have an NTSC 800XL with Rambo XL 256, an internal MyIDE, and a 4-in-1 OS.

 

I modified Phaeron's later movplay program to work with my internal MyIDE. With the troublesome CF card and stock OS I get IDE Command Error 5000 E000000000 (sorry, I can't remember how many zeros). With QMEG+ OS 4.04 I get 5000 80808080... With MyIDE 4.2I and Omniview OSes the movie plays but I get loud, constant buzzing. This sound is not interrupted when I press START and the movie begins again.

 

It's been a few years since I've had a MyIDE equipped 800XL. I thought both my CF cards had worked. I decided to try the older player. I re-patched movplay60n-smm (I think that's the name) and tried that.

 

With all 4 OSes I get Read Error 5000 E000000000. That's with the troublesome CF card. With the "good" CF card there are no problems at all.

 

I've rewritten data to the that CF card several times. Changed the video 2 or 3 times. I can always repeat the same error conditions. Yet if I mount the CF card in a media reader and point Altirra to it it works every time and with the correct sound.

 

-SteveS

 

p.s. The working card is a 2GB SanDisk Ultra II 2.0 (2004). The trouble card a 1GB Dane Electric (model and manufacture date unknown). The were both purchased as new old stock. I believe about 10 years ago. I'm pretty sure each has had less than 25 full erase cycles.

Edited by a8isa1
Link to comment
Share on other sites

I get IDE Command Error 5000 E000000000 (sorry, I can't remember how many zeros).

 

This is the most interesting case. For read errors during playback, we could chalk that up to the movie player's unreasonable timing expectations on the CF card, but IDE Command Error means that it didn't get through initialization.

 

The last version of the player that I wrote has two commands that can trigger this error, one being the command to enable PIO 6 transfer timing and the other to switch to 8-bit transfers. Can you tell by modifying the program which might be the one that's failing? This is an odd failure because the first byte doesn't have bit 0 set to indicate an error, which it should -- the two bytes displayed are the ATA status and error bytes, respectively.

 

Also, is your internal MyIDE at $D5xx or $D1xx? $D5xx should be about the same as an external interface, but $D1xx has the issue that the stock OS's PBI scan hits the unfortunately placed ATA command register unless you add extra decoding logic.

Link to comment
Share on other sites

 

This is the most interesting case. For read errors during playback, we could chalk that up to the movie player's unreasonable timing expectations on the CF card, but IDE Command Error means that it didn't get through initialization.

 

The last version of the player that I wrote has two commands that can trigger this error, one being the command to enable PIO 6 transfer timing and the other to switch to 8-bit transfers. Can you tell by modifying the program which might be the one that's failing? This is an odd failure because the first byte doesn't have bit 0 set to indicate an error, which it should -- the two bytes displayed are the ATA status and error bytes, respectively.

 

Also, is your internal MyIDE at $D5xx or $D1xx? $D5xx should be about the same as an external interface, but $D1xx has the issue that the stock OS's PBI scan hits the unfortunately placed ATA command register unless you add extra decoding logic.

I'll try to test Tomorrow.

 

Internal MyIDE is connected to $D1xx. I'm only sure that MyIDE OS doesn't have PBI code. I think QMEG doesn't as well. I don't know about Omniview.

 

-SteveS

Link to comment
Share on other sites

 

This is the most interesting case. For read errors during playback, we could chalk that up to the movie player's unreasonable timing expectations on the CF card, but IDE Command Error means that it didn't get through initialization.

 

Phaeron, I'm having very similar issue, except that I get "IDE Command error 5000 00000000" immediately after player launch.

(however, very rarely - one in 20-30 tries it runs).

Link to comment
Share on other sites

@Phaeron

 

I added debugging lines. Strangely, the video plays almost every time, and with all 4 OSes. [edit]However, the audio is always that loud buzzing sound.

 

Once in a while with only QMEG OS I get IDE Command error 8080 80808080

 

It happens after entering the section setting up PIO 6 and after calling IdeDoCmd just once.

 

-SteveS

 

p.s. The "good CF card" always plays fine, still.

Edited by a8isa1
Link to comment
Share on other sites

Last May when I looked at this I'd found the Dragon's Lair video with a difference sequence.

Also at that time I'd experiment with that different form of colour matching.

Here are links to the NTSC and PAL versions I've recreated today.

I've targeted the AuthenticNTSC and OlivierPAL palettes (if replaying in Altirra) and so hopefully they'll look on on real h/w too.

Oh sorry. I didn't see that you had provided files.

 

I fired one up in Altirra. Hard to tell but I'm wondering if the original capture is from the PC version of the game with EGA graphics and not a video disc version.

 

I'm about to copy the NTSC version to a CF card to try on my 800XL.

 

-SteveS

 

p.s. It plays great on the 800XL. Sound is better than I've ever managed in one of these conversions.

Edited by a8isa1
Link to comment
Share on other sites

A new video conversion including my first PAL conversion. Not sure I did it correctly. It came out "widescreen".

 

MNOTHING

 

I discovered Altirra's colors appear more vivid with these movies if PAL artifacting (standard) is enabled whether in PAL or NTSC mode.

The colors are the same as those I see via my scan converter and they are the colors (more or less) of the source videos.

 

I'm using Altirra-2.90-test29 ATM.

  • Like 2
Link to comment
Share on other sites

A new video conversion including my first PAL conversion. Not sure I did it correctly. It came out "widescreen".

 

MNOTHING

 

I discovered Altirra's colors appear more vivid with these movies if PAL artifacting (standard) is enabled whether in PAL or NTSC mode.

The colors are the same as those I see via my scan converter and they are the colors (more or less) of the source videos.

 

I'm using Altirra-2.90-test29 ATM.

Files updated. I think the visuals and audio are noticibly better.

Edited by a8isa1
Link to comment
Share on other sites

I've had the chance to try this on my 800's Incognito and have to say that it looks better on a TV than through Altirra (which is still good) so would recommend that to anyone!

 

Some pics attached too. That isn't glare on the tank shot but as they get activated.

 

For playback I used the attached MovPlay, rebuilt with the altered IDE_BASE (I run it from an disk mounted as D1 on SIO2SD).

 

The card I have is a Jessops branded 256MB but reads as Hitachi V3.3.0.0 under Fdisk on the A8.

 

Enjoy, Mark

Wrathchild, after trying several other video conversions and seeing just how much color Phaeron's format can yield I had to give this one a try.

 

I'm happy with the colors. I wish there is something I could do about the "swimming pixels". I don't know if they are some random aspect, frame to frame, of dithering.

 

Cycles

 

-SteveS

  • Like 1
Link to comment
Share on other sites

The swimming pixels are due to the diffusion dithering that the video encoder does with chroma. The Atari only has binary saturation -- color or no color -- so the encoder aggressively dithers chroma to provide intermediate saturation levels. Regular diffusion dithering is 2D (horizontal+vertical), but to take advantage of the high frame rate the encoder uses 3D dithering (horizontal+vertical+temporal). It's highly biased toward 30Hz flickering, which is why you see the swimming.

 

The dither matrix is set by this somewhat obscure code in the encoder:

float ierror = (fi - itab[out]) * (1.0f / 80.0f);
float qerror = (fq - qtab[out]) * (1.0f / 80.0f);

errfi[y][x] = ierror * 32;
errfq[y][x] = qerror * 32;

pcerr[x + 3] += ierror * 7;
pcerr[x + 4] += ierror * 5;
ncerr[83 - x] += ierror * 3;
ncerr[82 - x] += ierror * 5;
ncerr[81 - x] += ierror * 7;
ncerr[80 - x] += ierror * 5;
ncerr[79 - x] += ierror * 3;
ocerr[x + 0] += ierror * 1;
ocerr[x + 1] += ierror * 3;
ocerr[x + 2] += ierror * 5;
ocerr[x + 3] += ierror * 3;
ocerr[x + 4] += ierror * 1;

pserr[x + 3] += qerror * 7;
pserr[x + 4] += qerror * 5;
nserr[83 - x] += qerror * 3;
nserr[82 - x] += qerror * 5;
nserr[81 - x] += qerror * 7;
nserr[80 - x] += qerror * 5;
nserr[79 - x] += qerror * 3;
oserr[x + 0] += qerror * 1;
oserr[x + 1] += qerror * 3;
oserr[x + 2] += qerror * 5;
oserr[x + 3] += qerror * 3;
oserr[x + 4] += qerror * 1;

What it does is compute the error from what it wanted at a pixel to what it was able to encode, and then spreads out the error to the surrounding pixels. 32/80 of the error goes to the same pixel in the next frame, while 48/80 gets spread to the surrounding pixels in the same frame like this:

|      <X> 7  5 | / 80
| 3  5  7  5  3 |
| 1  3  5  3  1 |

Changing the dither values might help with the artifacts. The other option is to core the saturation, by forcing it to 0 once it drops to a very low level.

  • Like 4
Link to comment
Share on other sites

HI Steve, you'll see in the sources that there are compile flags, ERROR_CORRECTION and PALETTE_MAPPING.

In the versions I've posted, the mapping is enabled and the correction disabled, hence the lesser swimming.

As phaeron's version is effectively mapping off and correction on, you could build a version with both off and see how that comes out.

Link to comment
Share on other sites

 

Phaeron (and Wrathchild) thanks for the information. I can't say I really understand it. I don't have Windows developer tools or even a working Windows machine (ATM) to make use of this information anyway.

 

Also, what I am seeing manifests itself on the real Atari though it's masked by the CRTs natural properties, so it's not as pronounced. The only video path I have that can display your wonderful movie format in all its color glory is my "scan converter". I wonder if it is contributing to what I am seeing.

 

-SteveS

Edited by a8isa1
Link to comment
Share on other sites

Phaeron (and Wrathchild) thanks for the information. I can't say I really understand it. I don't have Windows developer tools or even a working Windows machine (ATM) to make use of this information anyway.

 

Also, what I am seeing manifests itself on the real Atari though it's masked by the CRTs natural properties, so it's not as pronounced. The only video path I have that can display your wonderful movie format in all its color glory is my "scan converter". I wonder if it is contributing to what I am seeing.

 

-SteveS

And, I realized too late to go back and edit the above.

 

I thought the encoder discussed was part of Altirra. Only later I came to the understanding it's part of the tools to assemble a video.

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...