Changeset 7c359c66acbc65bede22e11bf6e8a510fbac5fc7

Show
Ignore:
Timestamp:
05/23/08 23:59:16 (4 months ago)
Author:
Pierre d'Herbemont <pdherbemont@videolan.org>
git-committer:
Pierre d'Herbemont <pdherbemont@videolan.org> 1211579956 +0200
git-parent:

[8fe54e490872687b20e52581d84a94ffa7f443b0]

git-author:
Pierre d'Herbemont <pdherbemont@videolan.org> 1211575664 +0200
Message:

transcode: Measure the time taken to encode one audio or video frame.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • include/vlc_messages.h

    rcdd5175 r7c359c6  
    178178    STATS_TIMER_INPUT_LAUNCHING, 
    179179    STATS_TIMER_MODULE_NEED, 
     180    STATS_TIMER_VIDEO_FRAME_ENCODING, 
     181    STATS_TIMER_AUDIO_FRAME_ENCODING, 
    180182 
    181183    STATS_TIMER_SKINS_PLAYTREE_IMAGE, 
  • modules/stream_out/transcode.c

    r13ae40b r7c359c6  
    12231223 
    12241224/**************************************************************************** 
     1225 * decoder helper 
     1226 ****************************************************************************/ 
     1227static inline void video_timer_start( encoder_t * p_encoder ) 
     1228{ 
     1229    stats_TimerStart( p_encoder, "encoding video frame", 
     1230                      STATS_TIMER_VIDEO_FRAME_ENCODING ); 
     1231} 
     1232 
     1233static inline void video_timer_stop( encoder_t * p_encoder ) 
     1234{ 
     1235    stats_TimerStop( p_encoder, STATS_TIMER_VIDEO_FRAME_ENCODING ); 
     1236} 
     1237 
     1238static inline void video_timer_close( encoder_t * p_encoder ) 
     1239{ 
     1240    stats_TimerDump(  p_encoder, STATS_TIMER_VIDEO_FRAME_ENCODING ); 
     1241    stats_TimerClean( p_encoder, STATS_TIMER_VIDEO_FRAME_ENCODING ); 
     1242} 
     1243 
     1244static inline void audio_timer_start( encoder_t * p_encoder ) 
     1245{ 
     1246    stats_TimerStart( p_encoder, "encoding audio frame", 
     1247                      STATS_TIMER_AUDIO_FRAME_ENCODING ); 
     1248} 
     1249 
     1250static inline void audio_timer_stop( encoder_t * p_encoder ) 
     1251{ 
     1252    stats_TimerStop( p_encoder, STATS_TIMER_AUDIO_FRAME_ENCODING ); 
     1253} 
     1254 
     1255static inline void audio_timer_close( encoder_t * p_encoder ) 
     1256{ 
     1257    stats_TimerDump(  p_encoder, STATS_TIMER_AUDIO_FRAME_ENCODING ); 
     1258    stats_TimerClean( p_encoder, STATS_TIMER_AUDIO_FRAME_ENCODING ); 
     1259} 
     1260 
     1261/**************************************************************************** 
    12251262 * decoder reencoder part 
    12261263 ****************************************************************************/ 
     1264 
    12271265static int audio_BitsPerSample( vlc_fourcc_t i_format ) 
    12281266{ 
     
    15011539    int i; 
    15021540 
     1541    audio_timer_close( id->p_encoder ); 
     1542 
    15031543    /* Close decoder */ 
    15041544    if( id->p_decoder->p_module ) 
     
    15931633        p_audio_buf->end_date = p_audio_block->i_dts + p_audio_block->i_length; 
    15941634 
     1635        audio_timer_start( id->p_encoder ); 
    15951636        p_block = id->p_encoder->pf_encode_audio( id->p_encoder, p_audio_buf ); 
     1637        audio_timer_stop( id->p_encoder ); 
     1638 
    15961639        block_ChainAppend( out, p_block ); 
    15971640        block_Release( p_audio_block ); 
     
    21462189        vlc_cond_destroy( &p_stream->p_sys->cond ); 
    21472190    } 
     2191 
     2192    video_timer_close( id->p_encoder ); 
    21482193 
    21492194    /* Close decoder */ 
     
    24562501        { 
    24572502            block_t *p_block; 
     2503 
     2504            video_timer_start( id->p_encoder ); 
    24582505            p_block = id->p_encoder->pf_encode_video( id->p_encoder, p_pic ); 
     2506            video_timer_stop( id->p_encoder ); 
     2507 
    24592508            block_ChainAppend( out, p_block ); 
    24602509        } 
     
    25532602        vlc_mutex_unlock( &p_sys->lock_out ); 
    25542603 
     2604        video_timer_start( id->p_encoder ); 
    25552605        p_block = id->p_encoder->pf_encode_video( id->p_encoder, p_pic ); 
     2606        video_timer_stop( id->p_encoder ); 
     2607 
    25562608        vlc_mutex_lock( &p_sys->lock_out ); 
    25572609        block_ChainAppend( &p_sys->p_buffers, p_block );