[Mp4-tech] [H.264]about the constraint of max number of bins for a
coded picture
changhsu yahoo.com
changhsu yahoo.com
Fri Mar 4 09:59:43 ESTEDT 2005
Hello all,
Will anyone explain the underlying reason for this
constraint?
It looks like the JM does not use the same equation as
it is in the standard document. Is there a mismatch
between JM and the standard?
[quote from h.264 document]
7.4.2.10 RBSP slice trailing bits semantics
cabac_zero_word is a byte-aligned sequence of two
bytes equal to 0x0000. Let NumBytesInVclNALunits be
the sum of the values of NumBytesInNALunit for all VCL
NAL units of a coded picture. When
entropy_coding_mode_flag is equal to 1, the number of
bins resulting from decoding the contents of all VCL
NAL units of a coded picture shall not exceed ( 32 ¡Â
3 ) * NumBytesInVclNALunits + 96 * PicSizeInMbs.
NOTE ¨C The constraint on the maximum number of bins
resulting from decoding the contents of the slice
layer NAL units can be met by inserting a number of
cabac_zero_word syntax elements to increase the value
of NumBytesInVclNALunits. Each cabac_zero_word is
represented in a NAL unit by the three-byte sequence
0x000003 (as a result of the constraints on NAL unit
contents that result in requiring inclusion of an
emulation_prevention_three_byte for each
cabac_zero_word).
[quote JM8.0]
/*!
************************************************************************
* \brief
* Terminates the arithmetic codeword, writes stop
bit and stuffing bytes (if any)
************************************************************************
*/
void arienco_done_encoding(EncodingEnvironmentPtr eep)
{
put_one_bit_plus_outstanding((Elow >> (B_BITS-1)) &
1);
put_one_bit((Elow >> (B_BITS-2))&1);
put_one_bit(1);
stat->bit_use_stuffingBits[img->type]+=(8-Ebits_to_go);
while (Ebits_to_go != 8)
put_one_bit(0);
eep->E= eep->E*8 + eep->C; // no of processed bins
eep->B= (*Ecodestrm_len - eep->B); // no of written
bytes
//initializing: eep->B = *code_len;
eep->E -=
(img->current_mb_nr-img->currentSlice->start_mb_nr);
// nr=number
eep->E = (eep->E + 31)>>5;
// eep->E now contains the minimum number of bytes
for the NAL unit
}
__________________________________
Celebrate Yahoo!'s 10th Birthday!
Yahoo! Netrospective: 100 Moments of the Web
http://birthday.yahoo.com/netrospective/
More information about the Mp4-tech
mailing list