{"id":13568500,"url":"https://github.com/multimediamike/dreamroq","last_synced_at":"2025-04-04T04:31:17.306Z","repository":{"id":139110426,"uuid":"1502284","full_name":"multimediamike/dreamroq","owner":"multimediamike","description":"A RoQ video playback system for the Sega Dreamcast video game console","archived":false,"fork":false,"pushed_at":"2020-07-29T10:45:25.000Z","size":154,"stargazers_count":20,"open_issues_count":3,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-05T00:35:53.798Z","etag":null,"topics":["c","dreamcast","vector-quantization","video","video-codec"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/multimediamike.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.KOS","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2011-03-20T05:16:50.000Z","updated_at":"2024-03-25T14:24:32.000Z","dependencies_parsed_at":"2024-01-14T04:12:43.411Z","dependency_job_id":null,"html_url":"https://github.com/multimediamike/dreamroq","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimediamike%2Fdreamroq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimediamike%2Fdreamroq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimediamike%2Fdreamroq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/multimediamike%2Fdreamroq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/multimediamike","download_url":"https://codeload.github.com/multimediamike/dreamroq/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247123072,"owners_count":20887259,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","dreamcast","vector-quantization","video","video-codec"],"created_at":"2024-08-01T14:00:26.766Z","updated_at":"2025-04-04T04:31:12.296Z","avatar_url":"https://github.com/multimediamike.png","language":"C","funding_links":[],"categories":["Graphics"],"sub_categories":[],"readme":"Dreamroq Library\n\nIntroduction\n============\nDreamroq is a RoQ playback library designed for the Sega Dreamcast video\ngame console.\n\nRoQ is a relatively simple video file format developed for video-heavy\nCD-ROM games. Read more about the format here:\n\nhttp://wiki.multimedia.cx/index.php?title=RoQ\n\nThe Dreamroq library includes a player component that is designed to run\nunder the KallistiOS (KOS) open source operating system. Read more about\nKOS at:\n\nhttp://gamedev.allusion.net/softprj/kos/\n\nThe library also includes a sample testing utility that can be built\nand executed on Unix systems. This utility is useful for debugging and\nvalidation.\n\nRoQ sample files can be found at:\n\nhttp://samples.mplayerhq.hu/game-formats/idroq/\n\nRoQ files can also be created using the Switchblade encoder:\n\nhttp://icculus.org/~riot/\n\nA version of Switchblade is also included in FFmpeg and many derivative\nprograms:\n\nhttp://ffmpeg.org/\n\n\nLicense\n=======\nDreamroq is meant to be license-compatible with the rest of the KallistiOS\noperating system, which is a BSD-style open source license. You can read\nthe specific text in LICENSE.KOS.\n\n\nBuilding (Unix)\n===============\nTo build and test on Linux/Mac OS X/Cygwin, simply type:\n\n  make\n\nin the source directory. This will build the executable test-dreamroq. This\nutility has the following usage:\n\n  ./test-dreamroq \u003cfile.roq\u003e\n\nThis will decode the RoQ file from the command line into a series of PNM\nfiles in the current working directory (watch out-- this could take up a\nlot of disk space).\n\n\nBuilding (KOS)\n==============\nThere are 2 Makefiles included with Dreamroq. The first -- implicitly\ninvoked when running a bare 'make' command as seen in the \"Building (Unix)\"\nsection -- builds the test utility. The second Makefile is Makefile.KOS,\ninvoked with:\n\n  make -f Makefile.KOS\n\nThis is a standard KOS Makefile which assumes that a KOS build environment\nis available. This is covered in the KOS documentation. This step will\nbuild a file named dreamroq-player.elf which can be loaded onto a Dreamcast\nconsole via standard means (also outside the scope of this document).\n\nThe file dreamcast-player.c contains a hardcoded RoQ file path in its\nmain function. It is best if this points to a file burned on an optical\ndisc. It is also viable to build a small RoQ file as a ROM disk into the\nELF file (which is well supported in KOS) and load the file from the '/rd'\nmount point.\n\n\nBugs, Issues, and Future Development\n====================================\nThe player is just a proof of concept at this point. It doesn't try to\nrender frames with proper timing-- it just plays them as fast as possible\n(which often isn't very fast, mostly due to the I/O bottleneck).\n\nIf the RoQ video is taller than it is wide, expect some odd rendering.\n\nThe API between the library and the client app leaves a bit to be desired.\nNotably absent is some proper initialization and teardown mechanism.\nCurrently, the first call to the render callback initializes the PVR buffers\nbut they are never explicitly freed.\n\n\nCredits\n======= \nLibrary originally written by Mike Melanson (mike -at- multimedia.cx)\n\nAudio support added by Josh \"PH3NOM\" Pearson (ph3nom.dcmc@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultimediamike%2Fdreamroq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmultimediamike%2Fdreamroq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmultimediamike%2Fdreamroq/lists"}