diff options
-rw-r--r-- | doc/APIchanges | 3 | ||||
-rw-r--r-- | libavcodec/avcodec.h | 6 | ||||
-rw-r--r-- | libavcodec/bsf.c | 10 | ||||
-rw-r--r-- | libavcodec/version.h | 4 |
4 files changed, 21 insertions, 2 deletions
diff --git a/doc/APIchanges b/doc/APIchanges index efe15ba4e0..468cc122c7 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -15,6 +15,9 @@ libavutil: 2017-10-21 API changes, most recent first: +2018-08-16 - xxxxxxxxxx - lavc 58.23.100 - avcodec.h + Add av_bsf_flush(). + 2018-05-xx - xxxxxxxxxx - lavf 58.15.100 - avformat.h Add pmt_version field to AVProgram diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 1266879206..56be65bd56 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -5769,6 +5769,7 @@ typedef struct AVBitStreamFilter { int (*init)(AVBSFContext *ctx); int (*filter)(AVBSFContext *ctx, AVPacket *pkt); void (*close)(AVBSFContext *ctx); + void (*flush)(AVBSFContext *ctx); } AVBitStreamFilter; #if FF_API_OLD_BSF @@ -5896,6 +5897,11 @@ int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt); int av_bsf_receive_packet(AVBSFContext *ctx, AVPacket *pkt); /** + * Reset the internal bitstream filter state / flush internal buffers. + */ +void av_bsf_flush(AVBSFContext *ctx); + +/** * Free a bitstream filter context and everything associated with it; write NULL * into the supplied pointer. */ diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c index bd611ea16b..03841da682 100644 --- a/libavcodec/bsf.c +++ b/libavcodec/bsf.c @@ -172,6 +172,16 @@ int av_bsf_init(AVBSFContext *ctx) return 0; } +void av_bsf_flush(AVBSFContext *ctx) +{ + ctx->internal->eof = 0; + + av_packet_unref(ctx->internal->buffer_pkt); + + if (ctx->filter->flush) + ctx->filter->flush(ctx); +} + int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt) { int ret; diff --git a/libavcodec/version.h b/libavcodec/version.h index 907c6fb111..a91e5f01e6 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -28,8 +28,8 @@ #include "libavutil/version.h" #define LIBAVCODEC_VERSION_MAJOR 58 -#define LIBAVCODEC_VERSION_MINOR 22 -#define LIBAVCODEC_VERSION_MICRO 101 +#define LIBAVCODEC_VERSION_MINOR 23 +#define LIBAVCODEC_VERSION_MICRO 100 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \ |