Also update some common misspelled words in patcheck Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n1.0
| @@ -2616,7 +2616,7 @@ static av_cold int aac_decode_close(AVCodecContext *avctx) | |||||
| struct LATMContext { | struct LATMContext { | ||||
| AACContext aac_ctx; ///< containing AACContext | AACContext aac_ctx; ///< containing AACContext | ||||
| int initialized; ///< initilized after a valid extradata was seen | |||||
| int initialized; ///< initialized after a valid extradata was seen | |||||
| // parser data | // parser data | ||||
| int audio_mux_version_A; ///< LATM syntax version | int audio_mux_version_A; ///< LATM syntax version | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * SSA/ASS common funtions | |||||
| * SSA/ASS common functions | |||||
| * Copyright (c) 2010 Aurelien Jacobs <aurel@gnuage.org> | * Copyright (c) 2010 Aurelien Jacobs <aurel@gnuage.org> | ||||
| * | * | ||||
| * This file is part of FFmpeg. | * This file is part of FFmpeg. | ||||
| @@ -1,5 +1,5 @@ | |||||
| /* | /* | ||||
| * SSA/ASS common funtions | |||||
| * SSA/ASS common functions | |||||
| * Copyright (c) 2010 Aurelien Jacobs <aurel@gnuage.org> | * Copyright (c) 2010 Aurelien Jacobs <aurel@gnuage.org> | ||||
| * | * | ||||
| * This file is part of FFmpeg. | * This file is part of FFmpeg. | ||||
| @@ -246,7 +246,7 @@ static int at1_unpack_dequant(GetBitContext* gb, AT1SUCtx* su, | |||||
| */ | */ | ||||
| spec[pos+i] = get_sbits(gb, word_len) * scale_factor * max_quant; | spec[pos+i] = get_sbits(gb, word_len) * scale_factor * max_quant; | ||||
| } | } | ||||
| } else { /* word_len = 0 -> empty BFU, zero all specs in the emty BFU */ | |||||
| } else { /* word_len = 0 -> empty BFU, zero all specs in the empty BFU */ | |||||
| memset(&spec[pos], 0, num_specs * sizeof(float)); | memset(&spec[pos], 0, num_specs * sizeof(float)); | ||||
| } | } | ||||
| } | } | ||||
| @@ -1523,7 +1523,7 @@ typedef struct AVCodecContext { | |||||
| /** | /** | ||||
| * Pixel format, see PIX_FMT_xxx. | * Pixel format, see PIX_FMT_xxx. | ||||
| * May be set by the demuxer if known from headers. | * May be set by the demuxer if known from headers. | ||||
| * May be overriden by the decoder if it knows better. | |||||
| * May be overridden by the decoder if it knows better. | |||||
| * - encoding: Set by user. | * - encoding: Set by user. | ||||
| * - decoding: Set by user if known, overridden by libavcodec if known | * - decoding: Set by user if known, overridden by libavcodec if known | ||||
| */ | */ | ||||
| @@ -2287,7 +2287,7 @@ typedef struct AVCodecContext { | |||||
| /** | /** | ||||
| * ratecontrol qmin qmax limiting method | * ratecontrol qmin qmax limiting method | ||||
| * 0-> clipping, 1-> use a nice continous function to limit qscale wthin qmin/qmax. | |||||
| * 0-> clipping, 1-> use a nice continuous function to limit qscale wthin qmin/qmax. | |||||
| * - encoding: Set by user. | * - encoding: Set by user. | ||||
| * - decoding: unused | * - decoding: unused | ||||
| */ | */ | ||||
| @@ -3186,7 +3186,7 @@ typedef struct AVSubtitleRect { | |||||
| /** | /** | ||||
| * 0 terminated ASS/SSA compatible event line. | * 0 terminated ASS/SSA compatible event line. | ||||
| * The pressentation of this is unaffected by the other values in this | |||||
| * The presentation of this is unaffected by the other values in this | |||||
| * struct. | * struct. | ||||
| */ | */ | ||||
| char *ass; | char *ass; | ||||
| @@ -43,7 +43,7 @@ | |||||
| * on testing, the code will wait until 3 pictures are ready before starting | * on testing, the code will wait until 3 pictures are ready before starting | ||||
| * to copy out - and this has the effect of extending the pipeline. | * to copy out - and this has the effect of extending the pipeline. | ||||
| * | * | ||||
| * Finally, while it is tempting to say that once the decoder starts outputing | |||||
| * Finally, while it is tempting to say that once the decoder starts outputting | |||||
| * frames, the software should never fail to return a frame from a decode(), | * frames, the software should never fail to return a frame from a decode(), | ||||
| * this is a hard assertion to make, because the stream may switch between | * this is a hard assertion to make, because the stream may switch between | ||||
| * differently encoded content (number of b-frames, interlacing, etc) which | * differently encoded content (number of b-frames, interlacing, etc) which | ||||
| @@ -861,7 +861,7 @@ static int dirac_unpack_prediction_parameters(DiracContext *s) | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| if (s->plane[0].xbsep > s->plane[0].xblen || s->plane[0].ybsep > s->plane[0].yblen) { | if (s->plane[0].xbsep > s->plane[0].xblen || s->plane[0].ybsep > s->plane[0].yblen) { | ||||
| av_log(s->avctx, AV_LOG_ERROR, "Block seperation greater than size\n"); | |||||
| av_log(s->avctx, AV_LOG_ERROR, "Block separation greater than size\n"); | |||||
| return -1; | return -1; | ||||
| } | } | ||||
| if (FFMAX(s->plane[0].xblen, s->plane[0].yblen) > MAX_BLOCKSIZE) { | if (FFMAX(s->plane[0].xblen, s->plane[0].yblen) > MAX_BLOCKSIZE) { | ||||
| @@ -961,7 +961,7 @@ static int dirac_unpack_idwt_params(DiracContext *s) | |||||
| CHECKEDREAD(s->wavelet_depth, tmp > MAX_DWT_LEVELS || tmp < 1, "invalid number of DWT decompositions\n") | CHECKEDREAD(s->wavelet_depth, tmp > MAX_DWT_LEVELS || tmp < 1, "invalid number of DWT decompositions\n") | ||||
| if (!s->low_delay) { | if (!s->low_delay) { | ||||
| /* Codeblock paramaters (core syntax only) */ | |||||
| /* Codeblock parameters (core syntax only) */ | |||||
| if (get_bits1(gb)) { | if (get_bits1(gb)) { | ||||
| for (i = 0; i <= s->wavelet_depth; i++) { | for (i = 0; i <= s->wavelet_depth; i++) { | ||||
| CHECKEDREAD(s->codeblock[i].width , tmp < 1, "codeblock width invalid\n") | CHECKEDREAD(s->codeblock[i].width , tmp < 1, "codeblock width invalid\n") | ||||
| @@ -188,7 +188,7 @@ static void get_new_centroids(elbg_data *elbg, int huc, int *newcentroid_i, | |||||
| /** | /** | ||||
| * Add the points in the low utility cell to its closest cell. Split the high | * Add the points in the low utility cell to its closest cell. Split the high | ||||
| * utility cell, putting the separed points in the (now empty) low utility | |||||
| * utility cell, putting the separate points in the (now empty) low utility | |||||
| * cell. | * cell. | ||||
| * | * | ||||
| * @param elbg Internal elbg data | * @param elbg Internal elbg data | ||||
| @@ -32,7 +32,7 @@ | |||||
| /** | /** | ||||
| * G.726 11bit float. | * G.726 11bit float. | ||||
| * G.726 Standard uses rather odd 11bit floating point arithmentic for | * G.726 Standard uses rather odd 11bit floating point arithmentic for | ||||
| * numerous occasions. It's a mistery to me why they did it this way | |||||
| * numerous occasions. It's a mystery to me why they did it this way | |||||
| * instead of simply using 32bit integer arithmetic. | * instead of simply using 32bit integer arithmetic. | ||||
| */ | */ | ||||
| typedef struct Float11 { | typedef struct Float11 { | ||||
| @@ -562,7 +562,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, | |||||
| gain_corr_factor = cb_gain_1st_6k4[gc_1st_index][1] + | gain_corr_factor = cb_gain_1st_6k4[gc_1st_index][1] + | ||||
| cb_gain_2nd_6k4[gc_2nd_index][1]; | cb_gain_2nd_6k4[gc_2nd_index][1]; | ||||
| /* Without check below overflow can occure in ff_acelp_update_past_gain. | |||||
| /* Without check below overflow can occur in ff_acelp_update_past_gain. | |||||
| It is not issue for G.729, because gain_corr_factor in it's case is always | It is not issue for G.729, because gain_corr_factor in it's case is always | ||||
| greater than 1024, while in G.729D it can be even zero. */ | greater than 1024, while in G.729D it can be even zero. */ | ||||
| gain_corr_factor = FFMAX(gain_corr_factor, 1024); | gain_corr_factor = FFMAX(gain_corr_factor, 1024); | ||||
| @@ -589,7 +589,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame_ptr, | |||||
| two times larger than in original G.729. | two times larger than in original G.729. | ||||
| If bit-exact result is not issue then gain_corr_factor | If bit-exact result is not issue then gain_corr_factor | ||||
| can be simpler devided by 2 before call to g729_get_gain_code | |||||
| can be simpler divided by 2 before call to g729_get_gain_code | |||||
| instead of using correction below. | instead of using correction below. | ||||
| */ | */ | ||||
| if (packet_type == FORMAT_G729D_6K4) { | if (packet_type == FORMAT_G729D_6K4) { | ||||
| @@ -513,7 +513,7 @@ typedef struct H264Context { | |||||
| struct H264Context *thread_context[MAX_THREADS]; | struct H264Context *thread_context[MAX_THREADS]; | ||||
| /** | /** | ||||
| * current slice number, used to initalize slice_num of each thread/context | |||||
| * current slice number, used to initialize slice_num of each thread/context | |||||
| */ | */ | ||||
| int current_slice; | int current_slice; | ||||
| @@ -268,7 +268,7 @@ void ff_h263_encode_gob_header(MpegEncContext * s, int mb_line) | |||||
| } | } | ||||
| /** | /** | ||||
| * modify qscale so that encoding is acually possible in h263 (limit difference to -2..2) | |||||
| * modify qscale so that encoding is actually possible in h263 (limit difference to -2..2) | |||||
| */ | */ | ||||
| void ff_clean_h263_qscales(MpegEncContext *s){ | void ff_clean_h263_qscales(MpegEncContext *s){ | ||||
| int i; | int i; | ||||
| @@ -199,7 +199,7 @@ static int lag_read_prob_header(lag_rac *rac, GetBitContext *gb) | |||||
| /* Comment from reference source: | /* Comment from reference source: | ||||
| * if (b & 0x80 == 0) { // order of operations is 'wrong'; it has been left this way | * if (b & 0x80 == 0) { // order of operations is 'wrong'; it has been left this way | ||||
| * // since the compression change is negligable and fixing it | * // since the compression change is negligable and fixing it | ||||
| * // breaks backwards compatibilty | |||||
| * // breaks backwards compatibility | |||||
| * b =- (signed int)b; | * b =- (signed int)b; | ||||
| * b &= 0xFF; | * b &= 0xFF; | ||||
| * } else { | * } else { | ||||
| @@ -68,7 +68,7 @@ typedef struct MJpegDecodeContext { | |||||
| int maxval; | int maxval; | ||||
| int near; ///< near lossless bound (si 0 for lossless) | int near; ///< near lossless bound (si 0 for lossless) | ||||
| int t1,t2,t3; | int t1,t2,t3; | ||||
| int reset; ///< context halfing intervall ?rename | |||||
| int reset; ///< context halfing interval ?rename | |||||
| int width, height; | int width, height; | ||||
| int mb_width, mb_height; | int mb_width, mb_height; | ||||
| @@ -1588,7 +1588,7 @@ static int decode_vol_header(MpegEncContext *s, GetBitContext *gb){ | |||||
| skip_bits1(gb); /* marker */ | skip_bits1(gb); /* marker */ | ||||
| } | } | ||||
| }else{ | }else{ | ||||
| // set low delay flag only once the smartest? low delay detection won't be overriden | |||||
| // set low delay flag only once the smartest? low delay detection won't be overridden | |||||
| if(s->picture_number==0) | if(s->picture_number==0) | ||||
| s->low_delay=0; | s->low_delay=0; | ||||
| } | } | ||||
| @@ -2287,7 +2287,7 @@ static av_cold int decode_init(AVCodecContext *avctx) | |||||
| } | } | ||||
| s->h263_pred = 1; | s->h263_pred = 1; | ||||
| s->low_delay = 0; //default, might be overriden in the vol header during header parsing | |||||
| s->low_delay = 0; //default, might be overridden in the vol header during header parsing | |||||
| s->decode_mb= mpeg4_decode_mb; | s->decode_mb= mpeg4_decode_mb; | ||||
| s->time_increment_bits = 4; /* default value for broken headers */ | s->time_increment_bits = 4; /* default value for broken headers */ | ||||
| avctx->chroma_sample_location = AVCHROMA_LOC_LEFT; | avctx->chroma_sample_location = AVCHROMA_LOC_LEFT; | ||||
| @@ -199,7 +199,7 @@ static inline int decide_ac_pred(MpegEncContext * s, DCTELEM block[6][64], const | |||||
| } | } | ||||
| /** | /** | ||||
| * modify mb_type & qscale so that encoding is acually possible in mpeg4 | |||||
| * modify mb_type & qscale so that encoding is actually possible in mpeg4 | |||||
| */ | */ | ||||
| void ff_clean_mpeg4_qscales(MpegEncContext *s){ | void ff_clean_mpeg4_qscales(MpegEncContext *s){ | ||||
| int i; | int i; | ||||
| @@ -708,7 +708,7 @@ av_cold int ff_MPV_common_init(MpegEncContext *s) | |||||
| avcodec_get_chroma_sub_sample(s->avctx->pix_fmt, &s->chroma_x_shift, | avcodec_get_chroma_sub_sample(s->avctx->pix_fmt, &s->chroma_x_shift, | ||||
| &s->chroma_y_shift); | &s->chroma_y_shift); | ||||
| /* set default edge pos, will be overriden in decode_header if needed */ | |||||
| /* set default edge pos, will be overridden in decode_header if needed */ | |||||
| s->h_edge_pos = s->mb_width * 16; | s->h_edge_pos = s->mb_width * 16; | ||||
| s->v_edge_pos = s->mb_height * 16; | s->v_edge_pos = s->mb_height * 16; | ||||
| @@ -162,7 +162,7 @@ static const AVOption options[]={ | |||||
| {"explode", "abort decoding on minor error detection", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_EXPLODE }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | {"explode", "abort decoding on minor error detection", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_EXPLODE }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | ||||
| {"careful", "consider things that violate the spec and have not been seen in the wild as errors", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_CAREFUL }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | {"careful", "consider things that violate the spec and have not been seen in the wild as errors", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_CAREFUL }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | ||||
| {"compliant", "consider all spec non compliancies as errors", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_COMPLIANT }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | {"compliant", "consider all spec non compliancies as errors", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_COMPLIANT }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | ||||
| {"aggressive", "consider things that a sane encoder shouldnt do as an error", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_AGGRESSIVE }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | |||||
| {"aggressive", "consider things that a sane encoder should not do as an error", 0, AV_OPT_TYPE_CONST, {.dbl = AV_EF_AGGRESSIVE }, INT_MIN, INT_MAX, A|V|D, "err_detect"}, | |||||
| {"has_b_frames", NULL, OFFSET(has_b_frames), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX}, | {"has_b_frames", NULL, OFFSET(has_b_frames), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX}, | ||||
| {"block_align", NULL, OFFSET(block_align), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX}, | {"block_align", NULL, OFFSET(block_align), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX}, | ||||
| {"mpeg_quant", "use MPEG quantizers instead of H.263", OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E}, | {"mpeg_quant", "use MPEG quantizers instead of H.263", OFFSET(mpeg_quant), AV_OPT_TYPE_INT, {.dbl = DEFAULT }, INT_MIN, INT_MAX, V|E}, | ||||
| @@ -91,7 +91,7 @@ void ff_fetch_timestamp(AVCodecParserContext *s, int off, int remove){ | |||||
| if ( s->cur_offset + off >= s->cur_frame_offset[i] | if ( s->cur_offset + off >= s->cur_frame_offset[i] | ||||
| && (s->frame_offset < s->cur_frame_offset[i] || | && (s->frame_offset < s->cur_frame_offset[i] || | ||||
| (!s->frame_offset && !s->next_frame_offset)) // first field/frame | (!s->frame_offset && !s->next_frame_offset)) // first field/frame | ||||
| //check is disabled because mpeg-ts doesnt send complete PES packets | |||||
| //check is disabled because mpeg-ts doesn't send complete PES packets | |||||
| && /*s->next_frame_offset + off <*/ s->cur_frame_end[i]){ | && /*s->next_frame_offset + off <*/ s->cur_frame_end[i]){ | ||||
| s->dts= s->cur_frame_dts[i]; | s->dts= s->cur_frame_dts[i]; | ||||
| s->pts= s->cur_frame_pts[i]; | s->pts= s->cur_frame_pts[i]; | ||||
| @@ -525,7 +525,7 @@ static int shorten_decode_frame(AVCodecContext *avctx, void *data, | |||||
| /* get Rice code for residual decoding */ | /* get Rice code for residual decoding */ | ||||
| if (cmd != FN_ZERO) { | if (cmd != FN_ZERO) { | ||||
| residual_size = get_ur_golomb_shorten(&s->gb, ENERGYSIZE); | residual_size = get_ur_golomb_shorten(&s->gb, ENERGYSIZE); | ||||
| /* this is a hack as version 0 differed in defintion of get_sr_golomb_shorten */ | |||||
| /* this is a hack as version 0 differed in definition of get_sr_golomb_shorten */ | |||||
| if (s->version == 0) | if (s->version == 0) | ||||
| residual_size--; | residual_size--; | ||||
| } | } | ||||
| @@ -43,7 +43,7 @@ void ff_thread_flush(AVCodecContext *avctx); | |||||
| * Returns the next available frame in picture. *got_picture_ptr | * Returns the next available frame in picture. *got_picture_ptr | ||||
| * will be 0 if none is available. | * will be 0 if none is available. | ||||
| * The return value on success is the size of the consumed packet for | * The return value on success is the size of the consumed packet for | ||||
| * compatiblity with avcodec_decode_video2(). This means the decoder | |||||
| * compatibility with avcodec_decode_video2(). This means the decoder | |||||
| * has to consume the full packet. | * has to consume the full packet. | ||||
| * | * | ||||
| * Parameters are the same as avcodec_decode_video2(). | * Parameters are the same as avcodec_decode_video2(). | ||||
| @@ -1709,7 +1709,7 @@ static enum CodecID remap_deprecated_codec_id(enum CodecID id) | |||||
| { | { | ||||
| switch(id){ | switch(id){ | ||||
| //This is for future deprecatec codec ids, its empty since | //This is for future deprecatec codec ids, its empty since | ||||
| //last major bump but will fill up again over time, please dont remove it | |||||
| //last major bump but will fill up again over time, please don't remove it | |||||
| // case CODEC_ID_UTVIDEO_DEPRECATED: return CODEC_ID_UTVIDEO; | // case CODEC_ID_UTVIDEO_DEPRECATED: return CODEC_ID_UTVIDEO; | ||||
| default : return id; | default : return id; | ||||
| } | } | ||||
| @@ -150,7 +150,7 @@ int ff_vda_create_decoder(struct vda_context *vda_ctx, | |||||
| pthread_mutex_init(&vda_ctx->queue_mutex, NULL); | pthread_mutex_init(&vda_ctx->queue_mutex, NULL); | ||||
| /* Each VCL NAL in the bistream sent to the decoder | /* Each VCL NAL in the bistream sent to the decoder | ||||
| * is preceeded by a 4 bytes length header. | |||||
| * is preceded by a 4 bytes length header. | |||||
| * Change the avcC atom header if needed, to signal headers of 4 bytes. */ | * Change the avcC atom header if needed, to signal headers of 4 bytes. */ | ||||
| if (extradata_size >= 4 && (extradata[4] & 0x03) != 0x03) { | if (extradata_size >= 4 && (extradata[4] & 0x03) != 0x03) { | ||||
| uint8_t *rw_extradata; | uint8_t *rw_extradata; | ||||
| @@ -535,7 +535,7 @@ static int decode_tilehdr(WMAProDecodeCtx *s) | |||||
| int c; | int c; | ||||
| /* Should never consume more than 3073 bits (256 iterations for the | /* Should never consume more than 3073 bits (256 iterations for the | ||||
| * while loop when always the minimum amount of 128 samples is substracted | |||||
| * while loop when always the minimum amount of 128 samples is subtracted | |||||
| * from missing samples in the 8 channel case). | * from missing samples in the 8 channel case). | ||||
| * 1 + BLOCK_MAX_SIZE * MAX_CHANNELS / BLOCK_MIN_SIZE * (MAX_CHANNELS + 4) | * 1 + BLOCK_MAX_SIZE * MAX_CHANNELS / BLOCK_MIN_SIZE * (MAX_CHANNELS + 4) | ||||
| */ | */ | ||||
| @@ -1449,7 +1449,7 @@ static void save_bits(WMAProDecodeCtx *s, GetBitContext* gb, int len, | |||||
| int buflen; | int buflen; | ||||
| /** when the frame data does not need to be concatenated, the input buffer | /** when the frame data does not need to be concatenated, the input buffer | ||||
| is resetted and additional bits from the previous frame are copyed | |||||
| is reset and additional bits from the previous frame are copied | |||||
| and skipped later so that a fast byte copy is possible */ | and skipped later so that a fast byte copy is possible */ | ||||
| if (!append) { | if (!append) { | ||||
| @@ -67,7 +67,7 @@ $EGREP $OPT '^\+ *(const *|)static' $*| $EGREP --color=always '[^=]= *(0|NULL)[^ | |||||
| cat $TMP | cat $TMP | ||||
| hiegrep '# *ifdef * (HAVE|CONFIG)_' 'ifdefs that should be #if' $* | hiegrep '# *ifdef * (HAVE|CONFIG)_' 'ifdefs that should be #if' $* | ||||
| hiegrep '\b(awnser|cant|dont|wont|usefull|successfull|occured|teh|alot|wether|skiped|heigth|informations|colums|loosy|loosing|ouput|seperate|preceed|upto|paket|posible|unkown|inpossible|dimention)\b' 'common typos' $* | |||||
| hiegrep '\b(awnser|cant|dont|wont|usefull|successfull|occured|teh|alot|wether|skiped|heigth|informations|colums|loosy|loosing|ouput|seperate|preceed|upto|paket|posible|unkown|inpossible|dimention|funtions|overriden|outputing|seperation|initalize|compatibilty)\b' 'common typos' $* | |||||
| hiegrep 'av_log\( *NULL' 'Missing context in av_log' $* | hiegrep 'av_log\( *NULL' 'Missing context in av_log' $* | ||||
| hiegrep '[^sn]printf' 'Please use av_log' $* | hiegrep '[^sn]printf' 'Please use av_log' $* | ||||
| hiegrep '\bmalloc' 'Please use av_malloc' $* | hiegrep '\bmalloc' 'Please use av_malloc' $* | ||||