.
[.]


Detailed Description

See also:
7.1.4, p91 and 8.1.1.7, p(1)04


Functions

static int vc1_coded_block_pred (MpegEncContext *s, int n, uint8_t **coded_block_ptr)
static void vc1_decode_ac_coeff (VC1Context *v, int *last, int *skip, int *value, int codingset)
 Decode one AC coefficient.
static int vc1_decode_i_block (VC1Context *v, DCTELEM block[64], int n, int coded, int codingset)
 Decode intra block in intra frames - should be faster than decode_intra_block.
static int vc1_decode_i_block_adv (VC1Context *v, DCTELEM block[64], int n, int coded, int codingset, int mquant)
 Decode intra block in intra frames - should be faster than decode_intra_block.
static int vc1_decode_intra_block (VC1Context *v, DCTELEM block[64], int n, int coded, int mquant, int codingset)
 Decode intra block in inter frames - more generic version than vc1_decode_i_block.
static int vc1_decode_p_block (VC1Context *v, DCTELEM block[64], int n, int mquant, int ttmb, int first_block)
 Decode P block.
static int vc1_decode_p_mb (VC1Context *v)
 Decode one P-frame MB (in Simple/Main profile).
static void vc1_decode_b_mb (VC1Context *v)
 Decode one B-frame MB (in Main profile).
static void vc1_decode_i_blocks (VC1Context *v)
 Decode blocks of I-frame.
static void vc1_decode_i_blocks_adv (VC1Context *v)
 Decode blocks of I-frame for advanced profile.
static void vc1_decode_p_blocks (VC1Context *v)
static void vc1_decode_b_blocks (VC1Context *v)
static void vc1_decode_skip_blocks (VC1Context *v)
static void vc1_decode_blocks (VC1Context *v)
static av_always_inline uint8_t * find_next_marker (uint8_t *src, uint8_t *end)
 Find VC-1 marker in buffer.
static av_always_inline int vc1_unescape_buffer (uint8_t *src, int size, uint8_t *dst)
static int vc1_decode_init (AVCodecContext *avctx)
 Initialize a VC1/WMV3 decoder.
static int vc1_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size)
 Decode a VC1/WMV3 frame.
static int vc1_decode_end (AVCodecContext *avctx)
 Close a VC1/WMV3 decoder.

Variables

AVCodec vc1_decoder
AVCodec wmv3_decoder


Function Documentation

static int vc1_coded_block_pred ( MpegEncContext s,
int  n,
uint8_t **  coded_block_ptr 
) [inline, static]

Definition at line 2231 of file vc1.c.

Referenced by vc1_decode_i_blocks(), and vc1_decode_i_blocks_adv().

static void vc1_decode_ac_coeff ( VC1Context v,
int *  last,
int *  skip,
int *  value,
int  codingset 
) [static]

Decode one AC coefficient.

Parameters:
v The VC1 context
last Last coefficient
skip How much zero coefficients to skip
value Decoded AC coefficient value
See also:
8.1.3.4

Definition at line 2265 of file vc1.c.

Referenced by vc1_decode_i_block(), vc1_decode_i_block_adv(), vc1_decode_intra_block(), and vc1_decode_p_block().

static int vc1_decode_i_block ( VC1Context v,
DCTELEM  block[64],
int  n,
int  coded,
int  codingset 
) [static]

Decode intra block in intra frames - should be faster than decode_intra_block.

Parameters:
v VC1Context
block block to decode
coded are AC coeffs present or not
codingset set of VLC to decode data

Definition at line 2329 of file vc1.c.

Referenced by vc1_decode_i_blocks().

static int vc1_decode_i_block_adv ( VC1Context v,
DCTELEM  block[64],
int  n,
int  coded,
int  codingset,
int  mquant 
) [static]

Decode intra block in intra frames - should be faster than decode_intra_block.

Parameters:
v VC1Context
block block to decode
coded are AC coeffs present or not
codingset set of VLC to decode data

Definition at line 2494 of file vc1.c.

Referenced by vc1_decode_i_blocks_adv().

static int vc1_decode_intra_block ( VC1Context v,
DCTELEM  block[64],
int  n,
int  coded,
int  mquant,
int  codingset 
) [static]

Decode intra block in inter frames - more generic version than vc1_decode_i_block.

Parameters:
v VC1Context
block block to decode
coded are AC coeffs present or not
mquant block quantizer
codingset set of VLC to decode data

Definition at line 2691 of file vc1.c.

Referenced by vc1_decode_b_mb(), and vc1_decode_p_mb().

static int vc1_decode_p_block ( VC1Context v,
DCTELEM  block[64],
int  n,
int  mquant,
int  ttmb,
int  first_block 
) [static]

Decode P block.

Definition at line 2887 of file vc1.c.

Referenced by vc1_decode_b_mb(), and vc1_decode_p_mb().

static int vc1_decode_p_mb ( VC1Context v  )  [static]

Decode one P-frame MB (in Simple/Main profile).

Definition at line 3005 of file vc1.c.

Referenced by vc1_decode_p_blocks().

static void vc1_decode_b_mb ( VC1Context v  )  [static]

Decode one B-frame MB (in Main profile).

Definition at line 3240 of file vc1.c.

Referenced by vc1_decode_b_blocks().

static void vc1_decode_i_blocks ( VC1Context v  )  [static]

Decode blocks of I-frame.

Definition at line 3391 of file vc1.c.

Referenced by vc1_decode_blocks().

static void vc1_decode_i_blocks_adv ( VC1Context v  )  [static]

Decode blocks of I-frame for advanced profile.

Definition at line 3503 of file vc1.c.

Referenced by vc1_decode_blocks().

static void vc1_decode_p_blocks ( VC1Context v  )  [static]

Definition at line 3631 of file vc1.c.

Referenced by vc1_decode_blocks().

static void vc1_decode_b_blocks ( VC1Context v  )  [static]

Definition at line 3680 of file vc1.c.

Referenced by vc1_decode_blocks().

static void vc1_decode_skip_blocks ( VC1Context v  )  [static]

Definition at line 3729 of file vc1.c.

Referenced by vc1_decode_blocks().

static void vc1_decode_blocks ( VC1Context v  )  [static]

Definition at line 3748 of file vc1.c.

Referenced by vc1_decode_frame().

static av_always_inline uint8_t* find_next_marker ( uint8_t *  src,
uint8_t *  end 
) [static]

Find VC-1 marker in buffer.

Returns:
position where next marker starts or end of buffer if no marker found

Definition at line 3785 of file vc1.c.

Referenced by vc1_decode_frame(), and vc1_decode_init().

static av_always_inline int vc1_unescape_buffer ( uint8_t *  src,
int  size,
uint8_t *  dst 
) [static]

Definition at line 3798 of file vc1.c.

Referenced by vc1_decode_frame(), and vc1_decode_init().

static int vc1_decode_init ( AVCodecContext avctx  )  [static]

Initialize a VC1/WMV3 decoder.

Todo:
TODO: Handle VC-1 IDUs (Transport level?)
Todo:
TODO: Decypher remaining bits in extra_data

Definition at line 3821 of file vc1.c.

static int vc1_decode_frame ( AVCodecContext avctx,
void *  data,
int *  data_size,
uint8_t *  buf,
int  buf_size 
) [static]

Decode a VC1/WMV3 frame.

Todo:
TODO: Handle VC-1 IDUs (Transport level?)

Definition at line 3948 of file vc1.c.

static int vc1_decode_end ( AVCodecContext avctx  )  [static]

Close a VC1/WMV3 decoder.

Warning:
Initial try at using MpegEncContext stuff

Definition at line 4116 of file vc1.c.


Variable Documentation

Initial value:

 {
    "vc1",
    CODEC_TYPE_VIDEO,
    CODEC_ID_VC1,
    sizeof(VC1Context),
    vc1_decode_init,
    NULL,
    vc1_decode_end,
    vc1_decode_frame,
    CODEC_CAP_DELAY,
    NULL
}

Definition at line 4132 of file vc1.c.

Initial value:

 {
    "wmv3",
    CODEC_TYPE_VIDEO,
    CODEC_ID_WMV3,
    sizeof(VC1Context),
    vc1_decode_init,
    NULL,
    vc1_decode_end,
    vc1_decode_frame,
    CODEC_CAP_DELAY,
    NULL
}

Definition at line 4145 of file vc1.c.


Generated on Sat Jul 31 05:18:28 2010 for MythTV by  doxygen 1.5.5