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

Thammi_Reddy Thammi_Reddy Satyam.com
Tue Mar 1 18:01:59 ESTEDT 2005


Gary, thanks for the info. It is clear to me now. 
Thammi Reddy
   _____  
From: Gary Sullivan [mailto:garysull windows.microsoft.com] 
Sent: Tuesday, March 01, 2024 2:17 PM
To: Thammi_Reddy; mp4-tech lists.mpegif.org
Subject: RE: [Mp4-tech] H.264/decoder/Baseline profile/doubts
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.
**************************************************************************
************************************************************************** 
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/86b23abf/attachment-0001.html


More information about the Mp4-tech mailing list