Embodiments of the present invention include a method and system for
encoding video data comprising accessing a picture to be encoded, wherein
the picture comprises a plurality of macro-blocks. A plurality of
programmable counters is associated with each macro-block to be encoded.
A counter associated with a macro-block of the plurality of macro-blocks
is accessed and a value of the counter is determined. The method further
includes determining whether to encode the macro-block as an Intra or
non-Intra based on the value of the counter. If the macro-block is
encoded as Intra, its counter is reset. If the macro-block is encoded as
non-Intra, its counter value is updated. The counter value may be reset
with a random number. Counters can be programmed such that a region of
interest is defined for updating associated macro-blocks with greater
frequency.