support for the THP game format by Marco Gerards, mgerards xs4all nl
[ffmpeg.git] / libavcodec / mjpeg.c
index ed6016f..a2362df 100644 (file)
@@ -2044,6 +2044,8 @@ static int mjpeg_decode_frame(AVCodecContext *avctx,
                         uint8_t x = *(src++);
 
                         *(dst++) = x;
+                        if (avctx->codec_id != CODEC_ID_THP)
+                        {
                         if (x == 0xff)
                         {
                             while(src<buf_end && x == 0xff)
@@ -2054,6 +2056,7 @@ static int mjpeg_decode_frame(AVCodecContext *avctx,
                             else if (x)
                                 break;
                         }
+                        }
                     }
                     init_get_bits(&s->gb, s->buffer, (dst - s->buffer)*8);
 
@@ -2583,6 +2586,19 @@ AVCodec mjpeg_decoder = {
     NULL
 };
 
+AVCodec thp_decoder = {
+    "thp",
+    CODEC_TYPE_VIDEO,
+    CODEC_ID_THP,
+    sizeof(MJpegDecodeContext),
+    mjpeg_decode_init,
+    NULL,
+    mjpeg_decode_end,
+    mjpeg_decode_frame,
+    CODEC_CAP_DR1,
+    NULL
+};
+
 AVCodec mjpegb_decoder = {
     "mjpegb",
     CODEC_TYPE_VIDEO,