QT SMC Video Decoder by Mike Melanson (melanson@pcisys.net) For more information about the SMC format, visit: http://www.pcisys.net/~melanson/codecs/. More...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
Go to the source code of this file.
Data Structures | |
struct | SmcContext |
Defines | |
#define | CPAIR 2 |
#define | CQUAD 4 |
#define | COCTET 8 |
#define | COLORS_PER_TABLE 256 |
#define | GET_BLOCK_COUNT() (opcode & 0x10) ? (1 + s->buf[stream_ptr++]) : 1 + (opcode & 0x0F); |
#define | ADVANCE_BLOCK() |
Typedefs | |
typedef struct SmcContext | SmcContext |
Functions | |
static void | smc_decode_stream (SmcContext *s) |
static av_cold int | smc_decode_init (AVCodecContext *avctx) |
static int | smc_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static av_cold int | smc_decode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | smc_decoder |
QT SMC Video Decoder by Mike Melanson (melanson@pcisys.net) For more information about the SMC format, visit: http://www.pcisys.net/~melanson/codecs/.
The SMC decoder outputs PAL8 colorspace data.
Definition in file smc.c.
#define ADVANCE_BLOCK | ( | ) |
{ \ pixel_ptr += 4; \ if (pixel_ptr >= width) \ { \ pixel_ptr = 0; \ row_ptr += stride * 4; \ } \ total_blocks--; \ if (total_blocks < 0) \ { \ av_log(s->avctx, AV_LOG_INFO, "warning: block counter just went negative (this should not happen)\n"); \ return; \ } \ }
Definition at line 62 of file smc.c.
Referenced by smc_decode_stream().
#define COCTET 8 |
Definition at line 40 of file smc.c.
Referenced by smc_decode_stream().
#define COLORS_PER_TABLE 256 |
Definition at line 42 of file smc.c.
Referenced by smc_decode_stream().
#define CPAIR 2 |
Definition at line 38 of file smc.c.
Referenced by smc_decode_stream().
#define CQUAD 4 |
Definition at line 39 of file smc.c.
Referenced by smc_decode_stream().
#define GET_BLOCK_COUNT | ( | ) | (opcode & 0x10) ? (1 + s->buf[stream_ptr++]) : 1 + (opcode & 0x0F); |
Definition at line 59 of file smc.c.
Referenced by smc_decode_stream().
typedef struct SmcContext SmcContext |
static av_cold int smc_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int smc_decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int smc_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void smc_decode_stream | ( | SmcContext * | s | ) | [static] |
Definition at line 78 of file smc.c.
Referenced by smc_decode_frame().
{ "smc", AVMEDIA_TYPE_VIDEO, CODEC_ID_SMC, sizeof(SmcContext), smc_decode_init, NULL, smc_decode_end, smc_decode_frame, CODEC_CAP_DR1, .long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"), }