39 lines
1.9 KiB
Plaintext
39 lines
1.9 KiB
Plaintext
실제 문제는 각 파이프라인 시스템이 디코더 팩토리를 통해 새로운 디코더를 생성하는 것입니다. 더 나은 접근 방법은 전역
|
|
디코더 풀이나 팩토리 레벨에서 디코더 재사용을 구현하는 것입니다.
|
|
|
|
실제 근본 원인을 분석해보겠습니다.
|
|
|
|
|
|
고급 파이프라인 시스템들이 실제로 얼마나 많은 디코더를 생성하는지 확인하고, 이를 제한하는 방향으로 접근하겠습니다:
|
|
|
|
|
|
Failed to initialize YUVRenderer: 0x-2147024893
|
|
Failed to initialize D3D12 renderer: 0x-2147024893
|
|
AspectFit configured: 1642.666667x924.000000 (video: 3840x2160, container: 1896.000000x924.000000)
|
|
CPU software renderer initialized successfully
|
|
Hardware rendering failed normally, falling back to software renderer
|
|
|
|
|
|
고급 파이프라인 기능 구현을 처음부터 코드를 분석하여 순차적으로 진단해보고, 현재의 버그와 연관이 있는지 조사해줘.
|
|
|
|
지금까지 방어코드로 땜질하고 있는데, 이렇게 수정하는 것이 맞는 것인가? 전체적으로 인스턴스 생성과 해제 시점이 맞지
|
|
않아서 발생하는 문제는 아닌가 생각을 되돌이켜 보자.
|
|
|
|
기술 부채를 줄이고 코드를 더 간결하고 적게 만들려서, 전체적으로 인스턴스 생성과 해제 시점을 맞춰서 [고급 렌더링 파이프라인] 기능을 구현해줘.
|
|
|
|
|
|
H/W 디코더 개발
|
|
===========
|
|
|
|
Intel libvpl
|
|
https://github.com/intel/libvpl/releases
|
|
https://intel.github.io/libvpl/latest/API_ref/VPL_func_vid_decode.html#func-video-decode
|
|
|
|
AMD AMF
|
|
https://github.com/GPUOpen-LibrariesAndSDKs/AMF
|
|
https://github.com/GPUOpen-LibrariesAndSDKs/AMF/blob/master/amf/doc/AMF_Video_Decode_API.md
|
|
|
|
NVDEC SDK
|
|
https://docs.nvidia.com/video-technologies/video-codec-sdk/13.0/nvdec-video-decoder-api-prog-guide/index.html
|
|
https://developer.nvidia.com/nvidia-video-codec-sdk/download
|