libavcodec/dv.c File Reference

DV codec. More...

#include "avcodec.h"
#include "dsputil.h"
#include "bitstream.h"
#include "simple_idct.h"
#include "dvdata.h"

Go to the source code of this file.

Data Structures

struct  DVVideoContext
struct  dv_vlc_pair
struct  BlockInfo
struct  EncBlockInfo

Defines

#define ALT_BITSTREAM_READER
#define TEX_VLC_BITS   9
#define DV_VLC_MAP_RUN_SIZE   64
#define DV_VLC_MAP_LEV_SIZE   512

Functions

static int dv_work_pool_size (const DVprofile *d)
static void dv_calc_mb_coordinates (const DVprofile *d, int chan, int seq, int slot, uint16_t *tbl)
static int dv_init_dynamic_tables (const DVprofile *d)
static av_cold int dvvideo_init (AVCodecContext *avctx)
static int put_bits_left (PutBitContext *s)
static void dv_decode_ac (GetBitContext *gb, BlockInfo *mb, DCTELEM *block)
static void bit_copy (PutBitContext *pb, GetBitContext *gb)
static void dv_calculate_mb_xy (DVVideoContext *s, DVwork_chunk *work_chunk, int m, int *mb_x, int *mb_y)
static int dv_decode_video_segment (AVCodecContext *avctx, void *arg)
static av_always_inline int dv_rl2vlc (int run, int l, int sign, uint32_t *vlc)
static av_always_inline int dv_rl2vlc_size (int run, int l)
static av_always_inline
PutBitContext
dv_encode_ac (EncBlockInfo *bi, PutBitContext *pb_pool, PutBitContext *pb_end)
static av_always_inline int dv_guess_dct_mode (DVVideoContext *s, uint8_t *data, int linesize)
static av_always_inline int dv_init_enc_block (EncBlockInfo *bi, uint8_t *data, int linesize, DVVideoContext *s, int bias)
static void dv_guess_qnos (EncBlockInfo *blks, int *qnos)
static int dv_encode_video_segment (AVCodecContext *avctx, void *arg)
static int dv_write_pack (enum dv_pack_type pack_id, DVVideoContext *c, uint8_t *buf)
static int dvvideo_close (AVCodecContext *c)

Variables

static RL_VLC_ELEM dv_rl_vlc [1184]
static struct dv_vlc_pair dv_vlc_map [DV_VLC_MAP_RUN_SIZE][DV_VLC_MAP_LEV_SIZE]
static const int vs_total_ac_bits = (100 * 4 + 68*2) * 5
static const int mb_area_start [5] = { 1, 6, 21, 43, 64 }


Detailed Description

DV codec.

Definition in file dv.c.


Define Documentation

#define ALT_BITSTREAM_READER

Definition at line 40 of file dv.c.

#define DV_VLC_MAP_LEV_SIZE   512

Definition at line 71 of file dv.c.

Referenced by dvvideo_init().

#define DV_VLC_MAP_RUN_SIZE   64

Definition at line 70 of file dv.c.

Referenced by dvvideo_init().

#define TEX_VLC_BITS   9


Function Documentation

static void bit_copy ( PutBitContext pb,
GetBitContext gb 
) [inline, static]

Definition at line 484 of file dv.c.

Referenced by dv_decode_video_segment().

static void dv_calc_mb_coordinates ( const DVprofile d,
int  chan,
int  seq,
int  slot,
uint16_t *  tbl 
) [inline, static]

Definition at line 92 of file dv.c.

Referenced by dv_init_dynamic_tables().

static void dv_calculate_mb_xy ( DVVideoContext s,
DVwork_chunk work_chunk,
int  m,
int *  mb_x,
int *  mb_y 
) [inline, static]

Definition at line 496 of file dv.c.

Referenced by dv_decode_video_segment(), and dv_encode_video_segment().

static void dv_decode_ac ( GetBitContext gb,
BlockInfo mb,
DCTELEM block 
) [static]

Definition at line 423 of file dv.c.

Referenced by dv_decode_video_segment().

static int dv_decode_video_segment ( AVCodecContext avctx,
void *  arg 
) [static]

Definition at line 508 of file dv.c.

static av_always_inline PutBitContext* dv_encode_ac ( EncBlockInfo bi,
PutBitContext pb_pool,
PutBitContext pb_end 
) [static]

Definition at line 763 of file dv.c.

Referenced by dv_encode_video_segment().

static int dv_encode_video_segment ( AVCodecContext avctx,
void *  arg 
) [static]

Definition at line 982 of file dv.c.

static av_always_inline int dv_guess_dct_mode ( DVVideoContext s,
uint8_t *  data,
int  linesize 
) [static]

Definition at line 806 of file dv.c.

Referenced by dv_init_enc_block().

static void dv_guess_qnos ( EncBlockInfo blks,
int *  qnos 
) [inline, static]

Definition at line 913 of file dv.c.

Referenced by dv_encode_video_segment().

static int dv_init_dynamic_tables ( const DVprofile d  )  [static]

Definition at line 207 of file dv.c.

static av_always_inline int dv_init_enc_block ( EncBlockInfo bi,
uint8_t *  data,
int  linesize,
DVVideoContext s,
int  bias 
) [static]

Definition at line 819 of file dv.c.

Referenced by dv_encode_video_segment().

static av_always_inline int dv_rl2vlc ( int  run,
int  l,
int  sign,
uint32_t *  vlc 
) [static]

Definition at line 737 of file dv.c.

Referenced by dv_encode_ac().

static av_always_inline int dv_rl2vlc_size ( int  run,
int  l 
) [static]

Definition at line 743 of file dv.c.

Referenced by dv_guess_qnos(), and dv_init_enc_block().

static int dv_work_pool_size ( const DVprofile d  )  [inline, static]

Definition at line 82 of file dv.c.

Referenced by dv_init_dynamic_tables().

static int dv_write_pack ( enum dv_pack_type  pack_id,
DVVideoContext c,
uint8_t *  buf 
) [inline, static]

Definition at line 1148 of file dv.c.

Referenced by dv_inject_audio(), and dv_inject_metadata().

static int dvvideo_close ( AVCodecContext c  )  [static]

Definition at line 1297 of file dv.c.

static av_cold int dvvideo_init ( AVCodecContext avctx  )  [static]

Definition at line 268 of file dv.c.

static int put_bits_left ( PutBitContext s  )  [inline, static]

Definition at line 417 of file dv.c.

Referenced by dv_encode_ac().


Variable Documentation

RL_VLC_ELEM dv_rl_vlc[1184] [static]

Definition at line 75 of file dv.c.

struct dv_vlc_pair dv_vlc_map[DV_VLC_MAP_RUN_SIZE][DV_VLC_MAP_LEV_SIZE] [static]

const int mb_area_start[5] = { 1, 6, 21, 43, 64 } [static]

Definition at line 415 of file dv.c.

Referenced by dv_guess_qnos(), and dv_init_enc_block().

const int vs_total_ac_bits = (100 * 4 + 68*2) * 5 [static]

Definition at line 413 of file dv.c.

Referenced by dv_encode_video_segment(), and dv_guess_qnos().


Generated on Fri Oct 26 02:35:43 2012 for FFmpeg by  doxygen 1.5.8