
The impossible task of testing FFmpeg code | Lex Fridman Podcast
Audio Summary
AI Summary
FFmpeg में FATE (FFmpeg ऑटोमेटेड टेस्टिंग एनवायरनमेंट) नामक एक परीक्षण प्रणाली है। यह प्रणाली FFmpeg के विभिन्न ऑपरेटिंग सिस्टम, कंपाइलर और इंस्ट्रक्शन सेट के साथ काम करने की क्षमता को सुनिश्चित करती है। विभिन्न कॉन्फ़िगरेशन के कारण, परीक्षण प्रक्रिया बहुत जटिल हो जाती है। Mac OS, iOS, tvOS जैसे कई वेरिएंट्स हैं। ये सभी परीक्षण स्वयंसेवकों द्वारा चलाए जाते हैं। उदाहरण के लिए, कुछ Mac सिस्टम मेरे कार्यालय में होस्ट किए गए हैं।
यह प्रणाली इसलिए महत्वपूर्ण है क्योंकि FFmpeg बहुत जटिल C कोड का उपयोग करता है, और कभी-कभी कंपाइलर C कोड को गलत तरीके से कंपाइल कर सकता है। इससे वीडियो में छोटी सी त्रुटि भी बड़े पैमाने पर खराबी का कारण बन सकती है। यह सुनिश्चित करता है कि आपके द्वारा किया गया कोई भी बदलाव किसी अन्य कॉन्फ़िगरेशन को बाधित न करे।
एक डेवलपर के रूप में, 10-बिट वीडियो के साथ काम करना एक बड़ी चुनौती है। 10-बिट डेटा को CPU पर स्वाभाविक रूप से प्रोसेस नहीं किया जा सकता है, इसलिए इसे 16-बिट में पैक करना पड़ता है, जिससे 6 बिट बर्बाद हो जाते हैं। डेटा को अधिक कुशलता से पैक करने के लिए विभिन्न फॉर्मेट का उपयोग किया जाता है, खासकर जब इसे नेटवर्क पर भेजा जाता है। कंपनी में, हमारे पास हर फॉर्मेट से दूसरे फॉर्मेट में रूपांतरण के लिए 5x5 या 6x6 मैट्रिक्स है। ये सभी हाथ से लिखे गए असेंबली कोड में लिखे गए हैं और विभिन्न CPU पीढ़ियों का समर्थन करते हैं।
Get summaries like this automatically