1 पॉइंट द्वारा GN⁺ 4 시간 전 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • dav2d VideoLAN कम्युनिटी द्वारा विकसित AV2 के लिए एक हाई-स्पीड डिकोडर है, जिसका लक्ष्य ऐसा implementation देना है जिसे apps, browsers और operating systems में सीधे इस्तेमाल किया जा सके
  • AV2 AV1 का अगला royalty-free codec है, जिसमें लगभग 25% efficiency improvement देखा गया है, लेकिन इसकी decoding complexity AV1 की तुलना में लगभग 5 गुना है
  • जैसे AV1 के शुरुआती प्रसार में dav1d ने एक तेज software decoder की भूमिका निभाई थी, वैसे ही dav2d भी specification के शुरुआती चरण से ही production-quality decoder तैयार कर रहा है
  • मौजूदा tree में AVM v15 decoder functional रूप से पूरा हो चुका है और यह 8-bit व 10-bit दोनों को support करता है, जबकि फोकस correctness, conformance और optimization पर है
  • x86 AVX2, ARM NEON, शुरुआती RISC-V काम और checkasm validation के जरिए architecture-specific optimization को तेज और सुरक्षित तरीके से आगे बढ़ाया जा रहा है

dav2d का उद्देश्य और पृष्ठभूमि

  • dav2d VideoLAN कम्युनिटी के सदस्यों द्वारा विकसित नए AV2 codec के लिए एक हाई-स्पीड डिकोडर है
  • repository कुछ हफ्ते पहले सार्वजनिक की गई थी, और AV2 की पहली official specification release के समय इस project का उद्देश्य और स्थिति साझा की गई
  • dav2d, AV1 decoder dav1d की ही अगली कड़ी है
  • लक्ष्य एक छोटा, तेज, portable और accurate decoder देना है, जिसे वास्तविक applications, media players, browsers, test tools और operating systems में इस्तेमाल किया जा सके
  • “कोई codec तब तक वास्तव में मौजूद नहीं होता जब तक हर कोई उसे decode न कर सके” — इस दृष्टिकोण के तहत सिर्फ specification नहीं, बल्कि build, test, benchmark और integration योग्य implementation भी अहम हो जाती है

AV2 और decoding की कठिनाई

  • AV2 Alliance for Open Media का नवीनतम royalty-free video codec है और AV1 का successor है
  • AV2 specification सार्वजनिक रूप से उपलब्ध है
  • AV1 2018 में final हुआ था, और यह browsers, mobile devices, operating systems, TVs, streaming services और video applications में व्यापक रूप से deploy किया गया video codec बन चुका है
  • AV2 compression efficiency बढ़ाने के लिए prediction, transform, entropy coding, filtering और chroma processing में नए coding tools जोड़ता है
  • test conditions के अनुसार फर्क हो सकता है, लेकिन AV1 की तुलना में लगभग 25% improvement आम तौर पर देखा जाता है, और कुछ evaluations में इससे भी बड़ा सुधार दिखता है
  • AV2 decoding, AV1 की तुलना में लगभग 5 गुना अधिक complex है, इसलिए मौजूदा hardware पर केवल software के जरिए real-time decoding करने के लिए architecture-specific optimization जरूरी है
  • इसी complexity के कारण dav2d का development specification के पूरी तरह स्थिर होने का इंतजार किए बिना जल्दी शुरू किया गया

dav1d से dav2d तक की यात्रा

  • dav2d की शुरुआत dav1d के शुरुआती अनुभवों से हुई
  • AV1 के final होने के समय यह आशंका थी कि dedicated hardware decoding पर्याप्त तेजी से और पर्याप्त डिवाइसों तक नहीं पहुंचेगा, इसलिए एक तेज software decoder की जरूरत थी
  • उस समय AOM कम्युनिटी के कुछ लोगों का मानना था कि hardware implementation और reference decoder काफी होंगे, लेकिन browsers, media players, operating systems और mobile devices को dedicated hardware के व्यापक होने से पहले ही production-quality decoder की जरूरत थी
  • बाद में AOM ने खुद शुरुआती development का कुछ समर्थन किया, और Alliance के कुछ सदस्य भी इस काम में जुड़े, जिससे dav1d बना
  • तेज software decoder की जरूरत अपेक्षा से ज्यादा निकली, और dav1d आज सबसे व्यापक रूप से deploy किया गया AV1 software decoder बन चुका है
  • dav1d का उपयोग VLC, FFmpeg, mpv, Firefox, Chrome, Safari, Android, Windows, Linux और कई applications व platforms में होता है
  • dav1d, AV1 deployment, testing और optimization पर काम करने वाले कई developers के लिए reference AV1 decoder implementation के रूप में भी इस्तेमाल होता है
  • dav1d का इतिहास Introducing dav1d, the road to the first release, First release, dav1d 1.2, 1.5 “Sonic” में संक्षेपित है
  • AV2 में भी वही भूमिका और उससे भी पहले के चरण से तैयार की जा रही है

मौजूदा implementation की स्थिति

  • मौजूदा dav2d tree में AVM v15 decoder functional रूप से पूरा हो चुका है और यह 8-bit और 10-bit decoding दोनों को support करता है
  • codec के अधिकतर मुख्य components implement हो चुके हैं और अब optimization phase में प्रवेश हो चुका है
    • bitstream parsing
    • frame और sequence headers
    • entropy decoding और CDF handling
    • intra prediction
    • inter prediction और reference motion vectors
    • transform
    • CCTX और CfL
    • deblocking
    • CDEF
    • Wiener filtering
    • film grain synthesis
  • AV2 ecosystem अभी शुरुआती चरण में है, लेकिन dav2d पहले से एक काम करने वाला decoder है और केवल घोषणा के लिए बनाई गई खाली repository से कहीं आगे बढ़ चुका है
  • मौजूदा काम का बड़ा हिस्सा correctness, conformance, optimization और platform support पर केंद्रित है
  • dav2d की तेज प्रगति के पीछे dav1d से मिली threading, SIMD structure, testing, portability और API design की accumulated experience है
  • AV2 के लिए काफी नया decoder code चाहिए, लेकिन dav1d development के दौरान मिली बहुत-सी सीख सीधे dav2d पर लागू हो रही है

performance optimization और validation

  • x86 पर कई inverse transform sizes के लिए AVX2 code जोड़ा जा चुका है, और CCTX, deblock, intra prediction तथा CfL से जुड़े paths पर भी काम जारी है
  • ARM पर AArch64 NEON काम entropy decoding, SAD, intra prediction, palette prediction, DC predictors, smooth predictors और motion-related functions में लागू हो रहा है
  • arm32 पर भी कुछ काम शुरू हो चुका है
  • RISC-V पर काम अभी शुरुआती चरण में है, और दिशा मौजूदा intra prediction तथा motion compensation assembly को फिर से enable और tune करने की है
  • optimization flow, dav1d जैसा ही है
    • पहले साफ-सुथरा C implementation बनाया जाता है
    • फिर validation infrastructure तैयार किया जाता है
    • इसके बाद महत्वपूर्ण hot paths में architecture-specific optimized code जोड़ा जाता है
  • dav1d development के दौरान बनाया गया checkasm optimized implementations को C implementation के साथ compare करके validate और benchmark करने वाला framework है
  • dav2d इस infrastructure का उपयोग पहले दिन से कर रहा है, इसलिए यह dav1d के समान चरण की तुलना में ज्यादा तेजी से आगे बढ़ रहा है
  • मौजूदा tree में inverse transforms, motion compensation, film grain, CfL और reference motion vector code के लिए checkasm coverage शामिल है

open source development model और अगले चरण

  • dav2d, dav1d की तरह, एक open source project के रूप में विकसित किया जा रहा है
  • decoder को dav1d जैसी ही BSD-style license के तहत distribute किया जाता है, जिससे इसे open source और proprietary applications दोनों में integrate करना आसान हो जाता है
  • अधिकांश VideoLAN projects की तरह development पहले दिन से सार्वजनिक रूप से हो रहा है
  • सार्वजनिक implementation interoperability, specification की independent validation, आसान experimentation और ecosystem के लिए एक common base उपलब्ध कराती है
  • आगे भी AV2 specification tracking, conformance improvement, test coverage expansion, x86 और ARM पर अतिरिक्त optimization, और RISC-V पर आगे का काम जरूरी होगा
  • higher bit-depth performance improvement, बेहतर threading, memory usage में कमी और future releases की तैयारी भी बाकी है
  • जैसे dav1d ने hardware support के सार्वभौमिक होने से पहले AV1 को व्यावहारिक बनाया था, वैसे ही dav2d का लक्ष्य AV2 के लिए वही भूमिका निभाना है

1 टिप्पणियां

 
GN⁺ 4 시간 전
Hacker News की टिप्पणियाँ
  • Too Many Requests
    आर्काइव कॉपी यहाँ देखी जा सकती है:
    https://web.archive.org/web/20260531130034/https://jbkempf.com/blog/2026/dav2d/
    https://archive.md/ln5UE

    • लगता है HN से बहुत ज़्यादा ट्रैफ़िक गया
      Too Many Requests दिख रहा है, और साथ में यह संदेश भी कि फ़ाइल मालिक ने short-term bandwidth limit पार कर दी है और प्रति दिन 160000 actions limit से ऊपर चला गया है
  • AV1 software decoding पहले से ही बहुत भारी है, इसलिए AV2 decoding benchmarks आगे चलकर सच में दिलचस्प या डरावना नज़ारा हो सकते हैं

    • Intel का Arc dGPU dedicated AV1 encoding·decoding के लिए काफ़ी आकर्षक था, खासकर कुछ कार्डों का छोटा form factor अच्छा लगा
      OBS recording और encoding workloads वाले PC में इसे auxiliary card की तरह लगाकर इस्तेमाल करना भी संभव था
      अच्छा होगा अगर AV2 support वाली अगली product line में भी ऐसा ही विकल्प आए, और आजकल video creation व streaming इतनी आम हो चुकी है कि इसकी और भी ज़रूरत लगती है
    • जब तक व्यापक रूप से उपलब्ध और सस्ता hardware 2018 codec की बराबरी नहीं कर लेता, AV family के नए codecs niche से आगे बढ़ना मुश्किल लगता है
    • इसे देखना दिलचस्प होगा
  • किसी codec spec को तभी पूरा माना जा सकता है जब field-developed decoder का कम-से-कम एक implementation मौजूद हो। यानी reference implementation + 1 implementation चाहिए, और कई बार field implementation ही de facto spec बन जाता है
    90 के दशक में बचपन में MPEG1 spec पढ़ते हुए पहली बार समझ आया था कि जटिल systems को कैसे define किया जाता है
    media coding standards में ज़्यादातर समय encoded bytes को कैसे interpret करना है, इसी पर लगाया जाता है, और यह मुझे प्रतिभाशाली लगा
    decoding को descriptive तरीके से define किया जा सकता है, और encoding को prescriptive तरीके से बाँधने की ज़रूरत नहीं होती
    creativity encoding की तरफ़ दिखाई जा सकती है, लेकिन encoded bytes को मिलकर समझने का तरीका ज़रूर देना पड़ता है

  • लगता है HN hug of death हुआ है

  • मुझे यक़ीन नहीं कि size को 25% कम करना इतना मूल्यवान है कि AV1 hardware decoder वाले लगभग सभी devices व्यावहारिक रूप से obsolete हो जाएँ। AV2 decoding उन devices के लिए बहुत भारी होगी

    • आधुनिक video services कई codecs, bitrates और screen sizes में अलग-अलग encode करके रखती हैं, और फिर client device जो decode कर सके, उसे सबसे उपयुक्त format भेजती हैं
      YouTube पर सैकड़ों format variants हैं:
      https://gist.github.com/MartinEesmaa/2f4b261cb90a47e9c41ba115a011a4aa
      AV1 hardware decoding वाले devices भले कम हों, लेकिन वे जल्दी obsolete नहीं होंगे
    • अगर आप लगभग 17 billion views वाला video host कर रहे हैं, तो आप चाहेंगे कि उसे जितना संभव हो उतने कम bits में stream किया जाए:
      https://www.youtube.com/watch?v=XqZsoesa55w
      तब वह अतिरिक्त 25% काफ़ी मूल्यवान हो जाता है
      कुछ भी obsolete नहीं होगा। AV1 लंबे समय तक बना रहेगा, और YouTube पुराने devices को support करने के लिए अब भी H.264 encodes देता है
  • फिर से लगता है HN hug of death आया है, और 429 error दिख रहा है

  • मुझे लगा यह Dave2D की बात है

    • लगता है नाम dav1d से लिया गया है, लेकिन फिर भी यह काफ़ी दुर्भाग्यपूर्ण name collision लगता है
  • लगता है ब्लॉग HN hug of death का शिकार हो गया
    Actioning this file would cause "jbkempf.com//blog/2026/dav2d/" to exceed the per-day file actions limit of 160000 actions, try again later दिख रहा है, क्या कहीं कोई mirror copy है?

  • मुझे साफ़ नहीं है कि AV1 की तुलना में लगभग 25% improvement और AV2 decoding के AV1 से लगभग 5 गुना अधिक complex होने का क्या मतलब है, और क्या दोनों बातें आपस में तुलना योग्य भी हैं

    • मैंने इसे compression के 25% बेहतर होने के रूप में समझा
      यानी AV1 में जो quality 10Mbps पर मिलती है, वही AV2 में 8Mbps पर मिल सकती है
      लेकिन उस 25% फ़ायदे के लिए 5 गुना ज़्यादा compute चाहिए
    • AV2 में decoding complexity 5 गुना बढ़ने की कीमत पर 25% bandwidth की बचत होती है
    • फ़ाइलें छोटी होंगी, लेकिन decoding ज़्यादा कठिन होगी
  • संबंधित पोस्ट: The AV2 Video Standard Has Released (Final v1.0 Specification)
    https://news.ycombinator.com/item?id=48340910