libavfilter/vsrc_mptestsrc.c File Reference

MP test source, ported from MPlayer libmpcodecs/vf_test.c. More...

#include "libavutil/avstring.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"

Go to the source code of this file.

Data Structures

struct  MPTestContext

Defines

#define WIDTH   512
#define HEIGHT   512
#define OFFSET(x)   offsetof(MPTestContext, x)

Enumerations

enum  test_type {
  TEST_DC_LUMA, TEST_DC_CHROMA, TEST_FREQ_LUMA, TEST_FREQ_CHROMA,
  TEST_AMP_LUMA, TEST_AMP_CHROMA, TEST_CBP, TEST_MV,
  TEST_RING1, TEST_RING2, TEST_ALL, TEST_NB
}

Functions

static const char * mptestsrc_get_name (void *ctx)
static void init_idct (void)
static void idct (uint8_t *dst, int dst_linesize, int src[64])
static void draw_dc (uint8_t *dst, int dst_linesize, int color, int w, int h)
static void draw_basis (uint8_t *dst, int dst_linesize, int amp, int freq, int dc)
static void draw_cbp (uint8_t *dst[3], int dst_linesize[3], int cbp, int amp, int dc)
static void dc_test (uint8_t *dst, int dst_linesize, int w, int h, int off)
static void freq_test (uint8_t *dst, int dst_linesize, int off)
static void amp_test (uint8_t *dst, int dst_linesize, int off)
static void cbp_test (uint8_t *dst[3], int dst_linesize[3], int off)
static void mv_test (uint8_t *dst, int dst_linesize, int off)
static void ring1_test (uint8_t *dst, int dst_linesize, int off)
static void ring2_test (uint8_t *dst, int dst_linesize, int off)
static av_cold int init (AVFilterContext *ctx, const char *args, void *opaque)
static int config_props (AVFilterLink *outlink)
static int query_formats (AVFilterContext *ctx)
static int request_frame (AVFilterLink *outlink)

Variables

static const AVOption mptestsrc_options []
static const AVClass mptestsrc_class
static double c [64]
AVFilter avfilter_vsrc_mptestsrc


Detailed Description

MP test source, ported from MPlayer libmpcodecs/vf_test.c.

Definition in file vsrc_mptestsrc.c.


Define Documentation

#define HEIGHT   512

Definition at line 33 of file vsrc_mptestsrc.c.

#define OFFSET (  )     offsetof(MPTestContext, x)

Definition at line 60 of file vsrc_mptestsrc.c.

#define WIDTH   512

Definition at line 32 of file vsrc_mptestsrc.c.


Enumeration Type Documentation

enum test_type

Enumerator:
TEST_DC_LUMA 
TEST_DC_CHROMA 
TEST_FREQ_LUMA 
TEST_FREQ_CHROMA 
TEST_AMP_LUMA 
TEST_AMP_CHROMA 
TEST_CBP 
TEST_MV 
TEST_RING1 
TEST_RING2 
TEST_ALL 
TEST_NB 

Definition at line 35 of file vsrc_mptestsrc.c.


Function Documentation

static void amp_test ( uint8_t *  dst,
int  dst_linesize,
int  off 
) [static]

Definition at line 193 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static void cbp_test ( uint8_t *  dst[3],
int  dst_linesize[3],
int  off 
) [static]

Definition at line 205 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static int config_props ( AVFilterLink outlink  )  [static]

Definition at line 306 of file vsrc_mptestsrc.c.

static void dc_test ( uint8_t *  dst,
int  dst_linesize,
int  w,
int  h,
int  off 
) [static]

Definition at line 168 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static void draw_basis ( uint8_t *  dst,
int  dst_linesize,
int  amp,
int  freq,
int  dc 
) [static]

Definition at line 147 of file vsrc_mptestsrc.c.

Referenced by amp_test(), draw_cbp(), and freq_test().

static void draw_cbp ( uint8_t *  dst[3],
int  dst_linesize[3],
int  cbp,
int  amp,
int  dc 
) [static]

Definition at line 158 of file vsrc_mptestsrc.c.

Referenced by cbp_test().

static void draw_dc ( uint8_t *  dst,
int  dst_linesize,
int  color,
int  w,
int  h 
) [static]

Definition at line 138 of file vsrc_mptestsrc.c.

Referenced by dc_test(), and ring1_test().

static void freq_test ( uint8_t *  dst,
int  dst_linesize,
int  off 
) [static]

Definition at line 181 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static void idct ( uint8_t *  dst,
int  dst_linesize,
int  src[64] 
) [static]

Definition at line 110 of file vsrc_mptestsrc.c.

static av_cold int init ( AVFilterContext ctx,
const char *  args,
void *  opaque 
) [static]

Definition at line 265 of file vsrc_mptestsrc.c.

static void init_idct ( void   )  [static]

Definition at line 98 of file vsrc_mptestsrc.c.

Referenced by init().

static const char* mptestsrc_get_name ( void *  ctx  )  [static]

Definition at line 85 of file vsrc_mptestsrc.c.

static void mv_test ( uint8_t *  dst,
int  dst_linesize,
int  off 
) [static]

Definition at line 222 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static int query_formats ( AVFilterContext ctx  )  [static]

Definition at line 322 of file vsrc_mptestsrc.c.

static int request_frame ( AVFilterLink outlink  )  [static]

Definition at line 332 of file vsrc_mptestsrc.c.

static void ring1_test ( uint8_t *  dst,
int  dst_linesize,
int  off 
) [static]

Definition at line 234 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static void ring2_test ( uint8_t *  dst,
int  dst_linesize,
int  off 
) [static]

Definition at line 246 of file vsrc_mptestsrc.c.

Referenced by request_frame().


Variable Documentation

Initial value:

 {
    .name      = "mptestsrc",
    .description = NULL_IF_CONFIG_SMALL("Generate various test pattern."),
    .priv_size = sizeof(MPTestContext),
    .init      = init,

    .query_formats   = query_formats,

    .inputs    = (const AVFilterPad[]) {{ .name = NULL}},

    .outputs   = (const AVFilterPad[]) {{ .name = "default",
                                    .type = AVMEDIA_TYPE_VIDEO,
                                    .config_props = config_props,
                                    .request_frame = request_frame,
                                    .config_props  = config_props, },
                                  { .name = NULL }},
}

Definition at line 376 of file vsrc_mptestsrc.c.

double c[64] [static]

Definition at line 96 of file vsrc_mptestsrc.c.

Referenced by a64_write_header(), a64_write_packet(), a64_write_trailer(), a64multi_close_encoder(), a64multi_encode_frame(), a64multi_init_encoder(), add_audio_stream(), add_paeth_prediction_c(), add_video_stream(), adpcm_decode_frame(), adpcm_decode_init(), adx_decode_flush(), adx_decode_frame(), adx_decode_init(), adx_encode_frame(), adx_encode_header(), adx_encode_init(), adx_read_header(), adx_read_packet(), ape_tag_read_field(), applehttp_close(), applehttp_read_header(), applehttp_read_packet(), applehttp_read_seek(), apply_channel_coupling(), apply_intensity_stereo(), ass_split(), audio_decode_example(), audio_encode_example(), av_buffersrc_buffer(), av_compare_mod(), av_crc_init(), av_get_bits_per_pixel(), av_get_frame_filename(), av_get_token(), av_lzo1x_decode(), av_opt_child_next(), av_opt_find2(), av_resample_init(), av_rescale_q(), av_vsrc_buffer_add_video_buffer_ref(), avcodec_get_context_defaults2(), avcodec_thread_execute(), avcodec_thread_execute2(), avpriv_dv_init_demux(), avpriv_init_smpte_timecode(), bidir_refine(), bktr_init(), blur_power(), bmp_decode_end(), bmv_aud_decode_frame(), bmv_aud_decode_init(), bmv_read_close(), bmv_read_header(), bmv_read_packet(), body(), bs_get_v(), cache_close(), cache_open(), cache_read(), cache_seek(), check_bidir_mv(), check_input_motion(), cmp_direct_inline(), cmp_inline(), codec_child_class_next(), codec_reinit(), command_queue_pop(), config_props(), convert_timestamp(), copy_samples(), create_vorbis_context(), crypto_close(), crypto_open(), crypto_read(), date_get_num(), dca_downmix(), dca_init_vlcs(), decode_bytes(), decode_cce(), decode_cdlms(), decode_end(), decode_flush(), decode_frame(), decode_frame_header(), decode_hybrid(), decode_init(), decode_mb_mode(), decode_mclms(), decode_mvs(), decode_scale_factors(), decode_slice_header(), decode_spectrum_and_dequant(), decode_subband_internal(), decode_subframe(), decode_subframe_fixed(), decode_subframe_lpc(), decode_tilehdr(), deInterlaceBlendLinear_TMPL(), deInterlaceMedian_TMPL(), dering_TMPL(), diamond_search(), diff_pixels_mvi(), diff_to_drop_plane(), direct_search(), do_a_deblock_TMPL(), do_tls_poll(), doVertDefFilter_TMPL(), doVertLowPass_TMPL(), draw_glyph_rgb(), draw_glyph_yuv(), draw_mandelbrot(), draw_slice(), dv_init_dynamic_tables(), dv_init_mux(), dv_read_close(), dv_read_header(), dv_read_packet(), dv_read_seek(), dv_read_timecode(), dxa_read_header(), dxa_read_packet(), encode_end(), encode_frame(), encode_init(), encode_init_ls(), encode_picture(), encode_residual_fixed(), encode_residual_lpc(), epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), estimate_best_b_count(), ff_adx_calculate_coeffs(), ff_asf_get_packet(), ff_ass_split_override_codes(), ff_celp_lp_synthesis_filterf(), ff_dct_calc_I_c(), ff_dct_calc_II_c(), ff_dct_calc_III_c(), ff_epzs_motion_search(), ff_estimate_b_frame_motion(), ff_estimate_motion_b(), ff_estimate_p_frame_motion(), ff_fix_long_mvs(), ff_fix_long_p_mvs(), ff_float_interleave_c(), ff_get_cpu_flags_x86(), ff_get_line(), ff_get_mb_score(), ff_h263_pred_acdc(), ff_h263_pred_dc(), ff_h264_chroma_dc_dequant_idct(), ff_h264_decode_mb_cabac(), ff_hex_to_data(), ff_iir_filter_init_coeffs(), ff_init_me(), ff_lzw_decode(), ff_lzw_encode(), ff_mov_iso639_to_lang(), ff_mp4_read_descr_len(), ff_mpeg4_pred_dc(), ff_msmpeg4_coded_block_pred(), ff_pca(), ff_pre_estimate_p_frame_motion(), ff_print_debug_info(), ff_printGUID(), ff_sqrt(), fft_ref(), fill_picture_rgb(), filter_init(), find_rtp_session(), float_interleave(), float_interleave_noscale(), float_to_int16_interleave_altivec(), float_to_int16_interleave_c(), floor_encode(), free_section(), full_search(), funny_diamond_search(), g722_decode_frame(), g722_decode_init(), g722_encode_close(), g722_encode_init(), gen_image(), get16(), get8(), get_exponent_dynamic(), get_limits(), get_line(), get_match_score(), get_pts(), get_quants(), get_string(), get_token(), getutime(), global_mv(), grab_read_close(), gsm_read_header(), gxf_init_timecode(), gxf_parse_mpeg_frame(), h263_get_modb(), h263_mv4_search(), h_block_filter(), hex_dump_internal(), hex_search(), horizX1Filter(), hpel_motion_search(), http_server(), idct(), init(), init_idct(), init_interlaced_ref(), init_pullup(), initFilter(), initialize_masks(), initPv(), interlaced_search(), interpol(), interpolate_isp(), ir2_decode_plane(), ir2_decode_plane_inter(), l2s_dia_search(), lcg_seek(), lex_name(), lex_space(), lex_wsword(), libopenjpeg_copy_to_packed16(), libopenjpeg_copy_to_packed8(), ljpeg_decode_rgb_scan(), ljpeg_decode_yuv_scan(), load_pgm_skip(), loco_predict(), lpc_apply_welch_window_c(), lpc_apply_welch_window_sse2(), lzw_get_code(), main(), microdvd_probe(), microdvd_read_header(), mjpeg_decode_scan(), mjpeg_decode_scan_progressive_ac(), mkv_write_attachments(), mkv_write_chapters(), mov_create_chapter_track(), mov_parse_mpeg2_frame(), mov_write_chpl_tag(), mp3_parse_vbr_tags(), mpc7_decode_close(), mpc7_decode_flush(), mpc7_decode_frame(), mpc7_decode_init(), mpc8_decode_frame(), mpc8_decode_init(), mpc8_parse_seektable(), mpc8_read_header(), mpc8_read_packet(), mpc8_read_seek(), mpc_read_close(), mpc_read_header(), mpc_read_packet(), mpc_read_seek(), mpegps_read_pes_header(), mpegts_resync(), msmpeg4_pred_dc(), mul_poly(), multiswap_dec(), multiswap_enc(), mxf_parse_mpeg2_frame(), mxf_write_essence_container_refs(), new_connection(), nsse16_c(), nsse16_mmx(), nsse8_c(), nsse8_mmx(), ogg_read_page(), oggvorbis_encode_frame(), open_audio(), open_video(), opt_target(), parse_segment_info(), parse_term(), parse_timecode(), pcm_decode_frame(), pnm_decode_frame(), pnm_encode_frame(), pnm_get(), poll_frame(), postProcess(), postProcess_TMPL(), pp_free_context(), pp_get_context(), pp_postprocess(), pred16x16_vertical(), process_C(), process_subpacket_11(), ps_tableinit(), qcp_read_header(), qcp_read_packet(), qdm2_fft_generate_tone(), qdm2_fft_tone_synthesizer(), qmf_init(), qpel_motion_search(), quantize_and_encode_band_cost_template(), quantize_mantissas_blk_ch(), query_formats(), read_data(), read_frame_data(), read_time(), read_ts(), read_var_block_data(), read_yesno(), recheck_discard_flags(), ref_to_update(), render_charset(), request_frame(), resampleCubic(), rtmp_open(), rtp_new_connection(), sab_diamond_search(), sad_hpel_motion_search(), segment_start(), seqvideo_decode(), sha1_transform(), sha256_transform(), show_codec_opts(), siff_read_header(), siff_read_packet(), small_diamond_search(), small_strptime(), source_init(), srt_style_apply(), srt_to_ass(), sub_png_paeth_prediction(), surround_to_stereo(), swr_set_compensation(), synth_filter_float(), thread_free(), thread_init(), tiff_unpack_strip(), tls_close(), tls_open(), tls_read(), tls_write(), tmv_decode_frame(), truespeech_decode_frame(), truespeech_decode_init(), tta_read_header(), tta_read_packet(), tta_read_seek(), umh_search(), update_lf_deltas(), update_refs(), url_fgets(), v_block_filter(), var_diamond_search(), vc1_coded_block_pred(), vc1_h_overlap_c(), vc1_h_s_overlap_c(), vc1_i_pred_dc(), vc1_pred_dc(), vc1_v_overlap_c(), vc1_v_s_overlap_c(), vertClassify_TMPL(), vertX1Filter_TMPL(), video_audio_display(), video_decode_example(), video_encode_example(), vp56_parse_mb_type(), vp56_parse_mb_type_models(), vp5_parse_coeff(), vp5_parse_coeff_models(), vp5_parse_header(), vp5_parse_vector_adjustment(), vp5_parse_vector_models(), vp6_parse_coeff(), vp6_parse_coeff_models(), vp6_parse_header(), vp6_parse_vector_adjustment(), vp6_parse_vector_models(), vp8_decode_frame(), vqf_read_header(), vqf_read_packet(), vqf_read_seek(), wavesynth_decode(), wavesynth_synth_sample(), wmapro_window(), worker(), write_audio_frame(), write_video_frame(), wv_get_value(), x8_get_dc_rlf(), x8_get_prediction(), x8_setup_spatial_compensation(), yuv2bgr24_1_TMPL(), yuv2bgr24_2_TMPL(), yuv2bgr24_X_ar_TMPL(), yuv2bgr24_X_TMPL(), yuv2rgb32_1_TMPL(), yuv2rgb32_2_TMPL(), yuv2rgb32_X_ar_TMPL(), yuv2rgb32_X_TMPL(), yuv2rgb555_1_TMPL(), yuv2rgb555_2_TMPL(), yuv2rgb555_X_ar_TMPL(), yuv2rgb555_X_TMPL(), yuv2rgb565_1_TMPL(), yuv2rgb565_2_TMPL(), yuv2rgb565_X_ar_TMPL(), yuv2rgb565_X_TMPL(), yuv2yuyv422_1_TMPL(), yuv2yuyv422_2_TMPL(), yuv2yuyv422_X_ar_TMPL(), yuv2yuyv422_X_TMPL(), yuv420_rgb15_TMPL(), and yuv420_rgb16_TMPL().

const AVClass mptestsrc_class [static]

Initial value:

 {
    "MPTestContext",
    mptestsrc_get_name,
    mptestsrc_options
}

Definition at line 90 of file vsrc_mptestsrc.c.

const AVOption mptestsrc_options[] [static]

Initial value:

 {
    { "rate",     "set video rate",     OFFSET(rate),     AV_OPT_TYPE_STRING, {.str = "25"},      0, 0 },
    { "r",        "set video rate",     OFFSET(rate),     AV_OPT_TYPE_STRING, {.str = "25"},      0, 0 },
    { "duration", "set video duration", OFFSET(duration), AV_OPT_TYPE_STRING, {.str = NULL},      0, 0 },
    { "d",        "set video duration", OFFSET(duration), AV_OPT_TYPE_STRING, {.str = NULL},      0, 0 },

    { "test", "set test to perform", OFFSET(test),  AV_OPT_TYPE_INT,   {.dbl=TEST_ALL}, 0, INT_MAX, 0, "test" },
    { "t",    "set test to perform", OFFSET(test),  AV_OPT_TYPE_INT,   {.dbl=TEST_ALL}, 0, INT_MAX, 0, "test" },
    { "dc_luma",     "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_DC_LUMA},     INT_MIN, INT_MAX, 0, "test" },
    { "dc_chroma",   "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_DC_CHROMA},   INT_MIN, INT_MAX, 0, "test" },
    { "freq_luma",   "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_FREQ_LUMA},   INT_MIN, INT_MAX, 0, "test" },
    { "freq_chroma", "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_FREQ_CHROMA}, INT_MIN, INT_MAX, 0, "test" },
    { "amp_luma",    "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_AMP_LUMA},    INT_MIN, INT_MAX, 0, "test" },
    { "amp_chroma",  "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_AMP_CHROMA},  INT_MIN, INT_MAX, 0, "test" },
    { "cbp",         "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_CBP},         INT_MIN, INT_MAX, 0, "test" },
    { "mv",          "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_MV},          INT_MIN, INT_MAX, 0, "test" },
    { "ring1",       "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_RING1},       INT_MIN, INT_MAX, 0, "test" },
    { "ring2",       "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_RING2},       INT_MIN, INT_MAX, 0, "test" },
    { "all",         "", 0, AV_OPT_TYPE_CONST, {.dbl=TEST_ALL},         INT_MIN, INT_MAX, 0, "test" },

    { NULL },
}

Definition at line 62 of file vsrc_mptestsrc.c.


Generated on Fri Oct 26 02:46:12 2012 for FFmpeg by  doxygen 1.5.8