گوگل اور بائنومیل
بنیاد یونیورسل پہلے سے تکمیل کرتا ہے۔
بیس یونیورسل فارمیٹ آپ کو مقامی GPU ساخت کی کارکردگی کو حاصل کرنے کی اجازت دیتا ہے، لیکن کمپریشن کی اعلی سطح فراہم کرتا ہے۔
بیسس ایک انٹرمیڈیٹ فارمیٹ ہے جو استعمال سے پہلے ڈیسک ٹاپ سسٹم اور موبائل ڈیوائسز دونوں پر استعمال کے لیے مختلف نچلے درجے کے فارمیٹس میں GPU ٹیکسچرز کی تیز ٹرانسکوڈنگ فراہم کرتا ہے۔ فی الحال تعاون یافتہ PVRTC1 (4bpp RGB)، BC7 (6 RGB موڈ)، BC1-5، ETC1، اور ETC2 فارمیٹس ہیں۔ ASTC فارمیٹ (RGB یا RGBA) اور BC4 کے لیے 5/7 RGBA اور PVRTC4 کے لیے 1bpp RGBA کے لیے مستقبل میں تعاون کی توقع ہے۔
بیس فارمیٹ میں ٹیکسچرز 6-8 گنا کم ویڈیو میموری لیتے ہیں اور JPEG فارمیٹ پر مبنی عام ٹیکسچرز کے مقابلے میں تقریباً نصف ڈیٹا اور RDO موڈ میں ٹیکسچر سے 10-25% کم منتقلی کی ضرورت ہوتی ہے۔ مثال کے طور پر، 891 KB کے JPEG امیج سائز اور 1 MB کے ETC1 ٹیکسچر کے ساتھ، Basis فارمیٹ میں ڈیٹا کا سائز اعلیٰ ترین کوالٹی موڈ میں 469 KB ہے۔ ویڈیو میموری میں ٹیکسچر ڈالتے وقت، ٹیسٹوں میں استعمال ہونے والے JPEG اور PNG ٹیکسچرز نے 16 MB میموری استعمال کی، جبکہ ٹیکسچر
بنیاد کو BC2، PVRTC1 اور ETC1 میں ترجمہ کے لیے 1 MB میموری، اور BC4 میں ترجمہ کے لیے 7 MB کی ضرورت ہے۔
موجودہ ایپلی کیشنز کو بیس یونیورسل میں منتقل کرنے کا عمل کافی آسان ہے۔ مطلوبہ معیار کی سطح کو منتخب کرتے ہوئے، پروجیکٹ کے ذریعہ فراہم کردہ "basisu" یوٹیلیٹی کا استعمال کرتے ہوئے موجودہ ساخت یا تصاویر کو نئے فارمیٹ میں دوبارہ کوڈ کرنا کافی ہے۔ اس کے بعد، ایپلی کیشن میں، رینڈرنگ کوڈ سے پہلے، آپ کو baseu transcoder کو شروع کرنے کی ضرورت ہے، جو کہ موجودہ GPU کے ذریعے تعاون یافتہ فارمیٹ میں انٹرمیڈیٹ فارمیٹ کا ترجمہ کرنے کا ذمہ دار ہے۔ ایک ہی وقت میں، پوری پروسیسنگ چین میں تصاویر کمپریسڈ رہتی ہیں، بشمول GPU میں کمپریسڈ شکل میں لوڈ ہونا۔ پوری تصویر کو پہلے سے نقل کرنے کے بجائے، GPU منتخب طور پر تصویر کے صرف ضروری حصوں کو ڈی کوڈ کرتا ہے۔
یہ متنوع ساخت کی صفوں (کیوب میپس)، والیومیٹرک ٹیکسچرز، ٹیکسچر اریز، ایم پی میپ لیولز، ویڈیو سیکوینس یا صوابدیدی ساخت کے ٹکڑوں کو ایک فائل میں محفوظ کرنے کی حمایت کرتا ہے۔ مثال کے طور پر، چھوٹی ویڈیوز بنانے کے لیے ایک فائل میں تصاویر کی ایک سیریز پیک کرنا، یا تمام تصاویر کے لیے ایک عام پیلیٹ کا استعمال کرتے ہوئے کئی ساختوں کو یکجا کرنا اور عام تصویری ٹیمپلیٹس کی نقل کرنا ممکن ہے۔ بیس یونیورسل انکوڈر کا نفاذ اوپن ایم پی کا استعمال کرتے ہوئے ملٹی تھریڈڈ انکوڈنگ کو سپورٹ کرتا ہے۔ ٹرانسکوڈر فی الحال صرف سنگل تھریڈڈ موڈ میں کام کرتا ہے۔
اس کے علاوہ
واضح رہے کہ ویڈیو کو اس کے بعد کی پروسیسنگ کے ساتھ صرف GPU سائیڈ پر ایمبیڈ کرنے کی صلاحیت Basis Universal کو WebAssembly اور WebGL پر ڈائنامک یوزر انٹرفیس بنانے کے لیے ایک دلچسپ حل بناتی ہے، جو بیک وقت کم سے کم CPU لوڈ کے ساتھ سینکڑوں چھوٹی ویڈیوز کو ڈسپلے کر سکتا ہے۔ جب تک کہ روایتی کوڈیکس کے ساتھ SIMD ہدایات کو WebAssembly میں استعمال نہیں کیا جا سکتا، کارکردگی کی اس سطح کو ابھی تک حاصل نہیں کیا جا سکتا، لہٰذا ساخت پر مبنی ویڈیو ان علاقوں میں استعمال کی جا سکتی ہے جہاں روایتی ویڈیو لاگو نہیں ہے۔ ویڈیو کے لیے اضافی اصلاح کے ساتھ کوڈ فی الحال اشاعت کے لیے تیار کیا جا رہا ہے، بشمول استعمال کرنے کی اہلیت
ماخذ: opennet.ru