تم نشر إصدار مكتبة SVT-AV1 2.0 (Scalable Video Technology AV1) مع تطبيقات المشفر وفك التشفير لتنسيق ترميز الفيديو AV1. تم إنشاء المشروع بواسطة Intel بالشراكة مع Netflix لتحقيق مستوى أداء مناسب لتحويل ترميز الفيديو أثناء التنقل واستخدامه في خدمات الفيديو عند الطلب (VOD). حاليًا ، يتم تنفيذ التطوير تحت رعاية Open Media Alliance (AOMedia) ، الذي يشرف على تطوير تنسيق ترميز الفيديو AV1. في السابق ، تم تطوير المشروع ضمن إطار عمل مشروع OpenVisualCloud ، الذي يطور أيضًا مشفرات SVT-HEVC و SVT-VP9. يتم توزيع الكود بموجب ترخيص BSD.
يمكن تجميع SVT-AV1 للأنظمة القائمة على أي بنية يوجد لها مترجم يدعم معيار C99، ولكن يتم تحقيق أفضل أداء على أنظمة x86_64، والتي يتم من خلالها استخدام تحسينات التجميع بناءً على تعليمات SIMD (من المستحسن أن يكون لديك دعم AVX2 في وحدة المعالجة المركزية، ولكن الحد الأدنى يكفي وSS2). يعتمد استهلاك الذاكرة على عدد نوى المعالج المستخدمة أثناء التشفير، ويتم تنظيمه بواسطة خيار "-lp". نظرًا لتعقيد الخوارزميات المستخدمة في AV1، يتطلب تشفير هذا التنسيق موارد أكثر بكثير من التنسيقات الأخرى، مما لا يسمح باستخدام برنامج تشفير AV1 القياسي لتحويل الترميز في الوقت الفعلي. على سبيل المثال، يتطلب برنامج تشفير المخزون من مشروع AV1 عمليات حسابية أكبر بمقدار 5721 و5869 و658 مرة مقارنة بملف x264 (ملف التعريف الرئيسي) وx264 (ملف تعريف عالي) وأجهزة تشفير libvpx-vp9.
من بين التغييرات في إصدار SVT-AV1 الجديد:
- تم الانتقال إلى ترقيم إصدار جديد، والذي بموجبه سيتغير الرقم الأول في الإصدار مع كل تغيير في API/ABI.
- تم إجراء تغييرات على واجهة برمجة التطبيقات (API) المتعلقة بالانتقال إلى إشارة نهاية الدفق (EOS - End Of Stream) في الإطار الأخير بدلاً من استخدام إطار فارغ، مما أدى إلى إلغاء التأخير في انتظار إطار إضافي. ينعكس تغيير واجهة برمجة التطبيقات (API) بالفعل في قاعدة بيانات FFmpeg.
- تمت إزالة وضع معدل البت المتغير ثلاثي التمريرات (3-pass VBR)، وتم استبداله الآن بآلية VBR متعددة التمريرات. تم تقليل وضع التمرير المتعدد VBR إلى تمريرتين لضمان التكامل مع FFmpeg.
- تمت إضافة تحسينات إلى برنامج التشفير، ونتيجة لذلك زادت كفاءة الضغط للإعدادات المسبقة M9-M13 بنسبة 1-4%، وانخفض استهلاك الذاكرة للإعداد المسبق M5 بنسبة 20-35% في وضع LP 8 و بنسبة 1-5% في الأوضاع الأخرى. انخفض استهلاك الذاكرة في الإعدادات المسبقة الأخرى بنسبة 1-5%.
- لقد تم تحسين تنازلات الجودة/السرعة للإعدادات المسبقة التي تحدد مستوى عالٍ من الجودة. تم تسريع الإعداد المسبق للجودة المرجعية بالرنين المغناطيسي بنسبة 100%.
- تمت إضافة تحسينات خاصة بـ ARM إلى وظائف C فقط.
بالإضافة إلى ذلك، يمكننا ملاحظة إصدار مشروع dav1d 1.4.1، حيث تقوم مجتمعات VideoLAN وFFmpeg بتطوير مكتبة مع تنفيذ وحدة فك ترميز مجانية بديلة لتنسيق ترميز الفيديو AV1. تدعم مكتبة dav1d جميع ميزات AV1، بما في ذلك الأنواع المتقدمة من العينات الفرعية وجميع معلمات التحكم في عمق الألوان المذكورة في المواصفات (8 و10 و12 بت). الميزة الرئيسية لـ dav1d هي تركيزها على تحقيق أعلى أداء ممكن لفك التشفير وضمان عمل عالي الجودة في الوضع متعدد الخيوط. كود المشروع مكتوب بلغة C (C99) مع إدراجات التجميع (NASM/GAS) ويتم توزيعه بموجب ترخيص BSD. تم دعم بنيات x86 وx86_64 وARMv7 وARMv8 وأنظمة التشغيل FreeBSD وLinux وWindows وmacOS وAndroid وiOS.
يتميز الإصدار dav1d 1.4 بدعم بنيات Loongarch وRISC-V الجديدة، بالإضافة إلى تقديم تحسينات إضافية بناءً على تعليمات AVX-512، وتسريع تشغيل مرشحات 6tap على أنظمة ARM، وزيادة كفاءة العمل متعدد الخيوط وتقليل حجم البيانات الثنائية على ARM64 وARM32 وRISC-systems V. تم إصلاح الثغرة الأمنية CVE-2024-1580، والتي تسببت في الكتابة خارج الحدود بسبب تجاوز عدد صحيح عند معالجة أحجام إطارات كبيرة جدًا.
المصدر: opennet.ru
