스위 즐링을 필요로하지 않는 방식으로 2vuy 비평면 데이터를 GPU에 푸시하는 효율적인 방법을 아는 사람이 있습니까?YUV 텍스처 데이터를 OpenGL의 GPU에 푸시하는 가장 효율적인 프로세스는 무엇입니까?
h264 비디오 파일에서 원시 2vuy 데이터를 가져 와서 OpenGL 객체에 매핑하는 텍스처에 성공적으로로드하고 있습니다. glgProcessPixelsWithProcessor
에 코드를 사용하는 데 상당한 시간이 걸리는 것으로 나타났습니다. ,
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_YCBCR_422_APPLE,
GL_UNSIGNED_SHORT_8_8_APPLE, data);
애플이 GL_YCBCR_422_APPLE
자사의 OpenGL 가이드 말한다 "허용"성능 (P103)을 제공하지만, 그
참고 : 내
glTexImage2D
호출은 다음과 같은 데이터가 될 만 필요한 경우 swizzled,glgProcessPixels
은 데이터가 혼란 스러울 필요가없는 것처럼 빠르지 만 합리적으로 빠르게 스윕을 수행합니다. 그러나 비 네이티브 데이터 형식은 한 번에 한 바이트 씩 변환되며 피하려면 가장 좋은 성능 비용이 발생합니다.
CPU에서 수행되는 내부 형식 변환이 있다고 가정합니다. 나는 다른 스레드에서 glgProcessPixels
이 블록 메소드를 실행하고 있다는 것을 알아 차렸다.
내 경로가 가장 효율적입니까? 그렇지 않다면 무엇입니까?
데스크톱 OpenGL 또는 OpenGL ES에 대해 질문합니까? –