Log in

View Full Version : marking operation


aphon
12th September 2008, 07:22
dear all
May I ask a question about marking in H.264?
when marking operation =6, it means that getting current frame to long term list and encoder should assign long term frame idx; when marking operation =3, get one frame from short term list to long term list and also assign long term frame idx.


Now if encoder does marking operation 6 first and than operation 3. Also the two long term frame idxes are "identical".
Will there be two different frame with the same long term frame idx in long term list for the next decode picture?
I have traced JM and this kind of situation did happen with bitstream described above. Because JM put current frame into list buffer after adaptive_memory_management function.

If long term frame idx can not be unique in long term list, function of init long term list may be wrong because long term list is sort by long term frame idx of each frame. But somehow I can not find any specific about long term frame idx on spec. Does anyone know about this? thanks.

akupenguin
12th September 2008, 09:07
When LongTermFrameIdx equal to long_term_frame_idx is already assigned to a long-term reference frame or a long-term complementary reference field pair, that frame or complementary field pair and both of its fields are marked as "unused for reference".

So if two mmcos use the same idx, then one displaces the other. Which one depends on the order of the mmco list.