FFmpeg
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
dvdata.h File Reference

Constants for DV codec. More...

#include "avcodec.h"
#include "dsputil.h"
#include "get_bits.h"
#include "dv_profile.h"

Go to the source code of this file.

Data Structures

struct  DVVideoContext
 

Macros

#define DV_PROFILE_IS_HD(p)   ((p)->video_stype & 0x10)
 
#define DV_PROFILE_IS_1080i50(p)   (((p)->video_stype == 0x14) && ((p)->dsf == 1))
 
#define DV_PROFILE_IS_720p50(p)   (((p)->video_stype == 0x18) && ((p)->dsf == 1))
 
#define DV_MAX_FRAME_SIZE   576000
 largest possible DV frame, in bytes (1080i50)
 
#define DV_MAX_BPM   8
 maximum number of blocks per macroblock in any DV format
 
#define TEX_VLC_BITS   9
 

Enumerations

enum  dv_section_type {
  dv_sect_header = 0x1f, dv_sect_subcode = 0x3f, dv_sect_vaux = 0x56, dv_sect_audio = 0x76,
  dv_sect_video = 0x96
}
 
enum  dv_pack_type {
  dv_header525 = 0x3f, dv_header625 = 0xbf, dv_timecode = 0x13, dv_audio_source = 0x50,
  dv_audio_control = 0x51, dv_audio_recdate = 0x52, dv_audio_rectime = 0x53, dv_video_source = 0x60,
  dv_video_control = 0x61, dv_video_recdate = 0x62, dv_video_rectime = 0x63, dv_unknown_pack = 0xff
}
 

Functions

int ff_dv_init_dynamic_tables (const DVprofile *d)
 
int ff_dvvideo_init (AVCodecContext *avctx)
 
static int dv_work_pool_size (const DVprofile *d)
 
static void dv_calculate_mb_xy (DVVideoContext *s, DVwork_chunk *work_chunk, int m, int *mb_x, int *mb_y)
 

Variables

const uint8_t ff_dv_quant_shifts [22][4]
 
const uint8_t ff_dv_quant_offset [4]
 
const int ff_dv_iweight_88 [64]
 
const int ff_dv_iweight_248 [64]
 
const int ff_dv_iweight_1080_y [64]
 The "inverse" DV100 weights are actually just the spec weights (zig-zagged).
 
const int ff_dv_iweight_1080_c [64]
 
const int ff_dv_iweight_720_y [64]
 
const int ff_dv_iweight_720_c [64]
 
RL_VLC_ELEM ff_dv_rl_vlc [1184]
 

Detailed Description

Constants for DV codec.

Definition in file dvdata.h.

Macro Definition Documentation

#define DV_PROFILE_IS_HD (   p)    ((p)->video_stype & 0x10)

Definition at line 82 of file dvdata.h.

Referenced by dv_decode_video_segment(), and ff_dv_init_dynamic_tables().

#define DV_PROFILE_IS_1080i50 (   p)    (((p)->video_stype == 0x14) && ((p)->dsf == 1))

Definition at line 83 of file dvdata.h.

Referenced by dv_work_pool_size(), and ff_dv_init_dynamic_tables().

#define DV_PROFILE_IS_720p50 (   p)    (((p)->video_stype == 0x18) && ((p)->dsf == 1))

Definition at line 84 of file dvdata.h.

Referenced by dv_work_pool_size(), and ff_dv_init_dynamic_tables().

#define DV_MAX_FRAME_SIZE   576000

largest possible DV frame, in bytes (1080i50)

Definition at line 89 of file dvdata.h.

#define DV_MAX_BPM   8

maximum number of blocks per macroblock in any DV format

Definition at line 94 of file dvdata.h.

Referenced by dv_decode_video_segment(), and dv_encode_video_segment().

#define TEX_VLC_BITS   9

Enumeration Type Documentation

Enumerator:
dv_sect_header 
dv_sect_subcode 
dv_sect_vaux 
dv_sect_audio 
dv_sect_video 

Definition at line 49 of file dvdata.h.

Enumerator:
dv_header525 
dv_header625 
dv_timecode 
dv_audio_source 
dv_audio_control 
dv_audio_recdate 
dv_audio_rectime 
dv_video_source 
dv_video_control 
dv_video_recdate 
dv_video_rectime 
dv_unknown_pack 

Definition at line 57 of file dvdata.h.

Function Documentation

int ff_dv_init_dynamic_tables ( const DVprofile d)

Definition at line 178 of file dv.c.

Referenced by dvvideo_decode_frame().

int ff_dvvideo_init ( AVCodecContext avctx)

Definition at line 239 of file dv.c.

Referenced by dvvideo_init_encoder().

static int dv_work_pool_size ( const DVprofile d)
inlinestatic

Definition at line 103 of file dvdata.h.

Referenced by dvvideo_decode_frame(), and ff_dv_init_dynamic_tables().

static void dv_calculate_mb_xy ( DVVideoContext s,
DVwork_chunk work_chunk,
int  m,
int *  mb_x,
int *  mb_y 
)
inlinestatic

Definition at line 113 of file dvdata.h.

Referenced by dv_decode_video_segment(), and dv_encode_video_segment().

Variable Documentation

const uint8_t ff_dv_quant_shifts[22][4]

Definition at line 31 of file dvdata.c.

Referenced by dv_guess_qnos(), and ff_dv_init_dynamic_tables().

const uint8_t ff_dv_quant_offset[4]

Definition at line 56 of file dvdata.c.

Referenced by dv_decode_video_segment(), and dv_guess_qnos().

const int ff_dv_iweight_88[64]

Definition at line 58 of file dvdata.c.

Referenced by ff_dv_init_dynamic_tables().

const int ff_dv_iweight_248[64]

Definition at line 68 of file dvdata.c.

Referenced by ff_dv_init_dynamic_tables().

const int ff_dv_iweight_1080_y[64]

The "inverse" DV100 weights are actually just the spec weights (zig-zagged).

Definition at line 82 of file dvdata.c.

Referenced by ff_dv_init_dynamic_tables().

const int ff_dv_iweight_1080_c[64]

Definition at line 92 of file dvdata.c.

Referenced by ff_dv_init_dynamic_tables().

const int ff_dv_iweight_720_y[64]

Definition at line 102 of file dvdata.c.

Referenced by ff_dv_init_dynamic_tables().

const int ff_dv_iweight_720_c[64]

Definition at line 112 of file dvdata.c.

Referenced by ff_dv_init_dynamic_tables().

RL_VLC_ELEM ff_dv_rl_vlc[1184]

Definition at line 52 of file dv.c.

Referenced by dv_decode_ac().