optimized for time.

#include "tcmstart.h"
#pragma Otime
#pragma Ospace
#include "tcmend.h"

level.1

\idct.c

level.2

\slice.c

otime and ITCM
 29144 \slice.c 488 get_mpeg1_non_intra_block

otime no ITCM
 29144 \slice.c 647 inline slice_non_intra_DCT
    73 \slice.c 1254 mpeg2_slice (one call per frame)

level.3

\slice.c

otime and ITCM
 13187 \slice.c 57 disinline get_macroblock_modes
 11274 \slice.c 263 disinline get_coded_block_pattern
 10386 \slice.c 188 get_motion_delta

otime no ITCM
 10386 \slice.c 241 inline bound_motion_vector


level.4

otime and ITCM
  9354 \slice.c 389 get_mpeg1_intra_block
  8926 \slice.c 1022 motion_zero_##FORMAT FORMAT=420

  6236 \slice.c 308 disinline get_luma_dc_dct_diff
  5958 \slice.c 972 motion_mp1
  3118 \slice.c 345 disinline get_chroma_dc_dct_diff

level.5

otime and ITCM
 31101 \decode.c 172 mpeg2_parse

otime no ITCM
 18427 \decode.c 87 inline copy_chunk

otime and ITCM
 19508 \header.c 828 prescale

level.6 one call per frame

otime and ITCM
 15194 \header.c 477 mpeg2_set_fbuf
 15194 \header.c 495 mpeg2_header_picture_start
 15761 \decode.c 245 mpeg2_parse_header
 15194 \header.c 525 mpeg2_header_picture
 15194 \header.c 645 mpeg2_header_picture_finalize
 15194 \header.c 867 mpeg2_header_slice_start
 15194 \slice.c 1134 mpeg2_init_fbuf
 15194 \slice.c 1216 slice_init

otime no ITCM
 15194 \slice.c 165 inline get_quantizer_scale

otime and ITCM
 15472 \header.c 373 finalize_matrix
 15750 \header.c 157 info_user_data
 15751 \header.c 148 mpeg2_reset_info

#include "tcmstart.h"
#pragma Otime
#pragma Ospace
#include "tcmend.h"

// ----------------------------

level.7 one call per GOP

otime and ITCM
\header.c 173 mpeg2_header_sequence (large size code)
\header.c 415 mpeg2_header_sequence_finalize (large size code)
\header.c 316 finalize_sequence (large size code)
\header.c 371 copy_matrix
\header.c 465 mpeg2_header_gop
\header.c 481 mpeg2_header_gop_finalize
\decode.c 135 mpeg2_buffer

// ----------------------------

level.8 one call per skip GOP

otime and ITCM
\decode.c 53 inline skip_chunk
\decode.c 150 inline seek_chunk

level.9 

otime and ITCM
bool Clibmpg::ProcDecode(u64 CurrentSamplesCount)

// ----------------------------

short hqprofile
RVDS 2007/02/20 23:08 frame=900 TotalTime=36041506us Time=40046us/fps
GCC  2007/02/20 23:23 frame=900 TotalTime=38011243us Time=42234us/fps
42234-40046=2188us 5.46%

DPGFS 2007/02/21 18:56 frame=90 TotalTime=35215731us Time=39128us/fps
42234-39128=3106us 7.93%
