# HG changeset patch # User diego # Date 1175437728 0 # Node ID 4effe3bde31b1e017fe70528553e9894a036c9bf # Parent e82ceaa9c386d5730e6603c81d9f679248624104 support for the THP game format by Marco Gerards, mgerards xs4all nl diff -r e82ceaa9c386 -r 4effe3bde31b allcodecs.c --- a/allcodecs.c Sun Apr 01 11:40:36 2007 +0000 +++ b/allcodecs.c Sun Apr 01 14:28:48 2007 +0000 @@ -130,6 +130,7 @@ REGISTER_DECODER(SVQ3, svq3); REGISTER_ENCDEC (TARGA, targa); REGISTER_DECODER(THEORA, theora); + REGISTER_DECODER(THP, thp); REGISTER_DECODER(TIERTEXSEQVIDEO, tiertexseqvideo); REGISTER_DECODER(TIFF, tiff); REGISTER_DECODER(TRUEMOTION1, truemotion1); diff -r e82ceaa9c386 -r 4effe3bde31b avcodec.h --- a/avcodec.h Sun Apr 01 11:40:36 2007 +0000 +++ b/avcodec.h Sun Apr 01 14:28:48 2007 +0000 @@ -158,6 +158,7 @@ CODEC_ID_FFH264, CODEC_ID_DXA, CODEC_ID_DNXHD, + CODEC_ID_THP, /* various pcm "codecs" */ CODEC_ID_PCM_S16LE= 0x10000, @@ -2329,6 +2330,7 @@ extern AVCodec svq3_decoder; extern AVCodec targa_decoder; extern AVCodec theora_decoder; +extern AVCodec thp_decoder; extern AVCodec tiertexseqvideo_decoder; extern AVCodec tiff_decoder; extern AVCodec truemotion1_decoder; diff -r e82ceaa9c386 -r 4effe3bde31b mjpeg.c --- a/mjpeg.c Sun Apr 01 11:40:36 2007 +0000 +++ b/mjpeg.c Sun Apr 01 14:28:48 2007 +0000 @@ -2044,6 +2044,8 @@ uint8_t x = *(src++); *(dst++) = x; + if (avctx->codec_id != CODEC_ID_THP) + { if (x == 0xff) { while(srcgb, s->buffer, (dst - s->buffer)*8); @@ -2583,6 +2586,19 @@ 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,