The codes as well as the optimization are shared between FFmpeg’s and vp8 decoder and decoders for previous versions of VPX codec series. The entropy coder resembles the VP 5/6, so, you expect your phone’s future media player to be smaller and faster.
Moreover H.264 (the current standard video codec) and video have a significant similarity. And this enables you to share code as well as optimization between FFmpeg’s H.264 and VP8 decoders, intra prediction being an example. And this again makes your desktop computer future media player much faster and smaller. Despite the fact that FFmpg’s native VP 3 / theora and vorbis decoders ( video/ audio codecs praised by free software advocates) are already performing better than the ones provided by Xiph ( libvobis / libtheora) VP8 one properly optimized would perform far better than google libvpx.
Features and Functiions
So, it can be said that a video decoder reuses existing components in FFmpg, leading to a VP8.C file that is a mere 1400 lines of code, this includes white space, comments and headers, the DSP function has 450 more. DSP is the actual math backened of the codec, which will be heavily optimized by using SIMD. It provides binary – identical output as compared to libvpx for all files in the vector testitute. Libvpx ‘VP8/ decoder/*.c alone is over 10,000 lines of code in vpx/. Is the public AP, to actually access the decoder?
Currently optimization is going on with the decoder in order to outsmart and outperform libvpx on a variety of computer devices.
Although it is noteworthy that the part of the vector testitute I;e, 1-3 use features not described in the specifications, such as chroma, full pixel motion vector (MV) roaming, a bilinear motion compensation (MC) filter (instead of a sub pixel six- tap MC filter). Google’s VP 8 specs are not always very useful, several parts of it are incomplete.
Suppose if a MP points outside the frame or the MV reading is oddly spread through 3 sections in a chapter, where the code in each section specifically calls code from the previous section, i;e, they really are one section, which means that in the end, its much quicker to just read libvpx source code rather than depending on the spec. the spec is a copy paste of the decoder’s source code.
Google libvpx has also well-performing assembly code, quite some of which isn’t actually compiled or used (eg the PPC code).
Now the question is this that VP8 is released now. Will google release specifications for older media format such as VP7?