FFmpeg
Data Structures | Macros | Functions | Variables
sheervideo.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "libavutil/intreadwrite.h"
#include "avcodec.h"
#include "get_bits.h"
#include "internal.h"
#include "thread.h"
#include "sheervideodata.h"

Go to the source code of this file.

Data Structures

struct  SheerVideoContext
 

Macros

#define CACHED_BITSTREAM_READER   !ARCH_X86_32
 
#define SHEER_VLC_BITS   12
 

Functions

static void decode_ca4i (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ca4p (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ybr10i (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ybr10 (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_yry10i (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_yry10 (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ca2i (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ca2p (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_c82i (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_c82p (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ybyr (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_byryi (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_byry (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ybri (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_ybr (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_aybri (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_aybr (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_argxi (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_argx (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_rgbxi (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_rgbx (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_argbi (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_argb (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_rgbi (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static void decode_rgb (AVCodecContext *avctx, AVFrame *p, GetBitContext *gb)
 
static av_cold int build_vlc (VLC *vlc, const SheerTable *table)
 
static int decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
 
static av_cold int decode_end (AVCodecContext *avctx)
 

Variables

AVCodec ff_sheervideo_decoder
 

Macro Definition Documentation

#define CACHED_BITSTREAM_READER   !ARCH_X86_32

Definition at line 26 of file sheervideo.c.

#define SHEER_VLC_BITS   12

Function Documentation

static void decode_ca4i ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 43 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ca4p ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 87 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ybr10i ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 175 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ybr10 ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 214 of file sheervideo.c.

Referenced by decode_frame().

static void decode_yry10i ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 290 of file sheervideo.c.

Referenced by decode_frame().

static void decode_yry10 ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 332 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ca2i ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 415 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ca2p ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 465 of file sheervideo.c.

Referenced by decode_frame().

static void decode_c82i ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 567 of file sheervideo.c.

Referenced by decode_frame().

static void decode_c82p ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 617 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ybyr ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 719 of file sheervideo.c.

Referenced by decode_frame().

static void decode_byryi ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 802 of file sheervideo.c.

Referenced by decode_frame().

static void decode_byry ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 876 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ybri ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 959 of file sheervideo.c.

Referenced by decode_frame().

static void decode_ybr ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1027 of file sheervideo.c.

Referenced by decode_frame().

static void decode_aybri ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1103 of file sheervideo.c.

Referenced by decode_frame().

static void decode_aybr ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1181 of file sheervideo.c.

Referenced by decode_frame().

static void decode_argxi ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1269 of file sheervideo.c.

Referenced by decode_frame().

static void decode_argx ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1313 of file sheervideo.c.

Referenced by decode_frame().

static void decode_rgbxi ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1401 of file sheervideo.c.

Referenced by decode_frame().

static void decode_rgbx ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1440 of file sheervideo.c.

Referenced by decode_frame().

static void decode_argbi ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1516 of file sheervideo.c.

Referenced by decode_frame().

static void decode_argb ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1582 of file sheervideo.c.

Referenced by decode_frame().

static void decode_rgbi ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1658 of file sheervideo.c.

Referenced by decode_frame().

static void decode_rgb ( AVCodecContext avctx,
AVFrame p,
GetBitContext gb 
)
static

Definition at line 1717 of file sheervideo.c.

Referenced by decode_frame().

static av_cold int build_vlc ( VLC vlc,
const SheerTable table 
)
static

Definition at line 1784 of file sheervideo.c.

Referenced by decode_frame().

static int decode_frame ( AVCodecContext avctx,
void data,
int got_frame,
AVPacket avpkt 
)
static

Definition at line 1808 of file sheervideo.c.

static av_cold int decode_end ( AVCodecContext avctx)
static

Definition at line 1998 of file sheervideo.c.

Variable Documentation

AVCodec ff_sheervideo_decoder
Initial value:
= {
.name = "sheervideo",
.long_name = NULL_IF_CONFIG_SMALL("BitJazz SheerVideo"),
.priv_data_size = sizeof(SheerVideoContext),
.close = decode_end,
}
static av_cold int decode_end(AVCodecContext *avctx)
Definition: sheervideo.c:1998
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
Definition: decode_audio.c:71
static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
Definition: sheervideo.c:1808
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:117
#define AV_CODEC_CAP_FRAME_THREADS
Codec supports frame-level multithreading.
Definition: codec.h:108
#define AV_CODEC_CAP_DR1
Codec uses get_buffer() or get_encode_buffer() for allocating buffers and supports custom allocators...
Definition: codec.h:52

Definition at line 2008 of file sheervideo.c.