#include "internal.h"
#include "dsputil.h"
#include "avcodec.h"
#include "mpegvideo.h"
#include "h264.h"
#include "h264data.h"
#include "h264_mvpred.h"
#include "golomb.h"
#include "rectangle.h"
#include "vdpau_internal.h"
#include "svq1.h"
Go to the source code of this file.
Data Structures | |
struct | SVQ3Context |
Defines | |
#define | FULLPEL_MODE 1 |
#define | HALFPEL_MODE 2 |
#define | THIRDPEL_MODE 3 |
#define | PREDICT_MODE 4 |
#define | stride 16 |
Functions | |
void | ff_svq3_luma_dc_dequant_idct_c (DCTELEM *output, DCTELEM *input, int qp) |
void | ff_svq3_add_idct_c (uint8_t *dst, DCTELEM *block, int stride, int qp, int dc) |
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 (SVQ3Context *svq3, unsigned int mb_type) |
static int | svq3_decode_slice_header (AVCodecContext *avctx) |
static av_cold int | svq3_decode_init (AVCodecContext *avctx) |
static int | svq3_decode_frame (AVCodecContext *avctx, void *data, int *data_size, AVPacket *avpkt) |
static int | svq3_decode_end (AVCodecContext *avctx) |
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 | ff_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 |
Definition at line 173 of file svq3.c.
Referenced by hl_decode_mb_idct_luma(), hl_decode_mb_internal(), and hl_decode_mb_predict_luma().
static int svq3_decode_block | ( | GetBitContext * | gb, | |
DCTELEM * | block, | |||
int | index, | |||
const int | type | |||
) | [inline, static] |
static int svq3_decode_end | ( | AVCodecContext * | avctx | ) | [static] |
static int svq3_decode_frame | ( | AVCodecContext * | avctx, | |
void * | data, | |||
int * | data_size, | |||
AVPacket * | avpkt | |||
) | [static] |
static av_cold int svq3_decode_init | ( | AVCodecContext * | avctx | ) | [static] |
static int svq3_decode_mb | ( | SVQ3Context * | svq3, | |
unsigned int | mb_type | |||
) | [static] |
static int svq3_decode_slice_header | ( | AVCodecContext * | avctx | ) | [static] |
static int svq3_mc_dir | ( | H264Context * | h, | |
int | size, | |||
int | mode, | |||
int | dir, | |||
int | avg | |||
) | [inline, static] |
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] |
Initial value:
{ .name = "svq3", .type = AVMEDIA_TYPE_VIDEO, .id = CODEC_ID_SVQ3, .priv_data_size = sizeof(SVQ3Context), .init = svq3_decode_init, .close = svq3_decode_end, .decode = svq3_decode_frame, .capabilities = CODEC_CAP_DRAW_HORIZ_BAND | CODEC_CAP_DR1 | CODEC_CAP_DELAY, .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"), .pix_fmts = (const enum PixelFormat[]){ PIX_FMT_YUVJ420P, PIX_FMT_NONE }, }
Definition at line 125 of file svq3.c.
Referenced by adpcm_decode_frame(), ass_log(), bit8x8_c(), clip_coeffs(), dct_quantize_refine(), dct_quantize_TMPL(), dct_quantize_trellis_c(), dct_single_coeff_elimination(), dct_unquantize_h263_altivec(), dct_unquantize_h263_inter_c(), dct_unquantize_h263_intra_c(), dct_unquantize_h263_intra_mmx(), dct_unquantize_h263_mmi(), dct_unquantize_mpeg1_inter_c(), dct_unquantize_mpeg1_intra_c(), dct_unquantize_mpeg2_inter_c(), dct_unquantize_mpeg2_intra_bitexact(), dct_unquantize_mpeg2_intra_c(), decide_ac_pred(), decode_ac_coeffs(), decode_block(), decode_block_intra(), decode_block_progressive(), decode_coeffs(), decode_component(), decode_frame(), decode_i_block(), decode_lowdelay_slice(), decode_qlogs(), decode_residual(), decode_residual_block(), denoise_dct_c(), dirac_unpack_idwt_params(), dnxhd_10bit_dct_quantize(), dnxhd_calc_ac_bits(), dnxhd_decode_dct_block(), dnxhd_init_vlc(), dnxhd_unquantize_c(), dump_enc_cfg(), dv_decode_ac(), ebml_level_end(), ebml_read_master(), encode_ac_coeffs(), encode_acs(), encode_block(), estimate_acs(), ff_dct_quantize_c(), ff_dvvideo_init(), ff_h263_encode_mb(), ff_init_rl(), ff_init_vlc_rl(), ff_msmpeg4_decode_block(), ff_msmpeg4_encode_block(), ff_msmpeg4_encode_init(), ff_snow_common_end(), ff_snow_common_init_after_header(), ff_snow_reset_contexts(), ff_spatial_dwt(), ff_spatial_idwt_buffered_init(), ff_spatial_idwt_buffered_slice(), ff_spatial_idwt_init(), ff_spatial_idwt_init2(), ff_spatial_idwt_slice(), ff_spatial_idwt_slice2(), ff_wma_run_level_decode(), find_best_tables(), flac_encode_init(), get_block_rate(), guess_palette(), h261_decode_block(), h261_encode_block(), h263_decode_block(), h263_encode_block(), hardthresh_c(), imc_decode_level_coefficients(), init_2d_vlc_rl(), init_coef_vlc(), init_h263_dc_for_msmpeg4(), init_planes(), init_quantized_coeffs_elem0(), init_uni_ac_vlc(), init_uni_dc_tab(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), matroska_parse_seekhead_entry(), mdec_decode_block_intra(), mediumthresh_c(), mov_write_dvc1_structs(), mpeg1_decode_block_inter(), mpeg1_decode_block_intra(), mpeg1_encode_block(), 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(), mpeg4_decode_block(), mpeg4_decode_dc(), mpeg4_encode_block(), mpeg4_get_block_length(), msmpeg4_decode_dc(), opt_loglevel(), process_subpacket_9(), qdm2_fft_generate_tone(), qdm2_fft_tone_synthesizer(), rd8x8_c(), softthresh_c(), svq1_decode_block_intra(), svq1_decode_block_non_intra(), svq1_encode_plane(), svq3_decode_block(), tgq_dconly(), vc1_decode_ac_coeff(), w_c(), and x8_decode_intra_mb().
Definition at line 125 of file svq3.c.
Referenced by bink_decode_plane(), binkb_decode_plane(), bit8x8_c(), dct_quantize_refine(), dct_quantize_trellis_c(), dct_single_coeff_elimination(), decode_ac_coeffs(), decode_block_intra(), decode_block_progressive(), decode_block_refinement(), decode_coeffs(), decode_frame(), decode_group3_1d_line(), decode_group3_2d_line(), decode_residual_block(), decode_rle(), dnxhd_init_vlc(), dv_decode_ac(), encode_ac_coeffs(), encode_acs(), encode_block(), encode_subband_c0run(), estimate_acs(), ff_dvvideo_init(), ff_init_rl(), ff_init_vlc_rl(), ff_ivi_decode_blocks(), ff_msmpeg4_decode_block(), ff_msmpeg4_encode_block(), ff_msmpeg4_encode_init(), find_best_tables(), fix_coding_method_array(), h261_decode_block(), h261_encode_block(), h263_decode_block(), h263_encode_block(), init_2d_vlc_rl(), init_quantized_coeffs_elem0(), init_uni_ac_vlc(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), ls_encode_line(), mdec_decode_block_intra(), mpeg1_decode_block_inter(), mpeg1_decode_block_intra(), mpeg1_encode_block(), 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(), mpeg4_decode_block(), mpeg4_encode_block(), mpeg4_get_block_length(), pcx_rle_decode(), process_subpacket_9(), put_line(), qpeg_decode_intra(), rd8x8_c(), read_block_types(), sunrast_decode_frame(), sunrast_image_write_image(), svq3_decode_block(), synthfilt_build_sb_samples(), unpack(), unpack_coeffs(), vc1_decode_ac_coeff(), vp6_parse_coeff(), vp6_parse_coeff_huffman(), and x8_decode_intra_mb().
struct { ... } svq3_dct_tables[2][16] [static] |
Referenced by svq3_decode_block().
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 132 of file svq3.c.
Referenced by ff_svq3_add_idct_c(), and ff_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 98 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 110 of file svq3.c.
Referenced by svq3_decode_mb().
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 91 of file svq3.c.
Referenced by svq3_decode_block().