Flash Screen Video decoder. More...
#include <stdio.h>
#include <stdlib.h>
#include <zlib.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "bytestream.h"
#include "get_bits.h"
Go to the source code of this file.
Data Structures | |
struct | BlockInfo |
struct | FlashSVContext |
Typedefs | |
typedef struct BlockInfo | BlockInfo |
typedef struct FlashSVContext | FlashSVContext |
Functions | |
static int | decode_hybrid (const uint8_t *sptr, uint8_t *dptr, int dx, int dy, int h, int w, int stride, const uint32_t *pal) |
static av_cold int | flashsv_decode_init (AVCodecContext *avctx) |
static void | flashsv2_prime (FlashSVContext *s, uint8_t *src, int size, int unp_size) |
static int | flashsv_decode_block (AVCodecContext *avctx, AVPacket *avpkt, GetBitContext *gb, int block_size, int width, int height, int x_pos, int y_pos, int blk_idx) |
static int | calc_deflate_block_size (int tmpblock_size) |
static int | flashsv_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static av_cold int | flashsv_decode_end (AVCodecContext *avctx) |
static av_cold int | flashsv2_decode_init (AVCodecContext *avctx) |
static av_cold int | flashsv2_decode_end (AVCodecContext *avctx) |
Variables | |
AVCodec | ff_flashsv_decoder |
static const uint32_t | ff_flashsv2_default_palette [128] |
AVCodec | ff_flashsv2_decoder |
Flash Screen Video decoder.
A description of the bitstream format for Flash Screen Video version 1/2 is part of the SWF File Format Specification (version 10), which can be downloaded from http://www.adobe.com/devnet/swf.html.
Definition in file flashsv.c.
typedef struct FlashSVContext FlashSVContext |
static int calc_deflate_block_size | ( | int | tmpblock_size | ) | [static] |
Definition at line 213 of file flashsv.c.
Referenced by flashsv_decode_frame().
static int decode_hybrid | ( | const uint8_t * | sptr, | |
uint8_t * | dptr, | |||
int | dx, | |||
int | dy, | |||
int | h, | |||
int | w, | |||
int | stride, | |||
const uint32_t * | pal | |||
) | [static] |
Definition at line 73 of file flashsv.c.
Referenced by flashsv_decode_block().
static av_cold int flashsv2_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static av_cold int flashsv2_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static void flashsv2_prime | ( | FlashSVContext * | s, | |
uint8_t * | src, | |||
int | size, | |||
int | unp_size | |||
) | [static] |
Definition at line 124 of file flashsv.c.
Referenced by flashsv_decode_block().
static int flashsv_decode_block | ( | AVCodecContext * | avctx, | |
AVPacket * | avpkt, | |||
GetBitContext * | gb, | |||
int | block_size, | |||
int | width, | |||
int | height, | |||
int | x_pos, | |||
int | y_pos, | |||
int | blk_idx | |||
) | [static] |
Definition at line 156 of file flashsv.c.
Referenced by flashsv_decode_frame().
static av_cold int flashsv_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 449 of file flashsv.c.
Referenced by flashsv2_decode_end().
static int flashsv_decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int flashsv_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
Definition at line 103 of file flashsv.c.
Referenced by flashsv2_decode_init().
{ .name = "flashsv2", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_FLASHSV2, .priv_data_size = sizeof(FlashSVContext), .init = flashsv2_decode_init, .close = flashsv2_decode_end, .decode = flashsv_decode_frame, .capabilities = CODEC_CAP_DR1, .pix_fmts = (const enum PixelFormat[]){PIX_FMT_BGR24, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v2"), }
const uint32_t ff_flashsv2_default_palette[128] [static] |
{ 0x000000, 0x333333, 0x666666, 0x999999, 0xCCCCCC, 0xFFFFFF, 0x330000, 0x660000, 0x990000, 0xCC0000, 0xFF0000, 0x003300, 0x006600, 0x009900, 0x00CC00, 0x00FF00, 0x000033, 0x000066, 0x000099, 0x0000CC, 0x0000FF, 0x333300, 0x666600, 0x999900, 0xCCCC00, 0xFFFF00, 0x003333, 0x006666, 0x009999, 0x00CCCC, 0x00FFFF, 0x330033, 0x660066, 0x990099, 0xCC00CC, 0xFF00FF, 0xFFFF33, 0xFFFF66, 0xFFFF99, 0xFFFFCC, 0xFF33FF, 0xFF66FF, 0xFF99FF, 0xFFCCFF, 0x33FFFF, 0x66FFFF, 0x99FFFF, 0xCCFFFF, 0xCCCC33, 0xCCCC66, 0xCCCC99, 0xCCCCFF, 0xCC33CC, 0xCC66CC, 0xCC99CC, 0xCCFFCC, 0x33CCCC, 0x66CCCC, 0x99CCCC, 0xFFCCCC, 0x999933, 0x999966, 0x9999CC, 0x9999FF, 0x993399, 0x996699, 0x99CC99, 0x99FF99, 0x339999, 0x669999, 0xCC9999, 0xFF9999, 0x666633, 0x666699, 0x6666CC, 0x6666FF, 0x663366, 0x669966, 0x66CC66, 0x66FF66, 0x336666, 0x996666, 0xCC6666, 0xFF6666, 0x333366, 0x333399, 0x3333CC, 0x3333FF, 0x336633, 0x339933, 0x33CC33, 0x33FF33, 0x663333, 0x993333, 0xCC3333, 0xFF3333, 0x003366, 0x336600, 0x660033, 0x006633, 0x330066, 0x663300, 0x336699, 0x669933, 0x993366, 0x339966, 0x663399, 0x996633, 0x6699CC, 0x99CC66, 0xCC6699, 0x66CC99, 0x9966CC, 0xCC9966, 0x99CCFF, 0xCCFF99, 0xFF99CC, 0x99FFCC, 0xCC99FF, 0xFFCC99, 0x111111, 0x222222, 0x444444, 0x555555, 0xAAAAAA, 0xBBBBBB, 0xDDDDDD, 0xEEEEEE }
Definition at line 480 of file flashsv.c.
Referenced by flashsv2_decode_init().
{ .name = "flashsv", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_FLASHSV, .priv_data_size = sizeof(FlashSVContext), .init = flashsv_decode_init, .close = flashsv_decode_end, .decode = flashsv_decode_frame, .capabilities = CODEC_CAP_DR1, .pix_fmts = (const enum PixelFormat[]){PIX_FMT_BGR24, PIX_FMT_NONE}, .long_name = NULL_IF_CONFIG_SMALL("Flash Screen Video v1"), }