cv181x-media

Expert guide for CV181X/CV182X/CV180X (SG200X) multimedia development using CVI MPI API. Use this skill when working with: VI (video input/camera/ISP), VPSS (video processing/scaling/crop), VENC (H.264/H.265/JPEG encoding), VDEC (decoding), VB (video buffer pools), SYS binding, or any CVI_* API calls. Covers camera pipeline setup, offline VPSS processing, VB pool planning, and error diagnosis (ERR_VPSS_NOBUF, ERR_VB_NOBUF). API details in references/.

6 stars

Best use case

cv181x-media is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Expert guide for CV181X/CV182X/CV180X (SG200X) multimedia development using CVI MPI API. Use this skill when working with: VI (video input/camera/ISP), VPSS (video processing/scaling/crop), VENC (H.264/H.265/JPEG encoding), VDEC (decoding), VB (video buffer pools), SYS binding, or any CVI_* API calls. Covers camera pipeline setup, offline VPSS processing, VB pool planning, and error diagnosis (ERR_VPSS_NOBUF, ERR_VB_NOBUF). API details in references/.

Teams using cv181x-media should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/cv181x-media/SKILL.md --create-dirs "https://raw.githubusercontent.com/Seeed-Studio/ai-skills/main/skills/cv181x-media/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cv181x-media/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cv181x-media Compares

Feature / Agentcv181x-mediaStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Expert guide for CV181X/CV182X/CV180X (SG200X) multimedia development using CVI MPI API. Use this skill when working with: VI (video input/camera/ISP), VPSS (video processing/scaling/crop), VENC (H.264/H.265/JPEG encoding), VDEC (decoding), VB (video buffer pools), SYS binding, or any CVI_* API calls. Covers camera pipeline setup, offline VPSS processing, VB pool planning, and error diagnosis (ERR_VPSS_NOBUF, ERR_VB_NOBUF). API details in references/.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# CV181X/CV182X/CV180X Multimedia Skill

## Instructions

### Step 1: Confirm the missing context before giving exact API guidance

When the user asks about exact API behavior, limits, struct fields, or error diagnosis, first confirm the available context:
- Target chip or board model
- SDK version or SDK source tree path
- Relevant code snippet, pipeline stage, or runtime log

If required context is missing:
- State that the answer is limited or provisional
- Ask for the specific missing artifact needed to verify the claim
- Do not present SDK-version-specific behavior as universal unless it is confirmed in the available references

### Step 2: Prefer authoritative sources

Use the source order already defined in this skill: SDK headers first, SDK samples second, external material only if it is verified against the headers or samples

## Complete Reference Index

All 18 reference files with searchable keywords:

| File | Keywords | Key APIs |
|------|----------|----------|
| `references/vi.md` | camera, sensor, ISP, MIPI, DEV, PIPE, CHN, video input | `CVI_VI_*`, `CVI_ISP_*`, `CVI_MIPI_*` |
| `references/vpss.md` | scaling, crop, resize, rotate, cvtColor, format conversion, group, channel | `CVI_VPSS_*`, `SendFrame`, `GetChnFrame` |
| `references/venc.md` | encode, H.264, H.265, HEVC, JPEG, MJPEG, bitrate, GOP | `CVI_VENC_*`, `SendFrame`, `GetStream` |
| `references/vdec.md` | decode, JPEG decode, H.264 decode, bitstream | `CVI_VDEC_*`, `SendStream`, `GetFrame` |
| `references/vb.md` | buffer pool, VB, memory, block, pool sizing, CommonPool | `CVI_VB_*`, `GetBlock`, `ReleaseBlock` |
| `references/sys.md` | bind, unbind, init, exit, VI_VPSS_MODE, VPSS_MODE | `CVI_SYS_*`, `Bind`, `SetVIVPSSMode` |
| `references/vo.md` | display, output, LCD, HDMI, layer, framebuffer | `CVI_VO_*`, `SendFrame`, `ChnShow` |
| `references/rgn.md` | OSD, overlay, region, text, graphics, privacy mask | `CVI_RGN_*`, `AttachToChn`, `SetBitMap` |
| `references/gdc.md` | distortion, fisheye, LDC, rotation, mesh, warp | `CVI_GDC_*`, `AddCorrectionTask` |
| `references/audio.md` | audio, microphone, speaker, AI, AO, AENC, ADEC, VQE | `CVI_AI_*`, `CVI_AO_*`, `CVI_AENC_*` |
| `references/ion.md` | ION, DMA, cache, flush, invalidate, physical address | `CVI_SYS_IonAlloc`, `IonFlushCache` |
| `references/debug.md` | /proc, log, debug, status, diagnostics | `/proc/cvitek/*`, log level |
| `references/troubleshooting.md` | error, ERR_VPSS_NOBUF, ERR_VB_NOBUF, failure, fix | error codes, solutions |
| `references/binding-cookbook.md` | concurrent, dual pipeline, online, offline, scenario | multi-scenario design |
| `references/integration-guide.md` | integration, cross-module, ownership, lifecycle | system design rules |
| `references/platform.md` | SDK, path, pixel format, CV181X, CV182X, CV180X | platform differences |
| `references/overview.md` | architecture, workflow, pipeline, introduction | system overview |
| `references/scenarios.md` | example, surveillance, doorbell, NVR, application | complete examples |

---

## Quick Lookup

### By Task

| Task | Reference |
|------|-----------|
| Camera capture | `references/vi.md` |
| Video scaling/crop/rotate | `references/vpss.md` |
| H.264/H.265/JPEG encode | `references/venc.md` |
| JPEG/H.264 decode | `references/vdec.md` |
| Buffer pool planning | `references/vb.md` |
| Module binding | `references/sys.md` |
| Video display | `references/vo.md` |
| OSD/overlay | `references/rgn.md` |
| Fisheye correction | `references/gdc.md` |
| Audio capture/playback | `references/audio.md` |
| DMA memory | `references/ion.md` |
| Debugging | `references/debug.md` |
| Error diagnosis | `references/troubleshooting.md` |

### By Error Code

| Error | Reference |
|-------|-----------|
| `ERR_VPSS_NOBUF (0xc006800e)` | `references/troubleshooting.md` |
| `ERR_VB_NOBUF` | `references/vb.md` |
| `ERR_VENC_NOBUF` | `references/venc.md` |
| `ERR_VI_NOTREADY` | `references/vi.md` |
| Bind failure | `references/sys.md` |

### By Pipeline

| Pipeline | References |
|----------|------------|
| Camera -> VPSS (online) | `vi.md`, `vpss.md`, `sys.md` |
| File -> VPSS (offline) | `vpss.md`, `vb.md` |
| JPEG decode -> VPSS | `vdec.md`, `vpss.md` |
| VPSS -> VENC | `venc.md`, `sys.md` |
| Dual pipeline | `references/binding-cookbook.md` |

---

## Private Operating Procedures

### 1. Authoritative Source Order
1. SDK headers in `cvi_mpi/include/`
2. SDK samples in `cvi_mpi/sample/`
3. Never: external repos without header verification

### 2. VPSS Input Ownership
- VPSS group for ONE input type: ISP or MEM
- Never switch between Bind and SendFrame at runtime
- Concurrent ISP + MEM: separate groups and VB pools

### 3. VI-VPSS Mode Selection

| Mode | Use Case |
|------|----------|
| `VI_OFFLINE_VPSS_ONLINE` | Camera pipeline (recommended) |
| `VI_OFFLINE_VPSS_OFFLINE` | Maximum flexibility |
| `VI_ONLINE_VPSS_ONLINE` | Lowest latency |

### 4. Binding Requirements
- Control plane: `CVI_SYS_Bind` establishes relationship
- Data plane: Mode setting determines data flow
- Binding required even in ISP direct mode
- Unbind before stop; bind after start

### 5. Camera Readiness
- Warm up pipeline after start
- Discard first few frames before capture

### 6. VENC SendFrame Memory
- Must use VB pool, not raw ION
- Use `CVI_VB_GetBlock()`, set `frame.u32PoolId`

### 7. Diagnostics
On failure: `/proc/cvitek/{sys,vb,vi,vpss,vdec,venc}`

---

## Module Init Order

```text
1. CVI_VB_SetConfig + CVI_VB_Init
2. CVI_SYS_Init
3. CVI_SYS_SetVIVPSSMode
4. CVI_SYS_SetVPSSModeEx
5. VI: sensor -> mipi -> dev -> pipe -> isp -> chn
6. VPSS: CreateGrp -> SetChnAttr -> EnableChn -> StartGrp
7. CVI_SYS_Bind
8. Warmup
```

---

## VPSS Mode Reference

### VPSS_MODE_DUAL
```text
DEV0 = VPSS_INPUT_MEM   -> Offline (SendFrame)
DEV1 = VPSS_INPUT_ISP   -> Camera (Bind)
```

### VpssDev Selection
| Input | VpssDev |
|-------|---------|
| Camera (ISP) | 1 |
| File/Memory | 0 |

---

## VB Pool Sizing

```text
Size = COMMON_GetPicBufferSize(w, h, fmt, DATA_BITWIDTH_8, COMPRESS_MODE_NONE, 0)

Counts: Camera=4-6, VPSS=3-4, Encode=2-3, Decode=4-6
```

---

## Debug Commands

```bash
cat /proc/cvitek/sys | grep -A 10 "BIND RELATION"
cat /proc/cvitek/vb | grep -A 20 "PoolId"
cat /proc/cvitek/vi | grep -A 5 "VI CHN STATUS"
cat /proc/cvitek/vpss | grep -A 20 "WORK STATUS"
echo "VI=7" > /proc/cvitek/log
```

---

**Version**: 2.4.0 | **Updated**: 2026-01-20 | **Platform**: SG200X

Related Skills

schematic-analyzer

6
from Seeed-Studio/ai-skills

|

onnx-to-cvimodel

6
from Seeed-Studio/ai-skills

Expert guide for converting ONNX models to CVIMODEL format for Sophgo CV181x TPU. Supports YOLO11/YOLO26 (detect, pose, seg, cls), BiSeNetv2 (semantic segmentation), and PP-LiteSeg (semantic segmentation). Includes tested conversion scripts, quantization tables (qtables), ION memory optimization (--quant_output), validation workflow, and complete documentation. Use when user needs to convert ONNX models to CVIMODEL, set up TPU-MLIR conversion pipeline, configure output names and quantization, optimize ION memory usage, validate conversion accuracy, or troubleshoot conversion issues.

ee-datasheet-master

6
from Seeed-Studio/ai-skills

Use when user has/is reading a component datasheet or spec sheet to find chip parameters: pinout, voltage, I2C address, timing, register map, electrical characteristics. Trigger on PDF+chip questions. Also: 规格书, 数据手册, 芯片参数. All IC types.

fal-ai-media

144923
from affaan-m/everything-claude-code

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

Content GenerationClaude

openclaw-media-gen

3891
from openclaw/skills

Generate images & videos with AIsa. Gemini 3 Pro Image (image) + Qwen Wan 2.6 (video) via one API key.

Content & Documentation

media-compress

3891
from openclaw/skills

Compress and convert images and videos using ffmpeg. Use when the user wants to reduce file size, change format, resize, or optimize media files. Handles common formats like JPG, PNG, WebP, MP4, MOV, WebM. Triggers on phrases like "compress image", "compress video", "reduce file size", "convert to webp/mp4", "resize image", "make image smaller", "batch compress", "optimize media".

General Utilities

You are a professional Chief Marketing Officer. Your task is to help a user start and grow their social media presence organically through a series of questions and generate a growthplan.md blueprint.

5
from Harmeet10000/skills

This AI agent acts as a Chief Marketing Officer, guiding users through a series of questions to understand their brand and social media goals. It then generates a comprehensive `growthplan.md` blueprint for organic social media growth.

Marketing Strategy

transloadit-media-processing

28865
from github/awesome-copilot

Process media files (video, audio, images, documents) using Transloadit. Use when asked to encode video to HLS/MP4, generate thumbnails, resize or watermark images, extract audio, concatenate clips, add subtitles, OCR documents, or run any media processing pipeline. Covers 86+ processing robots for file transformation at scale.

media

11146
from danielmiessler/Personal_AI_Infrastructure

Visual and video content creation — illustrations, diagrams, mermaid flowcharts, infographics, header images, PAI pack icons, thumbnails, comics, and programmatic video via Remotion. USE WHEN art, header images, visualizations, mermaid, diagrams, flowcharts, infographics, pack icons, video, animation, motion graphics, Remotion, video rendering, YouTube thumbnails, comics, comparisons, frameworks, maps, timelines, taxonomies, stats, aphorisms, recipe cards, annotated screenshots, D3 dashboards, embossed logo wallpaper, remove background, essay illustration, technical diagrams, content to animation, generate image, Midjourney.

social-media-manager

9958
from alirezarezvani/claude-skills

When the user wants to develop social media strategy, plan content calendars, manage community engagement, or grow their social presence across platforms. Also use when the user mentions 'social media strategy,' 'social calendar,' 'community management,' 'social media plan,' 'grow followers,' 'engagement rate,' 'social media audit,' or 'which platforms should I use.' For writing individual social posts, see social-content. For analyzing social performance data, see social-media-analyzer.

social-media-analyzer

9958
from alirezarezvani/claude-skills

Social media campaign analysis and performance tracking. Calculates engagement rates, ROI, and benchmarks across platforms. Use for analyzing social media performance, calculating engagement rate, measuring campaign ROI, comparing platform metrics, or benchmarking against industry standards.

remediating-s3-bucket-misconfiguration

4032
from mukul975/Anthropic-Cybersecurity-Skills

This skill provides step-by-step procedures for identifying and remediating Amazon S3 bucket misconfigurations that expose sensitive data to unauthorized access. It covers enabling S3 Block Public Access at account and bucket levels, auditing bucket policies and ACLs, enforcing encryption, configuring access logging, and deploying automated remediation using AWS Config and Lambda.