A program capable of COmpressing and DECompressing
certain formats.
The term is often used in phrases as: "Do you have the codec for XXX to watch" in which it means, do you have the program that does the decoding?
https://en.wikipedia.org/wiki/Comparison_of_video_container_formats
http://stevencrowley.com/2012/08/14/new-video-compression-standard-doubles-efficiency/
CPU power also limits compression: a super encoded file is useless if CPUs / GPUs aren't fast enough to decode in real time.
Not free, dominates in 2015.
https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Patent_licensing
One of the major implementations: http://www.videolan.org/developers/x264.html
Many profiles, which are parameters that determine how encoding / decoding is to be done exactly: https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Profiles Algorithm changes widely between profiles.
MPEG LA patent pool.
https://en.wikipedia.org/wiki/Network_Abstraction_Layer
http://stackoverflow.com/questions/6858991/in-h264-nal-units-means-frame
So it seems H.264 also specifies the stream format. Must it be followed, or can we just send chunks of any size?
Some libraries must be fed such variable sized pages to work (Android 5 MediaCodec
), while others can just take fixed sized chunks and deal with it (FFmpeg doc/examples/decoding_encoding.c
).
Non-free proposed successor to H.264.
https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding
MPEG LA patent pool.
Free, by Google, for the web.
Implemented by libvpx
.
Free by Xiph and Mozilla.
https://en.wikipedia.org/wiki/Thor_%28video_codec%29
Free, by Cisco.
Video version of JPEG.
https://en.wikipedia.org/wiki/Motion_JPEG
https://en.wikipedia.org/wiki/MPEG-1
Looks like a codec, for both audio and video, which is often encapsulated into https://en.wikipedia.org/wiki/MPEG-4_Part_14 with extension .mpg
or .mp4
.
Extended from: JPEG, H.261
Extended to: MPEG-2.
https://en.wikipedia.org/wiki/MPEG-2
H.222/H.262. TODO: why two names?
Extended from: MPEG-1.
Inferior to H.264.
https://en.wikipedia.org/wiki/Video_compression_picture_types
- Intra-coded: key-frame.
- Predicted: uses previous. Some algorithms may use even more than 1 previous frame.
- Bi-predictive: uses previous and next