Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chinyikming/jpeg
https://github.com/chinyikming/jpeg
Last synced: 17 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/chinyikming/jpeg
- Owner: ChinYikMing
- Created: 2023-11-15T05:31:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-30T14:47:01.000Z (12 months ago)
- Last Synced: 2023-12-04T17:55:52.707Z (12 months ago)
- Language: Java
- Size: 3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Environment
- Tested on: macOS Sonoma 14.0
- Ubuntu 22.04# Java SDK version
- Openjdk 21.0.1(macOS Sonoma 14.0)
- Openjdk 11.0.20.1(Ubuntu 22.04)# Decoding time
### macOS Sonoma 14.0
- teatime.jpg: 0.32s
- monalisa.jpg: 0.20s
- gig-sn01.jpg: 0.41s
- gig-sn08.jpg: 0.52s
### Ubuntu 22.04
- teatime.jpg: 0.25s
- monalisa.jpg: 0.14s
- gig-sn01.jpg: 0.31s
- gig-sn08.jpg: 0.35sNote: `time` CLI command is used for statistics and the decoding time is averaged over 10 runs respectively
# Some improvement
- IDCT can be speed up in certain ways because I precalculate the coefficients that are used (see lines 238–252).# Execution Guidelines
- To build executable and decode four images
```bash
$ make
```
- To build and decode four images and show all decoded images(prerequisite: `open` CLI program is installed or configured)
```bash
$ make open
```
- To build executable
```bash
$ make build
```
- To build executable and decode teatime.jpg
```bash
$ make tea
```
- To build executable and decode monalisa.jpg
```bash
$ make mona
```
- To build executable and decode gig-sn01.jpg
```bash
$ make gig01
```
- To build executable and decode gig-sn08.jpg
```bash
$ make gig08
```
- To clear all artifacts
```bash
$ make clean
```
- To run executable without using Makefile (prerequisite: at least `make build` is run before)
```bash
$ java Main image_filename # e.g., java Main teatime.jpg
```