libavcodec/lcldec.c File Reference

LCL (LossLess Codec Library) Video Codec Decoder for MSZH and ZLIB codecs Experimental encoder for ZLIB RGB24. More...

#include <stdio.h>
#include <stdlib.h>
#include "avcodec.h"
#include "bytestream.h"
#include "lcl.h"
#include "libavutil/lzo.h"
#include <zlib.h>

Go to the source code of this file.

Data Structures

struct  LclDecContext

Typedefs

typedef struct LclDecContext LclDecContext

Functions

static unsigned int mszh_decomp (const unsigned char *srcptr, int srclen, unsigned char *destptr, unsigned int destsize)
static int zlib_decomp (AVCodecContext *avctx, const uint8_t *src, int src_len, int offset, int expected)
 decompress a zlib-compressed data block into decomp_buf
static int decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt)
static av_cold int decode_init (AVCodecContext *avctx)
static av_cold int decode_end (AVCodecContext *avctx)

Variables

AVCodec ff_mszh_decoder
AVCodec ff_zlib_decoder

Detailed Description

LCL (LossLess Codec Library) Video Codec Decoder for MSZH and ZLIB codecs Experimental encoder for ZLIB RGB24.

Fourcc: MSZH, ZLIB

Original Win32 dll: Ver2.23 By Kenji Oshima 2000.09.20 avimszh.dll, avizlib.dll

A description of the decoding algorithm can be found here: http://www.pcisys.net/~melanson/codecs

Supports: BGR24 (RGB 24bpp)

Definition in file lcldec.c.


Typedef Documentation

typedef struct LclDecContext LclDecContext

Function Documentation

static av_cold int decode_end ( AVCodecContext avctx  )  [static]

Definition at line 617 of file lcldec.c.

static int decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
AVPacket avpkt 
) [static]

Definition at line 160 of file lcldec.c.

static av_cold int decode_init ( AVCodecContext avctx  )  [static]

Definition at line 470 of file lcldec.c.

static unsigned int mszh_decomp ( const unsigned char *  srcptr,
int  srclen,
unsigned char *  destptr,
unsigned int  destsize 
) [static]
Parameters:
srcptr compressed source buffer, must be padded with at least 5 extra bytes
destptr must be padded sufficiently for av_memcpy_backptr

Definition at line 79 of file lcldec.c.

Referenced by decode_frame().

static int zlib_decomp ( AVCodecContext avctx,
const uint8_t *  src,
int  src_len,
int  offset,
int  expected 
) [static]

decompress a zlib-compressed data block into decomp_buf

Parameters:
src compressed input buffer
src_len data length in input buffer
offset offset in decomp_buf
expected expected decompressed length

Definition at line 128 of file lcldec.c.

Referenced by decode_frame().


Variable Documentation

Initial value:
 {
    .name           = "mszh",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_MSZH,
    .priv_data_size = sizeof(LclDecContext),
    .init           = decode_init,
    .close          = decode_end,
    .decode         = decode_frame,
    .capabilities   = CODEC_CAP_DR1,
    .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) MSZH"),
}

Definition at line 633 of file lcldec.c.

Initial value:
 {
    .name           = "zlib",
    .type           = AVMEDIA_TYPE_VIDEO,
    .id             = CODEC_ID_ZLIB,
    .priv_data_size = sizeof(LclDecContext),
    .init           = decode_init,
    .close          = decode_end,
    .decode         = decode_frame,
    .capabilities   = CODEC_CAP_DR1,
    .long_name = NULL_IF_CONFIG_SMALL("LCL (LossLess Codec Library) ZLIB"),
}

Definition at line 647 of file lcldec.c.