From 49327f43ca2196122a60314e67eeee929efea873 Mon Sep 17 00:00:00 2001 From: Stephen Torri Date: Fri, 28 Feb 2003 02:51:47 +0000 Subject: Xine assert() replacement: All assert() function calls, with exceptions of libdvdread and libdvdnav, have been replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its adding the ability to print out a stack trace at the point where the assertion fails. So here are a few examples. assert (0); This use of assert was found in a couple locations most favorably being the default case of a switch statement. This was the only thing there. So if the switch statement was unable to find a match it would have defaulted to this and the user and the developers would be stuck wonder who died and where. So it has been replaced with XINE_ASSERT(0, "We have reach this point and don't have a default case"); It may seem a bit none descriptive but there is more going on behind the scene. In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT prints out: :: - assertion '' failed. An example of this might be: input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h CVS patchset: 4301 CVS date: 2003/02/28 02:51:47 --- src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c') diff --git a/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c b/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c index d936abfd5..be8015dd3 100644 --- a/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c +++ b/src/libffmpeg/libavcodec/i386/mpegvideo_mmx.c @@ -24,6 +24,7 @@ #include "../mpegvideo.h" #include "../avcodec.h" #include "../simple_idct.h" +#include "xineutils.h" extern UINT8 zigzag_direct_noperm[64]; extern UINT16 inv_zigzag_direct16[64]; @@ -41,7 +42,9 @@ static void dct_unquantize_h263_mmx(MpegEncContext *s, qmul = qscale << 1; qadd = (qscale - 1) | 1; - assert(s->block_last_index[n]>=0); + XINE_ASSERT(s->block_last_index[n]>=0, + "value 's->block_last_index[%d] is < 0: %d", + n, s->block_last_index[n]); if (s->mb_intra) { if (!s->h263_aic) { @@ -146,7 +149,9 @@ static void dct_unquantize_mpeg1_mmx(MpegEncContext *s, int nCoeffs; const UINT16 *quant_matrix; - assert(s->block_last_index[n]>=0); + XINE_ASSERT(s->block_last_index[n]>=0, + "value 's->block_last_index[%d] is < 0: %d", + n, s->block_last_index[n]); nCoeffs= s->intra_scantable.raster_end[ s->block_last_index[n] ]+1; @@ -274,7 +279,9 @@ static void dct_unquantize_mpeg2_mmx(MpegEncContext *s, int nCoeffs; const UINT16 *quant_matrix; - assert(s->block_last_index[n]>=0); + XINE_ASSERT(s->block_last_index[n]>=0, + "value 's->block_last_index[%d] is < 0: %d", + n, s->block_last_index[n]); if(s->alternate_scan) nCoeffs= 63; //FIXME else nCoeffs= s->intra_scantable.raster_end[ s->block_last_index[n] ]; -- cgit v1.2.3