|
|
@ -354,7 +354,7 @@ static av_cold int init(AVFilterContext *ctx) |
|
|
|
if (deshake->filename) |
|
|
|
if (deshake->filename) |
|
|
|
deshake->fp = fopen(deshake->filename, "w"); |
|
|
|
deshake->fp = fopen(deshake->filename, "w"); |
|
|
|
if (deshake->fp) |
|
|
|
if (deshake->fp) |
|
|
|
fwrite("Ori x, Avg x, Fin x, Ori y, Avg y, Fin y, Ori angle, Avg angle, Fin angle, Ori zoom, Avg zoom, Fin zoom\n", sizeof(char), 104, deshake->fp); |
|
|
|
fwrite("Ori x, Avg x, Fin x, Ori y, Avg y, Fin y, Ori angle, Avg angle, Fin angle, Ori zoom, Avg zoom, Fin zoom\n", 1, 104, deshake->fp); |
|
|
|
|
|
|
|
|
|
|
|
// Quadword align left edge of box for MMX code, adjust width if necessary
|
|
|
|
// Quadword align left edge of box for MMX code, adjust width if necessary
|
|
|
|
// to keep right margin
|
|
|
|
// to keep right margin
|
|
|
@ -485,7 +485,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) |
|
|
|
// Write statistics to file
|
|
|
|
// Write statistics to file
|
|
|
|
if (deshake->fp) { |
|
|
|
if (deshake->fp) { |
|
|
|
snprintf(tmp, 256, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", orig.vec.x, deshake->avg.vec.x, t.vec.x, orig.vec.y, deshake->avg.vec.y, t.vec.y, orig.angle, deshake->avg.angle, t.angle, orig.zoom, deshake->avg.zoom, t.zoom); |
|
|
|
snprintf(tmp, 256, "%f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f, %f\n", orig.vec.x, deshake->avg.vec.x, t.vec.x, orig.vec.y, deshake->avg.vec.y, t.vec.y, orig.angle, deshake->avg.angle, t.angle, orig.zoom, deshake->avg.zoom, t.zoom); |
|
|
|
fwrite(tmp, sizeof(char), strlen(tmp), deshake->fp); |
|
|
|
fwrite(tmp, 1, strlen(tmp), deshake->fp); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Turn relative current frame motion into absolute by adding it to the
|
|
|
|
// Turn relative current frame motion into absolute by adding it to the
|
|
|
|