[FFmpeg-devel] [PATCH] avfilter/af_atempo: offset all output timestamps by same amount of first input timestamp
Pavel Koshevoy
pkoshevoy at gmail.com
Wed May 8 07:28:45 EEST 2019
btw, I don't know if there is already a way to do this with an existing utility
function... there probably is and I just don't know about it.
I wrote this debugging helper to help me verify input/output PTS in atempo, I
can send a patch if it's useful. Alternatively, I'd like to know what the right
way to get the same result would be with existing utility functions
static const char * hh_mm_ss_msec(char buf[15], AVRational b, int64_t t)
{
char * str = buf;
t = av_rescale_q(t, b, (AVRational){ 1, 1000 });
if (t < 0)
{
*str++ = '-';
t = -t;
}
// msec:
{
char * p = str + 8;
p[4] = 0;
p[3] = '0' + (t % 10);
t /= 10;
p[2] = '0' + (t % 10);
t /= 10;
p[1] = '0' + (t % 10);
t /= 10;
p[0] = '.';
}
// seconds:
{
int64_t v = t % 60;
char * p = str + 5;
p[2] = '0' + (v % 10);
v /= 10;
p[1] = '0' + v;
t /= 60;
p[0] = ':';
}
// minutes:
{
int64_t v = t % 60;
char * p = str + 2;
p[2] = '0' + (v % 10);
v /= 10;
p[1] = '0' + v;
t /= 60;
p[0] = ':';
}
// hours:
{
int64_t v = t % 100;
str[1] = '0' + (v % 10);
v /= 10;
str[0] = '0' + v;
}
return buf;
}
// elsewhere
char buf_src[15];
char buf_dst[15];
...
av_log(outlink->src, AV_LOG_WARNING,
"FIXME: pkoshevoy: atempo pts: %s -> %s\n",
hh_mm_ss_msec(buf_src,
(AVRational){ 1, outlink->sample_rate },
yae_curr_frag(atempo)->position[0] -
yae_curr_frag(atempo)->nsamples),
hh_mm_ss_msec(buf_dst,
outlink->time_base,
atempo->dst_buffer->pts));
// and the output looks like this:
[Parsed_atempo_2 @ 0x6a5ec0] FIXME: pkoshevoy: atempo pts: 00:00:29.991 -> 00:00:29.989
[Parsed_atempo_2 @ 0x6a5ec0] FIXME: pkoshevoy: atempo pts: 00:00:29.991 -> 00:00:30.002
[Parsed_atempo_2 @ 0x6a5ec0] FIXME: pkoshevoy: atempo pts: 00:00:30.043 -> 00:00:30.015
[Parsed_atempo_2 @ 0x6a5ec0] FIXME: pkoshevoy: atempo pts: 00:00:30.043 -> 00:00:30.028
[Parsed_atempo_2 @ 0x6a5ec0] FIXME: pkoshevoy: atempo pts: 00:00:30.093 -> 00:00:30.041
[Parsed_atempo_2 @ 0x6a5ec0] FIXME: pkoshevoy: atempo pts: 00:00:30.093 -> 00:00:30.054
More information about the ffmpeg-devel
mailing list