Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Prediction process  





2 Entropy coding process  





3 Status  





4 See also  





5 References  





6 External links  














FFV1: Difference between revisions






Deutsch
Français

Italiano
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




Print/export  



















Appearance
   

 





Help
 

From Wikipedia, the free encyclopedia
 


Browse history interactively
 Previous editNext edit 
Content deleted Content added
The rooker (talk | contribs)
148 edits
m video format -> video codec
FrescoBot (talk | contribs)
1,125,763 edits
m Bot: links syntax
Line 1: Line 1:

'''FFV1''', which stands for "FF video codec 1", is a lossless intra-frame [[Video codec|video codec]]. It can use either [[variable length coding]] or [[arithmetic coding]] for [[entropy coding]]. The encoder and decoder are part of the free, open-source library libavcodec in the project [[FFmpeg]] since 2003<ref name="ffv1_repository_history" />.

'''FFV1''', which stands for "FF video codec 1", is a lossless intra-frame [[video codec]]. It can use either [[variable length coding]] or [[arithmetic coding]] for [[entropy coding]]. The encoder and decoder are part of the free, open-source library libavcodec in the project [[FFmpeg]] since 2003<ref name="ffv1_repository_history" />.

FFV1 is also included in [[ffdshow]], which makes the video codec available to any Windows application that uses system-wide codecs.

FFV1 is also included in [[ffdshow]], which makes the video codec available to any Windows application that uses system-wide codecs.




Revision as of 14:17, 26 January 2011

FFV1, which stands for "FF video codec 1", is a lossless intra-frame video codec. It can use either variable length codingorarithmetic coding for entropy coding. The encoder and decoder are part of the free, open-source library libavcodec in the project FFmpeg since 2003[1]. FFV1 is also included in ffdshow, which makes the video codec available to any Windows application that uses system-wide codecs.

Prediction process

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. 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 also known as the gradient, so in simple terms the prediction is the median 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.

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.

Status

Since March 2010, the codec is no longer marked as experimental[1]. The bitstream is fixed, but documentation remains incomplete.

See also

References

External links



Retrieved from "https://en.wikipedia.org/w/index.php?title=FFV1&oldid=410170218"

Category: 
Free multimedia codecs, containers, and splitters
 



This page was last edited on 26 January 2011, at 14:17 (UTC).

This version of the page has been revised. Besides normal editing, the reason for revision may have been that this version contains factual inaccuracies, vandalism, or material not compatible with the Creative Commons Attribution-ShareAlike License.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki