Bir FBO ekli dokudan gelen belirli bir görüntü dizisinden video kodlama yeteneğine ihtiyacım olan bir uygulama yazmayı planlıyorum. GPU paralellik ve hepsi maksimum "sunucu tarafı" yapın. NVidia'nın CUDA kullanarak video kodlayan bir SDK olduğunu öğrendim, ancak SDK white paper'u okuduktan sonra görüntü çerçevesi olarak bir FBO dokusu gönderilebiliyorsa bana hala net değil. GPU'dan ayrılmadan NVCUVENC (kodlayıcı) için kaynak. CPU'dan görüntü yüklemenin kodlama işlemine devasa ek yük eklediğine inanıyorum çünkü FBO dokusunu doğrudan GPU tarafında alamıyorsam, piksellerini CPU'ya okumam ve daha sonra kodlama için tekrar GPU'ya gönderin. Yani temelde 2 soru var:FBO dokusunu doğrudan GPU üzerinde H.264 videosuna kodlama
NVIDIA CODEC Libraries mı izin istediğim eylemde?
Değilse, OpenCL veya OpenGL 4.3 hesaplama gölgelendiricileri gibi diğer GPGPU SDK'ları ile yapılabilir mi? Ben sadece NVidia donanımı kullanmak Linux.Also için ihtiyaç olarak DirectX veya malzeme ile ilgili diğer pencerelere ilişkin
şey dikkate alınamaz.
Bunun için, özellikle OpenGL'de kalmak, herhangi bir cuda'nın yapabildiği şeyleri (kütüphaneleri bir kenara bırakarak) temelde hesaplayabilen herhangi bir alternatif var mı? –
@Paul: Pek sayılmaz. NVIDIA GPU'ların h264 kodlayıcısı, GPU'larda silikonun özel bir parçasıdır ve çalışan bir gölgelendirici program değildir. Bu nedenle, bunun için her zaman belirli satıcı API'sini kullanmanız gerekir. Ya (varsayımsal) OpenGL uzantısı veya CUDA gibi bir yardımcı API aracılığıyla. – datenwolf