{{External links|date=December 2021}} '''VCDIFF''' is a format and an algorithm for delta encoding, described in IETF's [https://datatracker.ietf.org/doc/html/rfc3284 RFC 3284]. The algorithm is based on Jon Bentley and Douglas McIlroy's paper "Data Compression Using Long Common Strings"<ref>{{cite conference |title=Data compression using long common strings |last1=Bentley |first1=Jon |last2=McIlroy |first2=Douglas |conference=DCC '99: Proceedings of the Conference on Data Compression |year=1999 |publisher=IEEE Computer Society |url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.8470 |doi=10.1109/DCC.1999.755678|citeseerx=10.1.1.11.8470 }}</ref> written in 1999.{{citation needed|date=February 2020}} VCDIFF is used as one of the delta encoding algorithms in "Delta encoding in HTTP" ([https://datatracker.ietf.org/doc/html/rfc3229 RFC 3229]) and was employed in Google's Shared Dictionary Compression Over HTTP technology, formerly used in their Chrome browser.
==Delta instructions== VCDIFF has 3 delta instructions. ADD, COPY, and RUN. ADD adds a new sequence, COPY copies from an old sequence, and RUN adds repeated data.
==Implementations== Free software implementations include xdelta (version 3) and open-vcdiff. * Google's Shared Dictionary Compression Over HTTP proposal uses this algorithm, and was included in the Google Chrome browser, up to version 58.<ref>{{cite web |url=https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/nQl0ORHy7sw |title=Intent to Unship: SDCH |access-date=2017-08-08}}</ref> * xdelta - A tool, which is an Open Source VCDIFF delta compression implementation * [https://github.com/google/open-vcdiff/ google/open-vcdiff] - Another Open Source VCDIFF delta compression implementation * [http://www2.research.att.com/~astopen/man/man1/vczip.html vczip] {{Webarchive|url=https://web.archive.org/web/20140222050401/http://www2.research.att.com/~astopen/man/man1/vczip.html |date=2014-02-22 }} as part of [http://www2.research.att.com/sw/download/ vcodex and ast-open]{{Dead link|date=September 2025 |bot=InternetArchiveBot }} packages (also part of UWIN) * [https://code.google.com/archive/p/diffable/ diffable] - Java implementation, but some kind of original modification of VCDIFF * [https://archive.today/20140507022255/https://github.com/xiaxiaocao/jvcdiff/ jvcdiff] - Full decoder/encoder Java implementation of VCDIFF * [https://github.com/ehrmann/vcdiff-java vcdiff-java] - another Java implementation of VCDIFF * [http://www.yoda.arachsys.com/csharp/miscutil/ Miscellaneous Utility Library] {{Webarchive|url=https://web.archive.org/web/20130204013123/http://www.yoda.arachsys.com/csharp/miscutil/ |date=2013-02-04 }} - C# implementation, decoding only * [http://www.cyandelta.com/index.html CyanDelta] - Updates CyanogenMod ROMs using Xdelta3 patches.
==See also== * Delta encoding * Data differencing
==References== {{Reflist}}
==External links== * [https://datatracker.ietf.org/doc/html/rfc3284 RFC 3284] - The VCDIFF Generic Differencing and Compression Data Format
Category:Data differencing
{{Computing-stub}}