Jump to content
IGNORED

60 fps video using SIDE 2


phaeron

Recommended Posts

by applying a 2:1 reduction box filter and then Floyd-Steinberg error diffusion to go to 4-bit, while the chroma goes through a 4x4 ordered dither. I originally wrote this when the best I could do was 7.6 fps, so this could be improved by adding error diffusion to the chroma path and also doing temporal dithering (2-frame flicker). With regard to the wacky math in the chroma path, it is first converting the Cb/Cr to RGB and then to I/Q, then converting that vector to polar form to extract...

 

That's quite exactly what I was referring to with "I miss about 10 years of writing, well, VirtualDub :-)"

Link to comment
Share on other sites

Okay, to extend the insanity a bit more:

movplay60n.zip

Encoded video hard disk image: http://www.mediafire...77db74kriuncpj3

 

I was able to increase the screen size to normal width, 80x192. Turns out the CompactFlash card I am using does indeed require a few cycles between 512b sectors, so the two puzzles were (a) how to get enough cycles in horizontal blank and (b) getting the line splits to fall on sector boundaries. The answers were to replace the STA WSYNCs with a completely cycle-counted kernel, to remove all the LMSes and let the memory scan counter just freewheel in a 4K page, and to mix in horizontally scrolled lines to eat 32 bytes every 12 scanlines to make 12*40 + 32 = 512. The modified player now reads in 17 sectors per frame for a data rate of 509KB/sec. I also improved the dithering in the video encoder and fixed an error in the luma levels handling to get better video quality.

  • Like 8
Link to comment
Share on other sites

Okay, to extend the insanity a bit more:

movplay60n.zip

Encoded video hard disk image: http://www.mediafire...77db74kriuncpj3

 

I was able to increase the screen size to normal width, 80x192. Turns out the CompactFlash card I am using does indeed require a few cycles between 512b sectors, so the two puzzles were (a) how to get enough cycles in horizontal blank and (b) getting the line splits to fall on sector boundaries. The answers were to replace the STA WSYNCs with a completely cycle-counted kernel, to remove all the LMSes and let the memory scan counter just freewheel in a 4K page, and to mix in horizontally scrolled lines to eat 32 bytes every 12 scanlines to make 12*40 + 32 = 512. The modified player now reads in 17 sectors per frame for a data rate of 509KB/sec. I also improved the dithering in the video encoder and fixed an error in the luma levels handling to get better video quality.

Phaeron, do we now resample videos to 160x192?

 

-SteveS

Link to comment
Share on other sites

Hello Xuel

 

IIRC Altirra only runs on the PC and the last one finally went to the attic this afternoon. As of today, we only use windows to look outside.

 

Running this kind of stuff on an emulator isn't like running it on the real thing.

 

Sincerely

 

Mathy

Link to comment
Share on other sites

Has someone successfuly ran this in Altirra? I tried this in Altirra but no success. I downloaded 2.3 somewhere which has the side2 support. Attached an 'side.rom', and a 'REV02.ROM', set the harddisk to 'testhd.bin' and the right settings, set video to ntsc, booted 'movplay60.obx' but I only see a cursor.

 

Basic revc.rom seems to run fine, I get the ready prompt.

 

I really want to see this :)

Link to comment
Share on other sites

Has someone successfuly ran this in Altirra? I tried this in Altirra but no success. I downloaded 2.3 somewhere which has the side2 support. Attached an 'side.rom', and a 'REV02.ROM', set the harddisk to 'testhd.bin' and the right settings, set video to ntsc, booted 'movplay60.obx' but I only see a cursor.

 

Basic revc.rom seems to run fine, I get the ready prompt.

 

I really want to see this :)

Yes but I'm limited to an older version of Altirra (1.9, I think) on this old linux box. For some reason I get a minidump whenever I try to run any of the version 2 betas or 2.20 stable.

 

All I configured is the hard disk (as a SIDE 1, no SIDE 2 in this release) and I booted movplay60n.obx. I didn't need to configure a SIDE cartridge ROM.

 

-SteveS

Edited by a8isa1
Link to comment
Share on other sites

As long as you figure out how to jam it into your GUI

 

Yeah this is exactly what I was saying to MrFish the other day. Begs to be included (eventually, he said struggling to get a couple of hours' coding in). GUI will have the FAT32 file system built-in, so if Avery writes a player which runs off FAT32... it's a done deal. :)

Link to comment
Share on other sites

Yes but I'm limited to an older version of Altirra (1.9, I think) on this old linux box. For some reason I get a minidump whenever I try to run any of the version 2 betas or 2.20 stable.

 

All I configured is the hard disk (as a SIDE 1, no SIDE 2 in this release) and I booted movplay60n.obx. I didn't need to configure a SIDE cartridge ROM.

 

-SteveS

Ok, I got it working now. re-setting the hardisk settings and rebooting the image (instead of reset) seemed to help.

Link to comment
Share on other sites

Phaeron, I answered my earlier question by just going ahead and resampling a video to 160x192 frames.

 

My converted video works but it's almost completely void of color.

 

I used mencoder to process the video. I thought I chose reasonable parameters to do the task but I ended up with a video that is almost completely void of color. I tried a second time and bumped the saturation by 50%. I then got some color but not much and what I got is wrong, blues where reds,orange,or browns should be. (See screenshots).

 

post-9154-0-10615500-1367353809_thumb.pngpost-9154-0-85624700-1367354069_thumb.png

 

Here is the command string I used. Mencoder options are numerous and quite daunting.

 

mencoder -nosound -of rawvideo -ovc raw -vf hue=0:1.5,scale=160:192,format=yv12,harddup -ofps 59.9227 <input_file> -o <output_file>

 

I hope there are some mencoder experts here. If there is an easier linux tool to use I'd love to hear about. I don't have any Windows computers to use.

 

-SteveS

  • Like 1
Link to comment
Share on other sites

Sorry, didn't have time to post a video. Here you go:

 

http://www.youtube.com/watch?v=gYc-ntgrBBs&feature=youtu.be

 

(Unfortunately, it looks like YouTube decided to recompress this one and so there are some compression artifacts. It seems we're at the point where the Atari produces higher quality video than YouTube....)

 

I'd be interested if anyone else has gotten this to work on real hardware -- hopefully there is more than one Atari in the world that can run this successfully. Right now this requires NTSC, as I haven't gotten to modifying the pipelines and doing an encode for PAL. CompactFlash card compatibility is also an issue -- the runs I've been doing on real hardware are from a 512MB "high speed" PQI card, since the other 256MB Mr. Flash card wasn't fast enough. Note that it'll work on a SIDE 1, if it's stable; I have it successfully working on both my SIDE 1 and SIDE 2 carts.

 

My converted video works but it's almost completely void of color.

 

I used mencoder to process the video. I thought I chose reasonable parameters to do the task but I ended up with a video that is almost completely void of color. I tried a second time and bumped the saturation by 50%. I then got some color but not much and what I got is wrong, blues where reds,orange,or browns should be. (See screenshots).

 

Saturation is a problem as with this kind of screen encoding the Atari can't produce very saturated color. You'll notice that most of the colors in my encodes are pretty muted, so don't be surprised if you have to crank up the saturation.

 

It looks like you might be getting the U/V planes swapped. I don't know much about mencoder, but it looks like it has a swapuv option you can use to fix that. Alternatively, you can modify encvideo60n to read the U/V planes swapped instead.

  • Like 5
Link to comment
Share on other sites

My Sandisk 256 CF card with Side1 and Side2 on real hardware 130XE throw's a blue line to screen declaring a READ ERROR and some numbers that I didn't write down. My other faster CF cards are in use and I think I remember a statement about using a 256 MB CF setting.

Link to comment
Share on other sites

I wonder how it would look with a VBXE :) Does the VBXE board have a comparable DMA mode? if so it could "suck" the data much the same way out of the CF like Antic does.

 

It's actually funny to see Antic is overloading CF cards which were produced at a whole different generation of technology!

 

Any chance to see this ported to IDEPLUS2.0?

Link to comment
Share on other sites

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...