2012-12-13 17 views
5

पर H.264 वीडियो को एन्कोडिंग एफबीओ बनावट मैं एक ऐप लिखने की योजना बना रहा हूं जिसमें मुझे किसी दिए गए छवि अनुक्रम से वीडियो को एन्कोड करने की क्षमता की आवश्यकता है जो एक एफबीओ संलग्न बनावट से आता है। मैं अपनी ताकत का लाभ उठाना चाहता हूं जीपीयू समांतरता और इसे अधिकतम "सर्वर पक्ष" करें। इसलिए मुझे पता चला कि एनवीडिया में SDK है जो सीयूडीए का उपयोग करके वीडियो एन्कोड करता है, लेकिन एसडीके white paper पढ़ने के बाद यह अभी भी मुझे स्पष्ट नहीं है कि छवि फ्रेम के रूप में एक एफबीओ बनावट भेजना संभव है जीपीयू छोड़ने के बिना एनवीसीयूवीएनसी (एन्कोडर) के लिए स्रोत। मेरा मानना ​​है कि सीपीयू से छवियों को अपलोड करने से एन्कोडिंग प्रक्रिया में भारी ओवरहेड जोड़ा जाता है क्योंकि अगर मैं सीधे जीपीयू पक्ष पर एफबीओ बनावट नहीं ला सकता हूं, तो इसका मतलब है कि मुझे अपने पिक्सेल को सीपीयू में पढ़ना है और फिर एन्कोडिंग के लिए उन्हें फिर से GPU पर भेजें। तो मैं मूल रूप से 2 प्रश्न हैं:सीधे GPU

  1. करो NVIDIA CODEC Libraries अनुमति देते हैं कि मैं क्या कर रही हैं?

  2. यदि नहीं, तो क्या यह अन्य जीपीजीपीयू एसडीके जैसे ओपनसीएल या ओपनजीएल 4.3 गणना शेडर्स के साथ किया जा सकता है? के रूप में मैं इसे Linux.Also के लिए की जरूरत है मैं NVIDIA के हार्डवेयर केवल का उपयोग

DirectX या अन्य संबंधित सामान खिड़कियों से संबंधित कुछ भी ध्यान में नहीं रखा जा सकता है।

उत्तर

3

हां, आप निश्चित रूप से सीयूडीए कोडेक लाइब्रेरी में ओपनजीएल जेनरेट की गई छवियों को स्थानांतरित कर सकते हैं। CUDA एपीआई संदर्भ पर एक नज़र डालें। आपके लिए सबसे अधिक रुचि बनावट संदर्भ प्रबंधन और ग्राफिक्स इंटरऑपरेबिलिटी है। मूल विचार यह है कि सीयूडीए आपको एक बनावट ऑब्जेक्ट की डिवाइस साइड मेमोरी मैपिंग प्राप्त करने की अनुमति देता है, जिसे आप एन्कोडर को छवि स्रोत के रूप में पास कर सकते हैं।

+0

क्या इसका कोई विकल्प है, विशेष रूप से ओपनजीएल पर रहना, जो गणना करने वाले शेडर्स मूल रूप से जो भी कर सकते हैं वह कर सकते हैं (पुस्तकालय अलग)? –

+1

@ पॉल: वास्तव में नहीं। एनवीडिया जीपीयू का एच 264 एन्कोडर जीपीयू पर सिलिकॉन का एक समर्पित हिस्सा है और एक शेडर प्रोग्राम नहीं चल रहा है। तो आपको इसके लिए हमेशा कुछ विक्रेता विशिष्ट एपीआई का उपयोग करना होगा। या तो एक (काल्पनिक) ओपनजीएल एक्सटेंशन या सीयूडीए जैसे साइडकिक एपीआई के माध्यम से। – datenwolf