[M4IF Technotes] Some puzzles about stuffing macroblock at end of VOP
Lefan Zhong
Lefan mediaq.com
Wed Feb 5 17:44:09 EST 2003
Hi folks,
I have some questions about stuffing macroblocks in the end of VOP. The official document (14496-2, 2001) and the reference softwares conflict at the issue. I would like to share my opinions here. I would like to hear your comments too.
1) It is legal to insert some stuffing macroblocks after the last non-stuffing macroblock in the VOP if the data bitstream is not data partition format and not short video header. Since in the document section 6.2.5.3, the function combined_motion_shape_texture( ) uses do...while loop to keep checking until resyn_marker of start_new_VOP. But Momusys reference software doesn't skip the stuffing and go to next VOP.
2) If the bitstream is short video header, it is illegal to insert the stuffing macroblocks after the last non-stuffing macroblock in VOP. Since in the document section 6.2.5.2, the function gob_layer( ) use for loop for macroblock decoding. After the last non-stuffing macroblock is decoded, the decoder should go out of the loop and shouldn't checking any stuffing macroblock. But Microsoft reference software processes further skipping for the stuffing macroblocks.
3) If the bitstream is data partitioned, it is illegal to insert the stuffing macroblocks after the last non-stuffing macroblock in VOP. Since in the document section 6.2.5.3, function data_partitioned_i_vop() and data_partitioned_p_vop( ), the stuffing macroblocks should be in mcbpc, and should not at the end of packet. But both Momusys and Microsoft reference software check the stuffing macroblocks and skip them.
Maybe there is some amendment on this issue but I don't know yet.
Thank you for your time.
--Lefan
More information about the Mp4-tech
mailing list