2016-06-12 1 views
1

나는 NVIDIA 디코드 샘플을 연구 중이다. 두 개의 매개 변수가 ulNumDecodeSurfacesulNumOutputSurfaces 인 것으로 나타났습니다. ulNumDecodeSurfaces의 최대 값은 20이며 최대 값은 ulNumOutputSurfaces입니다.디코딩 표면 및 출력 표면은 무엇을 의미합니까? 디코드 성능에 어떤 영향을 줍니까?

이 두 매개 변수가 의미하는 바를 알고 있습니까? 디코드 성능에 영향을 미칩니 까? 디코드 성능에 어떤 영향을 줍니까?

답변

1

이들은 cuviddec.h의 주석과 함께 발견됩니다 (온라인 https://www.ffmpeg.org/doxygen/3.2/cuviddec_8h_source.html에서 사용 가능).

ulNumOutputSurfaces는 디코더가 각 이미지를 쓸 수있는 출력 표면의 최대 수입니다.

ulNumDecodeSurfaces에는 "내부 디코드 서페이스의 최대 수"라는 주석이 있습니다. 다소 모호합니다. 이 라이브러리의 소스 코드는 nVidia 외부에서 사용할 수 없으므로 신뢰할 수있는 대답으로 응답하는 nVidia의 사람에게 의존해야합니다. 그러나이 예제 코드에서 설정 한 값을 살펴보면 내부 디코딩 파이프 라인에있는 프레임 수처럼 보입니다. 아마도 이것을 더 크게 만들면 GPU 메모리 사용이 늘어나지 만 추가 버퍼링을 제공하여 응용 프로그램이 디코더에서 프레임을 충분히 빠르지 않기 때문에 파이프 라인이 차단 될 가능성이 적습니다. 다른 곳에서는 디코딩 엔진에 모든 디코드 엔진을 유지하기 위해 디코드 큐에 항상 최소한 2 개의 프레임이 있어야한다는 것을 나타내는 주석이 있습니다.

관련 문제