#include "avcodec.h"#include "dsputil.h"#include "mpegvideo.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 | DV_ANCHOR_SIZE (2*12*27) |
| #define | TEX_VLC_BITS 9 |
| #define | DV_VLC_MAP_RUN_SIZE 64 |
| #define | DV_VLC_MAP_LEV_SIZE 512 |
| #define | SC(x, y) ((s[x] - s[y]) ^ ((s[x] - s[y]) >> 7)) |
Functions | |
| static void | dv_build_unquantize_tables (DVVideoContext *s, uint8_t *perm) |
| static int | dvvideo_init (AVCodecContext *avctx) |
| static int | get_bits_left (GetBitContext *s) |
| static int | get_bits_size (GetBitContext *s) |
| 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_decode_video_segment (DVVideoContext *s, const uint8_t *buf_ptr1, const uint16_t *mb_pos_ptr) |
| 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 void | dv_set_class_number (DCTELEM *blk, EncBlockInfo *bi, const uint8_t *zigzag_scan, const int *weight, int bias) |
| static av_always_inline int | dv_guess_dct_mode (DCTELEM *blk) |
| static void | dv_guess_qnos (EncBlockInfo *blks, int *qnos) |
| static void | dv_encode_video_segment (DVVideoContext *s, uint8_t *dif, const uint16_t *mb_pos_ptr) |
| static int | dv_decode_mt (AVCodecContext *avctx, void *sl) |
| static int | dv_write_pack (enum dv_pack_type pack_id, DVVideoContext *c, uint8_t *buf) |
| static void | dv_format_frame (DVVideoContext *c, uint8_t *buf) |
| static int | dvvideo_close (AVCodecContext *c) |
Variables | |
| static void * | dv_anchor [DV_ANCHOR_SIZE] |
| 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 uint16_t | block_sizes [6] |
| static const int | vs_total_ac_bits = (100 * 4 + 68*2) * 5 |
| static const int | mb_area_start [5] = { 1, 6, 21, 43, 64 } |
| #define DV_ANCHOR_SIZE (2*12*27) |
| #define DV_VLC_MAP_LEV_SIZE 512 |
| #define DV_VLC_MAP_RUN_SIZE 64 |
| #define SC | ( | x, | |||
| y | ) | ((s[x] - s[y]) ^ ((s[x] - s[y]) >> 7)) |
| #define TEX_VLC_BITS 9 |
Definition at line 67 of file dv.c.
Referenced by dv_decode_ac(), dvvideo_init(), ff_msmpeg4_decode_block(), h263_decode_block(), init_2d_vlc_rl(), mdec_decode_block_intra(), mpeg1_decode_block_inter(), mpeg1_decode_block_intra(), mpeg1_fast_decode_block_inter(), mpeg2_decode_block_intra(), mpeg2_decode_block_non_intra(), mpeg2_fast_decode_block_intra(), mpeg2_fast_decode_block_non_intra(), and mpeg4_decode_block().
| static void bit_copy | ( | PutBitContext * | pb, | |
| GetBitContext * | gb | |||
| ) | [inline, static] |
| static void dv_build_unquantize_tables | ( | DVVideoContext * | s, | |
| uint8_t * | perm | |||
| ) | [static] |
| static void dv_decode_ac | ( | GetBitContext * | gb, | |
| BlockInfo * | mb, | |||
| DCTELEM * | block | |||
| ) | [static] |
| static int dv_decode_mt | ( | AVCodecContext * | avctx, | |
| void * | sl | |||
| ) | [static] |
| static void dv_decode_video_segment | ( | DVVideoContext * | s, | |
| const uint8_t * | buf_ptr1, | |||
| const uint16_t * | mb_pos_ptr | |||
| ) | [inline, static] |
| static av_always_inline PutBitContext* dv_encode_ac | ( | EncBlockInfo * | bi, | |
| PutBitContext * | pb_pool, | |||
| PutBitContext * | pb_end | |||
| ) | [static] |
| static void dv_encode_video_segment | ( | DVVideoContext * | s, | |
| uint8_t * | dif, | |||
| const uint16_t * | mb_pos_ptr | |||
| ) | [inline, static] |
| static void dv_format_frame | ( | DVVideoContext * | c, | |
| uint8_t * | buf | |||
| ) | [static] |
| static av_always_inline int dv_guess_dct_mode | ( | DCTELEM * | blk | ) | [static] |
| static void dv_guess_qnos | ( | EncBlockInfo * | blks, | |
| int * | qnos | |||
| ) | [inline, static] |
| static av_always_inline int dv_rl2vlc | ( | int | run, | |
| int | l, | |||
| int | sign, | |||
| uint32_t * | vlc | |||
| ) | [static] |
| static av_always_inline int dv_rl2vlc_size | ( | int | run, | |
| int | l | |||
| ) | [static] |
| static av_always_inline void dv_set_class_number | ( | DCTELEM * | blk, | |
| EncBlockInfo * | bi, | |||
| const uint8_t * | zigzag_scan, | |||
| const int * | weight, | |||
| int | bias | |||
| ) | [static] |
| static int dv_write_pack | ( | enum dv_pack_type | pack_id, | |
| DVVideoContext * | c, | |||
| uint8_t * | buf | |||
| ) | [inline, static] |
Definition at line 1072 of file dv.c.
Referenced by dv_format_frame(), dv_inject_audio(), and dv_inject_metadata().
| static int dvvideo_close | ( | AVCodecContext * | c | ) | [static] |
| static int dvvideo_init | ( | AVCodecContext * | avctx | ) | [static] |
| static int get_bits_left | ( | GetBitContext * | s | ) | [inline, static] |
| static int get_bits_size | ( | GetBitContext * | s | ) | [inline, static] |
| static int put_bits_left | ( | PutBitContext * | s | ) | [inline, static] |
const uint16_t block_sizes[6] [static] |
Initial value:
{
112, 112, 112, 112, 80, 80
}
Definition at line 261 of file dv.c.
Referenced by dv_decode_video_segment(), and dv_encode_video_segment().
void* dv_anchor[DV_ANCHOR_SIZE] [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] |
Referenced by dv_rl2vlc(), dv_rl2vlc_size(), and dvvideo_init().
const int mb_area_start[5] = { 1, 6, 21, 43, 64 } [static] |
const int vs_total_ac_bits = (100 * 4 + 68*2) * 5 [static] |
1.5.6