
Go to the source code of this file.
Defines | |
| #define | FULLPEL_MODE 1 |
| #define | HALFPEL_MODE 2 |
| #define | THIRDPEL_MODE 3 |
| #define | PREDICT_MODE 4 |
| #define | stride 16 |
Functions | |
| static void | svq3_luma_dc_dequant_idct_c (DCTELEM *block, int qp) |
| static void | svq3_add_idct_c (uint8_t *dst, DCTELEM *block, int stride, int qp, int dc) |
| static void | pred4x4_down_left_svq3_c (uint8_t *src, uint8_t *topright, int stride) |
| static void | pred16x16_plane_svq3_c (uint8_t *src, int stride) |
| static int | svq3_decode_block (GetBitContext *gb, DCTELEM *block, int index, const int type) |
| static void | svq3_mc_dir_part (MpegEncContext *s, int x, int y, int width, int height, int mx, int my, int dxy, int thirdpel, int dir, int avg) |
| static int | svq3_mc_dir (H264Context *h, int size, int mode, int dir, int avg) |
| static int | svq3_decode_mb (H264Context *h, unsigned int mb_type) |
| static int | svq3_decode_slice_header (H264Context *h) |
| static int | svq3_decode_frame (AVCodecContext *avctx, void *data, int *data_size, uint8_t *buf, int buf_size) |
Variables | |
| static const uint8_t | svq3_scan [16] |
| static const uint8_t | svq3_pred_0 [25][2] |
| static const int8_t | svq3_pred_1 [6][6][5] |
| struct { | |
| uint8_t run | |
| uint8_t level | |
| } | svq3_dct_tables [2][16] |
| static const uint32_t | svq3_dequant_coeff [32] |
| AVCodec | svq3_decoder |
Definition in file svq3.c.
| #define FULLPEL_MODE 1 |
| #define HALFPEL_MODE 2 |
| #define PREDICT_MODE 4 |
| #define stride 16 |
| #define THIRDPEL_MODE 3 |
| static void pred16x16_plane_svq3_c | ( | uint8_t * | src, | |
| int | stride | |||
| ) | [static] |
Definition at line 205 of file svq3.c.
References pred16x16_plane_compat_c().
Referenced by svq3_decode_frame().

| static void pred4x4_down_left_svq3_c | ( | uint8_t * | src, | |
| uint8_t * | topright, | |||
| int | stride | |||
| ) | [static] |
Definition at line 181 of file svq3.c.
References __attribute__(), LOAD_LEFT_EDGE, LOAD_TOP_EDGE, t0, t1, t2, and t3.
Referenced by svq3_decode_frame().

| static void svq3_add_idct_c | ( | uint8_t * | dst, | |
| DCTELEM * | block, | |||
| int | stride, | |||
| int | qp, | |||
| int | dc | |||
| ) | [static] |
Definition at line 145 of file svq3.c.
References cm, cropTbl, MAX_NEG_CROP, and svq3_dequant_coeff.
| static int svq3_decode_block | ( | GetBitContext * | gb, | |
| DCTELEM * | block, | |||
| int | index, | |||
| const int | type | |||
| ) | [inline, static] |
Definition at line 209 of file svq3.c.
References chroma_dc_scan, INVALID_VLC, level, luma_dc_zigzag_scan, run, svq3_dct_tables, svq3_get_ue_golomb(), svq3_scan, and zigzag_scan.
Referenced by svq3_decode_mb().

| static int svq3_decode_frame | ( | AVCodecContext * | avctx, | |
| void * | data, | |||
| int * | data_size, | |||
| uint8_t * | buf, | |||
| int | buf_size | |||
| ) | [static] |
Definition at line 788 of file svq3.c.
References MpegEncContext::adaptive_quant, alloc_tables, av_get_pict_type_char(), av_log(), AV_LOG_DEBUG, AV_LOG_ERROR, MpegEncContext::avctx, AVDISCARD_ALL, AVDISCARD_NONKEY, AVDISCARD_NONREF, H264Context::b_stride, B_TYPE, BE_32, H264Context::chroma_qp, MpegEncContext::context_initialized, MpegEncContext::current_picture, AVCodecContext::debug, DIAG_DOWN_LEFT_PRED, AVCodecContext::extradata, AVCodecContext::extradata_size, FF_DEBUG_PICT_INFO, ff_draw_horiz_band(), AVCodecContext::flags, MpegEncContext::flags, AVCodecContext::flags2, MpegEncContext::flags2, H264Context::frame_num, H264Context::frame_num_offset, AVCodecContext::frame_number, frame_start(), MpegEncContext::gb, get_bits(), get_bits1(), get_bits_count(), H264Context::halfpel_flag, AVCodecContext::has_b_frames, AVCodecContext::height, MpegEncContext::height, hl_decode_mb(), AVCodecContext::hurry_up, I_TYPE, init_get_bits(), MpegEncContext::last_picture, MpegEncContext::last_picture_ptr, MpegEncContext::low_delay, MpegEncContext::mb_height, MpegEncContext::mb_stride, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, memcmp, MPV_common_init(), MPV_frame_end(), MpegEncContext::next_p_frame_damaged, MpegEncContext::next_picture, MpegEncContext::next_picture_ptr, H264Context::next_slice_index, NULL, P_TYPE, PART_NOT_AVAILABLE, MpegEncContext::pict_type, MpegEncContext::picture_number, PLANE_PRED8x8, H264Context::pred16x16, pred16x16_plane_svq3_c(), H264Context::pred4x4, pred4x4_down_left_svq3_c(), H264Context::prev_frame_num, H264Context::prev_frame_num_offset, AVCodecContext::priv_data, MpegEncContext::qscale, H264Context::s, s, scan8, show_bits(), GetBitContext::size_in_bits, skip_bits(), AVCodecContext::skip_frame, H264Context::slice_num, H264Context::slice_type, svq3_decode_mb(), svq3_decode_slice_header(), svq3_get_ue_golomb(), H264Context::thirdpel_flag, H264Context::unknown_svq3_flag, MpegEncContext::unrestricted_mv, AVCodecContext::width, and MpegEncContext::width.

| static int svq3_decode_mb | ( | H264Context * | h, | |
| unsigned int | mb_type | |||
| ) | [static] |
Definition at line 434 of file svq3.c.
References MpegEncContext::adaptive_quant, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, H264Context::b_stride, B_TYPE, IMbInfo::cbp, check_intra4x4_pred_mode(), check_intra_pred_mode(), H264Context::chroma_pred_mode, DSPContext::clear_blocks, MpegEncContext::current_picture, DC_128_PRED, DC_PRED, DC_PRED8x8, MpegEncContext::dsp, FULLPEL_MODE, MpegEncContext::gb, get_bits(), golomb_to_inter_cbp, golomb_to_intra4x4_cbp, H264Context::halfpel_flag, HALFPEL_MODE, i_mb_type_info, I_TYPE, H264Context::intra16x16_pred_mode, H264Context::intra4x4_pred_mode, H264Context::intra4x4_pred_mode_cache, IS_INTER, IS_INTRA, IS_INTRA16x16, IS_INTRA4x4, IS_SKIP, H264Context::left_samples_available, MpegEncContext::mb_stride, MB_TYPE_16x16, MB_TYPE_INTRA16x16, MB_TYPE_INTRA4x4, MB_TYPE_SKIP, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, memcpy, MpegEncContext::next_picture, P_TYPE, PART_NOT_AVAILABLE, MpegEncContext::pict_type, IMbInfo::pred_mode, PREDICT_MODE, MpegEncContext::qscale, H264Context::s, s, scan8, svq3_decode_block(), svq3_get_se_golomb(), svq3_get_ue_golomb(), svq3_mc_dir(), svq3_mc_dir_part(), svq3_pred_0, svq3_pred_1, H264Context::thirdpel_flag, THIRDPEL_MODE, H264Context::top_samples_available, H264Context::topright_samples_available, and write_back_intra_pred_mode().
Referenced by svq3_decode_frame().

| static int svq3_decode_slice_header | ( | H264Context * | h | ) | [static] |
Definition at line 709 of file svq3.c.
References MpegEncContext::adaptive_quant, av_log(), AV_LOG_ERROR, MpegEncContext::avctx, GetBitContext::buffer, MpegEncContext::gb, get_bits(), get_bits1(), get_bits_count(), golomb_to_pict_type, header, H264Context::intra4x4_pred_mode, INVALID_VLC, MpegEncContext::mb_num, MpegEncContext::mb_skip_run, MpegEncContext::mb_stride, MpegEncContext::mb_width, MpegEncContext::mb_x, MpegEncContext::mb_y, memcpy, H264Context::next_slice_index, MpegEncContext::qscale, H264Context::s, s, show_bits(), GetBitContext::size_in_bits, skip_bits(), H264Context::slice_num, H264Context::slice_type, svq3_get_ue_golomb(), and H264Context::unknown_svq3_flag.
Referenced by svq3_decode_frame().

| static void svq3_luma_dc_dequant_idct_c | ( | DCTELEM * | block, | |
| int | qp | |||
| ) | [static] |
| static int svq3_mc_dir | ( | H264Context * | h, | |
| int | size, | |||
| int | mode, | |||
| int | dir, | |||
| int | avg | |||
| ) | [inline, static] |
Definition at line 328 of file svq3.c.
References av_log(), AV_LOG_ERROR, MpegEncContext::avctx, H264Context::b_stride, MpegEncContext::current_picture, fill_rectangle(), H264Context::frame_num_offset, MpegEncContext::gb, MpegEncContext::h_edge_pos, HALFPEL_MODE, INVALID_VLC, MpegEncContext::mb_x, MpegEncContext::mb_y, mv, MpegEncContext::next_picture, pack16to32(), pred_motion(), PREDICT_MODE, H264Context::prev_frame_num_offset, H264Context::s, s, scan8, svq3_get_se_golomb(), svq3_mc_dir_part(), THIRDPEL_MODE, and MpegEncContext::v_edge_pos.
Referenced by svq3_decode_mb().

| static void svq3_mc_dir_part | ( | MpegEncContext * | s, | |
| int | x, | |||
| int | y, | |||
| int | width, | |||
| int | height, | |||
| int | mx, | |||
| int | my, | |||
| int | dxy, | |||
| int | thirdpel, | |||
| int | dir, | |||
| int | avg | |||
| ) | [inline, static] |
Definition at line 266 of file svq3.c.
References DSPContext::avg_pixels_tab, DSPContext::avg_tpel_pixels_tab, CODEC_FLAG_EMU_EDGE, CODEC_FLAG_GRAY, MpegEncContext::current_picture, MpegEncContext::dsp, MpegEncContext::edge_emu_buffer, ff_emulated_edge_mc(), MpegEncContext::flags, MpegEncContext::h_edge_pos, MpegEncContext::last_picture, MpegEncContext::linesize, MpegEncContext::next_picture, DSPContext::put_pixels_tab, DSPContext::put_tpel_pixels_tab, src, MpegEncContext::uvlinesize, and MpegEncContext::v_edge_pos.
Referenced by svq3_decode_mb(), and svq3_mc_dir().

| uint8_t run |
Definition at line 94 of file svq3.c.
Referenced by bit8x8_c(), CodeCoeff(), CodeCoeff_RVLC(), decode_residual(), dv_decode_ac(), dvvideo_init(), encode_subband_c0run(), h261_decode_block(), h261_encode_block(), ChromaKey::handle_opengl(), init_2d_vlc_rl(), init_rl(), mdec_decode_block_intra(), psycho_1_tonal_label(), psycho_4(), putintrablk(), putnonintrablk(), qpeg_decode_intra(), quicktime_fastjpg_huffparse(), rd8x8_c(), svq3_decode_block(), unpack_coeffs(), and wma_decode_block().
struct { ... } svq3_dct_tables[2][16] [static] |
Referenced by svq3_decode_block().
Initial value:
{
"svq3",
CODEC_TYPE_VIDEO,
CODEC_ID_SVQ3,
sizeof(H264Context),
decode_init,
NULL,
decode_end,
svq3_decode_frame,
CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY,
}
Definition at line 1002 of file svq3.c.
Referenced by avcodec_register_all().
const uint32_t svq3_dequant_coeff[32] [static] |
Initial value:
{
3881, 4351, 4890, 5481, 6154, 6914, 7761, 8718,
9781, 10987, 12339, 13828, 15523, 17435, 19561, 21873,
24552, 27656, 30847, 34870, 38807, 43747, 49103, 54683,
61694, 68745, 77615, 89113,100253,109366,126635,141533
}
Definition at line 101 of file svq3.c.
Referenced by svq3_add_idct_c(), and svq3_luma_dc_dequant_idct_c().
const uint8_t svq3_pred_0[25][2] [static] |
Initial value:
{
{ 0, 0 },
{ 1, 0 }, { 0, 1 },
{ 0, 2 }, { 1, 1 }, { 2, 0 },
{ 3, 0 }, { 2, 1 }, { 1, 2 }, { 0, 3 },
{ 0, 4 }, { 1, 3 }, { 2, 2 }, { 3, 1 }, { 4, 0 },
{ 4, 1 }, { 3, 2 }, { 2, 3 }, { 1, 4 },
{ 2, 4 }, { 3, 3 }, { 4, 2 },
{ 4, 3 }, { 3, 4 },
{ 4, 4 }
}
Definition at line 67 of file svq3.c.
Referenced by svq3_decode_mb().
const int8_t svq3_pred_1[6][6][5] [static] |
Initial value:
{
{ { 2,-1,-1,-1,-1 }, { 2, 1,-1,-1,-1 }, { 1, 2,-1,-1,-1 },
{ 2, 1,-1,-1,-1 }, { 1, 2,-1,-1,-1 }, { 1, 2,-1,-1,-1 } },
{ { 0, 2,-1,-1,-1 }, { 0, 2, 1, 4, 3 }, { 0, 1, 2, 4, 3 },
{ 0, 2, 1, 4, 3 }, { 2, 0, 1, 3, 4 }, { 0, 4, 2, 1, 3 } },
{ { 2, 0,-1,-1,-1 }, { 2, 1, 0, 4, 3 }, { 1, 2, 4, 0, 3 },
{ 2, 1, 0, 4, 3 }, { 2, 1, 4, 3, 0 }, { 1, 2, 4, 0, 3 } },
{ { 2, 0,-1,-1,-1 }, { 2, 0, 1, 4, 3 }, { 1, 2, 0, 4, 3 },
{ 2, 1, 0, 4, 3 }, { 2, 1, 3, 4, 0 }, { 2, 4, 1, 0, 3 } },
{ { 0, 2,-1,-1,-1 }, { 0, 2, 1, 3, 4 }, { 1, 2, 3, 0, 4 },
{ 2, 0, 1, 3, 4 }, { 2, 1, 3, 0, 4 }, { 2, 0, 4, 3, 1 } },
{ { 0, 2,-1,-1,-1 }, { 0, 2, 4, 1, 3 }, { 1, 4, 2, 0, 3 },
{ 4, 2, 0, 1, 3 }, { 2, 0, 1, 4, 3 }, { 4, 2, 1, 0, 3 } },
}
Definition at line 79 of file svq3.c.
Referenced by svq3_decode_mb().
const uint8_t svq3_scan[16] [static] |
Initial value:
{
0+0*4, 1+0*4, 2+0*4, 2+1*4,
2+2*4, 3+0*4, 3+1*4, 3+2*4,
0+1*4, 0+2*4, 1+1*4, 1+2*4,
0+3*4, 1+3*4, 2+3*4, 3+3*4,
}
Definition at line 60 of file svq3.c.
Referenced by svq3_decode_block().
1.5.5