Browse Source

ffmpeg: Use av_gettime_relative()

Whenever av_gettime() is used to measure relative period of time,
av_gettime_relative() is prefered as it guarantee monotonic time
on supported platforms.

Signed-off-by: Olivier Langlois <olivier@trillion01.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.3
Olivier Langlois Michael Niedermayer 11 years ago
parent
commit
76191c08f8
2 changed files with 7 additions and 7 deletions
  1. +2
    -2
      cmdutils_opencl.c
  2. +5
    -5
      ffmpeg.c

+ 2
- 2
cmdutils_opencl.c View File

@@ -181,12 +181,12 @@ static int64_t run_opencl_bench(AVOpenCLExternalEnv *ext_opencl_env)
OCLCHECK(clSetKernelArg, kernel, arg++, sizeof(cl_int), &width);
OCLCHECK(clSetKernelArg, kernel, arg++, sizeof(cl_int), &height);

start = av_gettime();
start = av_gettime_relative();
for (i = 0; i < OPENCL_NB_ITER; i++)
OCLCHECK(clEnqueueNDRangeKernel, ext_opencl_env->command_queue, kernel, 2, NULL,
global_work_size_2d, local_work_size_2d, 0, NULL, NULL);
clFinish(ext_opencl_env->command_queue);
ret = (av_gettime() - start)/OPENCL_NB_ITER;
ret = (av_gettime_relative() - start)/OPENCL_NB_ITER;
end:
if (kernel)
clReleaseKernel(kernel);


+ 5
- 5
ffmpeg.c View File

@@ -2430,7 +2430,7 @@ static int transcode_init(void)
InputFile *ifile = input_files[i];
if (ifile->rate_emu)
for (j = 0; j < ifile->nb_streams; j++)
input_streams[j + ifile->ist_index]->start = av_gettime();
input_streams[j + ifile->ist_index]->start = av_gettime_relative();
}

/* output stream init */
@@ -3228,7 +3228,7 @@ static int get_input_packet(InputFile *f, AVPacket *pkt)
for (i = 0; i < f->nb_streams; i++) {
InputStream *ist = input_streams[f->ist_index + i];
int64_t pts = av_rescale(ist->dts, 1000000, AV_TIME_BASE);
int64_t now = av_gettime() - ist->start;
int64_t now = av_gettime_relative() - ist->start;
if (pts > now)
return AVERROR(EAGAIN);
}
@@ -3594,7 +3594,7 @@ static int transcode(void)
av_log(NULL, AV_LOG_INFO, "Press [q] to stop, [?] for help\n");
}

timer_start = av_gettime();
timer_start = av_gettime_relative();

#if HAVE_PTHREADS
if ((ret = init_input_threads()) < 0)
@@ -3602,7 +3602,7 @@ static int transcode(void)
#endif

while (!received_sigterm) {
int64_t cur_time= av_gettime();
int64_t cur_time= av_gettime_relative();

/* if 'q' pressed, exits */
if (stdin_interaction)
@@ -3649,7 +3649,7 @@ static int transcode(void)
}

/* dump report by using the first video and audio streams */
print_report(1, timer_start, av_gettime());
print_report(1, timer_start, av_gettime_relative());

/* close each encoder */
for (i = 0; i < nb_output_streams; i++) {


Loading…
Cancel
Save