#include <stdio.h>#include <stdlib.h>#include "common.h"#include "avcodec.h"

Go to the source code of this file.
Data Structures | |
| struct | TsccContext |
Typedefs | |
| typedef struct TsccContext | CamtasiaContext |
Functions | |
| static int | decode_rle (CamtasiaContext *c, unsigned int srcsize) |
| static int | decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) |
| static int | decode_init (AVCodecContext *avctx) |
| static int | decode_end (AVCodecContext *avctx) |
Variables | |
| AVCodec | tscc_decoder |
Fourcc: TSCC
Codec is very simple: it codes picture (picture difference, really) with algorithm almost identical to Windows RLE8, only without padding and with greater pixel sizes, then this coded picture is packed with ZLib
Supports: BGR8,BGR555,BGR24 - only BGR8 and BGR555 tested
Definition in file tscc.c.
| typedef struct TsccContext CamtasiaContext |
| static int decode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 304 of file tscc.c.
References av_freep(), c, TsccContext::decomp_buf, TsccContext::pic, AVCodecContext::priv_data, and AVCodecContext::release_buffer.

| static int decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 169 of file tscc.c.
References av_log(), AV_LOG_ERROR, TsccContext::avctx, AVPALETTE_SIZE, c, decode_rle(), TsccContext::decomp_buf, TsccContext::decomp_size, FF_BUFFER_HINTS_VALID, AVCodecContext::get_buffer, memcpy, AVCodecContext::palctrl, AVPaletteControl::palette, AVPaletteControl::palette_changed, TsccContext::pic, AVCodecContext::pix_fmt, PIX_FMT_PAL8, AVCodecContext::priv_data, and AVCodecContext::release_buffer.

| static int decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 240 of file tscc.c.
References av_log(), AV_LOG_ERROR, av_malloc(), avcodec_check_dimensions(), TsccContext::avctx, AVCodecContext::bits_per_sample, TsccContext::bpp, c, TsccContext::decomp_buf, TsccContext::decomp_size, AVCodecContext::has_b_frames, AVCodecContext::height, TsccContext::height, NULL, TsccContext::pic, AVCodecContext::pix_fmt, PIX_FMT_BGR24, PIX_FMT_PAL8, PIX_FMT_RGB555, PIX_FMT_RGBA32, AVCodecContext::priv_data, and AVCodecContext::width.

| static int decode_rle | ( | CamtasiaContext * | c, | |
| unsigned int | srcsize | |||
| ) | [static] |
Definition at line 75 of file tscc.c.
References av_log(), AV_LOG_ERROR, TsccContext::avctx, TsccContext::bpp, TsccContext::decomp_buf, TsccContext::height, line, output, TsccContext::pic, and src.

Initial value:
{
"camtasia",
CODEC_TYPE_VIDEO,
CODEC_ID_TSCC,
sizeof(CamtasiaContext),
decode_init,
NULL,
decode_end,
decode_frame,
CODEC_CAP_DR1,
}
Definition at line 319 of file tscc.c.
Referenced by avcodec_register_all().
1.5.5