http://www.vcodex.com/h264.html
Code for generating P-frame:
http://www.codeforge.com/read/114760/pframe.c__html
Smallest encoder code:
http://www.cardinalpeak.com/blog/?p=488
http://www.cardinalpeak.com/blog/?p=878
CAVLC is supported in all H.264 profiles, unlike CABAC which is not supported in Baseline and Extended profiles.
Multi-pass encoding and single-pass encoding: VBR is created using the
so-called single-pass encoding or multi-pass encoding. In the first pass of two-pass encoding, the input data are being
analyzed and the result is stored in a log file. In the second pass, the
collected data from the first pass are used to achieve the best
encoding quality. In a video encoding, two-pass encoding is usually
controlled by the average bitrate setting or by the bitrate range
setting (minimal and maximal allowed bitrate) or by the target video
file size setting.
http://processors.wiki.ti.com/index.php/Extracting_MPEG-4_Elementary_Stream_from_MP4_Container
To extract the h264 stream:
$ mplayer file.mkv -dumpvideo
$ ffmpeg -i file.mkv -vcodec copy out.h264
$ ffmpeg -i file.mp4 -vcodec copy -vbsf h264_mp4toannexb
out.h264
To play yuv under linux:
http://gettinginsidelinux.blogspot.in/2009/05/play-yuv-files-under-linux.html
Sample Files:
http://download.openbricks.org/sample/
http://samples.mplayerhq.hu/
http://samples.ffmpeg.org/Divx4-bugs/