mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
some benchmarking code
Originally committed as revision 4250 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
d5e188359e
commit
220a6f401d
@ -2318,7 +2318,7 @@ static void apply_loop_filter(Vp3DecodeContext *s)
|
||||
for (y = 0; y < height; y++) {
|
||||
|
||||
for (x = 0; x < width; x++) {
|
||||
|
||||
START_TIMER
|
||||
/* do not perform left edge filter for left columns frags */
|
||||
if ((x > 0) &&
|
||||
(s->all_fragments[fragment].coding_method != MODE_COPY)) {
|
||||
@ -2358,6 +2358,7 @@ static void apply_loop_filter(Vp3DecodeContext *s)
|
||||
}
|
||||
|
||||
fragment++;
|
||||
STOP_TIMER("loop filter")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2716,7 +2717,9 @@ static int vp3_decode_frame(AVCodecContext *avctx,
|
||||
s->current_frame.qscale_table= s->qscale_table; //FIXME allocate individual tables per AVFrame
|
||||
s->current_frame.qstride= 0;
|
||||
|
||||
{START_TIMER
|
||||
init_frame(s, &gb);
|
||||
STOP_TIMER("init_frame")}
|
||||
|
||||
#if KEYFRAMES_ONLY
|
||||
if (!s->keyframe) {
|
||||
@ -2731,17 +2734,37 @@ if (!s->keyframe) {
|
||||
} else {
|
||||
#endif
|
||||
|
||||
if (unpack_superblocks(s, &gb) ||
|
||||
unpack_modes(s, &gb) ||
|
||||
unpack_vectors(s, &gb) ||
|
||||
unpack_dct_coeffs(s, &gb)) {
|
||||
|
||||
av_log(s->avctx, AV_LOG_ERROR, " vp3: could not decode frame\n");
|
||||
{START_TIMER
|
||||
if (unpack_superblocks(s, &gb)){
|
||||
av_log(s->avctx, AV_LOG_ERROR, "error in unpack_superblocks\n");
|
||||
return -1;
|
||||
}
|
||||
STOP_TIMER("unpack_superblocks")}
|
||||
{START_TIMER
|
||||
if (unpack_modes(s, &gb)){
|
||||
av_log(s->avctx, AV_LOG_ERROR, "error in unpack_modes\n");
|
||||
return -1;
|
||||
}
|
||||
STOP_TIMER("unpack_modes")}
|
||||
{START_TIMER
|
||||
if (unpack_vectors(s, &gb)){
|
||||
av_log(s->avctx, AV_LOG_ERROR, "error in unpack_vectors\n");
|
||||
return -1;
|
||||
}
|
||||
STOP_TIMER("unpack_vectors")}
|
||||
{START_TIMER
|
||||
if (unpack_dct_coeffs(s, &gb)){
|
||||
av_log(s->avctx, AV_LOG_ERROR, "error in unpack_dct_coeffs\n");
|
||||
return -1;
|
||||
}
|
||||
STOP_TIMER("unpack_dct_coeffs")}
|
||||
{START_TIMER
|
||||
|
||||
reverse_dc_prediction(s, 0, s->fragment_width, s->fragment_height);
|
||||
STOP_TIMER("reverse_dc_prediction")}
|
||||
{START_TIMER
|
||||
render_fragments(s, 0, s->width, s->height, 0);
|
||||
STOP_TIMER("render_fragments")}
|
||||
|
||||
if ((avctx->flags & CODEC_FLAG_GRAY) == 0) {
|
||||
reverse_dc_prediction(s, s->u_fragment_start,
|
||||
@ -2755,7 +2778,9 @@ if (!s->keyframe) {
|
||||
memset(s->current_frame.data[2], 0x80, s->width * s->height / 4);
|
||||
}
|
||||
|
||||
{START_TIMER
|
||||
apply_loop_filter(s);
|
||||
STOP_TIMER("apply_loop_filter")}
|
||||
#if KEYFRAMES_ONLY
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user