A downloadable tool

Amos Video Player + Encoder  - Amiga

A very simple Video player runs on any Amiga.
A common videoplayer in Amiga is playing videos slowly in compressed, or fast in uncompressed format and need a lot of ram.  Amos is not the best platform to experimet with playing videos in amiga but I am interested to try to make one. I hope one time I find a good speed-size ballance.
The encoder use image serquence. Playback and encoding target is set to fix 320x256 25 fps, but adjustable in source (2 color to HAM6 is possible but much slower). The encoder use pixel density and luminance to detect  movement. The independent image block are not compressed!
No need for extra ram because the loading is done by frame to frame. Not an MPG but a reasonable size for Amiga.
Able to use basic subtitle format (frame start+feame end+text)
Sadly, because of the basic code, the loading time is not parallel, so the result is terribe on real HW, but it looks prety fine on Winuae - Simple A1200 config.
Need further testing and coding but pleased with the current (work in progress) state.
If AMOS can do that.... imagine it in ASM code.
AMOS Source code (encoder+VideoPlayer included).
Extensions used:  AMCAF, TURBO2.15.
Encoder has an adjustable quality setting, but please use it on Winuae.
Feel free to poke with the source.

Files:

AUDIO: simple iff sample 22050 khz 8bit mono (I used GoldWave to convert)

VIDEO: 32 BYTE for palette (Ham version do not store this)
1  WORD for how many image blocks the program needs to load in the NEXT frame. First is 0 then repeats until it is not 0. If the previous image block number is not 0 then first reads the X-Y block coordinates x times (the value from 2.)
    1 WORD - value for how many image blocks the program  needs to load in the NEXT cycle

        2 BYTE
           1 BYTE - value for coordinate X (real screen coordinate/2....0-159 to stay in byte)
           1 BYTE - value for coordinate Y (real screen coordinate.....0-255)
        then reads the image blocks * times previously stored

        138 BYTE (or more ...as AMOS iconbank use it)
            10 BYTE Abk header
           128 BYTE image data (if ex 16x16x4bpl/8bit  in 16 color mode)
        then reads the image blocks * times

    ...and repeats * times previously stored

I ONLY USE THE VIDEOS FOR SOFTWARE DEMOSTRATION!!!
Original videos from Youtube
The image sequence is converted with Ham Convert to 320x256 custom palette 25 fps

Version -2020.07.14.-
-first version

Version -2020.07.15.-
-check for fine/hard movements

Version -2020.07.16.-
-speed up the loading... a little

Version -2020.07.24.-
- removed unnecessary data (2MB /5min)
-16 custom colors
-speed up again. I had to change the video file structure.

Version -2020.07.25.-
- HAM6

Version -2020.07.28.-
-better encoder

Version -2020.07.31.-
-2,4,32 color (2 color mode has a different file structure)

Version -2020.08.02.-
-FastForward (right arrow)
-try to synch Audio/Video
-subtitle support (custom)

Version -2023.02.23.-(BugFix)

Download

Download
AVP.rar 120 MB

Comments

Log in with itch.io to leave a comment.

(1 edit)

This is great.   But how to get  the video to loop?

Playing now with the  c32 player. If  i  remove the   file selectors and give same  video /audio names on each loop,  the video    loops,  but  fills memory? and crashes after a while.

(1 edit)

Hi!

The memory error was caused by me fiddling with the addresses of the icon bank so that the elements of the bank are at consecutive addresses, since that is the only way I can load them into place in one go.(It is the line FOR I=...)

Now I backup those addresses at start and restore the original state at the end of the operation, so it doesn't freeze and there are no memory errors, so the file selector also works again after playback.

If I understood the problem correctly, you can download the corrected version I uploaded(replaced).

Thank you for  the new version.  I just tested  without any changes to the code. 2 c player works, But somehow I cant get the c16 or c32 versions to work. There's a  error message, that bank 2 is not open and it can not copy data because of that.  But you opened it there...?   I will test further.

Wait... My misstake that the videos and IconC32.Abk files should be at the same directory......maybe bank 2 is not open because you change directory with the file selector?