Update player icons

This commit is contained in:
2025-09-26 21:06:50 +09:00
parent be56c1eb3e
commit 72ece35a78
11 changed files with 53 additions and 52 deletions

5
.gitignore vendored
View File

@@ -349,12 +349,11 @@ FodyWeavers.xsd
*.webm
*.mkv
*.av1
dav1d.dll
packages/
lib/
include/
oss/
output.mp4
prompt.txt
.user
build/
sample/
*.user

View File

@@ -53,41 +53,30 @@ size_t required_size = frame.width * frame.height * 4;
---
## ✅ **현재 작업 완료: Intel VPL AV1 디코더 구현** (2025-09-26)
## ✅ **최신 완료 작업: 전체 하드웨어 가속 시스템 구축 완료** (2025-09-26)
### **완료된 주요 작업**
1. **Intel VPL AV1 디코더 구현**: VPLAV1Decoder 클래스 완전 구현
2. **VideoDecoderFactory 통합**: VPL 디코더를 팩토리 패턴에 통합
3. **하드웨어 가속 지원**: Intel Quick Sync Video 기반 AV1 하드웨어 디코딩
4. **Surface 변환 시스템**: VPL mfxFrameSurface1 → VideoFrame 변환 로직
5. **에러 처리 강화**: 포괄적인 VPL/MFX 상태 코드 매핑 및 처리
6. **가용성 검증**: Intel GPU/CPU 및 VPL 런타임 자동 감지
7. **성능 통계**: 프레임별 디코딩 시간 및 에러율 추적
8. **설계 문서**: [Intel VPL AV1 Decoder Design Document](Intel_VPL_AV1_Decoder_Design.md) 작성
### **완료된 주요 하드웨어 가속 시스템**
1. **Intel VPL AV1 디코더**: Intel Quick Sync Video 하드웨어 가속 완전 구현
2. **AMD AMF AV1 디코더**: AMD VCN 하드웨어 가속 완전 구현
3. **NVIDIA NVDEC AV1 디코더**: NVIDIA GPU 하드웨어 가속 완전 구현
4. **자동 하드웨어 감지**: GPU별 최적 디코더 자동 선택 (nvdec → vpl → amf → dav1d)
5. **VideoDecoderFactory 완전 통합**: 모든 하드웨어 디코더 통합 및 우선순위 설정
6. **범용 Surface 변환**: 각 하드웨어별 Surface → VideoFrame 변환 시스템
7. **포괄적 에러 처리**: VPL/AMF/NVDEC 상태 코드 매핑 및 fallback 처리
---
## 🎯 **현재 프로젝트 상태 요약 (2025-09-26 업데이트)**
### ✅ **구현 완료된 주요 컴포넌트**
1. **Core Video Infrastructure**: WebMFileReader, AV1Decoder, VideoDecoderFactory
2. **Hardware Acceleration**: NVDECAV1Decoder, AMFAV1Decoder, VPLAV1Decoder, CUDA 13.0 통합, AMD AMF 통합, Intel VPL 통합
3. **Adaptive Quality Control**: AdaptiveAV1Decoder, AdaptiveNVDECDecoder 완전 구현
4. **Quality Mode System**: CONSERVATIVE, FAST, ULTRA_FAST 모드 구현 및 최적화
5. **GPU Rendering System**: SimpleGPURenderer, D3D12VideoRenderer 구현
6. **UI Integration**: VideoPlayerControl 단순화 및 WinUI3 통합
7. **Build System**: 모든 프로젝트 빌드 성공 (GUI/Headless/UnitTest)
8. **Test Infrastructure**: 47개 Unit Test, Mock 시스템, NVDEC 헤드리스 테스트 구축
9. **Code Quality**: 한글 주석 → 영어 변환, 코딩 가이드라인 준수, VavCore 네임스페이스 통일 ✅
10. **Performance Optimization**: 4K AV1 디코딩 27.7fps 달성 (ULTRA_FAST 모드) ✅
11. **Project Structure Reorganization**: VavCore_Library_Design.md 구조 완전 적용 ✅
12. **Multi Video UI Enhancement**: MultiVideoTestPage → MultiVideoPage 이름 변경 및 기능 완성 ✅
13. **User Experience Improvement**: Stop All 버튼 처음부터 재생 기능 구현 ✅
14. **VavCore Static Library**: 재사용 가능한 라이브러리 완전 구현 ✅
15. **Logging System Architecture**: 플랫폼 독립적 Observer 패턴 기반 로깅 시스템 ✅
16. **Complete Dark Theme UI**: 전역 다크 테마, 타이틀바, 모든 페이지 다크 모드, UX 개선 완료 ✅
17. **Code Architecture Cleanup**: IAdaptiveVideoDecoder 인터페이스 정리, AdaptiveTypes.h 분리 ✅
18. **AMD AMF AV1 Decoder**: AMD GPU 하드웨어 가속 AV1 디코더 완전 구현 ✅
1. **전체 하드웨어 가속 시스템**: NVIDIA NVDEC, Intel VPL, AMD AMF AV1 디코더 완전 구현
2. **자동 최적화 시스템**: GPU 감지 및 최적 디코더 자동 선택 (nvdec → vpl → amf → dav1d)
3. **Core Video Infrastructure**: WebMFileReader, VideoDecoderFactory, Surface 변환 시스템
4. **Adaptive Quality Control**: AdaptiveAV1Decoder, AdaptiveNVDECDecoder, 동적 품질 조정
5. **GPU Rendering System**: D3D12VideoRenderer, YUV→RGB 변환, AspectFit 렌더링
6. **VavCore Static Library**: 재사용 가능한 독립 라이브러리 구조
7. **UI Integration**: VideoPlayerControl, MultiVideoPage, 다크 테마 완전 구현
8. **Build & Test System**: 전 프로젝트 빌드 성공, 47개 Unit Test, 헤드리스 테스트 ✅
### 📋 **완료된 설계 및 구현 (참조용)**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 432 B

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 637 B

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@@ -1,10 +1,3 @@
android player 를 만들어서 av1 디코딩 테스트 필요.
모든 작업이 끝났으면 Vav2Player 의 Setting 화면에 Decoder 를 명시적으로 지정해주는 UI 를 추가해줘.
현재 "개방-폐쇄 원칙(Open-Closed Principle)"과 문제를 겪고 있다.
이 때문에, VideoDecoderFactory 클래스가 새로운 구현체(implementor)가 추가될 때마다 헤더파일에서의 빌드 충돌 문제가 발생하고 있고,
@@ -17,20 +10,6 @@ android player 를 만들어서 av1 디코딩 테스트 필요.
CLAUDE.md 파일을 확인하여 현재 작업 상황을 점검하고 완료된 항목들을 업데이트해줘.
완료된 사항만 간단하게 적어주고, 불필요한 정보들은 최대한 줄여줘.
VavCoreVideoFrame 에는 color_space 변수가 없다. 차후에 이것을 사용할 기능이 들어가게 될까?
Intel VPL 라이브러리 빌드가 완료되었으므로, 이제 다음 단계로 진행할 수 있습니다:
1. Intel VPL AV1 디코더 구현 - 설계 문서 기반으로 VPLAV1Decoder 클래스 구현
2. VideoDecoderFactory 통합 - VPL 디코더를 팩토리에 추가
3. VavCore 프로젝트 설정 - Intel VPL 라이브러리 링크 설정
📱 WinUI 3 아이콘 파일 가이드
주요 아이콘들:
@@ -43,6 +22,7 @@ VavCoreVideoFrame 에는 color_space 변수가 없다. 차후에 이것을 사
- LockScreenLogo.scale-200.png (48x48) - 잠금화면 알림
----------
libvpl 을 빌드하여, Debug 는 postfix 에 -debug 를 붙여서, dll 라이브러리를 만들어줘.
헤더파일은 D:\Project\video-av1\include\libvpl 경로에.

33
vav2/todo8.txt Normal file
View File

@@ -0,0 +1,33 @@
android player 를 만들어서 av1 디코딩 테스트 필요.
모든 작업이 끝났으면 Vav2Player 의 Setting 화면에 Decoder 를 명시적으로 지정해주는 UI 를 추가해줘.
CLAUDE.md 파일을 확인하여 현재 작업 상황을 점검하고 완료된 항목들을 업데이트해줘.
완료된 사항만 간단하게 적어주고, 불필요한 정보들은 최대한 줄여줘.
VavCoreVideoFrame 에는 color_space 변수가 없다. 차후에 이것을 사용할 기능이 들어가게 될까?
VavCoreVideoFrame 에는 현재 cpu data 만 제공하고 있다.
dx3d surface 에 직접 av1 프레임을 디코딩해주는 SDK 도 있다.
각 프레임을 요청할 때, dx3d surface 인자를 제공해주면, surface 에 직접 프레임을 그려줄 수 있는지 조사해서 검토해봐줘.
AMF
* header: D:\Project\video-av1\include\amf
* doc: https://github.com/GPUOpen-LibrariesAndSDKs/AMF/blob/master/amf/doc/AMF_Video_Decode_API.md
dav1d
* header: D:\Project\video-av1\include\dav1d
* source: https://code.videolan.org/videolan/dav1d
libvpl
* header: D:\Project\video-av1\include\libvpl
* doc: https://intel.github.io/libvpl/latest/API_ref/VPL_func_vid_decode.html#func-video-decode
nvdec
* header: D:\Project\video-av1\oss\nvidia-video-codec\Interface
* doc: https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/nvdec-video-decoder-api-prog-guide/index.html