کمپانی AMD که به ساخت تراشههای رایانهای معروف است، کمتر از ۲۴ ساعت پیش، کد منبع سیستم شتابدهنده فایلهای چند رسانهای خود که با نام UVD شناخته میشود را منتشر کرد. این انتشار به کاربران لینوکس دارنده پردازندههای گرافیکی AMD اجازه میدهد تا با استفاده از درایور گرافیکی آزاد و بدون نیاز به درایور کدبسته Catalyst به شتاب دهنده گرافیکی کارت خود دسترسی داشته باشند.
حالا شتاب دهنده تصاویر به چه دردی میخورد؟ در ادامه توضیح میدهم.
در دنیای دیجیتال، فایلهای چند رسانهای، جریانی از صوت و تصویر هستند که فشردهسازی و در فالب فایلی کنار هم قرار گرفتهاند. برای پخش این فایلها لازم است فایل از حالت کد شده خارج شده و به جریان اولیه صوت و تصویر تبدیل شود. ماهیت این عمل که Decode نامیده میشود طوری است که برای ساختار CPU مناسب نیست و بهتر است توسط پردازنده گرافیکی یا GPU پردازش شود.
از سالها پیش که ATI برای پاسخ به نیاز شتابدهنده تصاویر، UVD یا Unified Video Decoder را معرفی کرد کاربران خواستار استفاده از این ویژگی در درایور آزاد بودند ولی این مهم تا امروز ممکن نشد. در این سالها جواب AMD مطرح کردن پیچیدگیهای پیرامون این مساله بود چون انتشار آزاد هرگونه کد یا اطلاعات درمورد UVD میتوانست به افشای دادههای مربوط به DRM درایور Catalyst در دیگر سیستمعاملها منجر شود. بدیهی است که علاقه تجاری AMD به سمت بازار بزرگتر Windows جایی که DRM در آن مسالهای حیاتی هست باشد.
اما درنهایت AMD توانست مسائل حقوقی پیرامون UVD را حل و کدمنبع آن را برای استفاده در درایور آزاد منتشر کند. با کدهای منتشر شده کاربران لینوکس کارتهای جدید AMD میتوانند بدون نیاز به نصب درایور کد بسته Catalyst از پخش بهتر تصاویر HD بهرهمند شودند. کد منتشر شده کارتهای HD 4000 تا HD 7000 پوشش داده و از قالبهای تصویری H.264, VC-1 و انواع مختلف MPEG پشتیبانی میکند.
انتشار کدهای UVD خبر خوبی است اما ماجرا وقتی جذابتر میشود که بدانیم UVD از طریق VDPAU دردسترس قرار میگیرد. VDPAU یا Video Decode & Presentation API for Unix سالها پیش توسط Nvidia برای دردسترس قرار دادن PureView (رقیب UVD از Nvidia) معرفی شد تا اگر برنامهای میخواست از PureView استفاده کند API این کتابخانه را هدف قرار دهد. در مقابل AMD کتابخانه XvBA را برای افشای API های UVD طراحی کرد. درنهایت استفبال توسعه دهندگان از VDPAU بسیار بیشتر بود و آنها اصلا XvBA را تحویل نگرفتند. خلاصه اینکه استفاده این کد از VDPAU بُرد بزرگی برای کاربران لینوکس است چون برنامههای بسیاری مانند gstreamer و mplayer از آن استفاده میکنند.
فهرست برنامههایی که پشتیبانی VDPAU را به همراه دارند:
- Avidemux
- Boxee
- GStreamer
- MPlayer
- MythTV
- XBMC Media Center
- Xine
- MLT
- Adobe Flash
خب چطور از این ویژگی استفاده کنیم؟ کد منتشر شده دو قسمت دارد. یکی مربوط به درایور DRM است و داخل کرنل قرار میگیرد، دیگری درایور Gallium3D است و در Mesa جای دارد. اگر مشکل خاص پیش نیاید با انتشار بعدی این دو برنامه یعنی Linux 3.10 و Mesa 9.2 امکان جدید درسترس خواهد بود.