FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
vp8dsp.c File Reference
#include <string.h>
#include "libavcodec/avcodec.h"
#include "libavcodec/vp8dsp.h"
#include "libavutil/common.h"
#include "libavutil/intreadwrite.h"
#include "checkasm.h"

Go to the source code of this file.

Macros

#define PIXEL_STRIDE   16
 
#define randomize_buffers(src, dst, stride, coef)
 
#define SRC_BUF_STRIDE   32
 
#define SRC_BUF_SIZE   (((size << (size < 16)) + 5) * SRC_BUF_STRIDE)
 
#define src   (buf + 2 * SRC_BUF_STRIDE + 2 + 1)
 
#define randomize_buffers()
 
#define setpx(a, b, c)   buf[(a) + (b) * jstride] = av_clip_uint8(c)
 
#define setdx(a, b, c, d)   setpx(a, b, c - (d) + (rnd() % ((d) * 2 + 1)))
 
#define setdx2(a, b, o, c, d, e)   setpx(a, b, o = c + ((d) + (rnd() % (e))) * (c >= 128 ? -1 : 1))
 
#define randomize_buffers(buf, lineoff, str, force_hev)   randomize_loopfilter_buffers(lineoff, str, dir, flim_E, flim_I, hev_thresh, buf, force_hev)
 

Functions

static void dct4x4 (int16_t *coef)
 
static void wht4x4 (int16_t *coef)
 
static void check_idct (void)
 
static void check_idct_dc4 (void)
 
static void check_luma_dc_wht (void)
 
static void check_mc (void)
 
static void randomize_loopfilter_buffers (int lineoff, int str, int dir, int flim_E, int flim_I, int hev_thresh, uint8_t *buf, int force_hev)
 
static void fill_loopfilter_buffers (uint8_t *buf, ptrdiff_t stride, int w, int h)
 
static void check_loopfilter_16y (void)
 
static void check_loopfilter_8uv (void)
 
static void check_loopfilter_simple (void)
 
void checkasm_check_vp8dsp (void)
 

Macro Definition Documentation

#define PIXEL_STRIDE   16

Definition at line 31 of file vp8dsp.c.

#define randomize_buffers (   src,
  dst,
  stride,
  coef 
)
Value:
do { \
int x, y; \
for (y = 0; y < 4; y++) { \
AV_WN32A((src) + y * (stride), rnd()); \
AV_WN32A((dst) + y * (stride), rnd()); \
for (x = 0; x < 4; x++) \
(coef)[y * 4 + x] = (src)[y * (stride) + x] - \
(dst)[y * (stride) + x]; \
} \
} while (0)
#define src
Definition: vp8dsp.c:254
#define AV_WN32A(p, v)
Definition: intreadwrite.h:543
GLint GLenum GLboolean GLsizei stride
Definition: opengl_enc.c:105
int
#define rnd()
Definition: checkasm.h:93
for(j=16;j >0;--j)

Definition at line 376 of file vp8dsp.c.

Referenced by check_idct(), check_idct_dc4(), check_loopfilter_16y(), check_loopfilter_8uv(), check_loopfilter_simple(), check_luma_dc_wht(), and check_mc().

#define SRC_BUF_STRIDE   32

Definition at line 249 of file vp8dsp.c.

Referenced by check_mc().

#define SRC_BUF_SIZE   (((size << (size < 16)) + 5) * SRC_BUF_STRIDE)

Definition at line 250 of file vp8dsp.c.

AVS_VideoFrame * src   (buf + 2 * SRC_BUF_STRIDE + 2 + 1)
Examples:
filter_audio.c.

Definition at line 254 of file vp8dsp.c.

Referenced by aa_read_header(), aa_read_packet(), apply_dependent_coupling(), apply_dependent_coupling_fixed(), apply_independent_coupling(), apply_independent_coupling_fixed(), apply_unsharp(), av_aes_ctr_crypt(), av_bprint_escape(), av_copy_packet(), av_frame_move_ref(), av_image_copy_to_buffer(), av_image_fill_black(), av_memcpy_backptr(), av_opt_get_dict_val(), av_packet_move_ref(), avc_loopfilter_cb_or_cr_inter_edge_ver_msa(), avc_loopfilter_luma_inter_edge_ver_msa(), avc_loopfilter_luma_intra_edge_ver_msa(), avfilter_link(), avg_c(), avg_h264_qpel4_hv_lowpass_mmi(), avui_decode_frame(), avui_encode_frame(), b44_uncompress(), bayer_to_rgb24_wrapper(), bayer_to_yv12_wrapper(), bfi_decode_frame(), blend_line(), blend_line16(), block_mc(), blockCopy_TMPL(), bmp_decode_frame(), bmp_encode_frame(), bswap16Y_c(), buffer_replace(), calc_avgy16(), calc_avgy8(), cavs_idct8_add_c(), check_add_bytes(), check_idct(), check_idct_dc4(), check_luma_dc_wht(), check_mc(), check_multiply3x3(), check_pred16x16(), check_pred4x4(), check_pred8x8(), check_pred8x8l(), check_predictor(), check_reorder_pixels(), check_rgb2yuv(), check_yuv2rgb(), check_yuv2yuv(), checkasm_check_audiodsp(), checkasm_check_h264qpel(), chr_convert(), cllc_decode_frame(), cmp_direct_inline(), cmp_inline(), combine_residual_frame(), common_vt_4t_32w_mult_msa(), common_vt_8t_16w_mult_msa(), common_vt_8t_and_aver_dst_16w_mult_msa(), compand_delay(), compand_nodelay(), compare_fields(), compute_sat_hue_metrics16(), compute_sat_hue_metrics8(), convert_input(), copy(), copy_16multx8mult_msa(), copy_avg_fn(), copy_block(), copy_block16(), copy_block2(), copy_block4(), copy_block4_mmi(), copy_block8(), copy_block8_mmi(), copy_cell(), copy_emulation_prev(), copy_filter_params(), copy_frame(), copy_output(), copy_pixel(), copy_processed_frame(), copy_vert(), cover_rect(), cpia_decode_frame(), csv_escape_str(), cudascale_scale(), d3d11va_transfer_data(), deband_16_coupling_c(), deband_8_coupling_c(), deblocking_filter_CTB(), decode(), decode_0(), decode_block(), decode_bmv_frame(), decode_frame(), decode_init(), decode_p_frame(), decode_residual_spectrum(), decode_rgb_frame_TMPL(), deflicker16(), deInterlaceBlendLinear_TMPL(), deInterlaceFF_TMPL(), deInterlaceInterpolateCubic_TMPL(), deInterlaceInterpolateLinear_TMPL(), deInterlaceL5_TMPL(), deInterlaceMedian_TMPL(), denoise_depth(), denoise_spatial(), dequantization_float(), dequantization_int(), dequantization_int_97(), dering_altivec(), dering_TMPL(), displace_packed(), displace_planar(), do_8tap_2d_c(), do_bilin_2d_c(), do_convolve(), do_scaled_8tap_c(), do_swizzle(), doTest(), doVertDefFilter_TMPL(), doVertLowPass_altivec(), doVertLowPass_TMPL(), downscale(), draw_basis(), duplicate_TMPL(), encode_frame(), encode_gbrp10(), encode_gbrp12(), encode_rgb48_10bit(), encode_rgb_frame_TMPL(), encode_slice(), extract_line(), ff_AMediaFormat_getBuffer(), ff_avg_h264_chroma_mc4_mmi(), ff_convert_dither(), ff_copy_dshow_media_type(), ff_dc_4x4_msa(), ff_dc_8x8_msa(), ff_draw_horiz_band(), ff_dsd2pcm_translate(), ff_emulated_edge_mc(), ff_frame_thread_init(), ff_h2645_extract_rbsp(), ff_h264_add_pixels4(), ff_h264_add_pixels8(), ff_h264_biweight_pixels4_8_mmi(), ff_h264_biweight_pixels8_8_mmi(), ff_h264_draw_horiz_band(), ff_h264_handle_aggregated_packet(), ff_h264_intra_pred_dc_16x16_msa(), ff_h264_intra_pred_dc_left_16x16_msa(), ff_h264_intra_pred_dc_top_16x16_msa(), ff_h264_intra_pred_horiz_16x16_msa(), ff_h264_intra_pred_horiz_8x8_msa(), ff_h264_intra_pred_vert_16x16_msa(), ff_h264_intra_pred_vert_8x8_msa(), ff_hevc_put_qpel_bi_neon_wrapper(), ff_hevc_put_qpel_neon_wrapper(), ff_hevc_put_qpel_uni_neon_wrapper(), ff_init_desc_cfmt_convert(), ff_init_desc_chscale(), ff_init_desc_fmt_convert(), ff_init_desc_hscale(), ff_init_desc_no_chr(), ff_init_gamma_convert(), ff_init_vscale(), ff_intra_pred_8_16x16_msa(), ff_intra_pred_8_32x32_msa(), ff_ivi_inverse_haar_4x4(), ff_ivi_inverse_haar_8x8(), ff_ivi_inverse_slant_4x4(), ff_ivi_inverse_slant_8x8(), ff_jpegls_decode_picture(), ff_mediacodec_sw_buffer_copy_yuv420_packed_semi_planar(), ff_mediacodec_sw_buffer_copy_yuv420_planar(), ff_mediacodec_sw_buffer_copy_yuv420_semi_planar(), ff_mjpeg_find_marker(), ff_pred16x16_dc_8_mmi(), ff_pred16x16_horizontal_8_mmi(), ff_pred4x4_dc_8_mmi(), ff_pred8x16_horizontal_8_mmi(), ff_pred8x16_vertical_8_mmi(), ff_pred8x8_dc_8_mmi(), ff_pred8x8_horizontal_8_mmi(), ff_pred8x8_top_dc_8_mmi(), ff_pred8x8_vertical_8_mmi(), ff_pred8x8l_dc_8_mmi(), ff_pred8x8l_top_dc_8_mmi(), ff_pred8x8l_vertical_8_mmi(), ff_put_h264_chroma_mc4_mmi(), ff_put_vp8_bilinear16_h_mmi(), ff_put_vp8_bilinear4_h_mmi(), ff_put_vp8_bilinear8_h_mmi(), ff_put_vp8_epel16_h4_mmi(), ff_put_vp8_epel16_h6_mmi(), ff_put_vp8_epel4_v4_mmi(), ff_put_vp8_epel4_v6_mmi(), ff_put_vp8_epel8_h4_mmi(), ff_put_vp8_epel8_h6_mmi(), ff_rtmp_packet_dump(), ff_snow_pred_block(), ff_vc1_inv_trans_4x4_mmi(), ffmal_copy_frame(), fft_horizontal(), fic_decode_frame(), fic_decode_slice(), fill_whitepoint_conv_table(), filter16_3x3(), filter16_5x5(), filter16_prewitt(), filter16_roberts(), filter16_sobel(), filter_3x3(), filter_5x5(), filter_8tap_2d_fn(), filter_dbl(), filter_dblp(), filter_flt(), filter_fltp(), filter_frame(), filter_prewitt(), filter_rgb24(), filter_rgb48(), filter_rgba(), filter_rgba64(), filter_roberts(), filter_slice(), filter_slice16(), filter_slice8(), filter_sobel(), filter_xyz(), find_slice_quant(), fir_channel(), flashsv2_prime(), gamma_convert(), get_4block_rd(), get_block_rd(), get_context_TMPL(), get_dc(), get_frame(), get_slice_data(), getpix(), guess_mv(), h263_handle_packet(), halfpel_interpol(), headphone_convolute(), headphone_fast_convolute(), hevc_hv_4t_8multx4mult_msa(), hevc_hv_8t_8multx2mult_msa(), hevc_hv_uni_4t_8w_mult_msa(), hevc_hv_uni_8t_8multx2mult_msa(), hevc_hv_uniwgt_4t_8multx4mult_msa(), hevc_hv_uniwgt_8t_8multx2mult_msa(), hevc_hz_uniwgt_8t_64w_msa(), hevc_idct_16x16_msa(), hevc_idct_32x32_msa(), hevc_intra_pred_dc_4x4_msa(), hevc_intra_pred_dc_8x8_msa(), hevc_intra_pred_vert_16x16_msa(), hevc_loopfilter_chroma_hor_msa(), hevc_loopfilter_luma_hor_msa(), hevc_loopfilter_luma_ver_msa(), hevc_sao_edge_filter_45degree_16multiple_msa(), hevc_sao_edge_filter_90degree_16multiple_msa(), hevc_vt_8t_16multx4mult_msa(), hevc_vt_uniwgt_8t_16multx2mult_msa(), horizontal_frame_pack(), hpel_motion(), hpel_motion_lowres(), hq_decode_frame(), hqa_decode_frame(), hqx_decode_frame(), hqx_filter(), hScale16To15_c(), hScale16To19_c(), htmlencode(), http_prepare_data(), hw_device_init_from_string(), hwmap_get_buffer(), imdct15_half(), interleave_cols_to_any(), INTERPOLATE_METHOD(), intra_pred(), iterative_me(), ivi_process_empty_tile(), lag_decode_zero_run_line(), lbr_bank_c(), limiter16(), load_input_picture(), long_term_synth(), lum_convert(), lum_h_scale(), lum_planar_vscale(), luma_mc_uni(), main(), mc_block(), mct_decode(), mix(), mix_1_to_2_fltp_flt_c(), mjpeg_copy_block(), motion_compensation(), mov_open_dref(), mov_rewrite_dvd_sub_extradata(), multiple_resample(), nlmeans_slice(), none_escape_str(), nppscale_scale(), omx_encode_frame(), output_frame(), output_plane(), paf_audio_decode(), palToRgbWrapper(), pcm_bluray_decode_frame(), pcm_decode_frame(), pcm_dvd_decode_frame(), pcm_encode_frame(), pcx_encode_frame(), planar_rgb16_to_a(), planar_rgb16_to_uv(), planar_rgb16_to_y(), planarToP010Wrapper(), png_get_interlaced_row(), png_put_interlaced_row(), pred16x16_dc(), pred16x16_horizontal(), pred16x16_left_dc(), pred16x16_plane(), pred16x16_top_dc(), pred16x16_vertical(), pred4x4_127_dc(), pred4x4_128_dc(), pred4x4_129_dc(), pred4x4_dc(), pred4x4_down_left(), pred4x4_down_right(), pred4x4_horizontal(), pred4x4_horizontal_down(), pred4x4_horizontal_up(), pred4x4_left_dc(), pred4x4_top_dc(), pred4x4_vertical(), pred4x4_vertical_left(), pred4x4_vertical_right(), pred8x16_mad_cow_dc_0l0(), pred8x16_mad_cow_dc_0lt(), pred8x16_mad_cow_dc_l00(), pred8x16_mad_cow_dc_l0t(), pred8x8_mad_cow_dc_0l0(), pred8x8_mad_cow_dc_0lt(), pred8x8_mad_cow_dc_l00(), pred8x8_mad_cow_dc_l0t(), pred_angular(), pred_angular_0(), pred_angular_1(), pred_angular_2(), pred_angular_3(), pred_dc(), pred_planar(), predict_TMPL(), prefetch_motion(), process_slice_uyvy422(), process_slice_yuv420p(), process_slice_yuv422p(), process_slice_yuv444p(), prores_fdct(), ps_add_squares_c(), pseudocolor_filter_16(), pseudocolor_filter_16_10(), pseudocolor_filter_16_10d(), pseudocolor_filter_16_11(), pseudocolor_filter_16_11d(), put_h264_qpel4_h_lowpass_mmi(), put_h264_qpel4_hv_lowpass_mmi(), put_h264_qpel4_v_lowpass_mmi(), put_h264_qpel8_h_lowpass_l2_mmi(), put_h264_qpel8or16_hv1_lowpass_mmi(), put_hevc_epel_bi_h(), put_hevc_epel_bi_hv(), put_hevc_epel_bi_v(), put_hevc_epel_bi_w_h(), put_hevc_epel_bi_w_hv(), put_hevc_epel_bi_w_v(), put_hevc_epel_h(), put_hevc_epel_hv(), put_hevc_epel_uni_h(), put_hevc_epel_uni_hv(), put_hevc_epel_uni_v(), put_hevc_epel_uni_w_h(), put_hevc_epel_uni_w_hv(), put_hevc_epel_uni_w_v(), put_hevc_epel_v(), put_hevc_pel_bi_pixels(), put_hevc_pel_bi_w_pixels(), put_hevc_pel_pixels(), put_hevc_pel_uni_pixels(), put_hevc_pel_uni_w_pixels(), put_hevc_qpel_bi_h(), put_hevc_qpel_bi_hv(), put_hevc_qpel_bi_v(), put_hevc_qpel_bi_w_h(), put_hevc_qpel_bi_w_hv(), put_hevc_qpel_bi_w_v(), put_hevc_qpel_h(), put_hevc_qpel_hv(), put_hevc_qpel_uni_h(), put_hevc_qpel_uni_hv(), put_hevc_qpel_uni_v(), put_hevc_qpel_uni_w_h(), put_hevc_qpel_uni_w_hv(), put_hevc_qpel_uni_w_v(), put_hevc_qpel_v(), put_signed_rect_clamped_8bit_c(), rac_init(), read_vitc_line(), ref_from_h264pic(), remap_packed(), remap_packed16(), remap_planar(), remap_planar16(), reorder_pixels_scalar(), request_frame(), resample_common_TMPL(), resample_cubic(), resample_linear(), resample_linear_TMPL(), resample_nearest(), resample_one(), resample_one_TMPL(), restore_tqb_pixels(), rgb15to16_c(), rgb15to16_TMPL(), rgb15to32_TMPL(), rgb15tobgr24_TMPL(), rgb16to15_c(), rgb16to15_TMPL(), rgb16to32_TMPL(), rgb16tobgr24_TMPL(), rgb24_copy(), rgb24_interpolate(), rgb24_to_yuv420p(), rgb24to15_c(), rgb24to15_TMPL(), rgb24to16_c(), rgb24to16_TMPL(), rgb24tobgr15_c(), rgb24tobgr15_TMPL(), rgb24tobgr16_c(), rgb24tobgr16_TMPL(), rgb24tobgr24_TMPL(), rgb24tobgr32_c(), rgb24tobgr32_TMPL(), rgb32to15_c(), rgb32to15_TMPL(), rgb32to16_c(), rgb32to16_TMPL(), rgb32tobgr15_c(), rgb32tobgr15_TMPL(), rgb32tobgr16_c(), rgb32tobgr16_TMPL(), rgb32tobgr24_c(), rgb32tobgr24_TMPL(), rgba64beToA_c(), rgba64leToA_c(), rle_uncompress(), run_postproc(), rv40_adaptive_loop_filter(), sao_band_filter(), sao_edge_filter(), sao_edge_restore_0(), sao_edge_restore_1(), sao_filter_CTB(), scaled_filter_8tap_fn(), seq_decode_op1(), seq_decode_op2(), seq_decode_op3(), seq_unpack_rle_block(), set_frame(), shrink22(), shrink44(), shuffle_bytes_2103_TMPL(), smv_img_pnt_plane(), sofalizer_convolute(), sofalizer_fast_convolute(), sse_16width_msa(), sse_4width_msa(), sub2video_copy_rect(), sub_left_prediction(), super2xsai(), svq1_decode_frame(), svq1_encode_plane(), svq1_motion_inter_4v_block(), svq1_motion_inter_block(), svq1_skip_block(), svq3_mc_dir_part(), swri_noise_shaping_TMPL(), tempNoiseReducer_TMPL(), test_add_squares(), test_autocorrelate(), test_qmf_deint_neg(), test_qmf_post_shuffle(), test_sum_square(), test_vector_dmac_scalar(), test_vector_dmul_scalar(), test_vector_fmac_scalar(), test_vector_fmul_scalar(), tgv_decode_inter(), tiff_unpack_strip(), tmv_decode_frame(), to_meta_with_crop(), transform(), transform_4x4_luma(), uyvytoyuv420_TMPL(), uyvytoyuv422_TMPL(), uyvytoyv12_TMPL(), v308_decode_frame(), v408_decode_frame(), v410_decode_frame(), validate_acl_list(), vble_decode_frame(), vc1_inv_trans_4x4_c(), vc1_inv_trans_4x8_c(), vc1_inv_trans_8x4_c(), vc1_inv_trans_8x8_c(), vc1_put_ver_16b_shift2_mmi(), vc1_unescape_buffer(), vectorscope16(), vectorscope8(), verify_md5(), vertClassify_altivec(), vertical_frame_pack(), vertX1Filter_TMPL(), vp56_mc(), vp6_filter_diag2(), vp7_fade_frame(), vp8_mc_luma(), wrapped_url_read(), xan_decode_chroma(), xan_decode_frame_type0(), xan_decode_frame_type1(), y216_decode_frame(), y41p_decode_frame(), yae_downmix(), yae_flush(), yae_load_data(), yuv2yuv(), yuv4_decode_frame(), yuy2toyv12_TMPL(), yuyvtoyuv420_TMPL(), yuyvtoyuv422_TMPL(), yv12_copy(), yv12_interpolate(), zero12v_decode_frame(), zmbv_decode_xor_16(), and zmbv_decode_xor_8().

#define randomize_buffers ( )
Value:
do { \
int k; \
for (k = 0; k < SRC_BUF_SIZE; k += 4) { \
AV_WN32A(buf + k, rnd()); \
} \
} while (0)
#define AV_WN32A(p, v)
Definition: intreadwrite.h:543
#define SRC_BUF_SIZE
Definition: vp8dsp.c:250
void * buf
Definition: avisynth_c.h:690
int
#define rnd()
Definition: checkasm.h:93
for(j=16;j >0;--j)

Definition at line 376 of file vp8dsp.c.

#define setpx (   a,
  b,
  c 
)    buf[(a) + (b) * jstride] = av_clip_uint8(c)

Definition at line 328 of file vp8dsp.c.

Referenced by randomize_loopfilter_buffers().

#define setdx (   a,
  b,
  c,
 
)    setpx(a, b, c - (d) + (rnd() % ((d) * 2 + 1)))

Definition at line 330 of file vp8dsp.c.

Referenced by randomize_loopfilter_buffers().

#define setdx2 (   a,
  b,
  o,
  c,
  d,
 
)    setpx(a, b, o = c + ((d) + (rnd() % (e))) * (c >= 128 ? -1 : 1))

Definition at line 332 of file vp8dsp.c.

Referenced by randomize_loopfilter_buffers().

#define randomize_buffers (   buf,
  lineoff,
  str,
  force_hev 
)    randomize_loopfilter_buffers(lineoff, str, dir, flim_E, flim_I, hev_thresh, buf, force_hev)

Definition at line 376 of file vp8dsp.c.

Function Documentation

static void dct4x4 ( int16_t *  coef)
static

Definition at line 45 of file vp8dsp.c.

Referenced by check_idct(), check_idct_dc4(), and check_luma_dc_wht().

static void wht4x4 ( int16_t *  coef)
static

Definition at line 70 of file vp8dsp.c.

Referenced by check_luma_dc_wht().

static void check_idct ( void  )
static

Definition at line 111 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

static void check_idct_dc4 ( void  )
static

Definition at line 156 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

static void check_luma_dc_wht ( void  )
static

Definition at line 199 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

static void check_mc ( void  )
static

Definition at line 265 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

static void randomize_loopfilter_buffers ( int  lineoff,
int  str,
int  dir,
int  flim_E,
int  flim_I,
int  hev_thresh,
uint8_t buf,
int  force_hev 
)
static

Definition at line 334 of file vp8dsp.c.

static void fill_loopfilter_buffers ( uint8_t buf,
ptrdiff_t  stride,
int  w,
int  h 
)
static

Definition at line 368 of file vp8dsp.c.

Referenced by check_loopfilter_16y(), check_loopfilter_8uv(), and check_loopfilter_simple().

static void check_loopfilter_16y ( void  )
static

Definition at line 379 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

static void check_loopfilter_8uv ( void  )
static

Definition at line 423 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

static void check_loopfilter_simple ( void  )
static

Definition at line 476 of file vp8dsp.c.

Referenced by checkasm_check_vp8dsp().

void checkasm_check_vp8dsp ( void  )

Definition at line 507 of file vp8dsp.c.