Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Side by Side Diff: source/libvpx/vpx/vp8cx.h

Issue 1015483002: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/libvpx/vp9/vp9_cx_iface.c ('k') | source/libvpx/vpx/vpx_encoder.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 #ifndef VPX_VP8CX_H_ 10 #ifndef VPX_VP8CX_H_
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 117
118 118
119 /*!\brief Disable entropy update 119 /*!\brief Disable entropy update
120 * 120 *
121 * When this flag is set, the encoder will not update its internal entropy 121 * When this flag is set, the encoder will not update its internal entropy
122 * model based on the entropy of this frame. 122 * model based on the entropy of this frame.
123 */ 123 */
124 #define VP8_EFLAG_NO_UPD_ENTROPY (1<<20) 124 #define VP8_EFLAG_NO_UPD_ENTROPY (1<<20)
125 125
126 126
127 /*!\brief VP8 encoder control functions 127 /*!\brief VPx encoder control functions
128 * 128 *
129 * This set of macros define the control functions available for the VP8 129 * This set of macros define the control functions available for VPx
130 * encoder interface. 130 * encoder interface.
131 * 131 *
132 * \sa #vpx_codec_control 132 * \sa #vpx_codec_control
133 */ 133 */
134 enum vp8e_enc_control_id { 134 enum vp8e_enc_control_id {
135 VP8E_UPD_ENTROPY = 5, /**< control function to set mode of entropy update in encoder */ 135 /*!\brief Codec control function to set mode of entropy update in encoder.
136 VP8E_UPD_REFERENCE, /**< control function to set reference update mode in encoder */ 136 *
137 VP8E_USE_REFERENCE, /**< control function to set which reference frame encoder can use */ 137 * Supported in codecs: VP8, VP9
138 VP8E_SET_ROI_MAP, /**< control function to pass an ROI map to e ncoder */ 138 */
139 VP8E_SET_ACTIVEMAP, /**< control function to pass an Active map t o encoder */ 139 VP8E_UPD_ENTROPY = 5,
140 VP8E_SET_SCALEMODE = 11, /**< control function to set encoder scaling mode */ 140
141 /*!\brief control function to set vp8 encoder cpuused 141 /*!\brief Codec control function to set reference update mode in encoder.
142 *
143 * Supported in codecs: VP8, VP9
144 */
145 VP8E_UPD_REFERENCE,
146
147 /*!\brief Codec control function to set which reference frame encoder can use.
148 *
149 * Supported in codecs: VP8, VP9
150 */
151 VP8E_USE_REFERENCE,
152
153 /*!\brief Codec control function to pass an ROI map to encoder.
154 *
155 * Supported in codecs: VP8, VP9
156 */
157 VP8E_SET_ROI_MAP,
158
159 /*!\brief Codec control function to pass an Active map to encoder.
160 *
161 * Supported in codecs: VP8, VP9
162 */
163 VP8E_SET_ACTIVEMAP,
164
165 /*!\brief Codec control function to set encoder scaling mode.
166 *
167 * Supported in codecs: VP8, VP9
168 */
169 VP8E_SET_SCALEMODE = 11,
170
171 /*!\brief Codec control function to set encoder internal speed settings.
142 * 172 *
143 * Changes in this value influences, among others, the encoder's selection 173 * Changes in this value influences, among others, the encoder's selection
144 * of motion estimation methods. Values greater than 0 will increase encoder 174 * of motion estimation methods. Values greater than 0 will increase encoder
145 * speed at the expense of quality. 175 * speed at the expense of quality.
146 * The full set of adjustments can be found in
147 * onyx_if.c:vp8_set_speed_features().
148 * \todo List highlights of the changes at various levels.
149 * 176 *
150 * \note Valid range: -16..16 177 * \note Valid range for VP8: -16..16
178 * \note Valid range for VP9: -8..8
179 *
180 * Supported in codecs: VP8, VP9
151 */ 181 */
152 VP8E_SET_CPUUSED = 13, 182 VP8E_SET_CPUUSED = 13,
153 VP8E_SET_ENABLEAUTOALTREF, /**< control function to enable vp8 to automa tic set and use altref frame */ 183
184 /*!\brief Codec control function to enable automatic set and use alf frames.
185 *
186 * Supported in codecs: VP8, VP9
187 */
188 VP8E_SET_ENABLEAUTOALTREF,
189
154 /*!\brief control function to set noise sensitivity 190 /*!\brief control function to set noise sensitivity
155 * 191 *
156 * 0: off, 1: OnYOnly, 2: OnYUV, 192 * 0: off, 1: OnYOnly, 2: OnYUV,
157 * 3: OnYUVAggressive, 4: Adaptive 193 * 3: OnYUVAggressive, 4: Adaptive
194 *
195 * Supported in codecs: VP8
158 */ 196 */
159 VP8E_SET_NOISE_SENSITIVITY, 197 VP8E_SET_NOISE_SENSITIVITY,
160 VP8E_SET_SHARPNESS, /**< control function to set sharpness */
161 VP8E_SET_STATIC_THRESHOLD, /**< control function to set the threshold fo r macroblocks treated static */
162 VP8E_SET_TOKEN_PARTITIONS, /**< control function to set the number of to ken partitions */
163 VP8E_GET_LAST_QUANTIZER, /**< return the quantizer chosen by the
164 encoder for the last frame using the i nternal
165 scale */
166 VP8E_GET_LAST_QUANTIZER_64, /**< return the quantizer chosen by the
167 encoder for the last frame, using the 0..63
168 scale as used by the rc_*_quantizer co nfig
169 parameters */
170 VP8E_SET_ARNR_MAXFRAMES, /**< control function to set the max number o f frames blurred creating arf*/
171 VP8E_SET_ARNR_STRENGTH, //!< control function to set the filter
172 //!< strength for the arf
173 198
174 /*!\deprecated control function to set the filter type to use for the arf */ 199 /*!\brief Codec control function to set sharpness.
200 *
201 * Supported in codecs: VP8, VP9
202 */
203 VP8E_SET_SHARPNESS,
204
205 /*!\brief Codec control function to set the threshold for MBs treated static.
206 *
207 * Supported in codecs: VP8, VP9
208 */
209 VP8E_SET_STATIC_THRESHOLD,
210
211 /*!\brief Codec control function to set the number of token partitions.
212 *
213 * Supported in codecs: VP8
214 */
215 VP8E_SET_TOKEN_PARTITIONS,
216
217 /*!\brief Codec control function to get last quantizer chosen by the encoder.
218 *
219 * Return value uses internal quantizer scale defined by the codec.
220 *
221 * Supported in codecs: VP8, VP9
222 */
223 VP8E_GET_LAST_QUANTIZER,
224
225 /*!\brief Codec control function to get last quantizer chosen by the encoder.
226 *
227 * Return value uses the 0..63 scale as used by the rc_*_quantizer config
228 * parameters.
229 *
230 * Supported in codecs: VP8, VP9
231 */
232 VP8E_GET_LAST_QUANTIZER_64,
233
234 /*!\brief Codec control function to set the max no of frames to create arf.
235 *
236 * Supported in codecs: VP8, VP9
237 */
238 VP8E_SET_ARNR_MAXFRAMES,
239
240 /*!\brief Codec control function to set the filter strength for the arf.
241 *
242 * Supported in codecs: VP8, VP9
243 */
244 VP8E_SET_ARNR_STRENGTH,
245
246 /*!\deprecated control function to set the filter type to use for the arf. */
175 VP8E_SET_ARNR_TYPE, 247 VP8E_SET_ARNR_TYPE,
176 248
177 VP8E_SET_TUNING, /**< control function to set visual tuning */ 249 /*!\brief Codec control function to set visual tuning.
178 /*!\brief control function to set constrained quality level 250 *
251 * Supported in codecs: VP8, VP9
252 */
253 VP8E_SET_TUNING,
254
255 /*!\brief Codec control function to set constrained quality level.
179 * 256 *
180 * \attention For this value to be used vpx_codec_enc_cfg_t::g_usage must be 257 * \attention For this value to be used vpx_codec_enc_cfg_t::g_usage must be
181 * set to #VPX_CQ. 258 * set to #VPX_CQ.
182 * \note Valid range: 0..63 259 * \note Valid range: 0..63
260 *
261 * Supported in codecs: VP8, VP9
183 */ 262 */
184 VP8E_SET_CQ_LEVEL, 263 VP8E_SET_CQ_LEVEL,
185 264
186 /*!\brief Max data rate for Intra frames 265 /*!\brief Codec control function to set Max data rate for Intra frames.
187 * 266 *
188 * This value controls additional clamping on the maximum size of a 267 * This value controls additional clamping on the maximum size of a
189 * keyframe. It is expressed as a percentage of the average 268 * keyframe. It is expressed as a percentage of the average
190 * per-frame bitrate, with the special (and default) value 0 meaning 269 * per-frame bitrate, with the special (and default) value 0 meaning
191 * unlimited, or no additional clamping beyond the codec's built-in 270 * unlimited, or no additional clamping beyond the codec's built-in
192 * algorithm. 271 * algorithm.
193 * 272 *
194 * For example, to allocate no more than 4.5 frames worth of bitrate 273 * For example, to allocate no more than 4.5 frames worth of bitrate
195 * to a keyframe, set this to 450. 274 * to a keyframe, set this to 450.
196 * 275 *
276 * Supported in codecs: VP8, VP9
197 */ 277 */
198 VP8E_SET_MAX_INTRA_BITRATE_PCT, 278 VP8E_SET_MAX_INTRA_BITRATE_PCT,
199 VP8E_SET_FRAME_FLAGS, /**< control function to set reference and upd ate frame flags */
200 279
201 /*!\brief Max data rate for Inter frames 280 /*!\brief Codec control function to set reference and update frame flags.
281 *
282 * Supported in codecs: VP8
283 */
284 VP8E_SET_FRAME_FLAGS,
285
286 /*!\brief Codec control function to set max data rate for Inter frames.
202 * 287 *
203 * This value controls additional clamping on the maximum size of an 288 * This value controls additional clamping on the maximum size of an
204 * inter frame. It is expressed as a percentage of the average 289 * inter frame. It is expressed as a percentage of the average
205 * per-frame bitrate, with the special (and default) value 0 meaning 290 * per-frame bitrate, with the special (and default) value 0 meaning
206 * unlimited, or no additional clamping beyond the codec's built-in 291 * unlimited, or no additional clamping beyond the codec's built-in
207 * algorithm. 292 * algorithm.
208 * 293 *
209 * For example, to allow no more than 4.5 frames worth of bitrate 294 * For example, to allow no more than 4.5 frames worth of bitrate
210 * to an inter frame, set this to 450. 295 * to an inter frame, set this to 450.
211 * 296 *
297 * Supported in codecs: VP9
212 */ 298 */
213 VP8E_SET_MAX_INTER_BITRATE_PCT, 299 VP9E_SET_MAX_INTER_BITRATE_PCT,
214 300
215 /*!\brief Boost percentage for Golden Frame in CBR mode 301 /*!\brief Boost percentage for Golden Frame in CBR mode.
216 * 302 *
217 * This value controls the amount of boost given to Golden Frame in 303 * This value controls the amount of boost given to Golden Frame in
218 * CBR mode. It is expressed as a percentage of the average 304 * CBR mode. It is expressed as a percentage of the average
219 * per-frame bitrate, with the special (and default) value 0 meaning 305 * per-frame bitrate, with the special (and default) value 0 meaning
220 * the feature is off, i.e., no golden frame boost in CBR mode and 306 * the feature is off, i.e., no golden frame boost in CBR mode and
221 * average bitrate target is used. 307 * average bitrate target is used.
222 * 308 *
223 * For example, to allow 100% more bits, i.e, 2X, in a golden frame 309 * For example, to allow 100% more bits, i.e, 2X, in a golden frame
224 * than average frame, set this to 100. 310 * than average frame, set this to 100.
225 * 311 *
312 * Supported in codecs: VP9
226 */ 313 */
227 VP8E_SET_GF_CBR_BOOST_PCT, 314 VP9E_SET_GF_CBR_BOOST_PCT,
228 315
229 /*!\brief Codec control function to set the temporal layer id 316 /*!\brief Codec control function to set the temporal layer id.
230 * 317 *
231 * For temporal scalability: this control allows the application to set the 318 * For temporal scalability: this control allows the application to set the
232 * layer id for each frame to be encoded. Note that this control must be set 319 * layer id for each frame to be encoded. Note that this control must be set
233 * for every frame prior to encoding. The usage of this control function 320 * for every frame prior to encoding. The usage of this control function
234 * supersedes the internal temporal pattern counter, which is now deprecated. 321 * supersedes the internal temporal pattern counter, which is now deprecated.
322 *
323 * Supported in codecs: VP8
235 */ 324 */
236 VP8E_SET_TEMPORAL_LAYER_ID, 325 VP8E_SET_TEMPORAL_LAYER_ID,
237 326
238 VP8E_SET_SCREEN_CONTENT_MODE, /**<control function to set encoder screen cont ent mode */ 327 /*!\brief Codec control function to set encoder screen content mode.
328 *
329 * Supported in codecs: VP8
330 */
331 VP8E_SET_SCREEN_CONTENT_MODE,
239 332
240 /*!\brief Codec control function to set lossless encoding mode 333 /*!\brief Codec control function to set lossless encoding mode.
241 * 334 *
242 * VP9 can operate in lossless encoding mode, in which the bitstream 335 * VP9 can operate in lossless encoding mode, in which the bitstream
243 * produced will be able to decode and reconstruct a perfect copy of 336 * produced will be able to decode and reconstruct a perfect copy of
244 * input source. This control function provides a mean to switch encoder 337 * input source. This control function provides a mean to switch encoder
245 * into lossless coding mode(1) or normal coding mode(0) that may be lossy. 338 * into lossless coding mode(1) or normal coding mode(0) that may be lossy.
246 * 0 = lossy coding mode 339 * 0 = lossy coding mode
247 * 1 = lossless coding mode 340 * 1 = lossless coding mode
248 * 341 *
249 * By default, encoder operates in normal coding mode (maybe lossy). 342 * By default, encoder operates in normal coding mode (maybe lossy).
343 *
344 * Supported in codecs: VP9
250 */ 345 */
251 VP9E_SET_LOSSLESS, 346 VP9E_SET_LOSSLESS,
252 347
253 /*!\brief Codec control function to set number of tile columns 348 /*!\brief Codec control function to set number of tile columns.
254 * 349 *
255 * In encoding and decoding, VP9 allows an input image frame be partitioned 350 * In encoding and decoding, VP9 allows an input image frame be partitioned
256 * into separated vertical tile columns, which can be encoded or decoded 351 * into separated vertical tile columns, which can be encoded or decoded
257 * independently. This enables easy implementation of parallel encoding and 352 * independently. This enables easy implementation of parallel encoding and
258 * decoding. This control requests the encoder to use column tiles in 353 * decoding. This control requests the encoder to use column tiles in
259 * encoding an input frame, with number of tile columns (in Log2 unit) as 354 * encoding an input frame, with number of tile columns (in Log2 unit) as
260 * the parameter: 355 * the parameter:
261 * 0 = 1 tile column 356 * 0 = 1 tile column
262 * 1 = 2 tile columns 357 * 1 = 2 tile columns
263 * 2 = 4 tile columns 358 * 2 = 4 tile columns
264 * ..... 359 * .....
265 * n = 2**n tile columns 360 * n = 2**n tile columns
266 * The requested tile columns will be capped by encoder based on image size 361 * The requested tile columns will be capped by encoder based on image size
267 * limitation (The minimum width of a tile column is 256 pixel, the maximum 362 * limitation (The minimum width of a tile column is 256 pixel, the maximum
268 * is 4096). 363 * is 4096).
269 * 364 *
270 * By default, the value is 0, i.e. one single column tile for entire image. 365 * By default, the value is 0, i.e. one single column tile for entire image.
366 *
367 * Supported in codecs: VP9
271 */ 368 */
272 VP9E_SET_TILE_COLUMNS, 369 VP9E_SET_TILE_COLUMNS,
273 370
274 /*!\brief Codec control function to set number of tile rows 371 /*!\brief Codec control function to set number of tile rows.
275 * 372 *
276 * In encoding and decoding, VP9 allows an input image frame be partitioned 373 * In encoding and decoding, VP9 allows an input image frame be partitioned
277 * into separated horizontal tile rows. Tile rows are encoded or decoded 374 * into separated horizontal tile rows. Tile rows are encoded or decoded
278 * sequentially. Even though encoding/decoding of later tile rows depends on 375 * sequentially. Even though encoding/decoding of later tile rows depends on
279 * earlier ones, this allows the encoder to output data packets for tile rows 376 * earlier ones, this allows the encoder to output data packets for tile rows
280 * prior to completely processing all tile rows in a frame, thereby reducing 377 * prior to completely processing all tile rows in a frame, thereby reducing
281 * the latency in processing between input and output. The parameter 378 * the latency in processing between input and output. The parameter
282 * for this control describes the number of tile rows, which has a valid 379 * for this control describes the number of tile rows, which has a valid
283 * range [0, 2]: 380 * range [0, 2]:
284 * 0 = 1 tile row 381 * 0 = 1 tile row
285 * 1 = 2 tile rows 382 * 1 = 2 tile rows
286 * 2 = 4 tile rows 383 * 2 = 4 tile rows
287 * 384 *
288 * By default, the value is 0, i.e. one single row tile for entire image. 385 * By default, the value is 0, i.e. one single row tile for entire image.
386 *
387 * Supported in codecs: VP9
289 */ 388 */
290 VP9E_SET_TILE_ROWS, 389 VP9E_SET_TILE_ROWS,
291 390
292 /*!\brief Codec control function to enable frame parallel decoding feature 391 /*!\brief Codec control function to enable frame parallel decoding feature.
293 * 392 *
294 * VP9 has a bitstream feature to reduce decoding dependency between frames 393 * VP9 has a bitstream feature to reduce decoding dependency between frames
295 * by turning off backward update of probability context used in encoding 394 * by turning off backward update of probability context used in encoding
296 * and decoding. This allows staged parallel processing of more than one 395 * and decoding. This allows staged parallel processing of more than one
297 * video frames in the decoder. This control function provides a mean to 396 * video frames in the decoder. This control function provides a mean to
298 * turn this feature on or off for bitstreams produced by encoder. 397 * turn this feature on or off for bitstreams produced by encoder.
299 * 398 *
300 * By default, this feature is off. 399 * By default, this feature is off.
400 *
401 * Supported in codecs: VP9
301 */ 402 */
302 VP9E_SET_FRAME_PARALLEL_DECODING, 403 VP9E_SET_FRAME_PARALLEL_DECODING,
303 404
304 /*!\brief Codec control function to set adaptive quantization mode 405 /*!\brief Codec control function to set adaptive quantization mode.
305 * 406 *
306 * VP9 has a segment based feature that allows encoder to adaptively change 407 * VP9 has a segment based feature that allows encoder to adaptively change
307 * quantization parameter for each segment within a frame to improve the 408 * quantization parameter for each segment within a frame to improve the
308 * subjective quality. This control makes encoder operate in one of the 409 * subjective quality. This control makes encoder operate in one of the
309 * several AQ_modes supported. 410 * several AQ_modes supported.
310 * 411 *
311 * By default, encoder operates with AQ_Mode 0(adaptive quantization off). 412 * By default, encoder operates with AQ_Mode 0(adaptive quantization off).
413 *
414 * Supported in codecs: VP9
312 */ 415 */
313 VP9E_SET_AQ_MODE, 416 VP9E_SET_AQ_MODE,
314 417
315 /*!\brief Codec control function to enable/disable periodic Q boost 418 /*!\brief Codec control function to enable/disable periodic Q boost.
316 * 419 *
317 * One VP9 encoder speed feature is to enable quality boost by lowering 420 * One VP9 encoder speed feature is to enable quality boost by lowering
318 * frame level Q periodically. This control function provides a mean to 421 * frame level Q periodically. This control function provides a mean to
319 * turn on/off this feature. 422 * turn on/off this feature.
320 * 0 = off 423 * 0 = off
321 * 1 = on 424 * 1 = on
322 * 425 *
323 * By default, the encoder is allowed to use this feature for appropriate 426 * By default, the encoder is allowed to use this feature for appropriate
324 * encoding modes. 427 * encoding modes.
428 *
429 * Supported in codecs: VP9
325 */ 430 */
326 VP9E_SET_FRAME_PERIODIC_BOOST, 431 VP9E_SET_FRAME_PERIODIC_BOOST,
327 432
328 /*!\brief control function to set noise sensitivity 433 /*!\brief Codec control function to set noise sensitivity.
329 * 434 *
330 * 0: off, 1: OnYOnly 435 * 0: off, 1: On(YOnly)
436 *
437 * Supported in codecs: VP9
331 */ 438 */
332 VP9E_SET_NOISE_SENSITIVITY, 439 VP9E_SET_NOISE_SENSITIVITY,
333 440
334 /*!\brief control function to turn on/off SVC in encoder. 441 /*!\brief Codec control function to turn on/off SVC in encoder.
335 * \note Return value is VPX_CODEC_INVALID_PARAM if the encoder does not 442 * \note Return value is VPX_CODEC_INVALID_PARAM if the encoder does not
336 * support SVC in its current encoding mode 443 * support SVC in its current encoding mode
337 * 0: off, 1: on 444 * 0: off, 1: on
445 *
446 * Supported in codecs: VP9
338 */ 447 */
339 VP9E_SET_SVC, 448 VP9E_SET_SVC,
340 449
341 /*!\brief control function to set parameters for SVC. 450 /*!\brief Codec control function to set parameters for SVC.
342 * \note Parameters contain min_q, max_q, scaling factor for each of the 451 * \note Parameters contain min_q, max_q, scaling factor for each of the
343 * SVC layers. 452 * SVC layers.
453 *
454 * Supported in codecs: VP9
344 */ 455 */
345 VP9E_SET_SVC_PARAMETERS, 456 VP9E_SET_SVC_PARAMETERS,
346 457
347 /*!\brief control function to set svc layer for spatial and temporal. 458 /*!\brief Codec control function to set svc layer for spatial and temporal.
348 * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial 459 * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial
349 * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for 460 * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for
350 * temporal layer. 461 * temporal layer.
462 *
463 * Supported in codecs: VP9
351 */ 464 */
352 VP9E_SET_SVC_LAYER_ID, 465 VP9E_SET_SVC_LAYER_ID,
353 466
354 /*!\brief control function to set content type. 467 /*!\brief Codec control function to set content type.
355 * \note Valid parameter range: 468 * \note Valid parameter range:
356 * VP9E_CONTENT_DEFAULT = Regular video content (Default) 469 * VP9E_CONTENT_DEFAULT = Regular video content (Default)
357 * VP9E_CONTENT_SCREEN = Screen capture content 470 * VP9E_CONTENT_SCREEN = Screen capture content
471 *
472 * Supported in codecs: VP9
358 */ 473 */
359 VP9E_SET_TUNE_CONTENT, 474 VP9E_SET_TUNE_CONTENT,
360 475
361 /*!\brief control function to get svc layer ID. 476 /*!\brief Codec control function to get svc layer ID.
362 * \note The layer ID returned is for the data packet from the registered 477 * \note The layer ID returned is for the data packet from the registered
363 * callback function. 478 * callback function.
479 *
480 * Supported in codecs: VP9
364 */ 481 */
365 VP9E_GET_SVC_LAYER_ID, 482 VP9E_GET_SVC_LAYER_ID,
366 483
367 /*!\brief control function to register callback for getting per layer packet. 484 /*!\brief Codec control function to register callback to get per layer packet.
368 * \note Parameter for this control function is a structure with a callback 485 * \note Parameter for this control function is a structure with a callback
369 * function and a pointer to private data used by the callback. 486 * function and a pointer to private data used by the callback.
487 *
488 * Supported in codecs: VP9
370 */ 489 */
371 VP9E_REGISTER_CX_CALLBACK, 490 VP9E_REGISTER_CX_CALLBACK,
372 491
373 /*!\brief control function to set color space info. 492 /*!\brief Codec control function to set color space info.
374 * \note Valid ranges: 0..7, default is "UNKNOWN". 493 * \note Valid ranges: 0..7, default is "UNKNOWN".
375 * 0 = UNKNOWN, 494 * 0 = UNKNOWN,
376 * 1 = BT_601 495 * 1 = BT_601
377 * 2 = BT_709 496 * 2 = BT_709
378 * 3 = SMPTE_170 497 * 3 = SMPTE_170
379 * 4 = SMPTE_240 498 * 4 = SMPTE_240
380 * 5 = BT_2020 499 * 5 = BT_2020
381 * 6 = RESERVED 500 * 6 = RESERVED
382 * 7 = SRGB 501 * 7 = SRGB
502 *
503 * Supported in codecs: VP9
383 */ 504 */
384 VP9E_SET_COLOR_SPACE, 505 VP9E_SET_COLOR_SPACE,
385 }; 506 };
386 507
387 /*!\brief vpx 1-D scaling mode 508 /*!\brief vpx 1-D scaling mode
388 * 509 *
389 * This set of constants define 1-D vpx scaling modes 510 * This set of constants define 1-D vpx scaling modes
390 */ 511 */
391 typedef enum vpx_scaling_mode_1d { 512 typedef enum vpx_scaling_mode_1d {
392 VP8E_NORMAL = 0, 513 VP8E_NORMAL = 0,
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int) 645 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int)
525 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int) 646 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int)
526 647
527 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *) 648 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *)
528 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *) 649 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *)
529 VPX_CTRL_USE_TYPE(VP9E_GET_SVC_LAYER_ID, vpx_svc_layer_id_t *) 650 VPX_CTRL_USE_TYPE(VP9E_GET_SVC_LAYER_ID, vpx_svc_layer_id_t *)
530 651
531 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) 652 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int)
532 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTER_BITRATE_PCT, unsigned int) 653 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTER_BITRATE_PCT, unsigned int)
533 654
534 VPX_CTRL_USE_TYPE(VP8E_SET_GF_CBR_BOOST_PCT, unsigned int) 655 VPX_CTRL_USE_TYPE(VP8E_SET_SCREEN_CONTENT_MODE, unsigned int)
535 656
536 VPX_CTRL_USE_TYPE(VP8E_SET_SCREEN_CONTENT_MODE, unsigned int) 657 VPX_CTRL_USE_TYPE(VP9E_SET_GF_CBR_BOOST_PCT, unsigned int)
537 658
538 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) 659 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int)
539 660
540 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) 661 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int)
541 662
542 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int) 663 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int)
543 664
544 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int) 665 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int)
545 666
546 VPX_CTRL_USE_TYPE(VP9E_SET_NOISE_SENSITIVITY, unsigned int) 667 VPX_CTRL_USE_TYPE(VP9E_SET_NOISE_SENSITIVITY, unsigned int)
547 668
548 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */ 669 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */
549 670
550 VPX_CTRL_USE_TYPE(VP9E_SET_COLOR_SPACE, int) 671 VPX_CTRL_USE_TYPE(VP9E_SET_COLOR_SPACE, int)
551 /*! @} - end defgroup vp8_encoder */ 672 /*! @} - end defgroup vp8_encoder */
552 #ifdef __cplusplus 673 #ifdef __cplusplus
553 } // extern "C" 674 } // extern "C"
554 #endif 675 #endif
555 676
556 #endif // VPX_VP8CX_H_ 677 #endif // VPX_VP8CX_H_
OLDNEW
« no previous file with comments | « source/libvpx/vp9/vp9_cx_iface.c ('k') | source/libvpx/vpx/vpx_encoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698