FFV1: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(9 intermediate revisions by 6 users not shown)
Line 1: Line 1:
* FOURCCs: FFV1
* FOURCCs: FFV1
* Technical Description: [http://www1.mplayerhq.hu/~michael/ffv1.html http://www1.mplayerhq.hu/~michael/ffv1.html]
* Technical Description: http://www.ffmpeg.org/~michael/ffv1.html


FFV1 stands for [[FFmpeg]] codec #1. It is an experimental codec that features lossless, intraframe-only, arithmetic coding.
The FFV1 video codec is a simple and efficient lossless intra-frame only codec.  


[[Category:Lossless Video Codecs]]
Multiple version of the codec are available. ([[User:Lu zero|lu_zero]] Describe only version 2?)
[[Category:Video Codecs]]
 
[[Category:Video FourCCs]]
= Bitstream =
 
== Conventions ==
 
([[User:Lu zero|lu_zero]] Put a table with the description symbol and such)
 
== Bitstream structure ==
 
FFV1 consts of a global header and frames. Frames are structured in header and slices.
The headers store information regarding encoding type, pixel format and slice geometry.
Depending on the version most of it is stored in the global header or in the per-frame header.
 
=== Global Header ===
 
Version 1 does not have a global header, from version 2 the following field compose the global header.
 
([[User:Lu zero|lu_zero]] Make a table)
 
* version
* minor version


* coder type


* state transition table


* colorspace type


* bits per sample


* chroma_planes


* horizontal subsampling
* vertical subsampling 


* alpha plane presence


* number of horizontal slices
* number of vertical slices


* quantization tables


* error correction


* cyclic redundancy check


=== Frame ===
Each frame is composed by a small header and the frame data in slices.
Version 0 and 1 use a larger per frame header, version 2 and later store
only the initial 1bit Range Coded keyframe flag.
Depending on the version the slice data provides additional information,
a specific quantization table and a redundancy check.


==== Frame Header ====


Version 0 and 1 use a large per frame header, version 2 and later store
only the initial 1bit Range Coded keyframe flag.


==== Slice ====


Version 2 slice has the following structure


= Encoding =


== Encoding modes ==


=== Range coding ===


=== Huffman coding ===


== Frame Encoding ==


=== Colorspace ===


=== Prediction ===


=== Quantization ===


<div  style="display:none">
= Common usage =
[We are delicate. We do not delete your content.]
[l_sp2008]


[http://ringtonemaker.blogs.eurosport.com/ ringtone maker]
[http://blog.yukonho.com/index.php?blog=44 Godsmack Awake]
[http://blog.yukonho.com/index.php?blog=45 godsmack voodoo]
[http://blog.yukonho.com/index.php?blog=46 sean paul temperature]
[http://blog.yukonho.com/index.php?blog=47 Sean Paul We Be Burnin]
[http://blog.yukonho.com/index.php?blog=48 natasha bedingfield unwritten]
[http://blog.yukonho.com/index.php?blog=49 50 cent mp3]
[http://blog.yukonho.com/index.php?blog=50 Bad Day Daniel Powter]
[http://blog.yukonho.com/index.php?blog=51 Daniel Powter mp3]
[http://blog.yukonho.com/index.php?blog=52 Goodbye My Lover James Blunt]
[http://blog.yukonho.com/index.php?blog=53 System Of A Down mp3]
[http://blog.yukonho.com/index.php?blog=54 Sean Paul mp3]
[http://blog.yukonho.com/index.php?blog=55 Metallica mp3]
[http://blog.yukonho.com/index.php?blog=56 Shakira mp3]
[http://blog.yukonho.com/index.php?blog=57 Black Eyed Peas mp3]
[http://blog.yukonho.com/index.php?blog=58 Madonna mp3]
[http://blog.yukonho.com/index.php?blog=59 eminem mp3]
[http://blog.yukonho.com/index.php?blog=60 Fall Out Boy Grand Theft Autumn]
[http://blog.yukonho.com/index.php?blog=61 Jack Johnson mp3]
[http://blog.yukonho.com/index.php?blog=62 oscar dresses]
[http://blog.yukonho.com/index.php?blog=63 mother of the bride dresses]
[http://blog.yukonho.com/index.php?blog=64 cocktail dresses]
[http://blog.yukonho.com/index.php?blog=65 Flower Girl Dresses]
[http://blog.yukonho.com/index.php?blog=66 Formal prom Dresses]
[http://blog.yukonho.com/index.php?blog=67 Plus Size Prom Dresses]
[http://blog.yukonho.com/index.php?blog=68 Free Verizon Ringtone]
[http://blogs.wwwcoder.com/cleo/ nextel ringtone]
[http://verizonringtone.forumco.com/ verizon ringtone]
[http://uscellularringtone.forumco.com US Cellular Ringtone]
[http://novogate.com/board/5907/222695-1.html free sprint ringtone]
[http://4898.rapidforum.com verizon ringtone]
[http://blogs.heraldextra.com/verizonringtone/ verizon ringtone]
[http://blog.investing.com/bcbgshoes/ bcbg shoes]
[http://blog.yukonho.com/index.php?blog=40 free sprint ringtones]
[http://blog.yukonho.com/index.php?blog=41 cheap prom dresses]
[http://blog.yukonho.com/index.php?blog=42 sexy prom dresses]
[http://www.buddyprofile.com/viewprofile.php?username=waterfordcrystal waterford crystal]
[http://www.buddyprofile.com/viewprofile.php?username=swarovskicrystal swarovski crystal bead]
[http://www.buddyprofile.com/viewprofile.php?username=mesotheliomalawsuits mesothelioma lawsuits]
[http://www.buddyprofile.com/viewprofile.php?username=mesotheliomasymptoms mesothelioma symptoms]
[http://www.buddyprofile.com/viewprofile.php?username=mesotheliomadiag mesothelioma diagnosis]
[http://blog.yukonho.com/index.php?blog=69 Cingular Ringtone]
[http://blog.yukonho.com/index.php?blog=70 free kyocera ringtones]
[http://blog.yukonho.com/index.php?blog=71 Free Nextel Ringtone]
[http://blog.yukonho.com/index.php?blog=73 informal wedding dresses]
[http://blog.yukonho.com/index.php?blog=74 bridal gowns]
[http://blog.yukonho.com/index.php?blog=75 Discount Bridal Gowns]
[http://blog.yukonho.com/index.php?blog=76 Plus Size Swimwear]
[http://blog.yukonho.com/index.php?blog=77 no fax payday loans]
[http://blog.yukonho.com/index.php?blog=78 countrywide home loans]
[http://blog.yukonho.com/index.php?blog=79 fast cash loan guaranteed]
[http://www.totalvideogames.com/blog/naturalizershoes/ Naturalizer Shoes]
[http://www.totalvideogames.com/blog/freekyocerarington/ Free Kyocera Ringtone]
[http://www.surfbirds.com/blog/formalpromdresses/ formal prom dresses]
[http://www.missoula.com/blog/sexypromdresses/ Sexy Prom Dresses]
[http://www.justachat.com/blog/?w=naturalizershoes Naturalizer Shoes]
[http://www.westwoodbapt.org/blog/towelwarmer/ towel warmer]
[http://www.toutelapoesie.com/blog/aerobed/ Aero Bed]
[http://www.totalvideogames.com/blog/freesprintringtones/ Free Sprint Ringtones]
[http://www.totalvideogames.com/blog/freeverizonringtones/ Free Verizon Ringtones]
[http://www.totalvideogames.com/blog/freenextelringtones/ free nextel ringtones]
[http://www.totalvideogames.com/blog/sexypromdresses/ sexy prom dress]
[http://www.totalvideogames.com/blog/formalpromdresses/ Formal Prom Dresses]
[http://www.totalvideogames.com/blog/cheappromdresses/ cheap prom dresses]
[http://www.totalvideogames.com/blog/plussizepromdress/ Plus Size Prom Dresses]
[http://www.totalvideogames.com/blog/tiffanypromdresses/ tiffany prom dresses]
[http://www.totalvideogames.com/blog/strippoker/ erotic games strip poker]
[http://www.totalvideogames.com/blog/pokemoncardgame/ pokemon trading card game rom]
[http://www.totalvideogames.com/blog/hoylecardgames/ hoyle card games]
[http://topsites.blog.expedia.fr/files/buy-ativan-online.2.htm buy ativan online]
[http://topsites.blog.expedia.fr/files/buy-ativan.htm buy ativan]
[http://topsites.blog.expedia.fr/files/buy-alprazolam-online.htm buy alprazolam online]
[http://topsites.blog.expedia.fr/files/buy-alprazolam.htm buy alprazolam]
[http://topsites.blog.expedia.fr/files/cheap-tramadol.htm cheap tramadol]
[http://topsites.blog.expedia.fr/files/buy-bontril-online.htm buy bontril online]
[http://topsites.blog.expedia.fr/files/fentermine.htm fentermine]
[http://topsites.blog.expedia.fr/files/how-to-buy-fioricet-on-line.htm how to buy fioricet on line]
[http://topsites.blog.expedia.fr/files/cheap-ultram-without-prescription.htm cheap ultram without prescription]
[http://topsites.blog.expedia.fr/files/buy-ultram-without-prescription.htm buy ultram without prescription]
[http://www.totalvideogames.com/blog/teenbra/ teen bra]
[http://www.totalvideogames.com/blog/brateencleavage/ Bra Teen Cleavage]
[http://www.totalvideogames.com/blog/microbiniki/ Micro Bikini]
[http://www.totalvideogames.com/blog/teensbra/ Teens Bra]
[http://www.totalvideogames.com/blog/sexybras/ sexy bras]
[http://www.totalvideogames.com/blog/bulmabra/ bulma bra]
[http://www.totalvideogames.com/blog/sheerbra/ sheer bra]
[http://www.totalvideogames.com/blog/autoloancalculator/ auto loan calculator]
[http://www.totalvideogames.com/blog/loanconsolidation/ Federal Student Loan Consolidation]
[http://www.totalvideogames.com/blog/privatestudentloan/ private student loan consolidation]
[http://www.totalvideogames.com/blog/acsstudentloans/ acs student loans]
[http://www.totalvideogames.com/blog/countrywidehomeloans/ countrywide home loans]
[http://www.totalvideogames.com/blog/refinancehomeloan/ refinance home loan st louis]


</div>
[[Category:Lossless Video Codecs]]
[[Category:Video Codecs]]
[[Category:Video FourCCs]]

Latest revision as of 07:54, 27 October 2012

The FFV1 video codec is a simple and efficient lossless intra-frame only codec.

Multiple version of the codec are available. (lu_zero Describe only version 2?)

Bitstream

Conventions

(lu_zero Put a table with the description symbol and such)

Bitstream structure

FFV1 consts of a global header and frames. Frames are structured in header and slices. The headers store information regarding encoding type, pixel format and slice geometry. Depending on the version most of it is stored in the global header or in the per-frame header.

Global Header

Version 1 does not have a global header, from version 2 the following field compose the global header.

(lu_zero Make a table)

  • version
  • minor version
  • coder type
  • state transition table
  • colorspace type
  • bits per sample
  • chroma_planes
  • horizontal subsampling
  • vertical subsampling
  • alpha plane presence
  • number of horizontal slices
  • number of vertical slices
  • quantization tables
  • error correction
  • cyclic redundancy check

Frame

Each frame is composed by a small header and the frame data in slices. Version 0 and 1 use a larger per frame header, version 2 and later store only the initial 1bit Range Coded keyframe flag. Depending on the version the slice data provides additional information, a specific quantization table and a redundancy check.

Frame Header

Version 0 and 1 use a large per frame header, version 2 and later store only the initial 1bit Range Coded keyframe flag.

Slice

Version 2 slice has the following structure

Encoding

Encoding modes

Range coding

Huffman coding

Frame Encoding

Colorspace

Prediction

Quantization

Common usage