L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

cv181x-media

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, V…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: cv181x-media description: "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/." compatibility: Best used with access to the target SDK headers or samples, the target chip or board model, and relevant runtime logs when debugging. version: 2.3.0

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:

FileKeywordsKey APIs
references/vi.mdcamera, sensor, ISP, MIPI, DEV, PIPE, CHN, video inputCVI_VI_*, CVI_ISP_*, CVI_MIPI_*
references/vpss.mdscaling, crop, resize, rotate, cvtColor, format conversion, group, channelCVI_VPSS_*, SendFrame, GetChnFrame
references/venc.mdencode, H.264, H.265, HEVC, JPEG, MJPEG, bitrate, GOPCVI_VENC_*, SendFrame, GetStream
references/vdec.mddecode, JPEG decode, H.264 decode, bitstreamCVI_VDEC_*, SendStream, GetFrame
references/vb.mdbuffer pool, VB, memory, block, pool sizing, CommonPoolCVI_VB_*, GetBlock, ReleaseBlock
references/sys.mdbind, unbind, init, exit, VI_VPSS_MODE, VPSS_MODECVI_SYS_*, Bind, SetVIVPSSMode
references/vo.mddisplay, output, LCD, HDMI, layer, framebufferCVI_VO_*, SendFrame, ChnShow
references/rgn.mdOSD, overlay, region, text, graphics, privacy maskCVI_RGN_*, AttachToChn, SetBitMap
references/gdc.mddistortion, fisheye, LDC, rotation, mesh, warpCVI_GDC_*, AddCorrectionTask
references/audio.mdaudio, microphone, speaker, AI, AO, AENC, ADEC, VQECVI_AI_*, CVI_AO_*, CVI_AENC_*
references/ion.mdION, DMA, cache, flush, invalidate, physical addressCVI_SYS_IonAlloc, IonFlushCache
references/debug.md/proc, log, debug, status, diagnostics/proc/cvitek/*, log level
references/troubleshooting.mderror, ERR_VPSS_NOBUF, ERR_VB_NOBUF, failure, fixerror codes, solutions
references/binding-cookbook.mdconcurrent, dual pipeline, online, offline, scenariomulti-scenario design
references/integration-guide.mdintegration, cross-module, ownership, lifecyclesystem design rules
references/platform.mdSDK, path, pixel format, CV181X, CV182X, CV180Xplatform differences
references/overview.mdarchitecture, workflow, pipeline, introductionsystem overview
references/scenarios.mdexample, surveillance, doorbell, NVR, applicationcomplete examples

Quick Lookup

By Task

TaskReference
Camera capturereferences/vi.md
Video scaling/crop/rotatereferences/vpss.md
H.264/H.265/JPEG encodereferences/venc.md
JPEG/H.264 decodereferences/vdec.md
Buffer pool planningreferences/vb.md
Module bindingreferences/sys.md
Video displayreferences/vo.md
OSD/overlayreferences/rgn.md
Fisheye correctionreferences/gdc.md
Audio capture/playbackreferences/audio.md
DMA memoryreferences/ion.md
Debuggingreferences/debug.md
Error diagnosisreferences/troubleshooting.md

By Error Code

ErrorReference
ERR_VPSS_NOBUF (0xc006800e)references/troubleshooting.md
ERR_VB_NOBUFreferences/vb.md
ERR_VENC_NOBUFreferences/venc.md
ERR_VI_NOTREADYreferences/vi.md
Bind failurereferences/sys.md

By Pipeline

PipelineReferences
Camera -> VPSS (online)vi.md, vpss.md, sys.md
File -> VPSS (offline)vpss.md, vb.md
JPEG decode -> VPSSvdec.md, vpss.md
VPSS -> VENCvenc.md, sys.md
Dual pipelinereferences/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

ModeUse Case
VI_OFFLINE_VPSS_ONLINECamera pipeline (recommended)
VI_OFFLINE_VPSS_OFFLINEMaximum flexibility
VI_ONLINE_VPSS_ONLINELowest 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

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

DEV0 = VPSS_INPUT_MEM   -> Offline (SendFrame)
DEV1 = VPSS_INPUT_ISP   -> Camera (Bind)

VpssDev Selection

InputVpssDev
Camera (ISP)1
File/Memory0

VB Pool Sizing

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

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

Skills enregistrées