[Mp4-tech] [H.264] Use of SPS/PPS in H.264
Steinberg Erez-RM96322
Erez.Steinberg freescale.com
Thu Jun 22 00:46:39 EDT 2006
Thanks Gary,
So, I understand that an SPS can override a previous SPS with the same
id. I'm guessing this is not allowed in the middle of a sequence, rather
it requires and IDR picture to follow.
The problem I have with supporting multiple PPS/SPS is how to handle
memory allocation. I'm working on a real-time system, and dynamic memory
allocation has to be deterministic. I understand that in order to be
compliant I would have to allocate the worst-case buffer for reference
frames, SPS records, PPS records, etc. This result in a cumbersome
amount of memory, and for an infrastructure system that needs to support
many channels this has a high cost.
Is there a way, perhaps out-of-band, to negotiate between clients on the
maximum number of SPS, PPS, etc. that will be used during a session?
Regards,
Erez
-----Original Message-----
From: Gary Sullivan [mailto:garysull windows.microsoft.com]
Sent: Wednesday, June 21, 2023 21:58
To: Steinberg Erez-RM96322; mp4-tech lists.mpegif.org
Subject: RE: [Mp4-tech] [H.264] Use of SPS/PPS in H.264
Response in-line below.
Best Regards,
Gary Sullivan
+> -----Original Message-----
+> From: mp4-tech-bounces lists.mpegif.org
+> [mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of
+> Steinberg Erez-RM96322
+> Sent: Wednesday, June 21, 2023 2:23 AM
+> To: mp4-tech lists.mpegif.org
+> Subject: [Mp4-tech] [H.264] Use of SPS/PPS in H.264
+>
+> Hi,
+>
+> H.264 allows up to 32 sequence parameter sets (SPS) and 256 picture
+> parameter sets (PPS) in a stream.
This is not exactly true. Those are not limits on the number of SPSs
and PPSs that are allowed in a bitstream. Those are limits on the
number of SPSs and PPSs that a decoder must be capable of storing at the
same time.
There are no limits on the number of SPSs and PPSs allowed in a
bitstream.
+>
+> An SPS includes information on the picture resolution, number of
+> reference frame, profile and level. These are cardinal for decoder
+> initialization and setup.
+>
+> My questions:
+>
+> (1) Is a decoder expected to handle spontaneous changes in these
+> parameters? I.e., if an IDR picture is received with a different
+> PPS/SPS, is it supposed to reallocate all its memory
+> buffers? (This is
+> effectively resetting the decoder)
Yes. There are some special exceptions made about how a decoder may
behave when that happens, but it can happen.
+>
+> (2) For practical implementations -- are there any known applications
+> that use different SPSs in the same stream? Or, can a decoder assume
+> only one SPS?
Yes there are practical applications. A decoder cannot assume only one
SPS will be in a bitstream. Also, even if only one SPS index is used in
a bitstream, the SPS content associated with that index can change.
+>
+>
+> Thanks for your help!
+>
+> Regards,
+> Erez
+>
+> _______________________________________________
+> NOTE: Please use clear subject lines for your posts. Include
+> [audio, [video], [systems], [general] or another
+> apppropriate identifier to indicate the type of question you have.
+>
+> Note: Conduct on the mailing list is subject to the
+> Antitrust guidelines found at
+> http://www.mpegif.org/public/documents/vault/mp-out-30042-Ant
+> itrust.php
+>
More information about the Mp4-tech
mailing list