FFV1
   HOME

TheInfoList



OR:

FFV1 (short for FF Video 1) is a
lossless Lossless compression is a class of data compression that allows the original data to be perfectly reconstructed from the compressed data with no loss of information. Lossless compression is possible because most real-world data exhibits statistic ...
intra-frame Intra-frame coding is a data compression technique used within a video frame, enabling smaller file sizes and lower bitrates, with little or no loss in quality. Since neighboring pixels within an image are often very similar, rather than storing ...
video coding format A video coding format (or sometimes video compression format) is a content representation format for storage or transmission of digital video content (such as in a data file or bitstream). It typically uses a standardized video compression algo ...
. It can use either variable-length coding or
arithmetic coding Arithmetic coding (AC) is a form of entropy encoding used in lossless data compression. Normally, a string of characters is represented using a fixed number of bits per character, as in the ASCII code. When a string is converted to arithmetic e ...
for
entropy coding In information theory, an entropy coding (or entropy encoding) is any lossless data compression method that attempts to approach the lower bound declared by Shannon's source coding theorem, which states that any lossless data compression method ...
. The encoder and decoder are part of the free, open-source library libavcodec in the project
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
since June 2003. FFV1 is also included in
ffdshow ffdshow is an open-source unmaintained codec library that is mainly used for decoding of video in the MPEG-4 ASP (e.g. encoded with DivX or Xvid) and H.264/MPEG-4 AVC video formats, but it supports numerous other video and audio formats as we ...
and
LAV Filters FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vi ...
, which makes the video codec available to
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
applications that support system-wide codecs over
Video for Windows Video for Windows was a suite of video playing and editing software introduced by Microsoft in 1992. A runtime version for viewing videos only was made available as a free add-on to Windows 3.1, which then became an integral component of Windows 9 ...
(VfW) or
DirectShow DirectShow (sometimes abbreviated as DS or DShow), codename Quartz, is a multimedia framework and API produced by Microsoft for software developers to perform various operations with media files or streams. It is the replacement for Microsoft's ear ...
. FFV1 is particularly popular for its performance regarding speed and size, compared to other lossless preservation codecs, such as M-JPEG2000. The European Broadcasting Union (EBU) lists FFV1 under the codec-family index "31" in their combined list of video codec references. It has recently been standardized at the IETF under RFC 9043.


Video archiving

For long-term preservation of digital video sustainable container formats as well as audio/video codecs are necessary. There is no consensus to date among the archival community as to which file format or codecs should be used for preservation purposes for digital video. The previously proclaimed encodings were
Motion JPEG 2000 Motion JPEG 2000 (MJ2 or MJP2) is a file format for motion sequences of JPEG 2000 images and associated audio, based on the MP4 and QuickTime format. Filename extensions for Motion JPEG 2000 video files are .mj2 and .mjp2, as defined in RFC 3 ...
(lossless) and uncompressed video. FFV1 proved to be a viable archival encoding and the
U.S. Library of Congress The Library of Congress (LOC) is the research library that officially serves the United States Congress and is the ''de facto'' national library of the United States. It is the oldest federal cultural institution in the country. The library i ...
began regarding it as a suitable option for preservation encoding in 2014. With compression ratios comparable to lossless JPEG 2000 and lower computing requirements, it is being used by archives, particularly where the collections do not feature extensive broadcast materials and instead consist of oral history and the like. As of 2018, standardisation of FFV1 through the Internet Engineering Task Force (IETF) is a work in progress as part of the European PREFORMA Project, as well as implementation of a conformance checker for FFV1 in the
Matroska Matroska is a project to create a container format that can hold an unlimited number of video, audio, picture, or subtitle tracks in one file. The Matroska Multimedia Container is similar in concept to other containers like AVI, MP4, or Adva ...
container. Details of FFV1's standardization plan have been prepared by MediaArea (authors of
MediaInfo MediaInfo is a free, cross-platform and open-source program that displays technical information about media files, as well as tag information for many audio and video files. It is used in many programs such as XMedia Recode, MediaCoder, eMule, a ...
) as part of their conformance checking tool "Media CONCH". It was standardised in August 2021 as RFC 9043. It is also listed as a format option for long-term preservation of moving images on sites of the
U.S. Library of Congress The Library of Congress (LOC) is the research library that officially serves the United States Congress and is the ''de facto'' national library of the United States. It is the oldest federal cultural institution in the country. The library i ...
', State Records NSW and others. The
Society of American Archivists The Society of American Archivists is the oldest and largest archivist association in North America, serving the educational and informational needs of more than 5,000 individual archivist and institutional members. Established in 1936, the organi ...
has published a paper in August 2014, suggesting only FFV1 as preservation codec for video. The ''Digital Preservation'' project at the
U.S. Library of Congress The Library of Congress (LOC) is the research library that officially serves the United States Congress and is the ''de facto'' national library of the United States. It is the oldest federal cultural institution in the country. The library i ...
identified
AVI Avi is a given name, usually masculine, often a diminutive of Avram, Avraham, etc. It is sometimes feminine and a diminutive of the Hebrew spelling of Abigail. People with the given name include: * Avi (born 1937), Newbery award-winning Americ ...
and
Matroska Matroska is a project to create a container format that can hold an unlimited number of video, audio, picture, or subtitle tracks in one file. The Matroska Multimedia Container is similar in concept to other containers like AVI, MP4, or Adva ...
as common container formats for FFV1.


List of institutions known to use FFV1

;Austria * Austrian Museum of Modern Art (MuMoK): For their collection of art videos. * Danube University Krems (Lower Austria/Niederösterreich) *
Filmarchiv Austria The Filmarchiv Austria ("Austrian Film Archive") is an organisation for the discovery, reconstruction and preservation of Austrian film record material: films themselves, literature about film and cinema, or film-related periodicals. With over 260, ...
(Austrian Film Archive): For their telecined DigiBeta copies of some films. * (State Museum of Lower Austria) *
Ă–sterreichische Mediathek The Ă–sterreichische Mediathek ("Austrian Mediathek") is the Austrian archive for sound recordings and videos on cultural and contemporary history. It was founded in 1960 as Ă–sterreichische Phonothek (Austrian Phonothek) by the Ministry of Educat ...
(Austria's national audio/video archive) ;Australia *
Museum Victoria Museums Victoria is an organisation which operates three major state-owned museums in Melbourne, Victoria: the Melbourne Museum, the Immigration Museum and Scienceworks Museum. It also manages the Royal Exhibition Building and a storage facil ...
;Belgium * , the Flemish Institute for Archives announced in June 2020 that they would start a major operation transcoding and rewrapping their MXF wrapped JPEG2000 files resulting from digitisation projects for the cultural heritage sector material to MKV wrapped FFV1 files. In 2019 they had already announced that MKV-FFV1 would be the mezzanine format of their migration project for DV, DVCAM and DVCPRO cassettes. ;Canada *
City of Vancouver Archives The City of Vancouver Archives is the City of Vancouver's official archival repository for government documents, as well as the home to many personal and corporate records telling the story of the community. The archives serves as the repository for ...
*
Musée d'art contemporain de Montréal The Musée d'art contemporain de Montréal (MACM) is a contemporary art museum in Montreal, Quebec, Canada. It is located on the Place des festivals in the Quartier des spectacles and is part of the Place des Arts complex. Founded in 1964, it is ...
;France *
Cinémathèque Française The Cinémathèque Française (), founded in 1936, is a French non-profit film organization that holds one of the largest archives of film documents and film-related objects in the world. Based in Paris's 12th arrondissement, the archive offers ...
;Germany * SMIDAK Filmproduktion ;Ireland
Irish Film Institute
;Slovakia * RTVS Slovakia ;Slovenia *
RTV Slovenija Radiotelevizija Slovenija ( en, Radio-Television of Slovenia) – usually abbreviated to RTV Slovenija (or simply RTV within Slovenia) – is Slovenia's national public broadcasting organization. Based in Ljubljana, it has regional broadcastin ...
;Switzerland * AV Preservation by reto.ch * HTW Chur
Archives de la Ville de Lausanne
;United Arab Emirates * Sharjah Media Corporation (SMC). ;United Kingdom *
The National Archives (United Kingdom) , type = Non-ministerial department , seal = , nativename = , logo = Logo_of_The_National_Archives_of_the_United_Kingdom.svg , logo_width = 150px , logo_caption = , formed = , preceding1 = , dissolved = , superseding = , juris ...

The Media Archive for Central England
*
BFI National Archive The BFI National Archive is a department of the British Film Institute, and one of the largest film archives in the world. It was founded as the National Film Library in 1935; its first curator was Ernest Lindgren. In 1955, its name became the N ...
(the UK's national moving image archive)
The Box, Plymouth
;United States * City University of New York Television (CUNY TV) *
Duke University Libraries Duke University Libraries is the library system of Duke University, serving the university's students and faculty. The Libraries collectively hold some 6 million volumes. The collection contains 17.7 million manuscripts, 1.2 million public documen ...
*
Indiana University Indiana University (IU) is a system of public universities in the U.S. state of Indiana. Campuses Indiana University has two core campuses, five regional campuses, and two regional centers under the administration of IUPUI. *Indiana Universit ...
* National Library of Medicine (Washington DC) *
New York Public Library The New York Public Library (NYPL) is a public library system in New York City. With nearly 53 million items and 92 locations, the New York Public Library is the second largest public library in the United States (behind the Library of Congress ...
* University of Georgia, Walter J. Brown Media Archives * University of Notre Dame Archives *
University of Texas Libraries A university () is an institution of higher (or tertiary) education and research which awards academic degrees in several academic disciplines. Universities typically offer both undergraduate and postgraduate programs. In the United States, the ...
(FFV1 in MKV for DVD preservation)


Development and improvements

The "Ă–sterreichische Mediathek" has also developed DVA-Profession a
Free Software Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, no ...
solution for archive-suitable mass video digitization, mainly using FFV1 as video encoding throughout the whole workflow, without transcoding. Additionally, they have initiated the development of "FFV1.3" (=version 3 of FFV1) together with Michael Niedermayer (
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
), Peter Bubestinger and Dave Rice. FFV1.3 contains improvements and new features such as support for multi-threaded encoding/decoding, error resilience and integrity validation by CRC checksums, storing of display aspect ratio (DAR) and field order. It was tested for over 1 year, and officially released stable for production in August 2013. In August 2016, support for 48bit/16bpc (=bits per component) in
RGB The RGB color model is an additive color model in which the red, green and blue primary colors of light are added together in various ways to reproduce a broad array of colors. The name of the model comes from the initials of the three addi ...
was added. Before that, 16bpc in FFV1 were only supported in
YCbCr YCbCr, Y′CbCr, or Y Pb/Cb Pr/Cr, also written as YCBCR or Y′CBCR, is a family of color spaces used as a part of the color image pipeline in video and digital photography systems. Y′ is the luma component and CB and CR are the blue-diffe ...
and RGB was limited to 14bpc.


Use as a preservation codec

Within the video archiving domain, the interest in FFV1 is increasing, as can be seen in a thread on the AMIA-L mailing list, the PrestoCentre Forum or the Archivematica mailing list. Companies are also picking up FFV1 support. For example, NOA (formerly "NOA Audio Solutions"), announced support for the FFV1 in their product line in July 2013 and KEM-Studiotechnik released a film-scanner with FFV1 output in November 2013. In an interview for ''
The New York Times ''The New York Times'' (''the Times'', ''NYT'', or the Gray Lady) is a daily newspaper based in New York City with a worldwide readership reported in 2020 to comprise a declining 840,000 paid print subscribers, and a growing 6 million paid ...
'' magazine about "Tips on Archiving Family History", Bertram Lyons from the
U.S. Library of Congress The Library of Congress (LOC) is the research library that officially serves the United States Congress and is the ''de facto'' national library of the United States. It is the oldest federal cultural institution in the country. The library i ...
says: In January 2013, the possible use and adoption of FFV1 as an archiving codec was addressed in the issue of PrestoCentre's ''AV Insider'' magazine: PACKED - the "Centre of Expertise in Digital Heritage" in Belgium, say in an article about video formats for archiving: In 2015, the
International Federation of Television Archives The Fédération Internationale des Archives de Télévision - International Federation of Television Archives (FIAT/IFTA) is a worldwide association of institutions, commercial companies and individuals managing or with a special interest in a ...
(FIAT/IFTA) mentioned FFV1 explicitly in their call-for-presentations for their annual World Conference, asking "Is FFV1 the new
JPEG2000 JPEG 2000 (JP2) is an image compression standard and coding system. It was developed from 1997 to 2000 by a Joint Photographic Experts Group committee chaired by Touradj Ebrahimi (later the JPEG president), with the intention of superseding thei ...
"?. A workshop titled "FFV1 for Preservation" is also featured.


Applications supporting FFV1

Here is a list of applications known to be able to read and/or write FFV1 video files, either natively or by installing codec packages. Entries marked with "-" means that they generally only support either encoding ''or'' decoding. The term ''"built-in"'' means that the application can handle FFV1 without the necessity to install additional codec packages. Applications that come with FFV1 support out of the box, usually use
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
's or
Libav Libav is an abandoned free software project, forked from FFmpeg in 2011, that contains libraries and programs for handling multimedia data. History Fork from FFmpeg The Libav project was a fork of the FFmpeg project. It was announced on ...
's libraries in order to do so. The list is far from being complete, and will be augmented over time:


Compression details

FFV1 is not strictly an intra-frame format; despite not using inter-frame prediction, it allows the context model to adapt over multiple frames. This can be useful for compression due to the very large size of the context table, but can be disabled to force the encoder to generate a strictly intra-frame bitstream. As the gained compression seems to decrease with later versions of FFV1 (version 2,3), the use of GOP size greater than "1" might disappear in the future.


Prediction process

During progressive scanning of a frame, the difference between a current pixel and its predicted value, judging by neighboring pixels, is sent to the entropy-coding process. The prediction is done as follows: :Prediction = Median( Top, Left, Top + Left - TopLeft ) The third value, "Top + Left - TopLeft", is effectively equivalent to applying the top predictor to the current and the left sample, followed by applying the left predictor to the prediction residual of the top predictor. This method, also known as the gradient, exploits both horizontal and vertical redundancy. So in simple terms the prediction is the
median In statistics and probability theory, the median is the value separating the higher half from the lower half of a data sample, a population, or a probability distribution. For a data set, it may be thought of as "the middle" value. The basic fe ...
of the top, left, and gradient prediction methods. For improved performance and simplicity, the edges of the frame are assumed to be zero to avoid special cases. The prediction in encoding and decoding is managed using a
ring buffer In computer science, a circular buffer, circular queue, cyclic buffer or ring buffer is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end. This structure lends itself easily to buffering data streams. Ther ...
.


Entropy coding process

The residuals are coded using either variable-length coding or arithmetic coding. Both options use a very large context model. The "small" context model uses (11*11*11+1)/2=666 contexts based on the neighboring values of (Left-TopLeft), (TopLeft-Top), and (Top-TopRight). The "large" context model uses (11*11*5*5*5+1)/2=7563 contexts based on the same values as before, but also (TopTop - Top) and (LeftLeft-Left), where "TopTop" is the pixel two above the current one vertically, and "LeftLeft" is the pixel two to the left of the current one. In arithmetic coding, each "context" actually has 32 sub-contexts used for various portions of coding each residual, resulting in a grand total of 242,016 contexts for the "large" model. Early experimental versions of FFV1 used the CABAC Arithmetic coder from H.264, but due to the uncertain patent/royalty situation, as well as its slightly worse performance, CABAC was replaced by
Range encoding Range coding (or range encoding) is an entropy coding method defined by G. Nigel N. Martin in a 1979 paper,, 100000)) using the probability distribution . The encoder breaks down the range [0, 100000) into three subranges: A: [ ...
.


Status

On April 16, 2006, a commit-message by Michael Niedermayer confirmed that the bitstream of FFV1 (version 1) is frozen:


Codec

; Version 1 (FFV1.1): The bitstream of version 1 is frozen and considered stable for production use since April 2006. The remark "experimental" in the source code was overlooked back then and removed in March 2010. ; Version 2 (FFV1.2): Version 2 was an intermediate version, that was never officially released and should not be used for production purpose. ; Version 3 (FFV1.3): The bitstream of version 3 is frozen since August 3, 2013. The final commit marking this version as officially released for production usage was on August 26, 2013. There is still no any VFW multithreaded encoder of FFV1.3 for Windows in 2017. FFdshow can encode only FFV1.1 stream with single CPU core. ; Version 4 (FFV1.4): Improvements beyond FFV1.3 are work in progress and being discussed on the IETF "CELLAR" mailing list. Planned are additional support for color-handling, especially non-linear/logarithmic color spaces.


Documentation

The current authoritative documentation was started in April 2012, and stayed in a very basic state until 2015. In 2015, as part of the IETF standardization process, the documentation is now improved and reviewed by the CELLAR working group in close cooperation with Michael Niedermayer.


See also

*
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
* List of lossless compression video codecs


References


External links

*
FFV1 Specification development repository


{{DEFAULTSORT:Ffv1 Free video codecs