रस्ट में एक AV1 एनकोडर, rav0.3e 1 का विमोचन

हुआ मुद्दा rav1e 0.3, एक उच्च-प्रदर्शन वीडियो कोडिंग प्रारूप एनकोडर AV1, Xiph और Mozilla समुदायों द्वारा विकसित। एनकोडर रस्ट में लिखा गया है और एन्कोडिंग गति में उल्लेखनीय वृद्धि और सुरक्षा पर अधिक ध्यान देने के कारण संदर्भ लिबओम एनकोडर से भिन्न है। परियोजना का कोड द्वारा वितरित बीएसडी लाइसेंस के तहत.

समर्थन सहित सभी प्रमुख AV1 सुविधाएँ समर्थित हैं
आंतरिक और बाह्य रूप से एन्कोडेड फ़्रेम (अंतर и अन्तर-फ़्रेम), 64x64 सुपरब्लॉक, 4:2:0, 4:2:2 और 4:4:4 क्रोमा सबसैंपलिंग, 8-, 10- और 12-बिट रंग गहराई एन्कोडिंग, आरडीओ (दर-विरूपण अनुकूलन) अनुकूलन विरूपण, इंटरफ़्रेम परिवर्तनों की भविष्यवाणी करने और परिवर्तनों की पहचान करने, प्रवाह दर को नियंत्रित करने और दृश्य ट्रंकेशन का पता लगाने के लिए विभिन्न तरीके।

AV1 प्रारूप ध्यान देने योग्य है कहीं बेहतर है संपीड़न क्षमताओं के संदर्भ में H.264 और VP9, ​​लेकिन उन्हें लागू करने वाले एल्गोरिदम की जटिलता के कारण आवश्यकता है एन्कोडिंग के लिए काफी अधिक समय (एन्कोडिंग गति में, libaom libvpx-vp9 से सैकड़ों गुना पीछे है, और x264 से हजारों गुना पीछे है)।
rav1e एनकोडर 11 प्रदर्शन स्तर प्रदान करता है, जिनमें से उच्चतम वास्तविक समय एन्कोडिंग गति प्रदान करता है। एनकोडर कमांड लाइन उपयोगिता और लाइब्रेरी दोनों के रूप में उपलब्ध है।

नये संस्करण में:

  • तेज़ एन्कोडिंग मोड प्रस्तावित स्पीड 10;
  • बाइनरी असेंबलियों का आकार कम कर दिया गया है (x86_64/लिनक्स प्लेटफ़ॉर्म पर लाइब्रेरी लगभग 3एमबी का स्थान लेती है);
  • असेंबली का समय लगभग 14% कम हो गया;
  • वीडियो से ब्लॉक कलाकृतियों को हटाने (डीब्लॉकिंग) के लिए मल्टी-थ्रेडेड फ़िल्टर जोड़ा गया;
  • x86_64 आर्किटेक्चर के लिए, SIMD निर्देशों का उपयोग करके अतिरिक्त अनुकूलन लागू किया गया है और ऑटो-वेक्टराइजेशन के उपयोग का विस्तार किया गया है;
  • मेमोरी आवंटन परिचालनों की संख्या 1/6 कम कर दी गई है;
  • आरडीओ (दर-विरूपण अनुकूलन) में, इंट्रा-फ्रेम विकृतियों को दबाने के तर्क में सुधार किया गया है;
  • कुछ परिचालनों को फ़्लोटिंग पॉइंट अंकगणित का उपयोग करने से पूर्णांक गणनाओं में स्थानांतरित कर दिया गया है;
  • दूसरी गति स्तर पर एन्कोडिंग गुणवत्ता में 1-2% सुधार किया गया है;
  • जोड़ा नई गति दिशा भविष्यवाणी फ़िल्टर (इंट्रा एज);
  • फ्रेम के बीच स्विचिंग अंतराल निर्धारित करने के लिए विकल्प "-एस" (-स्विच-फ्रेम-अंतराल) जोड़ा गया;
  • wasm32-wasi प्लेटफ़ॉर्म के लिए बिल्ड समर्थन जोड़ा गया (वेबअसेंबली सिस्टम इंटरफ़ेस).

स्रोत: opennet.ru

एक टिप्पणी जोड़ें