[FFmpeg-cvslog] r17308 - trunk/libavcodec/mpegvideo_xvmc.c
Ivan Kalvachev
ikalvachev
Sun Feb 15 08:50:17 CET 2009
On 2/15/09, Ivan Kalvachev <ikalvachev at gmail.com> wrote:
> On 2/15/09, diego <subversion at mplayerhq.hu> wrote:
>> Author: diego
>> Date: Sun Feb 15 03:27:55 2009
>> New Revision: 17308
>>
>> Log:
>> Replace assert in ff_xvmc_field_end() by av_log call at level
>> AV_LOG_ERROR.
>>
>> Modified:
>> trunk/libavcodec/mpegvideo_xvmc.c
>>
>> Modified: trunk/libavcodec/mpegvideo_xvmc.c
>> ==============================================================================
>> --- trunk/libavcodec/mpegvideo_xvmc.c Sun Feb 15 03:17:48 2009 (r17307)
>> +++ trunk/libavcodec/mpegvideo_xvmc.c Sun Feb 15 03:27:55 2009 (r17308)
>> @@ -290,13 +290,14 @@ void ff_xvmc_decode_mb(MpegEncContext *s
>> }
>> render->filled_mv_blocks_num++;
>>
>> - assert(render->filled_mv_blocks_num <=
>> render->total_number_of_mv_blocks);
>> assert(render->next_free_data_block_num <=
>> render->total_number_of_data_blocks);
>> - /* The above conditions should not be able to fail as long as this
>> function
>> + /* The above condition should not be able to fail as long as this
>> function
>> * is used and the following 'if ()' automatically calls a callback
>> to
>> free
>> * blocks. */
>>
>>
>> if (render->filled_mv_blocks_num >=
>> render->total_number_of_mv_blocks)
>> ff_draw_horiz_band(s, 0, 0);
>> + else
>> + av_log(s->avctx, AV_LOG_ERROR, "Not all blocks have been
>> processed.\n");
>> }
>
> This is wrong.
> revert.
On normal operation filled < total,
so your change causes one log output per decoded MB
that in return makes playback so slow that it can't decode frame.
I guess this is regression break; Happens to the best too.
More information about the ffmpeg-cvslog
mailing list