|
FFmpeg
|
IFF ACBM/DEEP/ILBM/PBM bitmap decoder. More...
#include <stdint.h>#include "libavutil/imgutils.h"#include "bytestream.h"#include "avcodec.h"#include "get_bits.h"#include "internal.h"Go to the source code of this file.
Data Structures | |
| struct | IffContext |
Macros | |
| #define | LUT8_PART(plane, v) |
| #define | LUT8(plane) |
| #define | LUT32(plane) |
| #define | DECODE_HAM_PLANE32(x) |
| #define | DECODE_RGBX_COMMON(type) |
| #define | GETNIBBLE ((i & 1) ? (src[i>>1] & 0xF) : (src[i>>1] >> 4)) |
Enumerations | |
| enum | mask_type { MASK_NONE, MASK_HAS_MASK, MASK_HAS_TRANSPARENT_COLOR, MASK_LASSO } |
Functions | |
| static av_always_inline uint32_t | gray2rgb (const uint32_t x) |
| static int | cmap_read_palette (AVCodecContext *avctx, uint32_t *pal) |
| Convert CMAP buffer (stored in extradata) to lavc palette format. | |
| static int | extract_header (AVCodecContext *const avctx, const AVPacket *const avpkt) |
| Extracts the IFF extra context and updates internal decoder structures. | |
| static av_cold int | decode_end (AVCodecContext *avctx) |
| static av_cold int | decode_init (AVCodecContext *avctx) |
| static void | decodeplane8 (uint8_t *dst, const uint8_t *buf, int buf_size, int plane) |
| Decode interleaved plane buffer up to 8bpp. | |
| static void | decodeplane32 (uint32_t *dst, const uint8_t *buf, int buf_size, int plane) |
| Decode interleaved plane buffer up to 24bpp. | |
| static void | decode_ham_plane32 (uint32_t *dst, const uint8_t *buf, const uint32_t *const pal, unsigned buf_size) |
| Converts one line of HAM6/8-encoded chunky buffer to 24bpp. | |
| static void | lookup_pal_indicies (uint32_t *dst, const uint32_t *buf, const uint32_t *const pal, unsigned width) |
| static int | decode_byterun (uint8_t *dst, int dst_size, const uint8_t *buf, const uint8_t *const buf_end) |
| Decode one complete byterun1 encoded line. | |
| static void | decode_rgb8 (GetByteContext *gb, uint8_t *dst, int width, int height, int linesize) |
| Decode RGB8 buffer. | |
| static void | decode_rgbn (GetByteContext *gb, uint8_t *dst, int width, int height, int linesize) |
| Decode RGBN buffer. | |
| static void | decode_deep_rle32 (uint8_t *dst, const uint8_t *src, int src_size, int width, int height, int linesize) |
| Decode DEEP RLE 32-bit buffer. | |
| static void | decode_deep_tvdc32 (uint8_t *dst, const uint8_t *src, int src_size, int width, int height, int linesize, const int16_t *tvdc) |
| Decode DEEP TVDC 32-bit buffer. | |
| static int | unsupported (AVCodecContext *avctx) |
| static int | decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
Variables | |
| static const uint64_t | plane8_lut [8][256] |
| static const uint32_t | plane32_lut [32][16 *4] |
IFF ACBM/DEEP/ILBM/PBM bitmap decoder.
Definition in file iff.c.
| #define LUT8_PART | ( | plane, | |
| v | |||
| ) |
| #define LUT8 | ( | plane | ) |
| #define LUT32 | ( | plane | ) |
| #define DECODE_HAM_PLANE32 | ( | x | ) |
| #define DECODE_RGBX_COMMON | ( | type | ) |
Definition at line 509 of file iff.c.
Referenced by decode_rgb8(), and decode_rgbn().
| #define GETNIBBLE ((i & 1) ? (src[i>>1] & 0xF) : (src[i>>1] >> 4)) |
Referenced by decode_deep_tvdc32().
| enum mask_type |
|
static |
Definition at line 137 of file iff.c.
Referenced by cmap_read_palette(), and extract_header().
|
static |
Convert CMAP buffer (stored in extradata) to lavc palette format.
Definition at line 144 of file iff.c.
Referenced by decode_frame().
|
static |
Extracts the IFF extra context and updates internal decoder structures.
| avctx | the AVCodecContext where to extract extra context to |
| avpkt | the AVPacket to extract extra context from or NULL to use avctx |
Definition at line 191 of file iff.c.
Referenced by decode_frame(), and decode_init().
|
static |
Definition at line 323 of file iff.c.
Referenced by decode_init().
|
static |
Decode interleaved plane buffer up to 8bpp.
| dst | Destination buffer |
| buf | Source buffer |
| buf_size | |
| plane | plane number to decode as |
Definition at line 393 of file iff.c.
Referenced by decode_frame().
Decode interleaved plane buffer up to 24bpp.
| dst | Destination buffer |
| buf | Source buffer |
| buf_size | |
| plane | plane number to decode as |
Definition at line 414 of file iff.c.
Referenced by decode_frame().
|
static |
Converts one line of HAM6/8-encoded chunky buffer to 24bpp.
| dst | the destination 24bpp buffer |
| buf | the source 8bpp chunky buffer |
| pal | the HAM decode table |
| buf_size | the plane size in bytes |
Definition at line 450 of file iff.c.
Referenced by decode_frame().
|
static |
Definition at line 465 of file iff.c.
Referenced by decode_frame().
|
static |
Decode one complete byterun1 encoded line.
| dst | the destination buffer where to store decompressed bitstream |
| dst_size | the destination plane size in bytes |
| buf | the source byterun1 compressed bitstream |
| buf_end | the EOF of source byterun1 compressed bitstream |
Definition at line 482 of file iff.c.
Referenced by decode_frame().
|
static |
Decode RGB8 buffer.
| [out] | dst | Destination buffer |
| width | Width of destination buffer (pixels) | |
| height | Height of destination buffer (pixels) | |
| linesize | Line size of destination buffer (bytes) |
Definition at line 536 of file iff.c.
Referenced by decode_frame().
|
static |
Decode RGBN buffer.
| [out] | dst | Destination buffer |
| width | Width of destination buffer (pixels) | |
| height | Height of destination buffer (pixels) | |
| linesize | Line size of destination buffer (bytes) |
Definition at line 553 of file iff.c.
Referenced by decode_frame().
|
static |
Decode DEEP RLE 32-bit buffer.
| [out] | dst | Destination buffer |
| [in] | src | Source buffer |
| src_size | Source buffer size (bytes) | |
| width | Width of destination buffer (pixels) | |
| height | Height of destination buffer (pixels) | |
| linesize | Line size of destination buffer (bytes) |
Definition at line 573 of file iff.c.
Referenced by decode_frame().
|
static |
Decode DEEP TVDC 32-bit buffer.
| [out] | dst | Destination buffer |
| [in] | src | Source buffer |
| src_size | Source buffer size (bytes) | |
| width | Width of destination buffer (pixels) | |
| height | Height of destination buffer (pixels) | |
| linesize | Line size of destination buffer (bytes) | |
| int] | tvdc TVDC lookup table |
Definition at line 623 of file iff.c.
Referenced by decode_frame().
|
static |
Definition at line 663 of file iff.c.
Referenced by decode_frame(), mov_read_elst(), and txd_decode_frame().
|
static |
|
static |
|
static |
1.8.2