fix time statistics, fixes #804
This commit is contained in:
parent
720edd050e
commit
f9d8ddca4c
|
@ -32,6 +32,10 @@
|
||||||
*
|
*
|
||||||
* ffmpeg-kit changes by ARTHENICA LTD
|
* ffmpeg-kit changes by ARTHENICA LTD
|
||||||
*
|
*
|
||||||
|
* 09.2023
|
||||||
|
* --------------------------------------------------------
|
||||||
|
* - forward_report method signature accepts pts to calculate the time
|
||||||
|
*
|
||||||
* 07.2023
|
* 07.2023
|
||||||
* --------------------------------------------------------
|
* --------------------------------------------------------
|
||||||
* - FFmpeg 6.0 changes migrated
|
* - FFmpeg 6.0 changes migrated
|
||||||
|
@ -1725,11 +1729,19 @@ static void print_final_stats(int64_t total_size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void forward_report(uint64_t frame_number, float fps, float quality, int64_t total_size, int seconds, int microseconds, double bitrate, double speed)
|
static void forward_report(uint64_t frame_number, float fps, float quality, int64_t total_size, int64_t pts, double bitrate, double speed)
|
||||||
{
|
{
|
||||||
// FORWARD DATA
|
// FORWARD DATA
|
||||||
if (report_callback != NULL) {
|
if (report_callback != NULL) {
|
||||||
report_callback(frame_number, fps, quality, total_size, ((double)seconds*1000) + ((double)microseconds)/1000, bitrate, speed);
|
double milliseconds = 0;
|
||||||
|
if (pts != AV_NOPTS_VALUE) {
|
||||||
|
milliseconds = ((double)FFABS64U(pts)) / 1000;
|
||||||
|
}
|
||||||
|
if (pts < 0) {
|
||||||
|
report_callback(frame_number, fps, quality, total_size, 0 - milliseconds, bitrate, speed);
|
||||||
|
} else {
|
||||||
|
report_callback(frame_number, fps, quality, total_size, milliseconds, bitrate, speed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1864,11 +1876,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
||||||
speed = pts != AV_NOPTS_VALUE && t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
|
speed = pts != AV_NOPTS_VALUE && t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
|
||||||
|
|
||||||
// FFmpegKit forward report
|
// FFmpegKit forward report
|
||||||
if (pts == AV_NOPTS_VALUE) {
|
forward_report(frame_number, fps, q, total_size, pts, bitrate, speed);
|
||||||
forward_report(frame_number, fps, q, total_size, 0, 0, bitrate, speed);
|
|
||||||
} else {
|
|
||||||
forward_report(frame_number, fps, q, total_size, secs, us, bitrate, speed);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (local_print_stats) {
|
if (local_print_stats) {
|
||||||
if (total_size < 0) av_bprintf(&buf, "size=N/A time=");
|
if (total_size < 0) av_bprintf(&buf, "size=N/A time=");
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
*
|
*
|
||||||
* ffmpeg-kit changes by ARTHENICA LTD
|
* ffmpeg-kit changes by ARTHENICA LTD
|
||||||
*
|
*
|
||||||
|
* 09.2023
|
||||||
|
* --------------------------------------------------------
|
||||||
|
* - forward_report method signature accepts pts to calculate the time
|
||||||
|
*
|
||||||
* 07.2023
|
* 07.2023
|
||||||
* --------------------------------------------------------
|
* --------------------------------------------------------
|
||||||
* - FFmpeg 6.0 changes migrated
|
* - FFmpeg 6.0 changes migrated
|
||||||
|
@ -1725,11 +1729,19 @@ static void print_final_stats(int64_t total_size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void forward_report(uint64_t frame_number, float fps, float quality, int64_t total_size, int seconds, int microseconds, double bitrate, double speed)
|
static void forward_report(uint64_t frame_number, float fps, float quality, int64_t total_size, int64_t pts, double bitrate, double speed)
|
||||||
{
|
{
|
||||||
// FORWARD DATA
|
// FORWARD DATA
|
||||||
if (report_callback != NULL) {
|
if (report_callback != NULL) {
|
||||||
report_callback(frame_number, fps, quality, total_size, ((double)seconds*1000) + ((double)microseconds)/1000, bitrate, speed);
|
double milliseconds = 0;
|
||||||
|
if (pts != AV_NOPTS_VALUE) {
|
||||||
|
milliseconds = ((double)FFABS64U(pts)) / 1000;
|
||||||
|
}
|
||||||
|
if (pts < 0) {
|
||||||
|
report_callback(frame_number, fps, quality, total_size, 0 - milliseconds, bitrate, speed);
|
||||||
|
} else {
|
||||||
|
report_callback(frame_number, fps, quality, total_size, milliseconds, bitrate, speed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1864,11 +1876,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
||||||
speed = pts != AV_NOPTS_VALUE && t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
|
speed = pts != AV_NOPTS_VALUE && t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
|
||||||
|
|
||||||
// FFmpegKit forward report
|
// FFmpegKit forward report
|
||||||
if (pts == AV_NOPTS_VALUE) {
|
forward_report(frame_number, fps, q, total_size, pts, bitrate, speed);
|
||||||
forward_report(frame_number, fps, q, total_size, 0, 0, bitrate, speed);
|
|
||||||
} else {
|
|
||||||
forward_report(frame_number, fps, q, total_size, secs, us, bitrate, speed);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (local_print_stats) {
|
if (local_print_stats) {
|
||||||
if (total_size < 0) av_bprintf(&buf, "size=N/A time=");
|
if (total_size < 0) av_bprintf(&buf, "size=N/A time=");
|
||||||
|
|
|
@ -32,6 +32,10 @@
|
||||||
*
|
*
|
||||||
* ffmpeg-kit changes by ARTHENICA LTD
|
* ffmpeg-kit changes by ARTHENICA LTD
|
||||||
*
|
*
|
||||||
|
* 09.2023
|
||||||
|
* --------------------------------------------------------
|
||||||
|
* - forward_report method signature accepts pts to calculate the time
|
||||||
|
*
|
||||||
* 07.2023
|
* 07.2023
|
||||||
* --------------------------------------------------------
|
* --------------------------------------------------------
|
||||||
* - FFmpeg 6.0 changes migrated
|
* - FFmpeg 6.0 changes migrated
|
||||||
|
@ -1725,11 +1729,19 @@ static void print_final_stats(int64_t total_size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void forward_report(uint64_t frame_number, float fps, float quality, int64_t total_size, int seconds, int microseconds, double bitrate, double speed)
|
static void forward_report(uint64_t frame_number, float fps, float quality, int64_t total_size, int64_t pts, double bitrate, double speed)
|
||||||
{
|
{
|
||||||
// FORWARD DATA
|
// FORWARD DATA
|
||||||
if (report_callback != NULL) {
|
if (report_callback != NULL) {
|
||||||
report_callback(frame_number, fps, quality, total_size, ((double)seconds*1000) + ((double)microseconds)/1000, bitrate, speed);
|
double milliseconds = 0;
|
||||||
|
if (pts != AV_NOPTS_VALUE) {
|
||||||
|
milliseconds = ((double)FFABS64U(pts)) / 1000;
|
||||||
|
}
|
||||||
|
if (pts < 0) {
|
||||||
|
report_callback(frame_number, fps, quality, total_size, 0 - milliseconds, bitrate, speed);
|
||||||
|
} else {
|
||||||
|
report_callback(frame_number, fps, quality, total_size, milliseconds, bitrate, speed);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1864,11 +1876,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
|
||||||
speed = pts != AV_NOPTS_VALUE && t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
|
speed = pts != AV_NOPTS_VALUE && t != 0.0 ? (double)pts / AV_TIME_BASE / t : -1;
|
||||||
|
|
||||||
// FFmpegKit forward report
|
// FFmpegKit forward report
|
||||||
if (pts == AV_NOPTS_VALUE) {
|
forward_report(frame_number, fps, q, total_size, pts, bitrate, speed);
|
||||||
forward_report(frame_number, fps, q, total_size, 0, 0, bitrate, speed);
|
|
||||||
} else {
|
|
||||||
forward_report(frame_number, fps, q, total_size, secs, us, bitrate, speed);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (local_print_stats) {
|
if (local_print_stats) {
|
||||||
if (total_size < 0) av_bprintf(&buf, "size=N/A time=");
|
if (total_size < 0) av_bprintf(&buf, "size=N/A time=");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user