MCPcopy Create free account
hub / github.com/creatale/node-dv / cvSetSeqBlockSize

Function cvSetSeqBlockSize

deps/opencv/modules/core/src/datastructs.cpp:402–431  ·  view source on GitHub ↗

adjusts field of sequence. It determines how much the sequence grows if there are no free space inside the sequence buffers */

Source from the content-addressed store, hash-verified

400/* adjusts <delta_elems> field of sequence. It determines how much the sequence
401 grows if there are no free space inside the sequence buffers */
402CV_IMPL void
403cvSetSeqBlockSize( CvSeq *seq, int delta_elements )
404{
405 int elem_size;
406 int useful_block_size;
407
408 if( !seq || !seq->storage )
409 CV_Error( CV_StsNullPtr, "" );
410 if( delta_elements < 0 )
411 CV_Error( CV_StsOutOfRange, "" );
412
413 useful_block_size = cvAlignLeft(seq->storage->block_size - sizeof(CvMemBlock) -
414 sizeof(CvSeqBlock), CV_STRUCT_ALIGN);
415 elem_size = seq->elem_size;
416
417 if( delta_elements == 0 )
418 {
419 delta_elements = (1 << 10) / elem_size;
420 delta_elements = MAX( delta_elements, 1 );
421 }
422 if( delta_elements * elem_size > useful_block_size )
423 {
424 delta_elements = useful_block_size / elem_size;
425 if( delta_elements == 0 )
426 CV_Error( CV_StsOutOfRange, "Storage block size is too small "
427 "to fit the sequence elements" );
428 }
429
430 seq->delta_elems = delta_elements;
431}
432
433
434/* Find a sequence element by its index: */

Callers 3

cvCreateSeqFunction · 0.85
icvGrowSeqFunction · 0.85
icvFSCreateCollectionFunction · 0.85

Calls 1

cvAlignLeftFunction · 0.85

Tested by

no test coverage detected