Project ES/: : AAOS

VPU_Wrapper

Jay.P Morgan 2026. 2. 20. 09:21

 

 

  ▣ VPI_Wrapper

 

안드로이드 오토모티브나 임베디드 리눅스 빌드 시스템에서 vpu_wrapperVPU(Video Processing Unit) 하드웨어에 접근하기 위한 중간 매개체(Wrapper) 라이브러리를 의미합니다.

여기서 VPU는 비디오 인코딩(압축)과 디코딩(재생)을 전담하는 특수 하드웨어 칩입니다.

 

 

 

  1. vpu_wrapper의 핵심 역할

 

하드웨어 제조사(NXP, Samsung, TI 등)는 각자 고유한 VPU 칩을 만듭니다. 하지만 소프트웨어 개발자가 매번 칩마다 다른 복잡한 명령어를 직접 제어하기는 매우 어렵습니다. 이때 vpu_wrapper가 사용됩니다.

  1. 복잡성 추상화: VPU의 로우 레벨 드라이버(커널 인터페이스)와 실제 애플리케이션(또는 안드로이드 미디어 프레임워크) 사이에서 사용하기 쉬운 API를 제공합니다.
  2. 안정성 확보: 비디오 데이터를 메모리에 할당하고, 하드웨어 가속기를 호출하고, 다시 데이터를 가져오는 일련의 과정을 안전하게 관리합니다.
  3. 이식성: 상위 레이어(예: Android Stagefright/Codec2)는 vpu_wrapper의 표준화된 인터페이스만 호출하면 되므로, 칩셋이 바뀌어도 상위 소프트웨어 수정을 최소화할 수 있습니다.

 

 

  2. 왜 'Wrapper'라고 부르나요?

 

실제 하드웨어를 직접 제어하는 하위 드라이버나 펌웨어가 따로 있고, 이를 한 번 더 감싸서(Wrap) 표준적인 인터페이스로 제공하기 때문에 'Wrapper'라는 명칭이 붙었습니다. 특히 NXP의 i.MX 시리즈와 같은 임베디드 프로세서의 빌드 환경에서 흔히 볼 수 있는 라이브러리 명칭입니다.

 

 

  3. 빌드 시스템에서의 위치

 

 

보통 하드웨어 관련 소스인 hardware/ 디렉토리 아래나 제조사 전용 폴더(vendor/)에서 찾을 수 있으며, 앞서 설명한 Android.bp 파일 내에서 다음과 같이 정의되곤 합니다.

  • 컴포넌트 유형: 주로 cc_library_shared (공유 라이브러리)
  • 주요 파일: libvpu_wrapper.so

 

 

'Project ES > : : AAOS' 카테고리의 다른 글

Android Automotive OS(AAOS) 오디오 개요  (0) 2026.03.23
자동차 서비스 기능 제어  (0) 2026.03.23
.bp (BluePrint)  (0) 2026.02.20
[AAOS Audio] 오디오 포커스  (0) 2026.02.09
[AAOS Audio] Intro  (0) 2026.02.09