⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 params.h

📁 这个库实现了录象功能
💻 H
📖 第 1 页 / 共 3 页
字号:
    .val_default = { .val_string = "Left" },\    .stringlist_options = (char*[]){ TRS("Left"), TRS("Plane"), TRS("Median"), (char*)0 }, \  }/** Quantizer */#define PARAM_MB_QMIN \  { \    .name =        "ff_mb_qmin", \    .real_name =   TRS("Minimum MB quantizer"), \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 2 },\    .val_min =     { .val_int = 0 },\    .val_max =     { .val_int = 31 },\  }/** Quantizer */#define PARAM_MB_QMAX \  { \    .name =        "ff_mb_qmax", \    .real_name =   TRS("Maximum MB quantizer"), \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 31 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 31 }, \  }#define COMPARE_FUNCS (char*[]){ TRS("SAD"), TRS("SSE"), TRS("SATD"), TRS("DCT"), TRS("PSNR"), \                                 TRS("BIT"), TRS("RD"), TRS("ZERO"), TRS("VSAD"), TRS("VSSE"), \                                 TRS("NSSE"), \                                 (char*)0 }#define COMPARE_FUNCS_HELP "SAD: Sum of absolute differences\n" \"SSE: Sum of squared errors\n" \"SATD: Sum of absolute Hadamard transformed differences\n" \"DCT: Sum of absolute DCT transformed differences\n" \"PSNR: Sum of squared quantization errors (low quality)\n" \"BIT: Number of bits needed for the block\n" \"RD: Rate distortion optimal (slow)\n" \"ZERO: 0\n" \"VSAD: Sum of absolute vertical differences\n" \"VSSE: Sum of squared vertical differences\n" \"NSSE: Noise preserving sum of squared differences"/** Motion estimation */#define PARAM_ME_CMP \  { \    .name =        "ff_me_cmp", \    .real_name =   TRS("ME compare function"),  \    .type =        LQT_PARAMETER_STRINGLIST, \    .val_default = { .val_string = "SAD" }, \    .stringlist_options = COMPARE_FUNCS, \       .help_string = TRS("Motion estimation compare function.\n"      \                   "SAD: Sum of absolute differences\n" \"SSE: Sum of squared errors\n" \"SATD: Sum of absolute Hadamard transformed differences\n" \"DCT: Sum of absolute DCT transformed differences\n" \"PSNR: Sum of squared quantization errors (low quality)\n" \"BIT: Number of bits needed for the block\n" \"RD: Rate distortion optimal (slow)\n" \"ZERO: 0\n" \"VSAD: Sum of absolute vertical differences\n" \"VSSE: Sum of squared vertical differences\n" \"NSSE: Noise preserving sum of squared differences") \  }/** Motion estimation */#define PARAM_ME_CMP_CHROMA \  { \    .name =        "ff_me_cmp_chroma", \    .real_name =   TRS("Enable chroma ME compare"),     \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 1 }, \  }/** Motion estimation */#define PARAM_ME_SUB_CMP \  { \    .name =        "ff_me_sub_cmp", \    .real_name =   TRS("Subpixel ME compare function"), \    .type =        LQT_PARAMETER_STRINGLIST, \    .val_default = { .val_string = "SAD" }, \    .stringlist_options = COMPARE_FUNCS, \    .help_string = TRS("Subpixel motion estimation compare function.\n" \                       "SAD: Sum of absolute differences\n" \"SSE: Sum of squared errors\n" \"SATD: Sum of absolute Hadamard transformed differences\n" \"DCT: Sum of absolute DCT transformed differences\n" \"PSNR: Sum of squared quantization errors (low quality)\n" \"BIT: Number of bits needed for the block\n" \"RD: Rate distortion optimal (slow)\n" \"ZERO: 0\n" \"VSAD: Sum of absolute vertical differences\n" \"VSSE: Sum of squared vertical differences\n" \"NSSE: Noise preserving sum of squared differences")                              \  }/** Motion estimation */#define PARAM_ME_SUB_CMP_CHROMA \  { \    .name =        "ff_me_sub_cmp_chroma", \    .real_name =   TRS("Enable chroma subpixel ME compare"),    \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 1 }, \  }#define PARAM_MB_CMP \  { \    .name =        "ff_mb_cmp", \    .real_name =   TRS("MB compare function"),  \    .type =        LQT_PARAMETER_STRINGLIST, \    .val_default = { .val_string = "SAD" }, \    .stringlist_options = COMPARE_FUNCS, \    .help_string = TRS("Macroblock compare function.\n" \                       "SAD: Sum of absolute differences\n" \"SSE: Sum of squared errors\n" \"SATD: Sum of absolute Hadamard transformed differences\n" \"DCT: Sum of absolute DCT transformed differences\n" \"PSNR: Sum of squared quantization errors (low quality)\n" \"BIT: Number of bits needed for the block\n" \"RD: Rate distortion optimal (slow)\n" \"ZERO: 0\n" \"VSAD: Sum of absolute vertical differences\n" \"VSSE: Sum of squared vertical differences\n" \"NSSE: Noise preserving sum of squared differences")              \  }#define PARAM_MB_CMP_CHROMA \  { \    .name =        "ff_mb_cmp_chroma", \    .real_name =   TRS("Enable chroma macroblock ME compare"),  \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 1 }, \  }#define PARAM_ILDCT_CMP \  { \    .name =        "ff_ildct_cmp", \    .real_name =   TRS("ILDCT compare function"),       \    .type =        LQT_PARAMETER_STRINGLIST, \    .val_default = { .val_string = "SAD" }, \    .stringlist_options = COMPARE_FUNCS, \    .help_string = TRS("Interlaced dct compare function.\n" \                       "SAD: Sum of absolute differences\n" \"SSE: Sum of squared errors\n" \"SATD: Sum of absolute Hadamard transformed differences\n" \"DCT: Sum of absolute DCT transformed differences\n" \"PSNR: Sum of squared quantization errors (low quality)\n" \"BIT: Number of bits needed for the block\n" \"RD: Rate distortion optimal (slow)\n" \"ZERO: 0\n" \"VSAD: Sum of absolute vertical differences\n" \"VSSE: Sum of squared vertical differences\n" \"NSSE: Noise preserving sum of squared differences")                  \  }#define PARAM_ICDCT_CMP_CHROMA \  { \    .name =        "ff_ildct_cmp_chroma", \    .real_name =   TRS("Enable chroma ILDCT ME compare"),       \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 1 }, \  }/** Motion estimation */#define PARAM_DIA_SIZE \  { \    .name =        "ff_dia_size", \    .real_name =   TRS("ME diamond size & shape"),      \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = -9 }, \    .val_max =     { .val_int =  9 }, \    .help_string = TRS("Motion estimation diamond size. Negative means shape " \                       "adaptive.")                                     \  }#define PARAM_LAST_PREDICTOR_COUNT \  { \    .name =        "ff_last_predictor_count", \    .real_name =   TRS("Last predictor count"), \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 99 }, \    .help_string = TRS("Amount of motion predictors from the previous frame.\n" \                   "0 (default)\n" \                   "a Will use 2a+1 x 2a+1 macroblock square of motion " \                       "vector predictors from the previous frame.")    \  }/** Motion estimation */#define PARAM_PRE_ME \  { \    .name =        "ff_pre_me", \    .real_name =   TRS("ME pre-pass"),          \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 2 }, \    .help_string = TRS("Motion estimation pre-pass\n" \                   "0: disabled\n" \                   "1: only after I-frames\n" \                       "2: always")           \   }/** Motion estimation */#define PARAM_ME_PRE_CMP \  { \    .name =        "ff_me_pre_cmp", \    .real_name =   TRS("ME pre-pass compare function"), \    .type =        LQT_PARAMETER_STRINGLIST, \    .val_default = { .val_string = "SAD" }, \    .stringlist_options = COMPARE_FUNCS, \    .help_string = TRS("Motion estimation pre-pass compare function.\n" \                       "SAD: Sum of absolute differences\n" \"SSE: Sum of squared errors\n" \"SATD: Sum of absolute Hadamard transformed differences\n" \"DCT: Sum of absolute DCT transformed differences\n" \"PSNR: Sum of squared quantization errors (low quality)\n" \"BIT: Number of bits needed for the block\n" \"RD: Rate distortion optimal (slow)\n" \"ZERO: 0\n" \"VSAD: Sum of absolute vertical differences\n" \"VSSE: Sum of squared vertical differences\n" \"NSSE: Noise preserving sum of squared differences")                              \  }/** Motion estimation */#define PARAM_ME_PRE_CMP_CHROMA \  { \    .name =        "ff_me_pre_cmp_chroma", \    .real_name =   TRS("Enable chroma ME pre-pass compare"),    \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 1 }, \  }/** Motion estimation */#define PARAM_PRE_DIA_SIZE \  { \    .name =        "ff_pre_dia_size", \    .real_name =   TRS("ME pre-pass diamond size & shape"),     \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = -9 }, \    .val_max =     { .val_int = 9 }, \    .help_string = TRS("Motion estimation pre-pass diamond size. Negative means " \                       "shape adaptive.")                               \  }/** Motion estimation */#define PARAM_ME_SUBPEL_QUALITY \  { \    .name =        "ff_me_subpel_quality", \    .real_name =   TRS("Subpel ME quality"),    \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 8 }, \    .val_min =     { .val_int = 1 }, \    .val_max =     { .val_int = 8 }, \    .help_string = TRS("Subpel motion estimation refinement quality (for qpel). " \                       "Higher values mean higher quality but slower encoding.") \  }/** Motion estimation */#define PARAM_ME_RANGE \  { \    .name =        "ff_me_range", \    .real_name =   TRS("Motion estimation range"),      \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 1000 }, \       .help_string = TRS("Motion estimation search range (0 means unlimited)"), \  }/** Motion estimation */#define PARAM_MB_DECISION \  { \    .name =        "ff_mb_decision", \    .real_name =   TRS("MB decision mode"),  \    .type =        LQT_PARAMETER_STRINGLIST, \    .val_default = { .val_string = "Use compare function" }, \    .stringlist_options = (char*[]){ TRS("Use compare function"), TRS("Fewest bits"), \                                     TRS("Rate distoration"), (char*)0 }, \  }/** Frame types */#define PARAM_SCENE_CHANGE_THRESHOLD \  { \    .name =        "ff_scenechange_threshold", \    .real_name =   TRS("Scenechange threshold"),        \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = -1000000000 }, \    .val_max =     { .val_int = 1000000000 }, \    .help_string = TRS("Threshold for scene change detection.\n" \                       "Negative values mean more sensitivity (more keyframes)") \  }/** Rate control */#define PARAM_LMIN \  { \    .name =        "ff_lmin", \    .real_name =   TRS("Minimum lagrange multipler"),   \    .type =        LQT_PARAMETER_FLOAT, \    .val_default = { .val_float = 2.0 }, \    .val_min =     { .val_float = 1.0 }, \    .val_min =     { .val_float = 31.0 }, \    .num_digits =  1, \    .help_string = TRS("Minimum Lagrange multiplier for ratecontrol. " \                       "Should possibly be the same as minimum quantizer scale.") \  }/** Rate control */#define PARAM_LMAX \  { \    .name =        "ff_lmax", \    .real_name =   TRS("Maximum lagrange multipler"),   \    .type =        LQT_PARAMETER_FLOAT, \    .val_default = { .val_float = 31.0 }, \    .val_min =     { .val_float = 1.0 }, \    .val_min =     { .val_float = 31.0 }, \    .num_digits =  1, \    .help_string = TRS("Maximum Lagrange multiplier for ratecontrol. Should " \                       "possibly be the same as maximum quantizer scale.") \  }#define PARAM_NOISE_REDUCTION \  { \    .name =        "ff_noise_reduction", \    .real_name =   TRS("Noise reduction"),      \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 2000 }, \  }/** Rate control */#define PARAM_RC_INITIAL_BUFFER_OCCUPANCY \  { \    .name =        "ff_rc_initial_buffer_occupancy", \    .real_name =   TRS("Initial RC buffer occupancy"),  \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .help_string = TRS("Number of kilobits which should be loaded into the rc " \                   "buffer before encoding starts. Must not be larger than " \                       "RC buffer size")                                \  }/* Does nothing *//** Frame types */#define PARAM_INTER_THRESHOLD \  { \    .name =        "ff_inter_threshold", \    .real_name =   TRS("Inter threshold"),       \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \  }/** Quantizer */#define PARAM_QUANTIZER_NOISE_SHAPING \  { \    .name =        "ff_quantizer_noise_shaping", \    .real_name =   TRS("Quantizer noise shaping"),      \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 3 }, \    .help_string = TRS("Choose quantization such that noise will be masked by " \                       "similar-frequency content in the image")        \  }/** Motion estimation */#define PARAM_ME_THRESHOLD \  { \    .name =        "ff_me_threshold", \    .real_name =   TRS("ME Theshold"),          \    .type =        LQT_PARAMETER_INT, \    .val_default = { .val_int = 0 }, \    .val_min =     { .val_int = 0 }, \    .val_max =     { .val_int = 4000000 }, \    .help_string = TRS("Motion estimation threshold. under which no motion " \                   "estimation is performed, but instead the user specified " \                       "motion vectors are used")                       \  }#define PARAM_MB_THRESHOLD \  { \

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -