Skip to content

Plays a mpeg2 encoded video file on the casio prizm graphing calculator

Notifications You must be signed in to change notification settings

ComputerNerd/Casio-prizm-mpeg2-player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a MPEG2 player based on libmpeg2.

The source code can be found at https://github.com/ComputerNerd/Casio-prizm-mpeg2-player

This is version 1.031

To use this program you will see a file browser
I have it set to show *.m2v files because there is no audio but it may play mpeg2 with audio (untested) but it will be ignored

As for what resolution you should make the video I would not go over half of screen resolution it should support 384x216 maximum but malloc errors are encountered

While the video is playing press exit to go back to the file browser.

To compile libmpeg2 you will first need to make some changes
First edit include/mpeg2.h
Replace
mpeg2dec_t * mpeg2_init (void);
with
mpeg2dec_t * mpeg2_init (uint8_t * buf);
Then in libmpeg2/decode.c find
#define BUFFER_SIZE (1194 * 1024)
and replace it with
#define BUFFER_SIZE (384 * 216 * 2 - 4)
and find
mpeg2dec_t * mpeg2_init (void)
and replace it with
mpeg2dec_t * mpeg2_init (uint8_t * buf)
Find
(uint8_t *) mpeg2_malloc (BUFFER_SIZE + 4,
						       MPEG2_ALLOC_CHUNK);
and replace it with
buf;

Now run
export LIBFXCG_PATH=$HOME/Documents/libfxcg
RANLIB=~/casio-gcc/bin/sh3eb-elf-gcc-ranlib NM=~/casio-gcc/bin/sh3eb-elf-gcc-nm AR=~/casio-gcc/bin/sh3eb-elf-gcc-ar ./configure --host=sh3eb-elf --build=x86_64-unknown-linux-gnu  CFLAGS="-m4a-nofpu -mb -O3 -flto -fuse-linker-plugin -mhitachi -Wall -I$LIBFXCG_PATH/include" LDFLAGS="-L$LIBFXCG_PATH/lib -nostartfiles -T$LIBFXCG_PATH/toolchain/prizm.x -Wl,-static -Wl,-gc-sections -Wl,-O3 -O3 -flto -fuse-linker-plugin" --with-gnu-ld --without-x --disable-sdl --disable-largefile && make
You will probably need to change some of the paths
Also make will not finish but that is ok the only thing that does not get built is a demonstration the library gets built so it is fine.
To encode video I used
the following avisynth script
AviSource("FILE PATH HERE")
BilinearResize(176,96)
ChangeFPS(128,13)
AssumeFPS("ntsc_video")
ConvertToYV12()

To encode the video I used HC encoder http://hank315.nl/

There are some settings that you should be aware of please use 1:1 ratio for pixels
Also if you want height to be a multiple of 16 instead of 32 make sure progress sequence is checked (In settings 2)

Icon from http://www.pubzi.com/f/Movie-icon.svg

About

Plays a mpeg2 encoded video file on the casio prizm graphing calculator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published