History

Fix timestamp scaling in the overlay filter.

Compute the outpicref PTS in start_frame(), since it is required for comparing that value with the value of the overpicref. Originally committed as revision 25828 to svn://svn.ffmpeg.org/ffmpeg/trunk

Stefano Sabatini committed 15 years ago

Commit 9b195431 parent d38c3401 file · +2 −3Browse files

Unified · Split

libavfilter/vf_overlay.c+2−3
@@ -212,6 +212,8 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *inpicref) · 211 unmodified lines
212 OverlayContext *over = ctx->priv;212 OverlayContext *over = ctx->priv;
213 213
214 inlink->dst->outputs[0]->out_buf = outpicref;214 inlink->dst->outputs[0]->out_buf = outpicref;
215 outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,
216 ctx->outputs[0]->time_base);
215 217
216 if (!over->overpicref || over->overpicref->pts < outpicref->pts) {218 if (!over->overpicref || over->overpicref->pts < outpicref->pts) {
217 AVFilterBufferRef *old = over->overpicref;219 AVFilterBufferRef *old = over->overpicref;
@@ -322,9 +324,6 @@ static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir) · 104 unmodified lines
322 AVFilterBufferRef *outpicref = outlink->out_buf;324 AVFilterBufferRef *outpicref = outlink->out_buf;
323 OverlayContext *over = ctx->priv;325 OverlayContext *over = ctx->priv;
324 326
325 outpicref->pts = av_rescale_q(outpicref->pts, ctx->inputs[MAIN]->time_base,
326 outlink->time_base);
327
328 if (over->overpicref &&327 if (over->overpicref &&
329 !(over->x >= outpicref->video->w || over->y >= outpicref->video->h ||328 !(over->x >= outpicref->video->w || over->y >= outpicref->video->h ||
330 y+h < over->y || y >= over->y + over->overpicref->video->h)) {329 y+h < over->y || y >= over->y + over->overpicref->video->h)) {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t