FFMPEG-SCALER(1) راهنمای ابزارهای چندرسانه‌ای FFMPEG-SCALER(1)

ffmpeg-scaler - توصیف کتابخانه و گزینه‌های مقیاس‌بندی تصویر در FFmpeg

مقیاس‌بندی‌کننده FFmpeg یک رابط سطح بالا برای ابزارهای تبدیل تصویر کتابخانه libswscale فراهم می‌کند. به‌ویژه، به کاربر امکان می‌دهد مقیاس‌بندی مجدد تصویر و تبدیل قالب پیکسل (pixel format) را انجام دهد.

مقیاس‌بندی‌کننده ویدیو از گزینه‌های نام‌گذاری‌شده زیر پشتیبانی می‌کند.

گزینه‌ها می‌توانند با مشخص کردن -option value در ابزارهای FFmpeg تعیین شوند، به استثنای چند مورد فقط مخصوص API که در زیر به آن‌ها اشاره شده است. برای استفاده برنامه‌نویسی، می‌توان آن‌ها را به‌صورت صریح در گزینه‌های "SwsContext" یا از طریق رابط برنامه‌نویسی libavutil/opt.h تنظیم کرد.

انتخاب الگوریتم مقیاس‌بندی مورد استفاده. مقدار پیش‌فرض برای هر دو auto است. مقادیر زیر را می‌پذیرد:
انتخاب خودکار. برای scaler_sub، این به معنای همان الگوریتم scaler است. برای scaler، به طور پیش‌فرض روی پرچم مقیاس‌بندی انتخاب‌شده توسط sws_flags قرار می‌گیرد.
فیلتر دوخطی (Bilinear) (معروف به فیلتر مثلثی / triangle filter).
اسپلاین مکعبی دوتپ BC (معروف به اسپلاین Mitchell-Netravali). پارامترهای B و C را می‌توان با تنظیم "param0" و "param1" پیکربندی کرد که مقادیر پیش‌فرض آن‌ها به ترتیب 0.0 و 0.6 است.
نمونه‌برداری نقطه‌ای (معروف به نزدیک‌ترین همسایه / nearest neighbor).
میانگین‌گیری ناحیه‌ای. معادل bilinear برای افزایش مقیاس (upscaling).
تقریب فیلتر گاوسی دوتپ. پارامتر وضوح (sharpness) را می‌توان با تنظیم "param0" پیکربندی کرد که مقدار پیش‌فرض آن 3.0 است.
فیلتر sinc بدون پنجره.
نمونه‌برداری مجدد لانچوس (sinc با پنجره sinc). تعداد تپ‌های فیلتر را می‌توان با تنظیم "param0" پیکربندی کرد که مقدار پیش‌فرض آن 3 است.
اسپلاین دومکعبی طبیعی بدون پنجره.
تنظیم پرچم‌های مقیاس‌بندی‌کننده. این گزینه برای تنظیم الگوریتم مقیاس‌بندی نیز استفاده می‌شود، هرچند این کاربرد منسوخ شده و استفاده از scaler توصیه می‌شود. تنها یک الگوریتم منفرد می‌تواند انتخاب شود. مقدار پیش‌فرض bicubic است.

مقادیر زیر را می‌پذیرد:

انتخاب الگوریتم مقیاس‌بندی دوخطی سریع (Fast bilinear). (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی دوخطی (Bilinear). (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی دومکعبی (Bicubic). (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی آزمایشی. (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی مجدد نزدیک‌ترین همسایه (Nearest neighbor). (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی مجدد میانگین‌گیری ناحیه‌ای. (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی دومکعبی برای مؤلفه روشنایی (luma) و دوخطی برای مؤلفه‌های رنگ (chroma). (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی مجدد گاوسی (Gaussian). (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی مجدد sinc. (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی مجدد لانچوس (Lanczos). پهنای پیش‌فرض (alpha) برابر ۳ است و می‌تواند با تنظیم "param0" تغییر کند. (منسوخ‌شده)
انتخاب الگوریتم مقیاس‌بندی مجدد اسپلاین دومکعبی طبیعی. (منسوخ‌شده)
فعال‌سازی چاپ/ثبت لاگ‌های اشکال‌زدایی (debug logging).
فعال‌سازی گرد کردن دقیق (accurate rounding).
فعال‌سازی درون‌یابی کامل کروما (full chroma interpolation).
انتخاب ورودی کروما کامل (full chroma input).
فعال‌سازی خروجی با دقت بیت‌به‌بیت (bitexact).
اجازه استفاده از کدهای آزمایشی جدید. ممکن است اندکی بر خروجی تأثیر بگذارد یا حتی نتایج نادرست تولید کند. صرفاً برای آزمایش.
تنظیم عرض منبع (source width).
تنظیم ارتفاع منبع (source height).
تنظیم عرض مقصد (destination width).
تنظیم ارتفاع مقصد (destination height).
تنظیم قالب پیکسل منبع (باید به‌صورت یک عدد صحیح مشخص شود).
تنظیم قالب پیکسل مقصد (باید به‌صورت یک عدد صحیح مشخص شود).
اگر مقدار روی 1 تنظیم شود، نشان می‌دهد که منبع دارای دامنه کامل (full range) است. مقدار پیش‌فرض 0 است که نشان‌دهنده دامنه محدود (limited range) برای منبع است.
اگر مقدار روی 1 تنظیم شود، دامنه کامل را برای مقصد فعال می‌کند. مقدار پیش‌فرض 0 است که دامنه محدود را فعال می‌کند.
اگر مقدار روی 1 تنظیم شود، مقیاس‌بندی با تصحیح گاما (gamma correct scaling) را فعال می‌کند. مقدار پیش‌فرض 0 است.
تنظیم پارامترهای الگوریتم مقیاس‌بندی. مقادیر مشخص‌شده مختص برخی الگوریتم‌های مقیاس‌بندی هستند و توسط برخی دیگر نادیده گرفته می‌شوند. مقادیر تعیین‌شده اعداد اعشاری (floating point) هستند.
تنظیم الگوریتم دیترینگ (dithering). یکی از مقادیر زیر را می‌پذیرد. مقدار پیش‌فرض auto است.
انتخاب خودکار
بدون دیترینگ
دیترینگ بایر (bayer dither)
دیترینگ انتشار خطا (error diffusion dither)
دیترینگ حسابی، مبتنی بر جمع
دیترینگ حسابی، مبتنی بر xor (دارای الگوی تصادفی‌تر / الگوهای کمتر مشهود نسبت به a_dither).
تنظیم ترکیب آلفا (alpha blending) برای زمانی که ورودی دارای کانال آلفا است اما خروجی فاقد آن است. مقدار پیش‌فرض none است.
ترکیب روی یک رنگ پس‌زمینه یکدست
ترکیب روی صفحه شطرنجی
بدون ترکیب
تنظیم بک‌اندهای مجاز swscale. این یک گزینه از نوع پرچم (flags) است، بنابراین چند بک‌اند می‌توانند با هم ترکیب شوند.
انتخاب خودکار. بسته به اینکه پرچم unstable تنظیم شده باشد یا خیر، برابر با stable یا all خواهد بود. این مقدار پیش‌فرض است.
تمام بک‌اندهای پایدار (stable).
تمام بک‌اندهای ناپایدار (unstable).
تمام بک‌اندهای در دسترس.
کد قدیمی و موروثی swscale.
کد مرجع مبتنی بر الگو (template-based).
مسیر سریع با استفاده از "memcpy" در libc.
هسته‌های SIMD برای x86.
هسته‌های NEON برای AArch64.
بک‌اند Vulkan SPIR-V.

ffmpeg(1), ffplay(1), ffprobe(1), libswscale(3)

توسعه‌دهندگان FFmpeg.

برای جزئیات درباره نویسندگان، به تاریخچه گیت پروژه (https://git.ffmpeg.org/ffmpeg) مراجعه کنید، به عنوان مثال با تایپ دستور git log در دایرکتوری منبع FFmpeg، یا مرور مخزن آنلاین در https://git.ffmpeg.org/ffmpeg.

نگه‌دارنده‌های اجزای خاص در فایل MAINTAINERS در درخت کد منبع فهرست شده‌اند.

FFmpeg