Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Plays an mpeg2 encoded video file on the casio prizm graphing calculator
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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 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 -O2 -mhitachi -Wall -I$HOME/Documents/libfxcg/include" LDFLAGS="-L$HOME/Documents/libfxcg/lib -nostartfiles -T$HOME/Documents/libfxcg/toolchain/prizm.x -Wl,-static -Wl,-gc-sections" --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