diff options
author | James Almer <jamrial@gmail.com> | 2019-05-06 00:22:32 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2019-05-06 00:22:32 -0300 |
commit | fec4212d8e0906234790678cfc08e342e74e646c (patch) | |
tree | 42db26d64aed63c4829975f8701c22d3c5f1431f | |
parent | d88193c2196cf5342424aaa7a44b046c71c2527a (diff) | |
download | ffmpeg-streaming-fec4212d8e0906234790678cfc08e342e74e646c.zip ffmpeg-streaming-fec4212d8e0906234790678cfc08e342e74e646c.tar.gz |
avcodec/vp9_raw_reorder: reset state when flushing
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r-- | libavcodec/vp9_raw_reorder_bsf.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libavcodec/vp9_raw_reorder_bsf.c b/libavcodec/vp9_raw_reorder_bsf.c index 01f3dad..f19b4c7 100644 --- a/libavcodec/vp9_raw_reorder_bsf.c +++ b/libavcodec/vp9_raw_reorder_bsf.c @@ -385,6 +385,16 @@ fail: return err; } +static void vp9_raw_reorder_flush(AVBSFContext *bsf) +{ + VP9RawReorderContext *ctx = bsf->priv_data; + + for (int s = 0; s < FRAME_SLOTS; s++) + vp9_raw_reorder_clear_slot(ctx, s); + ctx->next_frame = NULL; + ctx->sequence = 0; +} + static void vp9_raw_reorder_close(AVBSFContext *bsf) { VP9RawReorderContext *ctx = bsf->priv_data; @@ -402,6 +412,7 @@ const AVBitStreamFilter ff_vp9_raw_reorder_bsf = { .name = "vp9_raw_reorder", .priv_data_size = sizeof(VP9RawReorderContext), .close = &vp9_raw_reorder_close, + .flush = &vp9_raw_reorder_flush, .filter = &vp9_raw_reorder_filter, .codec_ids = vp9_raw_reorder_codec_ids, }; |