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"),
}