Include dependency graph for x264.c:

Data Structures | |
| struct | encoder_sys_t |
Defines | |
| #define | SOUT_CFG_PREFIX "sout-x264-" |
| #define | KEYINT_TEXT N_("Maximum GOP size") |
| #define | KEYINT_LONGTEXT |
| #define | MIN_KEYINT_TEXT N_("Minimum GOP size") |
| #define | MIN_KEYINT_LONGTEXT |
| #define | SCENE_TEXT N_("Extra I-frames aggressivity" ) |
| #define | SCENE_LONGTEXT |
| #define | BFRAMES_TEXT N_("B-frames between I and P") |
| #define | BFRAMES_LONGTEXT |
| #define | B_ADAPT_TEXT N_("Adaptive B-frame decision") |
| #define | B_ADAPT_LONGTEXT |
| #define | B_BIAS_TEXT N_("Influence (bias) B-frames usage") |
| #define | B_BIAS_LONGTEXT |
| #define | BPYRAMID_TEXT N_("Keep some B-frames as references") |
| #define | BPYRAMID_LONGTEXT |
| #define | CABAC_TEXT N_("CABAC") |
| #define | CABAC_LONGTEXT |
| #define | REF_TEXT N_("Number of reference frames") |
| #define | REF_LONGTEXT |
| #define | NF_TEXT N_("Skip loop filter") |
| #define | NF_LONGTEXT N_( "Deactivate the deblocking loop filter (decreases quality).") |
| #define | FILTER_TEXT N_("Loop filter AlphaC0 and Beta parameters alpha:beta") |
| #define | FILTER_LONGTEXT |
| #define | LEVEL_TEXT N_("H.264 level") |
| #define | LEVEL_LONGTEXT |
| #define | QP_TEXT N_("Set QP") |
| #define | QP_LONGTEXT |
| #define | CRF_TEXT N_("Quality-based VBR") |
| #define | CRF_LONGTEXT N_( "1-pass Quality-based VBR. Range 0 to 51." ) |
| #define | QPMIN_TEXT N_("Min QP") |
| #define | QPMIN_LONGTEXT |
| #define | QPMAX_TEXT N_("Max QP") |
| #define | QPMAX_LONGTEXT N_( "Maximum quantizer parameter." ) |
| #define | QPSTEP_TEXT N_("Max QP step") |
| #define | QPSTEP_LONGTEXT N_( "Max QP step between frames.") |
| #define | RATETOL_TEXT N_("Average bitrate tolerance") |
| #define | RATETOL_LONGTEXT |
| #define | VBV_MAXRATE_TEXT N_("Max local bitrate") |
| #define | VBV_MAXRATE_LONGTEXT N_( "Sets a maximum local bitrate (in kbits/s).") |
| #define | VBV_BUFSIZE_TEXT N_("VBV buffer") |
| #define | VBV_BUFSIZE_LONGTEXT |
| #define | VBV_INIT_TEXT N_("Initial VBV buffer occupancy") |
| #define | VBV_INIT_LONGTEXT |
| #define | IPRATIO_TEXT N_("QP factor between I and P") |
| #define | IPRATIO_LONGTEXT N_( "QP factor between I and P. Range 1.0 to 2.0.") |
| #define | PBRATIO_TEXT N_("QP factor between P and B") |
| #define | PBRATIO_LONGTEXT N_( "QP factor between P and B. Range 1.0 to 2.0.") |
| #define | CHROMA_QP_OFFSET_TEXT N_("QP difference between chroma and luma") |
| #define | CHROMA_QP_OFFSET_LONGTEXT N_( "QP difference between chroma and luma.") |
| #define | PASS_TEXT N_("Multipass ratecontrol") |
| #define | PASS_LONGTEXT |
| #define | QCOMP_TEXT N_("QP curve compression") |
| #define | QCOMP_LONGTEXT N_( "QP curve compression. Range 0.0 (CBR) to 1.0 (QCP).") |
| #define | CPLXBLUR_TEXT N_("Reduce fluctuations in QP") |
| #define | CPLXBLUR_LONGTEXT |
| #define | QBLUR_TEXT N_("Reduce fluctuations in QP") |
| #define | QBLUR_LONGTEXT |
| #define | ANALYSE_TEXT N_("Partitions to consider") |
| #define | ANALYSE_LONGTEXT |
| #define | DIRECT_PRED_TEXT N_("Direct MV prediction mode") |
| #define | DIRECT_PRED_LONGTEXT N_( "Direct MV prediction mode.") |
| #define | WEIGHTB_TEXT N_("Weighted prediction for B-frames") |
| #define | WEIGHTB_LONGTEXT N_( "Weighted prediction for B-frames.") |
| #define | ME_TEXT N_("Integer pixel motion estimation method") |
| #define | ME_LONGTEXT |
| #define | SUBME_TEXT |
| #define | SUBME_MAX 5 |
| #define | SUBME_LONGTEXT |
| #define | B_RDO_TEXT N_("RD based mode decision for B-frames") |
| #define | B_RDO_LONGTEXT |
| #define | MIXED_REFS_TEXT N_("Decide references on a per partition basis") |
| #define | MIXED_REFS_LONGTEXT |
| #define | CHROMA_ME_TEXT N_("Chroma in motion estimation") |
| #define | CHROMA_ME_LONGTEXT |
| #define | BIME_TEXT N_("Jointly optimize both MVs in B-frames") |
| #define | BIME_LONGTEXT N_( "Joint bidirectional motion refinement.") |
| #define | TRANSFORM_8X8DCT_TEXT N_("Adaptive spatial transform size") |
| #define | TRANSFORM_8X8DCT_LONGTEXT |
| #define | TRELLIS_TEXT N_("Trellis RD quantization" ) |
| #define | TRELLIS_LONGTEXT |
| #define | FAST_PSKIP_TEXT N_("Early SKIP detection on P-frames") |
| #define | FAST_PSKIP_LONGTEXT N_( "Early SKIP detection on P-frames.") |
| #define | DCT_DECIMATE_TEXT N_("Coefficient thresholding on P-frames") |
| #define | DCT_DECIMATE_LONGTEXT |
| #define | NR_TEXT N_("Noise reduction") |
| #define | NR_LONGTEXT |
| #define | ASM_TEXT N_("CPU optimizations") |
| #define | ASM_LONGTEXT N_( "Use assembler CPU optimizations.") |
| #define | STATS_TEXT N_("Filename for 2 pass stats file") |
| #define | STATS_LONGTEXT N_( "Filename for 2 pass stats file for multi-pass encoding.") |
| #define | PSNR_TEXT N_("PSNR computation") |
| #define | PSNR_LONGTEXT |
| #define | SSIM_TEXT N_("SSIM computation") |
| #define | SSIM_LONGTEXT |
| #define | QUIET_TEXT N_("Quiet mode") |
| #define | QUIET_LONGTEXT N_( "Quiet mode.") |
| #define | VERBOSE_TEXT N_("Statistics") |
| #define | VERBOSE_LONGTEXT N_( "Print stats for each frame.") |
| #define | AUD_TEXT N_("Access unit delimiters") |
| #define | AUD_LONGTEXT N_( "Generate access unit delimiter NAL units.") |
| #define | X264_ANALYSE_BSUB16x16 0 |
Functions | |
| static int | Open (vlc_object_t *) |
| static void | Close (vlc_object_t *) |
| int | vlc_entry__main (module_t *p_module) |
| const char * | vlc_entry_license__main (void) |
| static block_t * | Encode (encoder_t *, picture_t *) |
Variables | |
| static const char *const | enc_analyse_list [] |
| static const char *const | enc_analyse_list_text [] |
| static const char *const | direct_pred_list [] |
| static const char *const | direct_pred_list_text [] |
| static const char *const | ppsz_sout_options [] |
| #define ANALYSE_LONGTEXT |
Value:
N_( "Partitions to consider in analyse mode: \n" \ " - none : \n" \ " - fast : i4x4\n" \ " - normal: i4x4,p8x8,(i8x8)\n" \ " - slow : i4x4,p8x8,(i8x8),b8x8\n" \ " - all : i4x4,p8x8,(i8x8),b8x8,p4x4\n" \ "(p4x4 requires p8x8. i8x8 requires 8x8dct).")
| #define ANALYSE_TEXT N_("Partitions to consider") |
| #define ASM_LONGTEXT N_( "Use assembler CPU optimizations.") |
| #define ASM_TEXT N_("CPU optimizations") |
| #define AUD_LONGTEXT N_( "Generate access unit delimiter NAL units.") |
| #define AUD_TEXT N_("Access unit delimiters") |
| #define B_ADAPT_LONGTEXT |
Value:
N_( "Force the specified number of " \ "consecutive B-frames to be used, except possibly before an I-frame." )
| #define B_ADAPT_TEXT N_("Adaptive B-frame decision") |
| #define B_BIAS_LONGTEXT |
Value:
N_( "Bias the choice to use B-frames. Positive values " \ "cause more B-frames, negative values cause less B-frames." )
| #define B_BIAS_TEXT N_("Influence (bias) B-frames usage") |
| #define B_RDO_LONGTEXT |
Value:
N_( "RD based mode decision for B-frames. This " \ "requires subme 6 (or higher).")
| #define B_RDO_TEXT N_("RD based mode decision for B-frames") |
| #define BFRAMES_LONGTEXT |
Value:
N_( "Number of consecutive B-frames between I and " \ "P-frames. Range 1 to 16." )
| #define BFRAMES_TEXT N_("B-frames between I and P") |
| #define BIME_LONGTEXT N_( "Joint bidirectional motion refinement.") |
| #define BIME_TEXT N_("Jointly optimize both MVs in B-frames") |
| #define BPYRAMID_LONGTEXT |
Value:
N_( "Allows B-frames to be used as references for " \ "predicting other frames. Keeps the middle of 2+ consecutive B-frames " \ "as a reference, and reorders frame appropriately." )
| #define BPYRAMID_TEXT N_("Keep some B-frames as references") |
| #define CABAC_LONGTEXT |
Value:
N_( "CABAC (Context-Adaptive Binary Arithmetic "\ "Coding). Slightly slows down encoding and decoding, but should save " \ "10 to 15% bitrate." )
| #define CABAC_TEXT N_("CABAC") |
| #define CHROMA_ME_LONGTEXT |
Value:
N_( "Chroma ME for subpel and mode decision in " \ "P-frames.")
| #define CHROMA_ME_TEXT N_("Chroma in motion estimation") |
| #define CHROMA_QP_OFFSET_LONGTEXT N_( "QP difference between chroma and luma.") |
| #define CHROMA_QP_OFFSET_TEXT N_("QP difference between chroma and luma") |
| #define CPLXBLUR_LONGTEXT |
Value:
N_( "This reduces the fluctuations in QP " \ "before curve compression. Temporally blurs complexity.")
| #define CPLXBLUR_TEXT N_("Reduce fluctuations in QP") |
| #define CRF_LONGTEXT N_( "1-pass Quality-based VBR. Range 0 to 51." ) |
| #define CRF_TEXT N_("Quality-based VBR") |
| #define DCT_DECIMATE_LONGTEXT |
Value:
N_( "Coefficient thresholding on P-frames." \ "Eliminate dct blocks containing only a small single coefficient.")
| #define DCT_DECIMATE_TEXT N_("Coefficient thresholding on P-frames") |
| #define DIRECT_PRED_LONGTEXT N_( "Direct MV prediction mode.") |
| #define DIRECT_PRED_TEXT N_("Direct MV prediction mode") |
| #define FAST_PSKIP_LONGTEXT N_( "Early SKIP detection on P-frames.") |
| #define FAST_PSKIP_TEXT N_("Early SKIP detection on P-frames") |
| #define FILTER_LONGTEXT |
Value:
N_( "Loop filter AlphaC0 and Beta parameters. " \ "Range -6 to 6 for both alpha and beta parameters. -6 means light " \ "filter, 6 means strong.")
| #define FILTER_TEXT N_("Loop filter AlphaC0 and Beta parameters alpha:beta") |
| #define IPRATIO_LONGTEXT N_( "QP factor between I and P. Range 1.0 to 2.0.") |
| #define IPRATIO_TEXT N_("QP factor between I and P") |
| #define KEYINT_LONGTEXT |
Value:
N_( "Sets maximum interval between IDR-frames." \ "Larger values save bits, thus improving quality for a given bitrate at " \ "the cost of seeking precision." )
| #define KEYINT_TEXT N_("Maximum GOP size") |
| #define LEVEL_LONGTEXT |
Value:
N_( "Specify H.264 level (as defined by Annex A " \ "of the standard). Levels are not enforced; it's up to the user to select " \ "a level compatible with the rest of the encoding options. Range 1 to 5.1 " \ "(10 to 51 is also allowed).")
| #define LEVEL_TEXT N_("H.264 level") |
| #define ME_LONGTEXT |
Value:
N_( "Selects the motion estimation algorithm: "\ " - dia: diamond search, radius 1 (fast)\n" \ " - hex: hexagonal search, radius 2\n" \ " - umh: uneven multi-hexagon search (better but slower)\n" \ " - esa: exhaustive search (extremely slow, primarily for testing)\n" )
| #define ME_TEXT N_("Integer pixel motion estimation method") |
| #define MIN_KEYINT_LONGTEXT |
Value:
N_( "Sets minimum interval between IDR-frames. " \ "In H.264, I-frames do not necessarily bound a closed GOP because it is " \ "allowable for a P-frame to be predicted from more frames than just the " \ "one frame before it (also see reference frame option). Therefore, " \ "I-frames are not necessarily seekable. IDR-frames restrict subsequent " \ "P-frames from referring to any frame prior to the IDR-frame. \n" \ "If scenecuts appear within this interval, they are still encoded as " \ "I-frames, but do not start a new GOP." )
| #define MIN_KEYINT_TEXT N_("Minimum GOP size") |
| #define MIXED_REFS_LONGTEXT |
Value:
N_( "Allows each 8x8 or 16x8 partition to " \ "independently select a reference frame, as opposed to only one ref " \ "per macroblock." )
| #define MIXED_REFS_TEXT N_("Decide references on a per partition basis") |
| #define NF_LONGTEXT N_( "Deactivate the deblocking loop filter (decreases quality).") |
| #define NF_TEXT N_("Skip loop filter") |
| #define NR_LONGTEXT |
Value:
N_( "Dct-domain noise reduction. Adaptive pseudo-deadzone. " \ "10 to 1000 seems to be a useful range." )
| #define NR_TEXT N_("Noise reduction") |
| #define PASS_LONGTEXT |
Value:
N_( "Multipass ratecontrol:\n" \ " - 1: First pass, creates stats file\n" \ " - 2: Last pass, does not overwrite stats file\n" \ " - 3: Nth pass, overwrites stats file\n" )
| #define PASS_TEXT N_("Multipass ratecontrol") |
| #define PBRATIO_LONGTEXT N_( "QP factor between P and B. Range 1.0 to 2.0.") |
| #define PBRATIO_TEXT N_("QP factor between P and B") |
| #define PSNR_LONGTEXT |
Value:
N_( "Compute and print PSNR stats. This has no effect on " \ "the actual encoding quality." )
| #define PSNR_TEXT N_("PSNR computation") |
| #define QBLUR_LONGTEXT |
Value:
N_( "This reduces the fluctations in QP " \ "after curve compression. Temporally blurs quants.")
| #define QBLUR_TEXT N_("Reduce fluctuations in QP") |
| #define QCOMP_LONGTEXT N_( "QP curve compression. Range 0.0 (CBR) to 1.0 (QCP).") |
| #define QCOMP_TEXT N_("QP curve compression") |
| #define QP_LONGTEXT |
Value:
N_( "This selects the quantizer to use. " \ "Lower values result in better fidelity, but higher bitrates. 26 is a " \ "good default value. Range 0 (lossless) to 51." )
| #define QP_TEXT N_("Set QP") |
| #define QPMAX_LONGTEXT N_( "Maximum quantizer parameter." ) |
| #define QPMAX_TEXT N_("Max QP") |
| #define QPMIN_LONGTEXT |
Value:
N_( "Minimum quantizer parameter. 15 to 35 seems to " \ "be a useful range." )
| #define QPMIN_TEXT N_("Min QP") |
| #define QPSTEP_LONGTEXT N_( "Max QP step between frames.") |
| #define QPSTEP_TEXT N_("Max QP step") |
| #define QUIET_LONGTEXT N_( "Quiet mode.") |
| #define QUIET_TEXT N_("Quiet mode") |
| #define RATETOL_LONGTEXT |
Value:
N_( "Allowed variance in average " \ "bitrate (in kbits/s).")
| #define RATETOL_TEXT N_("Average bitrate tolerance") |
| #define REF_LONGTEXT |
Value:
N_( "Number of previous frames used as predictors. " \ "This is effective in Anime, but seems to make little difference in " \ "live-action source material. Some decoders are unable to deal with " \ "large frameref values. Range 1 to 16." )
| #define REF_TEXT N_("Number of reference frames") |
| #define SCENE_LONGTEXT |
Value:
N_( "Scene-cut detection. Controls how " \ "aggressively to insert extra I-frames. With small values of " \ "scenecut, the codec often has " \ "to force an I-frame when it would exceed keyint. " \ "Good values of scenecut may find a better location for the " \ "I-frame. Large values use more I-frames " \ "than necessary, thus wasting bits. -1 disables scene-cut detection, so " \ "I-frames are inserted only every other keyint frames, which probably " \ "leads to ugly encoding artifacts. Range 1 to 100." )
| #define SCENE_TEXT N_("Extra I-frames aggressivity" ) |
| #define SOUT_CFG_PREFIX "sout-x264-" |
| #define SSIM_LONGTEXT |
Value:
N_( "Compute and print SSIM stats. This has no effect on " \ "the actual encoding quality." )
| #define SSIM_TEXT N_("SSIM computation") |
| #define STATS_LONGTEXT N_( "Filename for 2 pass stats file for multi-pass encoding.") |
| #define STATS_TEXT N_("Filename for 2 pass stats file") |
| #define SUBME_LONGTEXT |
Value:
N_( "This parameter controls quality versus speed " \ "tradeoffs involved in the motion estimation decision process " \ "(lower = quicker and higher = better quality). Range 1 to 5." )
| #define SUBME_MAX 5 |
| #define SUBME_TEXT |
Value:
N_("Subpixel motion estimation and partition decision " \ "quality")
| #define TRANSFORM_8X8DCT_LONGTEXT |
Value:
N_( \ "SATD-based decision for 8x8 transform in inter-MBs.")
| #define TRANSFORM_8X8DCT_TEXT N_("Adaptive spatial transform size") |
| #define TRELLIS_LONGTEXT |
Value:
N_( "Trellis RD quantization: \n" \ " - 0: disabled\n" \ " - 1: enabled only on the final encode of a MB\n" \ " - 2: enabled on all mode decisions\n" \ "This requires CABAC." )
| #define TRELLIS_TEXT N_("Trellis RD quantization" ) |
| #define VBV_BUFSIZE_LONGTEXT |
Value:
N_( "Averaging period for the maximum " \ "local bitrate (in kbits).")
| #define VBV_BUFSIZE_TEXT N_("VBV buffer") |
| #define VBV_INIT_LONGTEXT |
Value:
N_( "Sets the initial buffer occupancy as a " \ "fraction of the buffer size. Range 0.0 to 1.0.")
| #define VBV_INIT_TEXT N_("Initial VBV buffer occupancy") |
| #define VBV_MAXRATE_LONGTEXT N_( "Sets a maximum local bitrate (in kbits/s).") |
| #define VBV_MAXRATE_TEXT N_("Max local bitrate") |
| #define VERBOSE_LONGTEXT N_( "Print stats for each frame.") |
| #define VERBOSE_TEXT N_("Statistics") |
| #define WEIGHTB_LONGTEXT N_( "Weighted prediction for B-frames.") |
| #define WEIGHTB_TEXT N_("Weighted prediction for B-frames") |
| #define X264_ANALYSE_BSUB16x16 0 |
| static void Close | ( | vlc_object_t * | ) | [static] |
| static int Open | ( | vlc_object_t * | ) | [static] |
| int vlc_entry__main | ( | module_t * | p_module | ) |
| const char* vlc_entry_license__main | ( | void | ) |
const char* const direct_pred_list[] [static] |
Initial value:
{ "none", "spatial", "temporal" }
const char* const direct_pred_list_text[] [static] |
const char* const enc_analyse_list[] [static] |
Initial value:
{ "none", "fast", "normal", "slow", "all" }
const char* const enc_analyse_list_text[] [static] |
const char* const ppsz_sout_options[] [static] |
Initial value:
{
"8x8dct", "analyse", "asm", "aud", "bframes", "bime", "bpyramid",
"b-adapt", "b-bias", "b-rdo", "cabac", "chroma-me", "chroma-qp-offset",
"cplxblur", "crf", "dct-decimate", "deadzone-inter", "deadzone-intra",
"deblock", "direct", "direct-8x8", "filter", "fast-pskip", "frameref",
"interlaced", "ipratio", "keyint", "keyint-min", "level", "loopfilter",
"me", "merange", "min-keyint", "mixed-refs", "mvrange", "mvrange-thread",
"nf", "non-deterministic", "nr", "partitions", "pass", "pbratio",
"pre-scenecut", "psnr", "qblur", "qp", "qcomp", "qpstep", "qpmax",
"qpmin", "qp-max", "qp-min", "quiet", "ratetol", "ref", "scenecut",
"sps-id", "ssim", "stats", "subme", "subpel", "tolerance", "trellis",
"verbose", "vbv-bufsize", "vbv-init", "vbv-maxrate", "weightb", "aq-mode",
"aq-strength",NULL
}
1.5.1