[FFmpeg-devel] [PATCH] add encode options to libvpxenc
Thu May 20 03:38:45 CEST 2010
On Wed, May 19, 2010 at 17:51, Alexander Strange <astrange at ithinksw.com> wrote:
> On May 19, 2010, at 2:39 PM, James Zern wrote:
>> As mentioned in '[PATCH] VP8 de/encode via libvpx' this patch adds
>> fuller option support to libvpxenc. An attempt was made to try to
>> minimize new options, but in those cases some of the mappings may be
>> + ? ?/**
>> + ? ? * Enable spatial resampling
>> + ? ? *
>> + ? ? * Spatial resampling allows the codec to compress a lower resolution
>> + ? ? * version of the frame, which is then upscaled by the encoder to the
>> + ? ? * correct presentation resolution. This increases visual quality at low
>> + ? ? * data rates, at the expense of CPU time on the encoder/decoder.
>> + ? ? * - encoding: Set by user.
>> + ? ? * - decoding: unused
>> + ? ? *
>> + ? ? * ?\attention VP8 specific
>> + ? ? */
>> + ? ?int spatial_rsmpl;
> Is this a boolean? If so, it could go in CODEC_FLAGS2.
> I remember Xvid supported this once, but it seems like it was never exposed here.
> I think "resample" is better than "rsmpl".
Yes it is a boolean, so if it fits better there I can look into that.
The naming change is fine as it was produced after a cursory
inspection of other available options and an attempt at some of their
>> + ? ? * Spatial resampling up watermark.
>> + ? ? * Spatial resampling down watermark.
> "watermark" made me think it had to do with watermarking.
> Maybe "high-water mark" and "low-water mark"?
> Of course, matching the library documentation is probably the most important thing here.
Most of the lines do come from the SDK, but this is all iterative, so
it if helps convey the meaning then I'm fine changing it.
>> + ? ? * Two-pass mode CBR/VBR bias.
> This sounds like bit_rate_tolerance (x264 ratetol).
>> + ? ? * Bias, expressed on a scale of 0 to 100, for determining target size for
>> + ? ? * the current frame. The value 0 indicates the optimal CBR mode value
>> + ? ? * should be used. The value 100 indicates the optimal VBR mode value
>> + ? ? * should be used. Values in between indicate which way the encoder should
>> + ? ? * "lean." RC mode bias between CBR and VBR(0-100: 0->CBR, 100->VBR)
> The last sentence doesn't fit the rest of it.
>> + ? ? * Allow lagged encoding.
> This is rc_lookahead.
OK. This came in after the initial internal add so I didn't keep a
good eye on what was available.
>> + ? ? * Control sharpness preprocessing
>> + ? ? *
>> + ? ? * This setting does not impact any other setting and is largely a matter
>> + ? ? * of personal preference. ?A low sharpness setting will result in fewer
>> + ? ? * visible artifacts but may blur the image somewhat; a high sharpness will
>> + ? ? * result in a sharper image but may result in more visible artifacts.
>> + ? ? * Valid Range: [0,7]
> The documentation mostly uses noun phrases "level of sharpness preprocessing" instead of "control sharpness preprocessing".
> "Valid Range" should be a sentence.
>> + ? ? * Allow encoder to automatically set and use alternate reference frame.
> Is this a boolean? Maybe it can be a codec flag too if so.
Yes boolean again.
>> + ? ? * Set the max number of frames blurred creating the alternate reference frame.
> "when creating"
>> + ? ? * Set the type of filter to use for the alternate reference frame.
> What are the filter types?
>> + ? ? * Set the filter strength for the alternate reference frame.
> What are the range of values?
>> + ? ? * Set the threshold for macroblocks treated as static.
More docs to update, will get back on this.
More information about the ffmpeg-devel