as well as includes of libavutil/timer.h. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>tags/n4.3
| @@ -27,7 +27,6 @@ | |||
| #include <string.h> | |||
| #include "libavutil/common.h" | |||
| #include "libavutil/timer.h" | |||
| #include "cabac.h" | |||
| #include "cabac_functions.h" | |||
| @@ -25,7 +25,6 @@ | |||
| */ | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "blockdsp.h" | |||
| #define UNCHECKED_BITSTREAM_READER 1 | |||
| @@ -607,13 +606,11 @@ static int dnxhd_decode_row(AVCodecContext *avctx, void *data, | |||
| return ret; | |||
| } | |||
| for (x = 0; x < ctx->mb_width; x++) { | |||
| //START_TIMER; | |||
| int ret = dnxhd_decode_macroblock(ctx, row, data, x, rownb); | |||
| if (ret < 0) { | |||
| row->errors++; | |||
| return ret; | |||
| } | |||
| //STOP_TIMER("decode macroblock"); | |||
| } | |||
| return 0; | |||
| @@ -26,7 +26,6 @@ | |||
| #include "libavutil/attributes.h" | |||
| #include "libavutil/internal.h" | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "blockdsp.h" | |||
| @@ -933,9 +932,8 @@ static int dnxhd_encode_thread(AVCodecContext *avctx, void *arg, | |||
| int last_index = ctx->m.dct_quantize(&ctx->m, block, | |||
| ctx->is_444 ? (((i >> 1) % 3) < 1 ? 0 : 4): 4 & (2*i), | |||
| qscale, &overflow); | |||
| // START_TIMER; | |||
| dnxhd_encode_block(ctx, block, last_index, n); | |||
| // STOP_TIMER("encode_block"); | |||
| } | |||
| } | |||
| if (put_bits_count(&ctx->m.pb) & 31) | |||
| @@ -31,7 +31,6 @@ | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/pixdesc.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "internal.h" | |||
| @@ -33,7 +33,6 @@ | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/pixdesc.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "get_bits.h" | |||
| #include "internal.h" | |||
| @@ -30,7 +30,6 @@ | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/pixdesc.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "internal.h" | |||
| #include "get_bits.h" | |||
| @@ -138,7 +137,6 @@ static int decode_plane(FFV1Context *s, uint8_t *src, | |||
| sample[1][-1] = sample[0][0]; | |||
| sample[0][w] = sample[0][w - 1]; | |||
| // { START_TIMER | |||
| if (s->avctx->bits_per_raw_sample <= 8) { | |||
| int ret = decode_line(s, w, sample, plane_index, 8); | |||
| if (ret < 0) | |||
| @@ -159,7 +157,6 @@ static int decode_plane(FFV1Context *s, uint8_t *src, | |||
| } | |||
| } | |||
| } | |||
| // STOP_TIMER("decode-line") } | |||
| } | |||
| return 0; | |||
| } | |||
| @@ -31,7 +31,6 @@ | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/pixdesc.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "internal.h" | |||
| @@ -287,7 +286,6 @@ static int encode_plane(FFV1Context *s, uint8_t *src, int w, int h, | |||
| sample[0][-1]= sample[1][0 ]; | |||
| sample[1][ w]= sample[1][w-1]; | |||
| // { START_TIMER | |||
| if (s->bits_per_raw_sample <= 8) { | |||
| for (x = 0; x < w; x++) | |||
| sample[0][x] = src[x * pixel_stride + stride * y]; | |||
| @@ -306,7 +304,6 @@ static int encode_plane(FFV1Context *s, uint8_t *src, int w, int h, | |||
| if((ret = encode_line(s, w, sample, plane_index, s->bits_per_raw_sample)) < 0) | |||
| return ret; | |||
| } | |||
| // STOP_TIMER("encode line") } | |||
| } | |||
| return 0; | |||
| } | |||
| @@ -31,7 +31,6 @@ | |||
| #include "libavutil/attributes.h" | |||
| #include "libavutil/avassert.h" | |||
| #include "libavutil/timer.h" | |||
| #include "config.h" | |||
| #include "cabac.h" | |||
| #include "cabac_functions.h" | |||
| @@ -1895,9 +1894,7 @@ static av_always_inline void decode_cabac_luma_residual(const H264Context *h, H2 | |||
| qmul = h->ps.pps->dequant4_coeff[cqm][qscale]; | |||
| for( i4x4 = 0; i4x4 < 4; i4x4++ ) { | |||
| const int index = 16*p + 4*i8x8 + i4x4; | |||
| //START_TIMER | |||
| decode_cabac_residual_nondc(h, sl, sl->mb + (16*index << pixel_shift), ctx_cat[2][p], index, scan, qmul, 16); | |||
| //STOP_TIMER("decode_residual") | |||
| } | |||
| } | |||
| } else { | |||
| @@ -27,7 +27,6 @@ | |||
| #include "libavutil/avassert.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/timer.h" | |||
| #include "internal.h" | |||
| #include "cabac.h" | |||
| #include "cabac_functions.h" | |||
| @@ -29,7 +29,6 @@ | |||
| #include "libavutil/display.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/stereo3d.h" | |||
| #include "libavutil/timer.h" | |||
| #include "internal.h" | |||
| #include "cabac.h" | |||
| #include "cabac_functions.h" | |||
| @@ -2621,7 +2620,6 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) | |||
| ff_h264_init_cabac_states(h, sl); | |||
| for (;;) { | |||
| // START_TIMER | |||
| int ret, eos; | |||
| if (sl->mb_x + sl->mb_y * h->mb_width >= sl->next_slice_idx) { | |||
| av_log(h->avctx, AV_LOG_ERROR, "Slice overlaps with next at %d\n", | |||
| @@ -2632,7 +2630,6 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg) | |||
| } | |||
| ret = ff_h264_decode_mb_cabac(h, sl); | |||
| // STOP_TIMER("decode_mb_cabac") | |||
| if (ret >= 0) | |||
| ff_h264_hl_decode_mb(h, sl); | |||
| @@ -32,7 +32,6 @@ | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/stereo3d.h" | |||
| #include "libavutil/timer.h" | |||
| #include "internal.h" | |||
| #include "bytestream.h" | |||
| #include "cabac.h" | |||
| @@ -30,7 +30,6 @@ | |||
| #include "libavutil/attributes.h" | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/timer.h" | |||
| #define BITSTREAM_READER_LE | |||
| #include "avcodec.h" | |||
| @@ -1124,8 +1123,6 @@ int ff_ivi_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, | |||
| ctx->switch_buffers(ctx); | |||
| //{ START_TIMER; | |||
| if (ctx->is_nonnull_frame(ctx)) { | |||
| ctx->buf_invalid[ctx->dst_buf] = 1; | |||
| for (p = 0; p < 3; p++) { | |||
| @@ -1151,8 +1148,6 @@ int ff_ivi_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, | |||
| if (ctx->buf_invalid[ctx->dst_buf]) | |||
| return -1; | |||
| //STOP_TIMER("decode_planes"); } | |||
| if (!ctx->is_nonnull_frame(ctx)) | |||
| return buf_size; | |||
| @@ -32,7 +32,6 @@ | |||
| #include "libavutil/imgutils.h" | |||
| #include "libavutil/internal.h" | |||
| #include "libavutil/motion_vector.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "blockdsp.h" | |||
| #include "h264chroma.h" | |||
| @@ -469,7 +468,6 @@ int ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src) | |||
| MpegEncContext bak; | |||
| int i, ret; | |||
| // FIXME copy only needed parts | |||
| // START_TIMER | |||
| backup_duplicate_context(&bak, dst); | |||
| memcpy(dst, src, sizeof(MpegEncContext)); | |||
| backup_duplicate_context(dst, &bak); | |||
| @@ -487,8 +485,6 @@ int ff_update_duplicate_context(MpegEncContext *dst, MpegEncContext *src) | |||
| "scratch buffers.\n"); | |||
| return ret; | |||
| } | |||
| // STOP_TIMER("update_duplicate_context") | |||
| // about 10k cycles / 0.01 sec for 1000frames on 1ghz with 2 threads | |||
| return 0; | |||
| } | |||
| @@ -38,7 +38,6 @@ | |||
| #include "libavutil/mathematics.h" | |||
| #include "libavutil/pixdesc.h" | |||
| #include "libavutil/opt.h" | |||
| #include "libavutil/timer.h" | |||
| #include "avcodec.h" | |||
| #include "dct.h" | |||
| #include "idctdsp.h" | |||
| @@ -4262,7 +4261,6 @@ static int dct_quantize_trellis_c(MpegEncContext *s, | |||
| return last_non_zero; | |||
| } | |||
| //#define REFINE_STATS 1 | |||
| static int16_t basis[64][64]; | |||
| static void build_basis(uint8_t *perm){ | |||
| @@ -4301,15 +4299,6 @@ static int dct_quantize_refine(MpegEncContext *s, //FIXME breaks denoise? | |||
| uint8_t * last_length; | |||
| int lambda; | |||
| int rle_index, run, q = 1, sum; //q is only used when s->mb_intra is true | |||
| #ifdef REFINE_STATS | |||
| static int count=0; | |||
| static int after_last=0; | |||
| static int to_zero=0; | |||
| static int from_zero=0; | |||
| static int raise=0; | |||
| static int lower=0; | |||
| static int messed_sign=0; | |||
| #endif | |||
| if(basis[0][0] == 0) | |||
| build_basis(s->idsp.idct_permutation); | |||
| @@ -4353,16 +4342,11 @@ static int messed_sign=0; | |||
| } | |||
| last_non_zero = s->block_last_index[n]; | |||
| #ifdef REFINE_STATS | |||
| {START_TIMER | |||
| #endif | |||
| dc += (1<<(RECON_SHIFT-1)); | |||
| for(i=0; i<64; i++){ | |||
| rem[i] = dc - (orig[i] << RECON_SHIFT); // FIXME use orig directly instead of copying to rem[] | |||
| } | |||
| #ifdef REFINE_STATS | |||
| STOP_TIMER("memset rem[]")} | |||
| #endif | |||
| sum=0; | |||
| for(i=0; i<64; i++){ | |||
| int one= 36; | |||
| @@ -4380,9 +4364,7 @@ STOP_TIMER("memset rem[]")} | |||
| sum += w*w; | |||
| } | |||
| lambda= sum*(uint64_t)s->lambda2 >> (FF_LAMBDA_SHIFT - 6 + 6 + 6 + 6); | |||
| #ifdef REFINE_STATS | |||
| {START_TIMER | |||
| #endif | |||
| run=0; | |||
| rle_index=0; | |||
| for(i=start_i; i<=last_non_zero; i++){ | |||
| @@ -4401,41 +4383,21 @@ STOP_TIMER("memset rem[]")} | |||
| run++; | |||
| } | |||
| } | |||
| #ifdef REFINE_STATS | |||
| if(last_non_zero>0){ | |||
| STOP_TIMER("init rem[]") | |||
| } | |||
| } | |||
| {START_TIMER | |||
| #endif | |||
| for(;;){ | |||
| int best_score = s->mpvencdsp.try_8x8basis(rem, weight, basis[0], 0); | |||
| int best_coeff=0; | |||
| int best_change=0; | |||
| int run2, best_unquant_change=0, analyze_gradient; | |||
| #ifdef REFINE_STATS | |||
| {START_TIMER | |||
| #endif | |||
| analyze_gradient = last_non_zero > 2 || s->quantizer_noise_shaping >= 3; | |||
| if(analyze_gradient){ | |||
| #ifdef REFINE_STATS | |||
| {START_TIMER | |||
| #endif | |||
| for(i=0; i<64; i++){ | |||
| int w= weight[i]; | |||
| d1[i] = (rem[i]*w*w + (1<<(RECON_SHIFT+12-1)))>>(RECON_SHIFT+12); | |||
| } | |||
| #ifdef REFINE_STATS | |||
| STOP_TIMER("rem*w*w")} | |||
| {START_TIMER | |||
| #endif | |||
| s->fdsp.fdct(d1); | |||
| #ifdef REFINE_STATS | |||
| STOP_TIMER("dct")} | |||
| #endif | |||
| } | |||
| if(start_i){ | |||
| @@ -4597,9 +4559,6 @@ STOP_TIMER("dct")} | |||
| run++; | |||
| } | |||
| } | |||
| #ifdef REFINE_STATS | |||
| STOP_TIMER("iterative step")} | |||
| #endif | |||
| if(best_change){ | |||
| int j= perm_scantable[ best_coeff ]; | |||
| @@ -4609,36 +4568,13 @@ STOP_TIMER("iterative step")} | |||
| if(best_coeff > last_non_zero){ | |||
| last_non_zero= best_coeff; | |||
| av_assert2(block[j]); | |||
| #ifdef REFINE_STATS | |||
| after_last++; | |||
| #endif | |||
| }else{ | |||
| #ifdef REFINE_STATS | |||
| if(block[j]){ | |||
| if(block[j] - best_change){ | |||
| if(FFABS(block[j]) > FFABS(block[j] - best_change)){ | |||
| raise++; | |||
| }else{ | |||
| lower++; | |||
| } | |||
| }else{ | |||
| from_zero++; | |||
| } | |||
| }else{ | |||
| to_zero++; | |||
| } | |||
| #endif | |||
| for(; last_non_zero>=start_i; last_non_zero--){ | |||
| if(block[perm_scantable[last_non_zero]]) | |||
| break; | |||
| } | |||
| } | |||
| #ifdef REFINE_STATS | |||
| count++; | |||
| if(256*256*256*64 % count == 0){ | |||
| av_log(s->avctx, AV_LOG_DEBUG, "after_last:%d to_zero:%d from_zero:%d raise:%d lower:%d sign:%d xyp:%d/%d/%d\n", after_last, to_zero, from_zero, raise, lower, messed_sign, s->mb_x, s->mb_y, s->picture_number); | |||
| } | |||
| #endif | |||
| run=0; | |||
| rle_index=0; | |||
| for(i=start_i; i<=last_non_zero; i++){ | |||
| @@ -4658,12 +4594,6 @@ if(256*256*256*64 % count == 0){ | |||
| break; | |||
| } | |||
| } | |||
| #ifdef REFINE_STATS | |||
| if(last_non_zero>0){ | |||
| STOP_TIMER("iterative search") | |||
| } | |||
| } | |||
| #endif | |||
| return last_non_zero; | |||
| } | |||
| @@ -407,7 +407,7 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, | |||
| const int QP= c->QP; | |||
| const int dcOffset= ((c->nonBQP*c->ppMode.baseDcDiff)>>8) + 1; | |||
| const int dcThreshold= dcOffset*2 + 1; | |||
| //START_TIMER | |||
| src+= step*4; // src points to begin of the 8x8 Block | |||
| for(y=0; y<8; y++){ | |||
| int numEq= 0; | |||
| @@ -511,11 +511,6 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, | |||
| src += stride; | |||
| } | |||
| /*if(step==16){ | |||
| STOP_TIMER("step16") | |||
| }else{ | |||
| STOP_TIMER("stepX") | |||
| }*/ | |||
| } | |||
| //Note: we have C, MMX, MMX2, 3DNOW version there is no 3DNOW+MMX2 one | |||
| @@ -2548,7 +2548,7 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st | |||
| int64_t dc_mask, eq_mask, both_masks; | |||
| int64_t sums[10*8*2]; | |||
| src+= step*3; // src points to begin of the 8x8 Block | |||
| //{ START_TIMER | |||
| __asm__ volatile( | |||
| "movq %0, %%mm7 \n\t" | |||
| "movq %1, %%mm6 \n\t" | |||
| @@ -3071,12 +3071,6 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st | |||
| : "%"FF_REG_a | |||
| ); | |||
| } | |||
| /*if(step==16){ | |||
| STOP_TIMER("step16") | |||
| }else{ | |||
| STOP_TIMER("stepX") | |||
| } | |||
| } */ | |||
| } | |||
| #endif //TEMPLATE_PP_MMX | |||