Fix comments for encoder controls This commit added coments for the following encoder controls: VP9E_SET_LOSSLESS VP9E_SET_TILE_COLUMNS VP9E_SET_TILE_ROWS VP9E_SET_FRAME_PARALLEL_DECODING VP9E_SET_AQ_MODE Change-Id: I2f75afd9cce01394f202b8e25f36bf763be0ddeb
diff --git a/vpx/vp8cx.h b/vpx/vp8cx.h index 4fc0fd6..2921fef 100644 --- a/vpx/vp8cx.h +++ b/vpx/vp8cx.h
@@ -234,11 +234,79 @@ VP8E_SET_SCREEN_CONTENT_MODE, /**<control function to set encoder screen content mode */ - /* TODO(jkoleszar): Move to vp9cx.h */ + /*!\brief Codec control function to set lossless encoding mode + * + * VP9 can operate in lossless encoding mode, in which the bitstream + * produced will be able to decode and reconstruct a perfect copy of + * input source. This control function provides a mean to switch encoder + * into lossless coding mode(1) or normal coding mode(0) that may be lossy. + * 0 = lossy coding mode + * 1 = lossless coding mode + * + * By default, encoder operates in normal coding mode (maybe lossy). + */ VP9E_SET_LOSSLESS, + + /*!\brief Codec control function to set number of tile columns + * + * In encoding and decoding, VP9 allows an input image frame be partitioned + * into separated vertical tile columns, which can be encoded or decoded + * independently. This enables easy implementation of parallel encoding and + * decoding. This control requests the encoder to use column tiles in + * encoding an input frame, with number of tile columns (in Log2 unit) as + * the parameter: + * 0 = 1 tile column + * 1 = 2 tile columns + * 2 = 4 tile columns + * ..... + * n = 2**n tile columns + * The requested tile columns will be capped by encoder based on image size + * limitation (The minimum width of a tile column is 256 pixel, the maximum + * is 4096). + * + * By default, the value is 0, i.e. one single column tile for entire image. + */ VP9E_SET_TILE_COLUMNS, + + /*!\brief Codec control function to set number of tile rows + * + * In encoding and decoding, VP9 allows an input image frame be partitioned + * into separated horizontal tile rows. Tile rows are encoded or decoded + * sequentially. Even though encoding/decoding of later tile rows depends on + * earlier ones, this allows the encoder to output data packets for tile rows + * prior to completely processing all tile rows in a frame, thereby reducing + * the latency in processing between input and output. The parameter + * for this control describes the number of tile rows, which has a valid + * range [0, 2]: + * 0 = 1 tile row + * 1 = 2 tile rows + * 2 = 4 tile rows + * + * By default, the value is 0, i.e. one single row tile for entire image. + */ VP9E_SET_TILE_ROWS, + + /*!\brief Codec control function to enable frame parallel decoding feature + * + * VP9 has a bitstream feature to reduce decoding dependency between frames + * by turning off backward update of probability context used in encoding + * and decoding. This allows staged parallel processing of more than one + * video frames in the decoder. This control function provides a mean to + * turn this feature on or off for bitstreams produced by encoder. + * + * By default, this feature is off. + */ VP9E_SET_FRAME_PARALLEL_DECODING, + + /*!\brief Codec control function to set adaptive quantization mode + * + * VP9 has a segment based feature that allows encoder to adaptively change + * quantization parameter for each segment within a frame to improve the + * subjective quality. This control makes encoder operate in one of the + * several AQ_modes supported. + * + * By default, encoder operates with AQ_Mode 0(adaptive quantization off). + */ VP9E_SET_AQ_MODE, VP9E_SET_FRAME_PERIODIC_BOOST, /*!\brief control function to set noise sensitivity