منصوبے کے بارے میں

libavif AV1 امیج فائل فارمیٹ (AVIF) کا ایک پورٹیبل C نفاذ ہے، جو دوسرے پروجیکٹس میں ضم کرنے کے لیے دوستانہ ہے۔ یہ تمام AV1-supported YUV فارمیٹس اور بٹ ڈیپتھ کی انکوڈنگ اور ڈیکوڈنگ کی حمایت کرتا ہے، بشمول alpha۔ لائبریری کے ساتھ، یہ کمانڈ لائن ٹولز بھی فراہم کرتا ہے: انکوڈنگ کے لیے avifenc اور ڈیکوڈنگ کے لیے avifdec۔ بنیادی کمانڈ لائن استعمال: avifenc -q 75 input.[jpg|png|y4m] output.avif avifdec output.avif decoded.png مکمل آپشن فہرست کے لیے avifenc --help چلائیں۔ API استعمال کی مثالیں examples ڈائریکٹری میں موجود ہیں؛ CMake آپشن AVIF_BUILD_EXAMPLES کو فعال کرنے سے وہ بنتے اور چلتے ہیں۔ تنصیب عام پیکیج مینیجرز کے ذریعے دستیاب ہے: Windows پر vcpkg، macOS پر Homebrew یا MacPorts، Debian-based Linux پر apt، Red Hat-based Linux پر yum، اور MSYS2 UCRT64 میں pacman۔ سرکاری Windows بائنریز releases صفحے پر شائع کی جاتی ہیں۔ main برانچ کے بجائے tagged releases تجویز کی جاتی ہیں۔ بلڈ کے لیے CMake درکار ہے۔ انحصار CMake فلیگز کے ذریعے کنٹرول کیے جاتے ہیں جیسے AVIF_CODEC_AOM اور AVIF_LIBYUV، جو OFF، SYSTEM، یا LOCAL قبول کرتے ہیں۔ بطور ڈیفالٹ کوئی AV1 کوڈیک فعال نہیں ہوتا؛ کم از کم ایک منتخب کرنا ضروری ہے، libaom (انکوڈر اور ڈیکوڈر)، dav1d (ڈیکوڈر)، libgav1 (ڈیکوڈر)، rav1e (انکوڈر)، اور SVT-AV1 (انکوڈر) میں سے انتخاب کرتے ہوئے۔ Libyuv اختیاری ہے لیکن تیز رنگ کی جگہ کی تبدیلیوں کے لیے سختی سے تجویز کی جاتی ہے اور بطور ڈیفالٹ SYSTEM ہے۔ ٹیسٹ AVIF_BUILD_TESTS کے ساتھ بنائے جا سکتے ہیں؛ GoogleTest-based ٹیسٹوں کے لیے AVIF_GTEST درکار ہے، اور fuzzing ٹیسٹ fuzztest استعمال کرتے ہیں۔ کوڈ کوریج AVIF_ENABLE_COVERAGE اور avif_coverage ٹارگٹ کے ذریعے clang اور LLVM انسٹال ہونے پر دستیاب ہے۔ مثال کے بلڈ کمانڈ لائنز انسٹال شدہ انحصار کے خلاف لنکنگ اور شروع سے سب کچھ بنانے کا احاطہ کرتی ہیں۔ لائبریری C99 میں لکھی گئی ہے، زیادہ تر ٹیسٹ C++14 میں۔ فارمیٹنگ ذرائع کے لیے clang-format اور CMake فائلوں کے لیے cmake-format استعمال کرتی ہے۔ پروجیکٹ BSD License کے تحت جاری کیا گیا ہے۔