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"
#include "internal.h"
#include "formats.h"
#include "video.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

 AVFILTER_DEFINE_CLASS (mptestsrc)
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)
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 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 36 of file vsrc_mptestsrc.c.

#define OFFSET (  )     offsetof(MPTestContext, x)

Definition at line 63 of file vsrc_mptestsrc.c.

#define WIDTH   512

Definition at line 35 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 38 of file vsrc_mptestsrc.c.


Function Documentation

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

Definition at line 187 of file vsrc_mptestsrc.c.

Referenced by request_frame().

AVFILTER_DEFINE_CLASS ( mptestsrc   ) 

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

Definition at line 199 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static int config_props ( AVFilterLink outlink  )  [static]

Definition at line 297 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 162 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 141 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 152 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 132 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 175 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 104 of file vsrc_mptestsrc.c.

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

Definition at line 259 of file vsrc_mptestsrc.c.

static void init_idct ( void   )  [static]

Definition at line 92 of file vsrc_mptestsrc.c.

Referenced by init().

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

Definition at line 216 of file vsrc_mptestsrc.c.

Referenced by request_frame().

static int query_formats ( AVFilterContext ctx  )  [static]

Definition at line 313 of file vsrc_mptestsrc.c.

static int request_frame ( AVFilterLink outlink  )  [static]

Definition at line 323 of file vsrc_mptestsrc.c.

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

Definition at line 228 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 240 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,
                                    .request_frame = request_frame,
                                    .config_props  = config_props, },
                                  { .name = NULL }},
}

Definition at line 367 of file vsrc_mptestsrc.c.

double c[64] [static]

Definition at line 90 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_video_stream(), adpcm_decode_frame(), adpcm_decode_init(), adpcm_swf_decode(), 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(), apply_channel_coupling(), apply_intensity_stereo(), ass_split(), audio_decode_example(), audio_encode_example(), av_buffersrc_add_ref(), 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_parse_ratio(), av_resample_init(), av_rescale_q_rnd(), av_small_strptime(), av_timecode_init_from_string(), avcodec_get_context_defaults2(), avcodec_thread_execute(), avcodec_thread_execute2(), avpriv_dv_init_demux(), avpriv_init_smpte_timecode(), avresample_set_compensation(), 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(), caca_write_header(), caca_write_packet(), caca_write_trailer(), cache_close(), cache_open(), cache_read(), cache_seek(), cdxl_decode_end(), cdxl_decode_frame(), cdxl_decode_init(), check_bidir_mv(), check_input_motion(), cmp_direct_inline(), cmp_inline(), codec_child_class_next(), codec_reinit(), config_props(), convert_timestamp(), copy4h(), copy_samples(), create_vorbis_context(), crypto_close(), crypto_open(), crypto_read(), date_get_num(), dca_downmix(), dca_init_vlcs(), decode_0(), decode_block_coeffs_internal(), 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_region_inter(), decode_region_intra(), decode_scale_factors(), decode_slice_header(), decode_spectrum_and_dequant(), decode_subband_internal(), decode_subframe(), decode_subframe_fixed(), decode_tilehdr(), decode_wmv9(), deInterlaceBlendLinear_TMPL(), deInterlaceMedian_TMPL(), dering_TMPL(), diamond_search(), diff_pixels_mvi(), diff_planes(), direct_search(), do_tls_poll(), doVertDefFilter_TMPL(), doVertLowPass_TMPL(), draw_mandelbrot(), draw_slice(), 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_plane(), encode_q_branch(), encode_residual_fixed(), encode_residual_lpc(), end_frame(), epzs_motion_search2(), epzs_motion_search4(), epzs_motion_search_internal(), estimate_best_b_count(), extract_cue(), ff_add_png_paeth_prediction(), ff_adx_calculate_coeffs(), ff_asf_get_packet(), ff_ass_split_override_codes(), ff_audio_resample_init(), ff_celp_lp_synthesis_filterf(), ff_celp_lp_synthesis_filterf_mips(), ff_command_queue_pop(), ff_dct_calc_I_c(), ff_dct_calc_II_c(), ff_dct_calc_III_c(), ff_draw_init(), ff_dv_init_dynamic_tables(), 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_frame_thread_encoder_free(), ff_frame_thread_encoder_init(), ff_get_cpu_flags_x86(), ff_get_line(), 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_msmpeg4_pred_dc(), ff_pca(), ff_pre_estimate_p_frame_motion(), ff_print_debug_info(), ff_printGUID(), ff_sqrt(), ff_thread_video_encode_frame(), ff_urldecode(), fft_ref(), file_get_handle(), file_read(), file_write(), fill_picture_rgb(), filter_init(), find_rtp_session(), flac_lpc_16_c(), 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(), generate_noise(), get16(), get8(), get_exponent_dynamic(), get_limits(), get_line(), get_match_score(), get_mb_score(), get_pts(), get_quants(), get_shift(), get_string(), get_token(), getopt(), 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(), hls_close(), hls_read_header(), hls_read_packet(), hls_read_seek(), horizX1Filter(), hpel_motion_search(), http_server(), ico_write_packet(), idct(), ini_escape_str(), init(), init_idct(), init_interlaced_ref(), init_pullup(), init_video(), initFilter(), initPv(), interlaced_search(), interpol(), interpolate_isp(), ir2_decode_plane(), ir2_decode_plane_inter(), ism_flush(), ism_free(), ism_write_header(), ism_write_packet(), ism_write_trailer(), jacosub_to_ass(), 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(), loco_predict(), lpc_apply_welch_window_c(), 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(), movie_config_output_props(), movie_query_formats(), mp3_parse_vbr_tags(), mp3_write_audio_packet(), mp3_write_xing(), mpc7_decode_close(), mpc7_decode_flush(), mpc7_decode_frame(), mpc7_decode_init(), mpc8_decode_flush(), mpc8_decode_frame(), mpc8_decode_init(), mpc8_parse_seektable(), mpc8_read_header(), mpc8_read_packet(), mpc_read_close(), mpc_read_header(), mpc_read_packet(), mpc_read_seek(), mpegps_read_pes_header(), mpegts_resync(), mss1_decode_frame(), mss1_decode_init(), mss2_decode_frame(), mss2_decode_init(), mss3_decode_end(), mss3_decode_frame(), mss3_decode_init(), mss4_decode_end(), mss4_decode_frame(), mss4_decode_init(), mul_poly(), multiswap_dec(), multiswap_enc(), mxf_parse_mpeg2_frame(), mxf_write_essence_container_refs(), new_connection(), nsse16_c(), nsse8_c(), ogg_read_page(), oggvorbis_encode_frame(), open_audio(), open_video(), opt_map(), opt_target(), paf_aud_decode(), paf_aud_init(), paf_vid_close(), paf_vid_decode(), paf_vid_init(), 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_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(), realtext_read_header(), recheck_discard_flags(), ref_to_update(), render_charset(), request_frame(), resample_one(), resampleCubic(), rtmp_http_send_cmd(), rtmp_open(), rtmp_write(), rtp_new_connection(), sab_diamond_search(), sad_hpel_motion_search(), sami_read_header(), seqvideo_decode(), set_options(), sha1_transform(), sha256_transform(), show_codec_opts(), siff_read_header(), siff_read_packet(), small_diamond_search(), source_init(), srt_style_apply(), srt_to_ass(), sub_png_paeth_prediction(), subviewer_event_to_ass(), subviewer_probe(), surround_to_stereo(), swr_get_delay(), swr_set_compensation(), swri_resample_TMPL(), synth_filter_float(), thread_free(), thread_init(), tiff_unpack_strip(), timed_line(), tls_close(), tls_open(), tls_read(), tls_write(), tmv_decode_frame(), truespeech_decode_frame(), truespeech_decode_init(), tscc2_decode_end(), tscc2_decode_frame(), tscc2_decode_init(), tta_read_header(), tta_read_packet(), tta_read_seek(), umh_search(), update_lf_deltas(), update_refs(), utvideo_encode_close(), utvideo_encode_frame(), utvideo_encode_init(), 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(), 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_mb_row_no_filter(), vqf_read_header(), vqf_read_packet(), vqf_read_seek(), wavesynth_decode(), wavesynth_synth_sample(), wmapro_window(), worker(), write_audio_frame(), write_manifest(), 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 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,   {.i64=TEST_ALL}, 0, INT_MAX, 0, "test" },
    { "t",    "set test to perform", OFFSET(test),  AV_OPT_TYPE_INT,   {.i64=TEST_ALL}, 0, INT_MAX, 0, "test" },
    { "dc_luma",     "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_DC_LUMA},     INT_MIN, INT_MAX, 0, "test" },
    { "dc_chroma",   "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_DC_CHROMA},   INT_MIN, INT_MAX, 0, "test" },
    { "freq_luma",   "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_FREQ_LUMA},   INT_MIN, INT_MAX, 0, "test" },
    { "freq_chroma", "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_FREQ_CHROMA}, INT_MIN, INT_MAX, 0, "test" },
    { "amp_luma",    "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_AMP_LUMA},    INT_MIN, INT_MAX, 0, "test" },
    { "amp_chroma",  "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_AMP_CHROMA},  INT_MIN, INT_MAX, 0, "test" },
    { "cbp",         "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_CBP},         INT_MIN, INT_MAX, 0, "test" },
    { "mv",          "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_MV},          INT_MIN, INT_MAX, 0, "test" },
    { "ring1",       "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_RING1},       INT_MIN, INT_MAX, 0, "test" },
    { "ring2",       "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_RING2},       INT_MIN, INT_MAX, 0, "test" },
    { "all",         "", 0, AV_OPT_TYPE_CONST, {.i64=TEST_ALL},         INT_MIN, INT_MAX, 0, "test" },

    { NULL },
}

Definition at line 65 of file vsrc_mptestsrc.c.


Generated on Fri Oct 26 02:50:10 2012 for FFmpeg by  doxygen 1.5.8