x264.c File Reference

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 PROFILE_TEXT   N_("H.264 profile")
#define PROFILE_LONGTEXT
#define INTERLACED_TEXT   N_("Interlaced mode")
#define INTERLACED_LONGTEXT   N_( "Pure-interlaced mode.")
#define INTRAREFRESH_TEXT   N_("Use Periodic Intra Refresh")
#define INTRAREFRESH_LONGTEXT   N_("Use Periodic Intra Refresh instead of IDR frames")
#define MBTREE_TEXT   N_("Use mb-tree ratecontrol")
#define MBTREE_LONGTEXT   N_("You can disable use of Macroblock-tree on ratecontrol")
#define SLICE_COUNT   N_("Force number of slices per frame")
#define SLICE_COUNT_LONGTEXT   N_("Force rectangular slices and is overridden by other slicing optinos")
#define SLICE_MAX_SIZE   N_("Limit the size of each slice in bytes")
#define SLICE_MAX_SIZE_LONGTEXT   N_("Sets a maximum slice size in bytes, Includes NAL overhead in size")
#define SLICE_MAX_MBS   N_("Limit the size of each slice in macroblocks")
#define SLICE_MAX_MBS_LONGTEXT   N_("Sets a maximum number of macroblocks per slice")
#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 AQ_MODE_TEXT   N_("How AQ distributes bits")
#define AQ_MODE_LONGTEXT
#define AQ_STRENGTH_TEXT   N_("Strength of AQ")
#define AQ_STRENGTH_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 DIRECT_PRED_SIZE_TEXT   N_("Direct prediction size")
#define DIRECT_PRED_SIZE_LONGTEXT
#define WEIGHTB_TEXT   N_("Weighted prediction for B-frames")
#define WEIGHTB_LONGTEXT   N_( "Weighted prediction for B-frames.")
#define WEIGHTP_TEXT   N_("Weighted prediction for P-frames")
#define WEIGHTP_LONGTEXT
#define ME_TEXT   N_("Integer pixel motion estimation method")
#define ME_LONGTEXT
#define MERANGE_TEXT   N_("Maximum motion vector search range")
#define MERANGE_LONGTEXT
#define MVRANGE_TEXT   N_("Maximum motion vector length")
#define MVRANGE_LONGTEXT
#define MVRANGE_THREAD_TEXT   N_("Minimum buffer space between threads")
#define MVRANGE_THREAD_LONGTEXT
#define PSY_RD_TEXT   N_( "Strength of psychovisual optimization, default is \"1.0:0.0\"")
#define PSY_RD_LONGTEXT
#define SUBME_TEXT
#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 PSY_TEXT   N_("Use Psy-optimizations")
#define PSY_LONGTEXT   N_("Use all visual optimizations that can worsen both PSNR and SSIM")
#define NR_TEXT   N_("Noise reduction")
#define NR_LONGTEXT
#define DEADZONE_INTER_TEXT   N_("Inter luma quantization deadzone")
#define DEADZONE_INTER_LONGTEXT
#define DEADZONE_INTRA_TEXT   N_("Intra luma quantization deadzone")
#define DEADZONE_INTRA_LONGTEXT
#define NON_DETERMINISTIC_TEXT   N_("Non-deterministic optimizations when threaded")
#define NON_DETERMINISTIC_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 SPS_ID_TEXT   N_("SPS and PPS id numbers")
#define SPS_ID_LONGTEXT
#define AUD_TEXT   N_("Access unit delimiters")
#define AUD_LONGTEXT   N_( "Generate access unit delimiter NAL units.")
#define LOOKAHEAD_TEXT   N_("Framecount to use on frametype lookahead")
#define LOOKAHEAD_LONGTEXT
#define HRD_TEXT   N_("HRD-timing information")
#define HRD_LONGTEXT   N_("HRD-timing information")
#define TUNE_TEXT
#define PRESET_TEXT   N_("Use preset as default settings. Overridden by user settings." )
#define X264_ANALYSE_BSUB16x16   0

Functions

static int Open (vlc_object_t *)
 Probes and initializes.
static void Close (vlc_object_t *)
 Releases resources.
int vlc_entry__main (module_t *p_module)
const char * vlc_entry_license__main (void)
static block_tEncode (encoder_t *, picture_t *)

Variables

static const char *const enc_me_list []
static const char *const enc_me_list_text []
static const char *const profile_list []
static const char *const bpyramid_list []
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 Documentation

#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 AQ_MODE_LONGTEXT

Value:

N_("Defines bitdistribution mode for AQ, default 1\n" \
        " - 0: Disabled\n"\
        " - 1: Current x264 default mode\n"\
        " - 2: uses log(var)^2 instead of log(var) and attempts to adapt strength per frame")

#define AQ_MODE_TEXT   N_("How AQ distributes bits")

#define AQ_STRENGTH_LONGTEXT

Value:

N_("Strength to reduce blocking and blurring in flat\n"\
        "and textured areas, default 1.0 recommented to be between 0..2\n"\
        " - 0.5: weak AQ\n"\
        " - 1.5: strong AQ")

#define AQ_STRENGTH_TEXT   N_("Strength of AQ")

#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." \
    "Range 0 to 2." )

#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.\n" \
    " - none: Disabled\n" \
    " - strict: Strictly hierarchical pyramid\n" \
    " - normal: Non-strict (not Blu-ray compatible)\n"\
    )

#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 DEADZONE_INTER_LONGTEXT

Value:

N_( "Set the size of the inter luma quantization deadzone. " \
    "Range 0 to 32." )

#define DEADZONE_INTER_TEXT   N_("Inter luma quantization deadzone")

#define DEADZONE_INTRA_LONGTEXT

Value:

N_( "Set the size of the intra luma quantization deadzone. " \
    "Range 0 to 32." )

#define DEADZONE_INTRA_TEXT   N_("Intra luma quantization deadzone")

#define DIRECT_PRED_LONGTEXT   N_( "Direct MV prediction mode.")

#define DIRECT_PRED_SIZE_LONGTEXT

Value:

N_( "Direct prediction size: "\
    " -  0: 4x4\n" \
    " -  1: 8x8\n" \
    " - -1: smallest possible according to level\n" )

#define DIRECT_PRED_SIZE_TEXT   N_("Direct prediction size")

#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 HRD_LONGTEXT   N_("HRD-timing information")

#define HRD_TEXT   N_("HRD-timing information")

#define INTERLACED_LONGTEXT   N_( "Pure-interlaced mode.")

#define INTERLACED_TEXT   N_("Interlaced mode")

#define INTRAREFRESH_LONGTEXT   N_("Use Periodic Intra Refresh instead of IDR frames")

#define INTRAREFRESH_TEXT   N_("Use Periodic Intra Refresh")

#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). Set to 0 for letting x264 set level.")

#define LEVEL_TEXT   N_("H.264 level")

#define LOOKAHEAD_LONGTEXT

Value:

N_("Framecount to use on frametype lookahead. " \
    "Currently default is lower than x264 default because unmuxable output" \
    "doesn't handle larger values that well yet" )

#define LOOKAHEAD_TEXT   N_("Framecount to use on frametype lookahead")

#define MBTREE_LONGTEXT   N_("You can disable use of Macroblock-tree on ratecontrol")

#define MBTREE_TEXT   N_("Use mb-tree ratecontrol")

#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" \
    " - tesa: hadamard exhaustive search (extremely slow, primarily for testing)\n" )

#define ME_TEXT   N_("Integer pixel motion estimation method")

#define MERANGE_LONGTEXT

Value:

N_( "Maximum distance to search for " \
    "motion estimation, measured from predicted position(s). " \
    "Default of 16 is good for most footage, high motion sequences may " \
    "benefit from settings between 24 and 32. Range 0 to 64." )

#define MERANGE_TEXT   N_("Maximum motion vector search range")

#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 MVRANGE_LONGTEXT

Value:

N_( "Maximum motion vector length in pixels. " \
    "-1 is automatic, based on level." )

#define MVRANGE_TEXT   N_("Maximum motion vector length")

#define MVRANGE_THREAD_LONGTEXT

Value:

N_( "Minimum buffer space between threads. " \
    "-1 is automatic, based on number of threads." )

#define MVRANGE_THREAD_TEXT   N_("Minimum buffer space between threads")

#define NF_LONGTEXT   N_( "Deactivate the deblocking loop filter (decreases quality).")

#define NF_TEXT   N_("Skip loop filter")

#define NON_DETERMINISTIC_LONGTEXT

Value:

N_( "Slightly improve quality of SMP, " \
    "at the cost of repeatability.")

#define NON_DETERMINISTIC_TEXT   N_("Non-deterministic optimizations when threaded")

#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 PRESET_TEXT   N_("Use preset as default settings. Overridden by user settings." )

#define PROFILE_LONGTEXT

Value:

N_("Specify H.264 profile which limits are enforced over" \
        "other settings" )

#define PROFILE_TEXT   N_("H.264 profile")

#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 PSY_LONGTEXT   N_("Use all visual optimizations that can worsen both PSNR and SSIM")

#define PSY_RD_LONGTEXT

Value:

N_( "First parameter controls if RD is on (subme>=6) or off"\
        "second parameter controls if Trellis is used on psychovisual optimization," \
        "default off")

#define PSY_RD_TEXT   N_( "Strength of psychovisual optimization, default is \"1.0:0.0\"")

#define PSY_TEXT   N_("Use Psy-optimizations")

#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 SLICE_COUNT   N_("Force number of slices per frame")

#define SLICE_COUNT_LONGTEXT   N_("Force rectangular slices and is overridden by other slicing optinos")

#define SLICE_MAX_MBS   N_("Limit the size of each slice in macroblocks")

#define SLICE_MAX_MBS_LONGTEXT   N_("Sets a maximum number of macroblocks per slice")

#define SLICE_MAX_SIZE   N_("Limit the size of each slice in bytes")

#define SLICE_MAX_SIZE_LONGTEXT   N_("Sets a maximum slice size in bytes, Includes NAL overhead in size")

#define SOUT_CFG_PREFIX   "sout-x264-"

#define SPS_ID_LONGTEXT

Value:

N_( "Set SPS and PPS id numbers to allow concatenating " \
    "streams with different settings.")

#define SPS_ID_TEXT   N_("SPS and PPS id numbers")

#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 9." )

#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 TUNE_TEXT

Value:

N_("Tune the settings for a particular type of source or situation. " \
     "Overridden by user settings." )

#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 WEIGHTP_LONGTEXT

Value:

N_(" Weighted prediction for P-frames: "\
    " - 0: Disabled\n"\
    " - 1: Blind offset\n"\
    " - 2: Smart analysis\n" )

#define WEIGHTP_TEXT   N_("Weighted prediction for P-frames")

#define X264_ANALYSE_BSUB16x16   0


Function Documentation

static void Close ( vlc_object_t p_this  )  [static]

Releases resources.

Close the module.

Destroys the X11 window.

Disconnect from the X server.

Close a SDL video output.

It destroys an OpenGL vout display.

Terminate a vout display created by Open.

It destroyes a Direct3D vout display.

Terminate an output method created by Open.

Release the drawable.

Close a libcaca video output.

Close a aa video output method.

Close the filter.

Terminate a splitter module.

This function closes a clone video splitter module.

Common close function.

Releases allocate resources.

Close: Destructor.

Parameters:
p_this pointer to this filter object
p_this,: the filter object

static block_t * Encode ( encoder_t p_enc,
picture_t p_pict 
) [static]

static int Open ( vlc_object_t p_this  )  [static]

Probes and initializes.

Basic chorus/flanger/delay audio filter This implements a variable delay filter for VLC.

Todo:

  • Improve CDDB support (non-blocking, cache, .

Open the module.

Create an X11 window.

Probe the X server.

This function initializes SDL vout method.

It creates an OpenGL vout display.

This function allocates and initialize the DirectX vout display.

It creates a Direct3D vout display.

This function allocates and initializes a FB vout method.

Find the drawable set by libvlc application.

This function initializes libcaca vout method.

This function allocates and initializes a aa vout method.

This function allocates and initializes a Wall splitter module.

Open the filter.

This function allocates and initializes a Clone splitter module.

Open: initialize and create stuff.

Connect to the sftp server and ask for a file.

Parameters:
p_this,: the vlc_object
Returns:
VLC_SUCCESS if everything was fine
Parameters:
p_this 
p_this,: the filter object
Returns:
VLC_SUCCESS or vlc error codes

Todo:
Reinstate meta codec name

int vlc_entry__main ( module_t p_module  ) 

const char* vlc_entry_license__main ( void   ) 


Variable Documentation

const char* const bpyramid_list[] [static]

Initial value:

  { "none", "strict", "normal" }

const char* const direct_pred_list[] [static]

Initial value:

  { "none", "spatial", "temporal", "auto" }

const char* const direct_pred_list_text[] [static]

Initial value:

  { N_("none"), N_("spatial"), N_("temporal"), N_("auto") }

const char* const enc_analyse_list[] [static]

Initial value:

  { "none", "fast", "normal", "slow", "all" }

const char* const enc_analyse_list_text[] [static]

Initial value:

  { N_("none"), N_("fast"), N_("normal"), N_("slow"), N_("all") }

const char* const enc_me_list[] [static]

Initial value:

  { "dia", "hex", "umh", "esa", "tesa" }

const char* const enc_me_list_text[] [static]

Initial value:

  { N_("dia"), N_("hex"), N_("umh"), N_("esa"), N_("tesa") }

const char* const ppsz_sout_options[] [static]

Initial value:

 {
    "8x8dct", "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", "fast-pskip",
    "interlaced", "ipratio", "keyint", "level",
    "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", "quiet", "ratetol", "ref", "scenecut",
    "sps-id", "ssim", "stats", "subme", "trellis",
    "verbose", "vbv-bufsize", "vbv-init", "vbv-maxrate", "weightb", "weightp",
    "aq-mode", "aq-strength", "psy-rd", "psy", "profile", "lookahead", "slices",
    "slice-max-size", "slice-max-mbs", "intra-refresh", "mbtree", "hrd",
    "tune","preset", NULL
}

const char* const profile_list[] [static]

Initial value:

  { "baseline", "main", "high" }


Generated on Tue May 25 08:05:15 2010 for VLC by  doxygen 1.5.6