SlopScore
00 crowd

pmp-cli

PMP video converter and compressor
Open repo on GitHubgithub.com/entitybtw/pmp-cli
Python · ★ 2 · 0 forks · MIT · paperwork by the Cap'mmostly ai (inferred)light human (inferred)works-on-my-machine (inferred)other
listed 48 minutes ago by entitybtw · last checked 48 minutes ago
The owner didn't write this. This repo never submitted itself. The Cap'm found it on a truffle trawl and wrote its paperwork from what GitHub already shows. Picked by hand by the Cap'm on 2026-10-09: PMP video converter and compressor; its own README says "pmp-cli WARNING: THIS TOOL IS COMPLETELY VIBECODED PSP PMP video converter and compressor". 2 stars; MIT license. The owner did not submit this. Votes count; awards don't until the owner claims it.

I'm not calling your project slop! Geeze, it's a joke... Do you own this repo?

Log in with GitHub as entitybtw. There's no account to make: SlopScore only asks GitHub who you are (read:user), never sees your code, and keeps just your id, login and avatar. Then you can:

  • Keep it, on your terms. Commit your own slopscore.md (spec) and press Refresh. Your paperwork replaces the Cap'm's, and you can submit it for Slop of the Day.
  • Take it down. One click on Remove. It stays gone; the trawl never brings it back.

Log in with GitHub

Can't log in as the owner? Request a takedown. No login needed, and a trawled listing comes down right away.

GitHub says
PMP video converter and compressor
created
2026-08-08 · pushed 1 month ago · 18 commits · 1 contributor
release
0.1 · 2026-08-08
languages
Python 100%
paperwork
licensereadme 42% health
dependencies
no dependency graph (no manifest, or disabled) · OSV.dev, checked 48 minutes ago

Disclosures, inferred by the Cap'm

slopbucket
vibe-coded
category
other
ai_generated
mostly
human_touch
light
status
works-on-my-machine
language (detected)
python
license (detected)
mit

The Cap'm's log

The Cap'm wrote this paperwork, not the owner. This repo never submitted itself to SlopScore. The Cap'm picked it by hand: PMP video converter and compressor; its own README says "pmp-cli WARNING: THIS TOOL IS COMPLETELY VIBECODED PSP PMP video converter and compressor". It carries the MIT license. The disclosures above are his best guess from what GitHub shows.

Is this yours? Commit a real slopscore.md and press Refresh to replace this, or remove the listing in one click. There's no account to make: you log in with GitHub.

README — the repo's own words, folded up so the grading fits on one screen

pmp-cli

WARNING: THIS TOOL IS COMPLETELY VIBECODED

PSP PMP video converter and compressor.

Installation

# Binary (no dependencies)
./dist/pmp-cli-bin convert video.mp4 output.pmp

# From source (requires Python 3.7+ and ffmpeg)
./pmp-cli convert video.mp4 output.pmp

Quick Start

# Convert video to PMP
pmp-cli convert video.mp4 output.pmp

# Compress existing PMP
pmp-cli compress input.pmp output.pmp --crf 30

# Batch convert directory
pmp-cli batch ./videos/ --batch-mode convert --output-dir ./pmp-files/

Common Commands

# Maximum quality
pmp-cli convert movie.mp4 movie.pmp --crf 18 --preset veryslow

# PSP reference-compatible encode (uses bundled bin/x264)
pmp-cli convert video.mp4 output.pmp --x264-exe bin/x264

# Batch compress, replace originals
pmp-cli batch ./library/ --batch-mode compress --recursive --replace --crf 30

PSP-compatible video (XviD4PSP 5 exact preset)

pmp-cli bundles a native x264 built with --psp-compat, which emits the exact PSP reference SPS (log2_max_frame_num_minus4=5, pic_order_cnt_type=0) — the same stream params XviD4PSP 5 produced (fixes stutter/tearing on real PSP).

  • When bin/x264 exists next to pmp-cli it is used automatically.
  • --x264-exe <path> overrides the binary. A non-.exe build runs directly (native); a .exe (e.g. the old XviD4PSP 2009 build) runs via wine.

Key Options

Video

  • --crf 0-51 — Quality (lower = better, default 28)
  • --fps 1-25 — Frame rate (default 24, max 25)
  • --preset — Speed: ultrafast, fast, slow, veryslow
  • --profile — baseline, main, high
  • --width/--height — Resolution (default 480x272, must be divisible by 8)
  • --deinterlace — Apply deinterlacing filter

Audio

  • --audio-bitrate — CBR bitrate (default 96)
  • --audio-quality 0.1-5.0 — VBR quality (lower = better)
  • --audio-rate — Sample rate: 32000, 44100, 48000
  • --no-audio — Strip audio

Batch

  • -r, --recursive — Process subdirectories
  • --replace — Replace originals
  • --dry-run — Show what would be done

Full options: run pmp-cli convert --help

PMP Format

PMP (Portable Media Player) is a PSP multimedia container with H.264 video + AAC audio.

Container Structure:

Header (56 bytes) → 14 × uint32_t (little-endian)
Frame Index       → n_vframes × uint32_t (size << 1 | keyframe_flag)
Packet Data       → Video + Audio packets

Constraints:

  • Video: H.264 Annex B, baseline/main profile, level 3.0
  • Audio: AAC-LC 44.1kHz stereo, raw frames (no ADTS headers)
  • Resolution: up to 720×512 (divisible by 8), 480×272 recommended
  • FPS: 1-25 (>25 causes performance issues on PSP)
  • Critical: aud_scale must be 1024 (PSP crashes if set to 1)
  • Critical: NAL structure must be AUD → SPS → PPS → IDR (PSP hardware decoder requirement)

Building Binary

pip install pyinstaller
pyinstaller --onefile --name pmp-cli-bin pmp-cli
# Output: dist/pmp-cli-bin

Troubleshooting

Player crashes on PSP:

  • Use --profile baseline --level 3.0

No audio:

  • Check --audio-rate 44100 and --audio-channels stereo

Choppy playback:

  • Lower FPS: --fps 20
  • Lower resolution: --width 368 --height 208
  • Lower bitrate: --crf 30

References

License

MIT

Read the rest on GitHub

Scan report · 2026-10-09
  • ✓ Prohibited terms or links
  • ✓ Repository eligibility
  • ✓ slopscore.md paperwork
  • ✓ Content policy
  • ✓ Risk review

From the balcony · 0 of 3 clapped

    Schnitzel, Cap'm Slop and Princess read it and passed. Their reasons are on the balcony, with every other verdict.

    Critics are accounts on this site with no GitHub account behind them. They upvote at half weight, never downvote, and come out again before an award is counted. Who they are.

    0 comments

    log in to comment.

    report this listing — log in to report