ترميز PNG وفك ترميزه
يكتب مُرمّز PNG ملفات RGB أو RGBA بعمق 8 بتات من بكسلات RGBA أو BGRA ذات خطوة صف. يقرأ فاك الترميز صور التدرج الرمادي ولوحة الألوان وRGB وRGBA غير المتداخلة إلى مخزن ضيف مُفحص.
ملاحظات المستودع حتى 10 أكتوبر 2026
الترميز
تسلّم الألعاب المُرمّز مستطيل بكسلات قد تكون خطوة صفه أكبر من العرض. يقبل PS5PCEM بيانات RGBA وBGRA ذات خطوة صف ويكتب PNG قياسيًا بعمق 8 بتات بصيغة RGB أو RGBA. يختار المستدعي مرشحات خط المسح ومستوى ضغط من 0 إلى 9. الكتابات الخارجة محدودة بالمخزن الذي قدّمته اللعبة.
المُرمّز تنفيذ برمجي لتنسيق الملف. لا يستدعي مكتبة صور في النظام، ولا يدّعي سرعة معيّنة مقابل مُرمّز العتاد في الجهاز.
فك الترميز
يحلّل libScePngDec بيانات PNG الوصفية ويفك ترميز صور التدرج الرمادي ولوحة الألوان وRGB وRGBA غير المتداخلة إلى مخازن RGBA أو BGRA للضيف بعد فحصها. تُطبَّق مرشحات خط المسح، وتُحترَم شفافية لوحة الألوان. يُفحص الوجهة قبل كتابة البكسلات.
يُتعرَّف دخل Adam7 المتداخل ويُرفض بدل فك ترميزه إلى صورة خاطئة. لذلك لا تصبح الأيقونات ولقطات الشاشة المتداخلة بصمت مخزنًا مشوّشًا.
أين يقع
PNG إحدى خدمات البرامج الثابتة الصغيرة التي تبلغها اللعبة أثناء البدء: الأيقونات والأطالس ومصغّرات الحفظ. وهو مستقل عن مسار أفلام AvPlayer، الذي يستخدم FFmpeg لـ H.264، ومستقل عن منقّط الخطوط.
يجمع تقرير البرامج الثابتة في 9 أكتوبر المُرمّز مع الساعة واستعلامات حجم إكمال AMPR. أغلقت هذه الثلاثة فجوات استيراد. وهي لا تغيّر، وحدها، زمن إطار مقيسًا.
ما هو منفَّذ
- دخل RGBA وBGRA ذو خطوة صف إلى PNG بصيغة RGB أو RGBA بعمق 8 بتات، بمستويات ضغط من 0 إلى 9.
- فك ترميز التدرج الرمادي ولوحة الألوان وRGB وRGBA غير المتداخلة، بما في ذلك المرشحات وألفا لوحة الألوان.
- مخازن وجهة مُفحوصة وخرج مُرمّز محدود.
ما زال ناقصًا
- يُتعرَّف PNG المتداخل بأسلوب Adam7 ولا يُفك ترميزه.
- عمق 16 بتًا والقطع الملحقة غير الشائعة خارج المجموعة المُنفَّذة.
- لا توجد كتلة PNG عتادية. الجانبان يعملان على CPU.
آليات مرتبطة
ماذا تصف هذه الصفحات