[Mp4-tech] Only half POC range available for ordered ranges?
Gary Sullivan
garysull windows.microsoft.com
Mon Sep 10 16:32:51 EDT 2007
Mr. Palfreyman et al,
I think you are not interpreting the equations correctly. I think the statement of "the fact that POC increases by 2 on each frame or field pair" is not correct in general (i.e., unless the encoder wants it to be correct).
I think that you have also provided insufficient data for your example. For example, you did not provide the values of pic_order_cnt_lsb, field_pic_flag and bottom_field_flag. You also did not explicitly provide the value of MaxPicOrderCntLsb.
Guessing somwhat, I suspect that in your example, you are saying that pic_order_cnt_lsb = 20 and MaxPicOrderCntLsb = 64. If that is true, then consider the following:
if( ( pic_order_cnt_lsb < prevPicOrderCntLsb ) &&
( ( prevPicOrderCntLsb - pic_order_cnt_lsb ) >= ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb + MaxPicOrderCntLsb
else if( ( pic_order_cnt_lsb > prevPicOrderCntLsb ) &&
( ( pic_order_cnt_lsb - prevPicOrderCntLsb ) > ( MaxPicOrderCntLsb / 2 ) ) )
PicOrderCntMsb = prevPicOrderCntMsb - MaxPicOrderCntLsb
else
PicOrderCntMsb = prevPicOrderCntMsb
reduces to
if( ( 20 < 18 ) && anything )
doesn't matter because the expression is false
else if( ( 20 > 18 ) && ( ( 20 - 18 ) > ( 32 ) ) )
doesn't matter because the expression is false
else
PicOrderCntMsb = 0
Which is different than what you said.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces lists.mpegif.org [mailto:mp4-tech-bounces lists.mpegif.org] On Behalf Of Andrew Palfreyman
Sent: Monday, September 10, 2023 12:39 PM
To: mp4-tech lists.mpegif.org
Subject: [Mp4-tech] Only half POC range available for ordered ranges?
Per paragraph 8.2.1.1 (see attached analysis) for picture_count_type = 0, it would appear that, while POCs increase between consecutive frames in stream order, the maximum number of such frames in this group can be no larger than MaxPicOrderCntLsb / 2 , else POC will go negative. I'm curious as to why this restriction exists. I'm guessing it relates somehow to the fact that POC increases by 2 on each frame or field pair. I'm also curious as to why negative POC values are interpreted as such and instead aren't allowed to simply roll over.
Best,
Andrew Palfreyman
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20070910/7a84d11b/attachment-0001.html
More information about the Mp4-tech
mailing list