vpx/vp8
Attila Nagy 52cf4dcaea Packing bitstream on-the-fly with delayed context updates
Produce the token partitions on-the-fly, while processing each MB.
Context is updated at the beginning of each frame based on the
previoud frame's counters. Optimally encoder outputs partitions in
separate buffers. For frame based output, partitions are concatenated
internally.

Limitations:
    - enabled just in combination with realtime-only mode
    - number of encoding threads has to be equal or less than the
    number of token partitions. For this reason, by default the encoder
    will do 8 token partitions.
    - vpxenc supports partition output (-P) just in combination with
    IVF output format (--ivf)

Performance:
    - Realtime encoder can be up to 13% faster (ARM) depending on the number
    of threads and bitrate settings. Constant gain over the 5-16 speed
    range.
    - Token buffer reduced from one frame to 8 MBs

Quality:
    - quality is affected by the delayed context updates. This again
    dependents on input material, speed and bitrate settings. For VC
    style input the loss seen is up to 0.2dB. If error-resilient=2
    mode is used than the effect of this change is negligible.

Example:
./configure --enable-realtime-only --enable-onthefly-bitpacking
./vpxenc --rt --end-usage=1 --fps=30000/1000 -w 640 -h 480
--target-bitrate=1000 --token-parts=3 --static-thresh=2000
--ivf -P -t 4 -o strm.ivf tanya_640x480.yuv

Change-Id: I127295cb85b835fc287e1c0201a67e378d025d76
2012-02-29 12:13:37 -05:00
..
common Merge changes Ifb450710,I61c4a132 2012-02-28 11:42:45 -08:00
decoder Merge changes Ifb450710,I61c4a132 2012-02-28 11:42:45 -08:00
encoder Packing bitstream on-the-fly with delayed context updates 2012-02-29 12:13:37 -05:00
exports_dec Add getter functions for the interface data symbols 2010-09-23 14:58:43 -04:00
exports_enc Add getter functions for the interface data symbols 2010-09-23 14:58:43 -04:00
vp8_common.mk Add unit tests for idctllm_test and idctllm_mmx 2012-02-21 14:52:36 -05:00
vp8_cx_iface.c Packing bitstream on-the-fly with delayed context updates 2012-02-29 12:13:37 -05:00
vp8_dx_iface.c Hook up VP8D_GET_LAST_REF_USED 2012-01-27 10:13:20 -08:00
vp8cx_arm.mk RTCD: finalize removal of old RTCD system 2012-01-30 12:10:48 -08:00
vp8cx.mk RTCD: finalize removal of old RTCD system 2012-01-30 12:10:48 -08:00
vp8dx.mk Eliminated reconintra_mt.c 2012-02-28 14:12:30 -05:00