[Mp4-tech] Question on the mb_field_decoding_flag
Gary Sullivan
garysull windows.microsoft.com
Wed Nov 8 10:47:52 ESTEDT 2006
Alan Yan et al,
In either case for which the first macroblock of a macroblock pair is skipped and the second one is not, I think you should wait until mb_field_decoding_flag is determined from the syntax associated with the second macroblock before attempting to perform the decoding process for the first macroblock. The field/frame decoding mode is a macroblock pair attribute -- it must be the same for both macroblocks. I have not double-checked the text to see exactly how this intent is expressed (and to determine whether it is expressed well), but I am pretty confident that this is the intent.
It may also be helpful to consult the reference software, but I doubt that is necessary in this instance.
I'll try to remember to check how well the text is written on this issue later. If you have further pointers to specific places in the text where you think you see incorrect or vague aspects, please let me/us know.
Best Regards,
Gary Sullivan
________________________________
From: mp4-tech-bounces lists.mpegif.org on behalf of Alan Yan - SH
Sent: Tue 11/7/2023 11:28 PM
To: mp4-tech lists.mpegif.org
Subject: [Mp4-tech] Question on the mb_field_decoding_flag
Dear Experts,
When MbaffFrameFlag==1, there is one syntax "mb_field_decoding_flag" in MB layer for each MB pair.
In case of entropy_coding_mode_flag==0, when the first MB (top MB) in the MB pair is skipped, mb_field_decoding_flag (MBFDF) is also skipped for the top MB. For following decoding process like B_DIRECT_16X16(for B_SLICE) and Boundary Strength calculation, MBFDF is necessary. And according to the spec 7.4.4, the derivation of MBFDF is performed after we know both MB of an MB pair are skipped. Does it mean that if the top MB is skipped, the spec do not have any default or temporary value defined for MBFDF and so we can not start following decoding process like B_DIRECT_16X16 and BS calculation for this top MB? We must wait till the bottom MB is parsed and the final MBFDF is decoded or derived?
And when entropy_coding_mode_flag==1, I see the derivation process is always performed before decoding any syntax element, is this statement correct? And it is possible that the before-anything-derived value for MBFDF can be different from the value parsed later from the bit-stream, is it correct? In this situation and if mb_skip_flag is 1 for the top MB, can we use this temporarily derived MBFDF to start following decoding process like B_DIRECT_16X16 and BS calculation for this top-skipped MB or should we wait and use the final MBFDF?
Thanks for your kindly help! (To Mr. Gary Sullivan: Thank you!)
Best Regards,
alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: /pipermail/mp4-tech/attachments/20061108/95b92bab/attachment.html
More information about the Mp4-tech
mailing list