FFmpeg
Classes | Macros | Typedefs | Enumerations | Variables
g2meet.c File Reference

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"

Classes

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
 

Typedefs

typedef struct ePICPixListElem ePICPixListElem
 
typedef struct ePICPixHashElem ePICPixHashElem
 
typedef struct ePICPixHash ePICPixHash
 
typedef struct ePICContext ePICContext
 
typedef struct JPGContext JPGContext
 
typedef struct G2MContext G2MContext
 

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 }
 

Variables

AVCodec ff_g2m_decoder
 

Detailed Description

Go2Webinar / Go2Meeting decoder.

Macro Definition Documentation

§ LOAD_NEIGHBOURS

#define LOAD_NEIGHBOURS (   x)
Value:
W = curr_row[(x) - 1]; \
N = above_row[(x)]; \
WW = curr_row[(x) - 2]; \
NW = above_row[(x) - 1]; \
NE = above_row[(x) + 1]; \
NN = above2_row[(x)]; \
NNW = above2_row[(x) - 1]; \
NWW = above_row[(x) - 2]; \
NNE = above2_row[(x) + 1]

§ UPDATE_NEIGHBOURS

#define UPDATE_NEIGHBOURS (   x)
Value:
NNW = NN; \
NN = NNE; \
NWW = NW; \
NW = N; \
N = NE; \
NE = above_row[(x) + 1]; \
NNE = above2_row[(x) + 1]

Variable Documentation

§ ff_g2m_decoder

AVCodec ff_g2m_decoder
Initial value:
= {
.name = "g2m",
.long_name = NULL_IF_CONFIG_SMALL("Go2Meeting"),
.type = AVMEDIA_TYPE_VIDEO,
.id = AV_CODEC_ID_G2M,
.priv_data_size = sizeof(G2MContext),
.init = g2m_decode_init,
.close = g2m_decode_end,
.decode = g2m_decode_frame,
.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_THREADSAFE,
}
#define FF_CODEC_CAP_INIT_THREADSAFE
The codec does not modify any global variables in the init function, allowing to call the init functi...
Definition: internal.h:40
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
Definition: g2meet.c:131
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() for allocating buffers and supports custom allocators.
Definition: avcodec.h:959