AgentSkillsCN

cv181x-media

CV181X/CV182X/CV180X(SG200X)多媒体开发专家指南,基于CVI MPI API。当您需要处理以下场景时,可使用此技能:VI(视频输入/摄像头/ISP)、VPSS(视频处理/缩放/裁剪)、VENC(H.264/H.265/JPEG编码)、VDEC(解码)、VB(视频缓冲池)、SYS绑定,或任何CVI_* API调用。本指南涵盖摄像头管道的搭建、离线VPSS处理、VB池的规划,以及错误诊断(ERR_VPSS_NOBUF、ERR_VB_NOBUF)。API详情请参阅相关参考资料。

SKILL.md
--- frontmatter
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/."
version: 2.3.0

CV181X/CV182X/CV180X Multimedia Skill

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

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

InputVpssDev
Camera (ISP)1
File/Memory0

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