avcodec/pgssubdec: split out flush_cache()
authorJohn Stebbins <stebbins@jetheaddev.com>
Wed, 18 Jun 2014 20:38:36 +0000 (13:38 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 30 Jun 2014 15:24:47 +0000 (17:24 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/pgssubdec.c

index f572d81..63346c0 100644 (file)
@@ -73,18 +73,10 @@ typedef struct PGSSubContext {
     int forced_subs_only;
 } PGSSubContext;
 
-static av_cold int init_decoder(AVCodecContext *avctx)
+static void flush_cache(AVCodecContext *avctx)
 {
-    avctx->pix_fmt     = AV_PIX_FMT_PAL8;
-
-    return 0;
-}
-
-static av_cold int close_decoder(AVCodecContext *avctx)
-{
-    uint16_t picture;
-
     PGSSubContext *ctx = avctx->priv_data;
+    uint16_t picture;
 
     av_freep(&ctx->presentation.objects);
     ctx->presentation.object_count = 0;
@@ -93,6 +85,18 @@ static av_cold int close_decoder(AVCodecContext *avctx)
         av_freep(&ctx->pictures[picture].rle);
         ctx->pictures[picture].rle_buffer_size = 0;
     }
+}
+
+static av_cold int init_decoder(AVCodecContext *avctx)
+{
+    avctx->pix_fmt     = AV_PIX_FMT_PAL8;
+
+    return 0;
+}
+
+static av_cold int close_decoder(AVCodecContext *avctx)
+{
+    flush_cache(avctx);
 
     return 0;
 }