FFmpeg
4.0
|
Go2Webinar / Go2Meeting decoder. More...
#include <inttypes.h>
#include <zlib.h>
#include "libavutil/imgutils.h"
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "blockdsp.h"
#include "bytestream.h"
#include "elsdec.h"
#include "get_bits.h"
#include "idctdsp.h"
#include "internal.h"
#include "jpegtables.h"
#include "mjpeg.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 | build_vlc (VLC *vlc, const uint8_t *bits_table, const uint8_t *val_table, int nb_codes, int is_ac) |
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, void *data, 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] |
AVCodec | ff_g2m_decoder |
Go2Webinar / Go2Meeting decoder.
Definition in file g2meet.c.
#define EPIC_PIX_STACK_MAX (EPIC_PIX_STACK_SIZE - 1) |
Definition at line 45 of file g2meet.c.
Referenced by epic_decode_from_cache(), epic_decode_run_length(), epic_predict_pixel(), and epic_predict_pixel2().
#define EPIC_HASH_SIZE 256 |
Definition at line 94 of file g2meet.c.
Referenced by djb2_hash(), and epic_free_pixel_cache().
#define LOAD_NEIGHBOURS | ( | x | ) |
Definition at line 367 of file g2meet.c.
Referenced by epic_decode_run_length().
#define UPDATE_NEIGHBOURS | ( | x | ) |
Definition at line 378 of file g2meet.c.
Referenced by epic_decode_run_length().
#define R_shift 16 |
Definition at line 387 of file g2meet.c.
Referenced by epic_decode_pixel_pred(), epic_handle_edges(), and epic_jb_decode_tile().
#define G_shift 8 |
Definition at line 388 of file g2meet.c.
Referenced by epic_decode_pixel_pred(), epic_handle_edges(), and epic_jb_decode_tile().
#define B_shift 0 |
Definition at line 389 of file g2meet.c.
Referenced by epic_decode_pixel_pred(), epic_handle_edges(), and epic_jb_decode_tile().
Definition at line 506 of file g2meet.c.
Referenced by epic_decode_component_pred(), and epic_decode_pixel_pred().
Definition at line 1329 of file g2meet.c.
Referenced by g2m_paint_cursor().
enum ChunkType |
enum Compression |
|
static |
Definition at line 161 of file g2meet.c.
Referenced by jpg_init().
|
static |
Definition at line 182 of file g2meet.c.
Referenced by g2m_decode_init().
|
static |
Definition at line 211 of file g2meet.c.
Referenced by g2m_decode_end(), and g2m_decode_init().
|
static |
Definition at line 223 of file g2meet.c.
Referenced by jpg_decode_data().
|
static |
Definition at line 240 of file g2meet.c.
Referenced by jpg_decode_data().
Definition at line 277 of file g2meet.c.
Referenced by create_filtergraph(), and jpg_decode_data().
|
static |
Definition at line 284 of file g2meet.c.
Referenced by epic_jb_decode_tile(), and kempf_decode_tile().
|
static |
Definition at line 392 of file g2meet.c.
Referenced by epic_hash_add(), and epic_hash_find().
|
static |
Definition at line 404 of file g2meet.c.
Referenced by epic_jb_decode_tile().
|
static |
Definition at line 409 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 421 of file g2meet.c.
Referenced by epic_add_pixel_to_cache().
|
static |
Definition at line 444 of file g2meet.c.
Referenced by epic_decode_tile().
|
inlinestatic |
Definition at line 465 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 476 of file g2meet.c.
Referenced by epic_jb_decode_tile().
|
inlinestatic |
Definition at line 495 of file g2meet.c.
Referenced by epic_decode_from_cache(), epic_decode_run_length(), and epic_predict_from_NW_NE().
|
inlinestatic |
Definition at line 508 of file g2meet.c.
Referenced by epic_decode_pixel_pred().
|
static |
Definition at line 515 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 567 of file g2meet.c.
Referenced by epic_handle_edges().
|
static |
Definition at line 578 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 609 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 744 of file g2meet.c.
Referenced by epic_predict_from_NW_NE().
|
static |
Definition at line 755 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 783 of file g2meet.c.
Referenced by epic_decode_tile().
|
static |
Definition at line 812 of file g2meet.c.
Referenced by epic_jb_decode_tile().
|
static |
Definition at line 875 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1020 of file g2meet.c.
Referenced by kempf_decode_tile().
|
static |
Definition at line 1055 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1166 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1210 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
Definition at line 1332 of file g2meet.c.
Referenced by g2m_decode_frame().
|
static |
|
static |
|
static |
|
static |
Definition at line 61 of file g2meet.c.
Referenced by jpg_decode_block().
|
static |
Definition at line 72 of file g2meet.c.
Referenced by jpg_decode_block().
AVCodec ff_g2m_decoder |