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"#include "bytestream.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 + bytestream2_get_byte(&s->gb)) : 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 | ff_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 63 of file smc.c.
Referenced by smc_decode_stream().
| #define COCTET 8 |
Definition at line 41 of file smc.c.
Referenced by smc_decode_stream().
| #define COLORS_PER_TABLE 256 |
Definition at line 43 of file smc.c.
Referenced by smc_decode_stream().
| #define CPAIR 2 |
Definition at line 39 of file smc.c.
Referenced by smc_decode_stream().
| #define CQUAD 4 |
Definition at line 40 of file smc.c.
Referenced by smc_decode_stream().
| #define GET_BLOCK_COUNT | ( | ) | (opcode & 0x10) ? (1 + bytestream2_get_byte(&s->gb)) : 1 + (opcode & 0x0F); |
Definition at line 60 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 79 of file smc.c.
Referenced by smc_decode_frame().
{
.name = "smc",
.type = AVMEDIA_TYPE_VIDEO,
.id = CODEC_ID_SMC,
.priv_data_size = sizeof(SmcContext),
.init = smc_decode_init,
.close = smc_decode_end,
.decode = smc_decode_frame,
.capabilities = CODEC_CAP_DR1,
.long_name = NULL_IF_CONFIG_SMALL("QuickTime Graphics (SMC)"),
}