Skip to content
Development
Skill

/tjpgd-integration

Use when integrating, porting, or debugging TJpgDec, Tiny JPEG Decompressor, embedded JPEG decoding, MCU image assets, display callbacks, or memory-constrained rendering

From plugin
aix-skills
3976 skills

Claude Code

$ npx -y skills add easyzoom/aix-skills --skill tjpgd-integration --agent claude-code

SKILL.md

tjpgd-integration.SKILL.md
name: tjpgd-integration
description: Use when integrating, porting, or debugging TJpgDec, Tiny JPEG Decompressor, embedded JPEG decoding, MCU image assets, display callbacks, or memory-constrained rendering

TJpgDec Integration

Overview

Use this skill to integrate TJpgDec by proving the input callback, output callback, work buffer, color format, scaling, and display path. TJpgDec is small, but it still needs careful ownership of input streams and pixel blocks.

When To Use

Use this skill when:

  • The user wants JPEG decoding on MCUs, small displays, LVGL image pipelines, or resource-constrained embedded systems.
  • The issue involves decode errors, wrong colors, cropped images, slow rendering, memory faults, or display block callbacks.
  • The project stores JPEGs in flash, filesystem, SD card, OTA resources, or network streams.

Do not use this skill when the display driver itself is not proven. Use `lvgl-integration`, `u8g2-integration`, or `epd-integration` as appropriate.

First Questions

Ask for:

  • TJpgDec version or wrapper library, target MCU, RAM budget, and compiler.
  • JPEG dimensions, subsampling, color format, progressive/baseline status, and asset source.
  • Input storage path, read callback, seek/skip support, and chunk size.
  • Output target: framebuffer, display flush, LVGL canvas, EPD buffer, or file.
  • Current error code, work buffer size, and failing image sample.

Integration Checklist

1. Validate the JPEG format. Confirm baseline JPEG support and reject unsupported progressive or oversized images.

1. Prove input callback semantics. Reads, skips, short reads, and EOF must match TJpgDec expectations.

1. Allocate the work buffer deliberately. Keep the buffer aligned and sized for the selected build and platform.

1. Match output color. Convert RGB/BGR, RGB565 endian, grayscale, and alpha assumptions at the output boundary.

1. Clip and scale safely. Handle destination rectangles, scaling factors, and display bounds before pushing pixels.

1. Test multiple asset shapes. Include tiny, wide, tall, odd-sized, and maximum-resolution images.

Common Failures

  • Using progressive JPEGs that the decoder does not support.
  • Output callback writes past display or framebuffer bounds.
  • RGB565 byte order is swapped.
  • Input callback cannot skip bytes correctly for filesystem streams.
  • Work buffer lives on a small task stack.
  • Decoding blocks the UI or watchdog for too long.

Verification

Before claiming JPEG decode works:

  • State JPEG format limits, work buffer size, and output color format.
  • Confirm one known-good image renders correctly.
  • Confirm unsupported, truncated, and oversized images fail safely.
  • Confirm display bounds and watchdog behavior.

Example

User:

TJpgDec 图片能解码但颜色不对。

Agent:

1. Checks output format, RGB/BGR order, and RGB565 endian. 1. Renders a small color-bar JPEG through the same callback. 1. Fixes conversion at the output boundary instead of changing asset data first.

Read more
@easyzoom
Ships withaix-skills

AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.

Stars on GitHub

Momentum

stars in total
39
Star history of easyzoom/aix-skills on GitHub, a chart by star-history.com

Other skills on aix-skills.

8051-mcu-debug

8051-mcu-debug

Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…

@easyzoom@easyzoomInstall Skill
avem-integration

avem-integration

Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers,…

@easyzoom@easyzoomInstall Skill
ble-gatt-integration

ble-gatt-integration

Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications,…

@easyzoom@easyzoomInstall Skill
bootloader-debug

bootloader-debug

Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image…

@easyzoom@easyzoomInstall Skill
canbus-integration

canbus-integration

Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing,…

@easyzoom@easyzoomInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about tjpgd-integration.

Which coding agents can use tjpgd-integration?
tjpgd-integration installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.