[FFmpeg-cvslog] avcodec/dvdsubdec: extract every subtitle in a different file (debug).

Clément Bœsch git at videolan.org
Fri Oct 4 08:02:50 CEST 2013


ffmpeg | branch: master | Clément Bœsch <u at pkh.me> | Sun Sep 29 22:11:13 2013 +0200| [71e0ae22aca7dbe13a127ed305b3ef987c9abc58] | committer: Clément Bœsch

avcodec/dvdsubdec: extract every subtitle in a different file (debug).

Even thought a generic solution would be more relevant, this is
currently helpful while debugging.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=71e0ae22aca7dbe13a127ed305b3ef987c9abc58
---

 libavcodec/dvdsubdec.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
index 83ed27e..9caf176 100644
--- a/libavcodec/dvdsubdec.c
+++ b/libavcodec/dvdsubdec.c
@@ -35,6 +35,9 @@ typedef struct DVDSubContext
   int      has_palette;
   uint8_t  colormap[4];
   uint8_t  alpha[256];
+#ifdef DEBUG
+  int sub_id;
+#endif
 } DVDSubContext;
 
 static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *rgba, int num_values)
@@ -504,11 +507,16 @@ static int dvdsub_decode(AVCodecContext *avctx,
         goto no_subtitle;
 
 #if defined(DEBUG)
+    {
+    char ppm_name[32];
+
+    snprintf(ppm_name, sizeof(ppm_name), "/tmp/%05d.ppm", ctx->sub_id++);
     av_dlog(NULL, "start=%d ms end =%d ms\n",
             sub->start_display_time,
             sub->end_display_time);
-    ppm_save("/tmp/a.ppm", sub->rects[0]->pict.data[0],
+    ppm_save(ppm_name, sub->rects[0]->pict.data[0],
              sub->rects[0]->w, sub->rects[0]->h, sub->rects[0]->pict.data[1]);
+    }
 #endif
 
     *data_size = 1;



More information about the ffmpeg-cvslog mailing list