SVT-AV1 2.0 (స్కేలబుల్ వీడియో టెక్నాలజీ AV1) లైబ్రరీ విడుదల AV1 వీడియో ఎన్కోడింగ్ ఫార్మాట్ యొక్క ఎన్కోడర్ మరియు డీకోడర్ అమలులతో ప్రచురించబడింది, దీని త్వరణం కోసం ఆధునిక Intel CPUలలో ఉన్న హార్డ్వేర్ సమాంతర కంప్యూటింగ్ సాధనాలు ఉపయోగించబడతాయి. ఆన్-ది-ఫ్లై వీడియో ట్రాన్స్కోడింగ్ మరియు వీడియో-ఆన్-డిమాండ్ (VOD) సేవల్లో వినియోగానికి అనువైన పనితీరు స్థాయిని సాధించే లక్ష్యంతో నెట్ఫ్లిక్స్ భాగస్వామ్యంతో ఇంటెల్ ప్రాజెక్ట్ రూపొందించబడింది. ప్రస్తుతం, AV1 వీడియో ఎన్కోడింగ్ ఆకృతి అభివృద్ధిని పర్యవేక్షించే ఓపెన్ మీడియా అలయన్స్ (AOMedia) ఆధ్వర్యంలో అభివృద్ధి జరుగుతోంది. గతంలో, ప్రాజెక్ట్ OpenVisualCloud ప్రాజెక్ట్ యొక్క ఫ్రేమ్వర్క్లో అభివృద్ధి చేయబడింది, ఇది SVT-HEVC మరియు SVT-VP9 ఎన్కోడర్లను కూడా అభివృద్ధి చేస్తుంది. కోడ్ BSD లైసెన్స్ క్రింద పంపిణీ చేయబడింది.
C99 ప్రమాణానికి మద్దతు ఇచ్చే కంపైలర్తో ఏ ఆర్కిటెక్చర్లోని సిస్టమ్ల కోసమైనా SVT-AV1ని కంపైల్ చేయవచ్చు, కానీ SIMD-ఆధారిత అసెంబ్లర్ ఆప్టిమైజేషన్లను ఉపయోగించే x86_64 సిస్టమ్లలో ఉత్తమ పనితీరు లభిస్తుంది (CPUలో AVX2 మద్దతుకు ప్రాధాన్యత ఇవ్వబడుతుంది, కానీ కనీసంగా SS2 సరిపోతుంది). మెమరీ వినియోగం ఎన్కోడింగ్ కోసం ఉపయోగించే ప్రాసెసర్ కోర్ల సంఖ్యపై ఆధారపడి ఉంటుంది, దీనిని "--lp" ఆప్షన్ ద్వారా నియంత్రిస్తారు. AV1లో ఉపయోగించే అల్గారిథమ్ల సంక్లిష్టత కారణంగా, ఈ ఫార్మాట్ను ఎన్కోడ్ చేయడానికి ఇతర ఫార్మాట్ల కంటే గణనీయంగా ఎక్కువ వనరులు అవసరం, ఇది రియల్-టైమ్ ట్రాన్స్కోడింగ్ కోసం నేటివ్ AV1 ఎన్కోడర్ వాడకాన్ని నిరోధిస్తుంది. ఉదాహరణకు, నేటివ్ AV1 ఎన్కోడర్కు x264 (మెయిన్ ప్రొఫైల్), x264 (హై ప్రొఫైల్), మరియు libvpx-vp9 ఎన్కోడర్ల కంటే వరుసగా 5721, 5869, మరియు 658 రెట్లు ఎక్కువ గణనలు అవసరం.
SVT-AV1 యొక్క కొత్త విడుదలలో మార్పులలో:
- కొత్త వెర్షన్ నంబరింగ్ విధానానికి మార్పు అమలు చేయబడింది, దీని ప్రకారం API/ABIలో జరిగే ప్రతి మార్పుతో వెర్షన్లోని మొదటి అంకె మారుతుంది.
- అదనపు ఫ్రేమ్ కోసం వేచి ఉండటం వల్ల కలిగే ఆలస్యాన్ని తొలగించడానికి, ఖాళీ ఫ్రేమ్ను ఉపయోగించడానికి బదులుగా చివరి ఫ్రేమ్లోనే ఎండ్-ఆఫ్-స్ట్రీమ్ (EOS) సూచనను ఉపయోగించేలా API మార్పులు చేయబడ్డాయి. ఈ API మార్పు ఇప్పటికే FFmpeg కోడ్బేస్లో పొందుపరచబడింది.
- మూడు-పాస్ వేరియబుల్ బిట్రేట్ (3-పాస్ VBR) తొలగించబడింది, దాని స్థానంలో మల్టీ-పాస్ VBR విధానం ప్రవేశపెట్టబడింది. FFmpegతో అనుసంధానాన్ని నిర్ధారించడానికి మల్టీ-పాస్ VBR రెండు పాస్లకు తగ్గించబడింది.
- ఎన్కోడర్కు ఆప్టిమైజేషన్లు జోడించబడ్డాయి, దీనివల్ల M9-M13 ప్రీసెట్ల కోసం కంప్రెషన్ సామర్థ్యం 1-4% పెరిగింది, మరియు LP 8 మోడ్లో M5 ప్రీసెట్ కోసం మెమరీ వినియోగం 20-35% మరియు ఇతర మోడ్లలో 1-5% తగ్గింది. ఇతర ప్రీసెట్ల కోసం మెమరీ వినియోగం 1-5% తగ్గింది.
- అధిక నాణ్యతా స్థాయిని నిర్దేశించే ప్రీసెట్ల కోసం నాణ్యత/వేగం మధ్య ఉండే రాజీలను ఆప్టిమైజ్ చేయడం జరిగింది. రిఫరెన్స్ నాణ్యతను అందించే MR ప్రీసెట్ను 100% వేగవంతం చేయడం జరిగింది.
- C-మాత్రమే ఫంక్షన్లకు ARM ఆర్కిటెక్చర్-నిర్దిష్ట ఆప్టిమైజేషన్లు జోడించబడ్డాయి.
AV1 వీడియో ఎన్కోడింగ్ ఫార్మాట్ కోసం ఒక ప్రత్యామ్నాయ ఉచిత డీకోడర్ను అమలు చేసే లైబ్రరీని VideoLAN మరియు FFmpeg కమ్యూనిటీలు అభివృద్ధి చేస్తున్న ప్రాజెక్ట్ అయిన dav1d 1.4.1 విడుదల కూడా గమనించదగినది. dav1d లైబ్రరీ అధునాతన సబ్శాంప్లింగ్ రకాలు మరియు పేర్కొన్న అన్ని కలర్ డెప్త్ కంట్రోల్ పారామీటర్లతో (8, 10, మరియు 12 బిట్స్) సహా అన్ని AV1 ఫీచర్లకు మద్దతు ఇస్తుంది. సాధ్యమైనంత అత్యధిక డీకోడింగ్ పనితీరును సాధించడం మరియు మల్టీథ్రెడెడ్ మోడ్లో అధిక-నాణ్యత ఆపరేషన్ను నిర్ధారించడంపై దృష్టి పెట్టడం dav1d యొక్క ముఖ్య లక్షణం. ఈ ప్రాజెక్ట్ కోడ్ అసెంబ్లీ ఇన్సర్ట్లతో (NASM/GAS) C (C99) లో వ్రాయబడింది మరియు BSD లైసెన్స్ క్రింద పంపిణీ చేయబడింది. x86, x86_64, ARMv7, మరియు ARMv8 ఆర్కిటెక్చర్లకు మరియు ఈ క్రింది ఆపరేటింగ్ సిస్టమ్లకు మద్దతు అందించబడింది: FreeBSD, Linux, Windows, macOS, Android, మరియు iOS.
dav1d 1.4 కొత్త Loongarch మరియు RISC-V ఆర్కిటెక్చర్లకు మద్దతు ఇవ్వడం, అలాగే AVX-512 సూచనల ఆధారంగా అదనపు ఆప్టిమైజేషన్లు, ARM సిస్టమ్లలో 6tap ఫిల్టర్ల వేగవంతం, మెరుగైన మల్టీథ్రెడింగ్ సామర్థ్యం, మరియు ARM64, ARM32, మరియు RISC-V సిస్టమ్లలో బైనరీ డేటా పరిమాణాన్ని తగ్గించడం వంటి వాటికి ప్రసిద్ధి చెందింది. చాలా పెద్ద ఫ్రేమ్లను ప్రాసెస్ చేస్తున్నప్పుడు ఇంటెజర్ ఓవర్ఫ్లో కారణంగా అవుట్-ఆఫ్-బౌండ్స్ రైట్కు కారణమైన CVE-2024-1580 అనే దుర్బలత్వం పరిష్కరించబడింది.
మూలం: opennet.ru
