Karl Morton's Video Codec decoder. More...
#include <stdio.h>
#include <stdlib.h>
#include "avcodec.h"
#include "bytestream.h"
Go to the source code of this file.
Data Structures | |
struct | KmvcContext |
struct | BitBuf |
Defines | |
#define | KMVC_KEYFRAME 0x80 |
#define | KMVC_PALETTE 0x40 |
#define | KMVC_METHOD 0x0F |
#define | BLK(data, x, y) data[(x) + (y) * 320] |
#define | kmvc_init_getbits(bb, src) bb.bits = 7; bb.bitbuf = *src++; |
#define | kmvc_getbit(bb, src, res) |
Typedefs | |
typedef struct KmvcContext | KmvcContext |
typedef struct BitBuf | BitBuf |
Functions | |
static void | kmvc_decode_intra_8x8 (KmvcContext *ctx, const uint8_t *src, int w, int h) |
static void | kmvc_decode_inter_8x8 (KmvcContext *ctx, const uint8_t *src, int w, int h) |
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 | kmvc_decoder |
Karl Morton's Video Codec decoder.
Definition in file kmvc.c.
#define BLK | ( | data, | ||
x, | ||||
y | ||||
) | data[(x) + (y) * 320] |
Definition at line 56 of file kmvc.c.
Referenced by kmvc_decode_inter_8x8(), and kmvc_decode_intra_8x8().
#define kmvc_getbit | ( | bb, | ||
src, | ||||
res | ||||
) |
{\ res = 0; \ if (bb.bitbuf & (1 << bb.bits)) res = 1; \ bb.bits--; \ if(bb.bits == -1) { \ bb.bitbuf = *src++; \ bb.bits = 7; \ } \ }
Definition at line 60 of file kmvc.c.
Referenced by kmvc_decode_inter_8x8(), and kmvc_decode_intra_8x8().
Definition at line 58 of file kmvc.c.
Referenced by kmvc_decode_inter_8x8(), and kmvc_decode_intra_8x8().
#define KMVC_KEYFRAME 0x80 |
Definition at line 33 of file kmvc.c.
Referenced by decode_frame().
#define KMVC_METHOD 0x0F |
Definition at line 35 of file kmvc.c.
Referenced by decode_frame().
#define KMVC_PALETTE 0x40 |
Definition at line 34 of file kmvc.c.
Referenced by decode_frame().
typedef struct KmvcContext KmvcContext |
static av_cold int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void kmvc_decode_inter_8x8 | ( | KmvcContext * | ctx, | |
const uint8_t * | src, | |||
int | w, | |||
int | h | |||
) | [static] |
Definition at line 145 of file kmvc.c.
Referenced by decode_frame().
static void kmvc_decode_intra_8x8 | ( | KmvcContext * | ctx, | |
const uint8_t * | src, | |||
int | w, | |||
int | h | |||
) | [static] |
Definition at line 70 of file kmvc.c.
Referenced by decode_frame().
{ "kmvc", AVMEDIA_TYPE_VIDEO, CODEC_ID_KMVC, sizeof(KmvcContext), decode_init, NULL, decode_end, decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("Karl Morton's video codec"), }