[Mp4-tech] H.264/decoder/Baseline profile/doubts

Gary Sullivan garysull windows.microsoft.com
Tue Mar 1 00:47:11 ESTEDT 2005


num_ref_idx_l0_active_minus1 is not received in the slice header when
num_ref_idx_active_override_flag is equal to 1.  That's what the "if"
statement means.  It might be useful for you to read the syntax table
description at the beginning of clause 7.
I don't know what a highZ is.
Yes, the presence or absence of the syntax elements that you listed
depends on the value of memory_management_control_operation.  I'm not
sure what further explanation you seek -- perhaps you should read the
semantics (subclause 7.4) and decoding processes (clause 8) sections
relating to those syntax elements.
I'm not sure what byte-alignment bit stuffing you're referring to.
Perhaps it is rbsp_trailing_bits()?  If so, then making sure that is in
the bitstream is the encoder's responsibility.  It is the encoder's
responsibility for all syntax to match what is specified in clause 7.
Best Regards,
Gary Sullivan
________________________________
	From: Thammi_Reddy [mailto:Thammi_Reddy Satyam.com] 
	Sent: Monday, February 28, 2024 10:26 PM
	To: Gary Sullivan; Thammi_Reddy; mp4-tech lists.mpegif.org
	Subject: RE: [Mp4-tech] H.264/decoder/Baseline profile/doubts
	Dear Gary, Thanks you very much for the reply. 
	I have following doubt from earlier question/answer 2. 
	The following text is from slice header syntax table. 
	num_ref_idx_active_override_flag 
	 if( num_ref_idx_active_override_flag )  
	num_ref_idx_l0_active_minus1
	The syntax element  num_ref_idx_active_override_flag  can be
high or low(I think this is true for all the 3 profiles). In case this
flag=0, do I still receive the syntax element
num_ref_idx_l0_active_minus1? Or this received and dropped? 
	In case FLAG=0 and  num_ref_idx_l0_active_minus1 not present,
can I drive a highZ on thse lines?
	Similarly depending on the value of
memory_management_control_operation the following elements are present
or not present in the 
	encoded bit stream. Please explain.
	difference_of_pic_nums_minus1
	long_term_pic_num
	long_term_frame_idx
	max_long_term_frame_idx_plus1
	This is a new question: 
	The bit stuffing for seq parameter set , picture parameter set
syntax  is done by the encoder or decoder for making byte alignment.?
	Regards, Thammi Reddy
	Regards,
	Thammi Reddy
	Question2 :In sequence parameter set RBSP frame_mbs_only_flag=0
for baseline profile as only frames and no fields are allowed. Do I
still receive this flag or encoder will not send it at all?
	On the similar lines do I receuve pic_init_qs_minus26 even for
baseline profile? In general some syntax elements are not received OR
all are received but I have to drop?
	Answer2: When a profile specifies that a syntax element shall
have a particular value, that does not mean that the syntax element is
not sent.  It just means that when it is sent it must have that specfied
value.  It appears to me that pic_init_qs_minus26 can have any value
(within the specified range) within a Baseline profile bitstream.
However, its value will not be used in the decoding process in that case
because there will not be any SP or SI slices in a Baseline profile
bitstream, and those are the only slice types in which the decoding
process would depend on the value of that syntax element.
________________________________
	From: mp4-tech-bounces lists.mpegif.org
[mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Gary Sullivan
	Sent: Saturday, February 26, 2024 1:37 AM
	To: Thammi_Reddy; mp4-tech lists.mpegif.org
	Subject: RE: [Mp4-tech] H.264/decoder/Baseline profile/doubts
	Thammi et al,
	Question 1: The number of bits used by those two syntax elements
is specified by other syntax elements.  If you read the semantics of
those syntax elements, you will see a specification of how to determine
their length.  For example, the length of frame_num is
log2_max_frame_num_minus4+4 bits.
	Question 2: When a profile specifies that a syntax element shall
have a particular value, that does not mean that the syntax element is
not sent.  It just means that when it is sent it must have that specfied
value.  It appears to me that pic_init_qs_minus26 can have any value
(within the specified range) within a Baseline profile bitstream.
However, its value will not be used in the decoding process in that case
because there will not be any SP or SI slices in a Baseline profile
bitstream, and those are the only slice types in which the decoding
process would depend on the value of that syntax element.
	Question 3: The syntax category is used for data partitioning.
See the definition of "category" and the introduction section of
subclause 7.2 and the syntax and semantics sections for slice data
partition A, slice data partition B, and slice data partition C.  Data
partitioning is not used in the Baseline profile.
	Question 4: If a decoder receives a value of some syntax element
that is prohibited by the standard, I believe a decoder can do whatever
it wants to do, for as long as it wants to do it.  As far as the
standard is concerned, I believe it can halt and catch on fire (although
I would not personally recommend it).  I think that also applies to
value of syntax elements that are not prohibited by the standard but are
not supported by the decoder conformance requirements of the profile
that the decoder claims to implement.
	Best Regards,
	Gary Sullivan
________________________________
		From: mp4-tech-bounces lists.mpegif.org
[mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Thammi_Reddy
		Sent: Thursday, February 24, 2024 11:01 PM
		To: mp4-tech lists.mpegif.org
		Subject: [Mp4-tech] H.264/decoder/Baseline
profile/doubts
		Dear experts, I have following doubts in H.264 decoder
baseline profile.
		Please answer these questions. Thanks in advance.
		1. Ref: chapter 7.3 of the spec.
		frame_num, pic_order_cnt_lsb syntax elements are marked
with descriptor are given as u(v).  So the number of bits taken by these
syntax elements vary from current slice header and next slice header
depending on the magnitude of the  actual values sent by the encoder. 
		If this is true how do I know the LSB if data transfer
is MSB to LSB?
		2. In sequence parameter set RBSP frame_mbs_only_flag=0
for baseline profile as only frames and no fields are allowed. 
		Do I still receive this flag or encoder will not send it
at all?
		On the similar lines do I receuve pic_init_qs_minus26
even for baseline profile? In general some syntax elements are not
received OR all are received but I have to drop?
		3. What is the importance of CATEGORY of the syntax
elements provided in chapter 7.3(syntax in tabular form)? Please
explain. 
		4. If the values are fixed as per the annexure A to  
		If incorrect values are received for baseline profile
(e.g. receive entropy_coding_mode_flag =1, slice_type != (0 OR 2 OR 5 OR
7 )...   etc)  what processing I have to do? From which stage I have to
resume in this case?
		Regards,
		Thammi Reddy
************************************************************************
** 
		This email (including any attachments) is intended for
the sole use of the intended recipient/s and may contain material that
is CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance
by others or copying or distribution or forwarding of any or all of the
contents in this message is STRICTLY PROHIBITED. If you are not the
intended recipient, please contact the sender by email and delete all
copies; your cooperation in this regard is appreciated.
************************************************************************
**
************************************************************************
** 
	This email (including any attachments) is intended for the sole
use of the intended recipient/s and may contain material that is
CONFIDENTIAL AND PRIVATE COMPANY INFORMATION. Any review or reliance by
others or copying or distribution or forwarding of any or all of the
contents in this message is STRICTLY PROHIBITED. If you are not the
intended recipient, please contact the sender by email and delete all
copies; your cooperation in this regard is appreciated.
************************************************************************
**
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20050301/3ce3f527/attachment-0001.html


More information about the Mp4-tech mailing list