On Mon, 21 Jul 2008, Michael Niedermayer wrote: [...]
+ /* Frame or first field in a potentially complementary pair */
+ assert(!s->current_picture_ptr);
This assert is false for FM1_BT_B.h264 and FM2_SVA_C.264, please fix this!
This assert was to indicate if we would be allocating a new picture (frame_start) without cleaning up the old one. This was important until recently because all pictures were marked reference when created, and not cleared unless they got to frame_end (where current_picture_ptr is cleared). Your recent change (sensibly!) sets references off unless marked as such. For at least FM1_BT_B.h264, the assert is tripped because processing of a frame is aborted (QP 4294967295 out of range) and the next frame processing begins w/out cleaning up current_picture_ptr. At this point, assuming you are ok with the current_picture_ptr NOT being cleared on frame processing errors, the assert could be changed to: assert(!s0->current_picture_ptr || !s0->current_picture_ptr->reference) -Jeff