FFmpeg
|
#include <inttypes.h>
#include <zlib.h>
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mem_internal.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "bytestream.h"
#include "codec_internal.h"
#include "elsdec.h"
#include "get_bits.h"
#include "idctdsp.h"
#include "internal.h"
#include "jpegtables.h"
#include "mjpeg.h"
#include "mjpegdec.h"
Go to the source code of this file.
Data Structures | |
struct | ePICPixListElem |
struct | ePICPixHashElem |
struct | ePICPixHash |
struct | ePICContext |
struct | JPGContext |
struct | G2MContext |
Macros | |
#define | EPIC_PIX_STACK_SIZE 1024 |
#define | EPIC_PIX_STACK_MAX (EPIC_PIX_STACK_SIZE - 1) |
#define | EPIC_HASH_SIZE 256 |
#define | LOAD_NEIGHBOURS(x) |
#define | UPDATE_NEIGHBOURS(x) |
#define | R_shift 16 |
#define | G_shift 8 |
#define | B_shift 0 |
#define | TOSIGNED(val) (((val) >> 1) ^ -((val) & 1)) |
#define | APPLY_ALPHA(src, new, alpha) src = (src * (256 - alpha) + new * alpha) >> 8 |
Enumerations | |
enum | ChunkType { DISPLAY_INFO = 0xC8, TILE_DATA, CURSOR_POS, CURSOR_SHAPE, CHUNK_CC, CHUNK_CD, CHUNK_TYPE_DATA = 0x4424, CHUNK_TYPE_ASF_HEADER = 0x4824, CHUNK_TYPE_END = 0x4524, CHUNK_TYPE_STREAM_CHANGE = 0x4324 } |
enum | Compression { COMPR_EPIC_J_B = 2, COMPR_KEMPF_J_B } |
Functions | |
static av_cold int | jpg_init (AVCodecContext *avctx, JPGContext *c) |
static av_cold void | jpg_free_context (JPGContext *ctx) |
static void | jpg_unescape (const uint8_t *src, int src_size, uint8_t *dst, int *dst_size) |
static int | jpg_decode_block (JPGContext *c, GetBitContext *gb, int plane, int16_t *block) |
static void | yuv2rgb (uint8_t *out, int ridx, int Y, int U, int V) |
static int | jpg_decode_data (JPGContext *c, int width, int height, const uint8_t *src, int src_size, uint8_t *dst, int dst_stride, const uint8_t *mask, int mask_stride, int num_mbs, int swapuv) |
static int | djb2_hash (uint32_t key) |
static void | epic_hash_init (ePICPixHash *hash) |
static ePICPixHashElem * | epic_hash_find (const ePICPixHash *hash, uint32_t key) |
static ePICPixHashElem * | epic_hash_add (ePICPixHash *hash, uint32_t key) |
static int | epic_add_pixel_to_cache (ePICPixHash *hash, uint32_t key, uint32_t pix) |
static int | epic_cache_entries_for_pixel (const ePICPixHash *hash, uint32_t pix) |
static void | epic_free_pixel_cache (ePICPixHash *hash) |
static int | is_pixel_on_stack (const ePICContext *dc, uint32_t pix) |
static int | epic_decode_component_pred (ePICContext *dc, int N, int W, int NW) |
static uint32_t | epic_decode_pixel_pred (ePICContext *dc, int x, int y, const uint32_t *curr_row, const uint32_t *above_row) |
static int | epic_predict_pixel (ePICContext *dc, uint8_t *rung, uint32_t *pPix, uint32_t pix) |
static int | epic_handle_edges (ePICContext *dc, int x, int y, const uint32_t *curr_row, const uint32_t *above_row, uint32_t *pPix) |
static int | epic_decode_run_length (ePICContext *dc, int x, int y, int tile_width, const uint32_t *curr_row, const uint32_t *above_row, const uint32_t *above2_row, uint32_t *pPix, int *pRun) |
static int | epic_predict_pixel2 (ePICContext *dc, uint8_t *rung, uint32_t *pPix, uint32_t pix) |
static int | epic_predict_from_NW_NE (ePICContext *dc, int x, int y, int run, int tile_width, const uint32_t *curr_row, const uint32_t *above_row, uint32_t *pPix) |
static int | epic_decode_from_cache (ePICContext *dc, uint32_t W, uint32_t *pPix) |
static int | epic_decode_tile (ePICContext *dc, uint8_t *out, int tile_height, int tile_width, int stride) |
static int | epic_jb_decode_tile (G2MContext *c, int tile_x, int tile_y, const uint8_t *src, size_t src_size, AVCodecContext *avctx) |
static int | kempf_restore_buf (const uint8_t *src, int len, uint8_t *dst, int stride, const uint8_t *jpeg_tile, int tile_stride, int width, int height, const uint8_t *pal, int npal, int tidx) |
static int | kempf_decode_tile (G2MContext *c, int tile_x, int tile_y, const uint8_t *src, int src_size) |
static int | g2m_init_buffers (G2MContext *c) |
static int | g2m_load_cursor (AVCodecContext *avctx, G2MContext *c, GetByteContext *gb) |
static void | g2m_paint_cursor (G2MContext *c, uint8_t *dst, int stride) |
static int | g2m_decode_frame (AVCodecContext *avctx, AVFrame *pic, int *got_picture_ptr, AVPacket *avpkt) |
static av_cold int | g2m_decode_init (AVCodecContext *avctx) |
static av_cold int | g2m_decode_end (AVCodecContext *avctx) |
Variables | |
static const uint8_t | luma_quant [64] |
static const uint8_t | chroma_quant [64] |
const FFCodec | ff_g2m_decoder |
Go2Webinar / Go2Meeting decoder
Definition in file g2meet.c.
#define EPIC_PIX_STACK_MAX (EPIC_PIX_STACK_SIZE - 1) |
#define LOAD_NEIGHBOURS | ( | x | ) |
#define UPDATE_NEIGHBOURS | ( | x | ) |
enum ChunkType |
enum Compression |
|
static |
Definition at line 164 of file g2meet.c.
Referenced by g2m_decode_init().
|
static |
Definition at line 193 of file g2meet.c.
Referenced by g2m_decode_end().
|
static |
Definition at line 205 of file g2meet.c.
Referenced by jpg_decode_data().
|
static |
Definition at line 222 of file g2meet.c.
Referenced by jpg_decode_data().
Definition at line 262 of file g2meet.c.
Referenced by create_filtergraph(), jpg_decode_data(), and tonemap_opencl_init().
|
static |
Definition at line 269 of file g2meet.c.
Referenced by epic_jb_decode_tile(), and kempf_decode_tile().
|
static |
Definition at line 377 of file g2meet.c.
Referenced by epic_hash_add(), and epic_hash_find().
|
static |
Definition at line 389 of file g2meet.c.
Referenced by epic_jb_decode_tile().
|
static |
Definition at line 394 of file g2meet.c.
Referenced by epic_add_pixel_to_cache(), epic_cache_entries_for_pixel(), and epic_decode_from_cache().
|
static |
Definition at line 406 of file g2meet.c.
Referenced by epic_add_pixel_to_cache().
|
static |
Definition at line 429 of file g2meet.c.
Referenced by epic_decode_tile().
|
inlinestatic |
Definition at line 450 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 461 of file g2meet.c.
Referenced by epic_jb_decode_tile().
|
inlinestatic |
Definition at line 480 of file g2meet.c.
Referenced by epic_decode_from_cache(), epic_decode_run_length(), epic_decode_tile(), and epic_predict_from_NW_NE().
|
inlinestatic |
Definition at line 493 of file g2meet.c.
Referenced by epic_decode_pixel_pred().
|
static |
Definition at line 500 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 552 of file g2meet.c.
Referenced by epic_handle_edges().
|
static |
Definition at line 563 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 594 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 729 of file g2meet.c.
Referenced by epic_predict_from_NW_NE().
|
static |
Definition at line 740 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 768 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 797 of file g2meet.c.
Referenced by epic_jb_decode_tile().
|
static |
Definition at line 863 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1014 of file g2meet.c.
Referenced by kempf_decode_tile().
|
static |
Definition at line 1049 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1160 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1204 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1326 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
|
static |
|
static |
|
static |
Definition at line 64 of file g2meet.c.
Referenced by jpg_decode_block().
|
static |
Definition at line 75 of file g2meet.c.
Referenced by jpg_decode_block().
const FFCodec ff_g2m_decoder |