|
|
|
@ -290,8 +290,7 @@ static void Flush(filter_t *filter) |
|
|
|
for (unsigned i = 0; i < MAX_PAST + MAX_FUTURE; i++) |
|
|
|
if (sys->history[i].field != NULL) |
|
|
|
{ |
|
|
|
sys->history[i].field->context.destroy( |
|
|
|
&sys->history[i].field->context); |
|
|
|
vlc_vdp_video_destroy(sys->history[i].field); |
|
|
|
sys->history[i].field = NULL; |
|
|
|
} |
|
|
|
} |
|
|
|
@ -503,7 +502,7 @@ static picture_t *Render(filter_t *filter, picture_t *src, bool import) |
|
|
|
{ |
|
|
|
f = sys->history[0].field; |
|
|
|
if (f != NULL) |
|
|
|
f->context.destroy(&f->context); |
|
|
|
vlc_vdp_video_destroy(f); |
|
|
|
|
|
|
|
memmove(sys->history, sys->history + 1, |
|
|
|
sizeof (sys->history[0]) * (MAX_PAST + MAX_FUTURE)); |
|
|
|
@ -680,7 +679,7 @@ static picture_t *Render(filter_t *filter, picture_t *src, bool import) |
|
|
|
skip: |
|
|
|
f = sys->history[0].field; |
|
|
|
if (f != NULL) |
|
|
|
f->context.destroy(&f->context); /* Release oldest field */ |
|
|
|
vlc_vdp_video_destroy(f); /* Release oldest field */ |
|
|
|
memmove(sys->history, sys->history + 1, /* Advance history */ |
|
|
|
sizeof (sys->history[0]) * (MAX_PAST + MAX_FUTURE)); |
|
|
|
|
|
|
|
|