libavcodec/dv.c File Reference

DV codec. More...

#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "put_bits.h"
#include "simple_idct.h"
#include "dvdata.h"
#include "dv_tablegen.h"

Go to the source code of this file.

Data Structures

struct  DVVideoContext
struct  BlockInfo
struct  EncBlockInfo

Defines

#define TEX_VLC_BITS   9

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 av_cold int dvvideo_init_encoder (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 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 TEX_VLC_BITS   9


Function Documentation

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

Definition at line 438 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 82 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 450 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 381 of file dv.c.

Referenced by dv_decode_video_segment().

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

Definition at line 462 of file dv.c.

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

Definition at line 711 of file dv.c.

Referenced by dv_encode_video_segment().

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

Definition at line 930 of file dv.c.

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

Definition at line 754 of file dv.c.

Referenced by dv_init_enc_block().

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

Definition at line 861 of file dv.c.

Referenced by dv_encode_video_segment().

static int dv_init_dynamic_tables ( const DVprofile d  )  [static]

Definition at line 197 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 767 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 685 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 691 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 72 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 1120 of file dv.c.

Referenced by dv_inject_audio(), and dv_inject_metadata().

static int dvvideo_close ( AVCodecContext c  )  [static]

Definition at line 1269 of file dv.c.

static av_cold int dvvideo_init ( AVCodecContext avctx  )  [static]

Definition at line 258 of file dv.c.

Referenced by dvvideo_init_encoder().

static av_cold int dvvideo_init_encoder ( AVCodecContext avctx  )  [static]

Definition at line 350 of file dv.c.

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

Definition at line 375 of file dv.c.

Referenced by dv_encode_ac().


Variable Documentation

RL_VLC_ELEM dv_rl_vlc[1184] [static]

Definition at line 70 of file dv.c.

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

Definition at line 373 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 372 of file dv.c.

Referenced by dv_encode_video_segment(), and dv_guess_qnos().


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