@@ -116,7 +116,7 @@ public int PutCoeffs(int ctx, Vp8Residual residual)
116116 else
117117 {
118118 this . PutBit ( v >= 9 , 165 ) ;
119- this . PutBit ( ! ( ( v & 1 ) != 0 ) , 145 ) ;
119+ this . PutBit ( ( v & 1 ) == 0 , 145 ) ;
120120 }
121121 }
122122 else
@@ -462,7 +462,7 @@ public void WriteEncodedImageToStream(
462462 Vp8BitWriter bitWriterPartZero = new ( expectedSize , this . enc ) ;
463463
464464 // Partition #0 with header and partition sizes.
465- uint size0 = this . GeneratePartition0 ( bitWriterPartZero ) ;
465+ uint size0 = bitWriterPartZero . GeneratePartition0 ( ) ;
466466
467467 uint vp8Size = WebpConstants . Vp8FrameHeaderSize + size0 ;
468468 vp8Size += numBytes ;
@@ -495,98 +495,98 @@ public void WriteEncodedImageToStream(
495495 }
496496 }
497497
498- private uint GeneratePartition0 ( Vp8BitWriter bitWriter )
498+ private uint GeneratePartition0 ( )
499499 {
500- bitWriter . PutBitUniform ( 0 ) ; // colorspace
501- bitWriter . PutBitUniform ( 0 ) ; // clamp type
500+ this . PutBitUniform ( 0 ) ; // colorspace
501+ this . PutBitUniform ( 0 ) ; // clamp type
502502
503- this . WriteSegmentHeader ( bitWriter ) ;
504- this . WriteFilterHeader ( bitWriter ) ;
503+ this . WriteSegmentHeader ( ) ;
504+ this . WriteFilterHeader ( ) ;
505505
506- bitWriter . PutBits ( 0 , 2 ) ;
506+ this . PutBits ( 0 , 2 ) ;
507507
508- this . WriteQuant ( bitWriter ) ;
509- bitWriter . PutBitUniform ( 0 ) ;
510- this . WriteProbas ( bitWriter ) ;
511- this . CodeIntraModes ( bitWriter ) ;
508+ this . WriteQuant ( ) ;
509+ this . PutBitUniform ( 0 ) ;
510+ this . WriteProbas ( ) ;
511+ this . CodeIntraModes ( ) ;
512512
513- bitWriter . Finish ( ) ;
513+ this . Finish ( ) ;
514514
515- return ( uint ) bitWriter . NumBytes ( ) ;
515+ return ( uint ) this . NumBytes ( ) ;
516516 }
517517
518- private void WriteSegmentHeader ( Vp8BitWriter bitWriter )
518+ private void WriteSegmentHeader ( )
519519 {
520520 Vp8EncSegmentHeader hdr = this . enc . SegmentHeader ;
521521 Vp8EncProba proba = this . enc . Proba ;
522- if ( bitWriter . PutBitUniform ( hdr . NumSegments > 1 ? 1 : 0 ) != 0 )
522+ if ( this . PutBitUniform ( hdr . NumSegments > 1 ? 1 : 0 ) != 0 )
523523 {
524524 // We always 'update' the quant and filter strength values.
525525 int updateData = 1 ;
526- bitWriter . PutBitUniform ( hdr . UpdateMap ? 1 : 0 ) ;
527- if ( bitWriter . PutBitUniform ( updateData ) != 0 )
526+ this . PutBitUniform ( hdr . UpdateMap ? 1 : 0 ) ;
527+ if ( this . PutBitUniform ( updateData ) != 0 )
528528 {
529529 // We always use absolute values, not relative ones.
530- bitWriter . PutBitUniform ( 1 ) ; // (segment_feature_mode = 1. Paragraph 9.3.)
530+ this . PutBitUniform ( 1 ) ; // (segment_feature_mode = 1. Paragraph 9.3.)
531531 for ( int s = 0 ; s < WebpConstants . NumMbSegments ; ++ s )
532532 {
533- bitWriter . PutSignedBits ( this . enc . SegmentInfos [ s ] . Quant , 7 ) ;
533+ this . PutSignedBits ( this . enc . SegmentInfos [ s ] . Quant , 7 ) ;
534534 }
535535
536536 for ( int s = 0 ; s < WebpConstants . NumMbSegments ; ++ s )
537537 {
538- bitWriter . PutSignedBits ( this . enc . SegmentInfos [ s ] . FStrength , 6 ) ;
538+ this . PutSignedBits ( this . enc . SegmentInfos [ s ] . FStrength , 6 ) ;
539539 }
540540 }
541541
542542 if ( hdr . UpdateMap )
543543 {
544544 for ( int s = 0 ; s < 3 ; ++ s )
545545 {
546- if ( bitWriter . PutBitUniform ( proba . Segments [ s ] != 255 ? 1 : 0 ) != 0 )
546+ if ( this . PutBitUniform ( proba . Segments [ s ] != 255 ? 1 : 0 ) != 0 )
547547 {
548- bitWriter . PutBits ( proba . Segments [ s ] , 8 ) ;
548+ this . PutBits ( proba . Segments [ s ] , 8 ) ;
549549 }
550550 }
551551 }
552552 }
553553 }
554554
555- private void WriteFilterHeader ( Vp8BitWriter bitWriter )
555+ private void WriteFilterHeader ( )
556556 {
557557 Vp8FilterHeader hdr = this . enc . FilterHeader ;
558558 bool useLfDelta = hdr . I4x4LfDelta != 0 ;
559- bitWriter . PutBitUniform ( hdr . Simple ? 1 : 0 ) ;
560- bitWriter . PutBits ( ( uint ) hdr . FilterLevel , 6 ) ;
561- bitWriter . PutBits ( ( uint ) hdr . Sharpness , 3 ) ;
562- if ( bitWriter . PutBitUniform ( useLfDelta ? 1 : 0 ) != 0 )
559+ this . PutBitUniform ( hdr . Simple ? 1 : 0 ) ;
560+ this . PutBits ( ( uint ) hdr . FilterLevel , 6 ) ;
561+ this . PutBits ( ( uint ) hdr . Sharpness , 3 ) ;
562+ if ( this . PutBitUniform ( useLfDelta ? 1 : 0 ) != 0 )
563563 {
564564 // '0' is the default value for i4x4LfDelta at frame #0.
565565 bool needUpdate = hdr . I4x4LfDelta != 0 ;
566- if ( bitWriter . PutBitUniform ( needUpdate ? 1 : 0 ) != 0 )
566+ if ( this . PutBitUniform ( needUpdate ? 1 : 0 ) != 0 )
567567 {
568568 // we don't use refLfDelta => emit four 0 bits.
569- bitWriter . PutBits ( 0 , 4 ) ;
569+ this . PutBits ( 0 , 4 ) ;
570570
571571 // we use modeLfDelta for i4x4
572- bitWriter . PutSignedBits ( hdr . I4x4LfDelta , 6 ) ;
573- bitWriter . PutBits ( 0 , 3 ) ; // all others unused.
572+ this . PutSignedBits ( hdr . I4x4LfDelta , 6 ) ;
573+ this . PutBits ( 0 , 3 ) ; // all others unused.
574574 }
575575 }
576576 }
577577
578578 // Nominal quantization parameters
579- private void WriteQuant ( Vp8BitWriter bitWriter )
579+ private void WriteQuant ( )
580580 {
581- bitWriter . PutBits ( ( uint ) this . enc . BaseQuant , 7 ) ;
582- bitWriter . PutSignedBits ( this . enc . DqY1Dc , 4 ) ;
583- bitWriter . PutSignedBits ( this . enc . DqY2Dc , 4 ) ;
584- bitWriter . PutSignedBits ( this . enc . DqY2Ac , 4 ) ;
585- bitWriter . PutSignedBits ( this . enc . DqUvDc , 4 ) ;
586- bitWriter . PutSignedBits ( this . enc . DqUvAc , 4 ) ;
581+ this . PutBits ( ( uint ) this . enc . BaseQuant , 7 ) ;
582+ this . PutSignedBits ( this . enc . DqY1Dc , 4 ) ;
583+ this . PutSignedBits ( this . enc . DqY2Dc , 4 ) ;
584+ this . PutSignedBits ( this . enc . DqY2Ac , 4 ) ;
585+ this . PutSignedBits ( this . enc . DqUvDc , 4 ) ;
586+ this . PutSignedBits ( this . enc . DqUvAc , 4 ) ;
587587 }
588588
589- private void WriteProbas ( Vp8BitWriter bitWriter )
589+ private void WriteProbas ( )
590590 {
591591 Vp8EncProba probas = this . enc . Proba ;
592592 for ( int t = 0 ; t < WebpConstants . NumTypes ; ++ t )
@@ -599,25 +599,25 @@ private void WriteProbas(Vp8BitWriter bitWriter)
599599 {
600600 byte p0 = probas . Coeffs [ t ] [ b ] . Probabilities [ c ] . Probabilities [ p ] ;
601601 bool update = p0 != WebpLookupTables . DefaultCoeffsProba [ t , b , c , p ] ;
602- if ( bitWriter . PutBit ( update , WebpLookupTables . CoeffsUpdateProba [ t , b , c , p ] ) )
602+ if ( this . PutBit ( update , WebpLookupTables . CoeffsUpdateProba [ t , b , c , p ] ) )
603603 {
604- bitWriter . PutBits ( p0 , 8 ) ;
604+ this . PutBits ( p0 , 8 ) ;
605605 }
606606 }
607607 }
608608 }
609609 }
610610
611- if ( bitWriter . PutBitUniform ( probas . UseSkipProba ? 1 : 0 ) != 0 )
611+ if ( this . PutBitUniform ( probas . UseSkipProba ? 1 : 0 ) != 0 )
612612 {
613- bitWriter . PutBits ( probas . SkipProba , 8 ) ;
613+ this . PutBits ( probas . SkipProba , 8 ) ;
614614 }
615615 }
616616
617617 // Writes the partition #0 modes (that is: all intra modes)
618- private void CodeIntraModes ( Vp8BitWriter bitWriter )
618+ private void CodeIntraModes ( )
619619 {
620- var it = new Vp8EncIterator ( this . enc . YTop , this . enc . UvTop , this . enc . Nz , this . enc . MbInfo , this . enc . Preds , this . enc . TopDerr , this . enc . Mbw , this . enc . Mbh ) ;
620+ Vp8EncIterator it = new ( this . enc ) ;
621621 int predsWidth = this . enc . PredsWidth ;
622622
623623 do
@@ -627,18 +627,18 @@ private void CodeIntraModes(Vp8BitWriter bitWriter)
627627 Span < byte > preds = it . Preds . AsSpan ( predIdx ) ;
628628 if ( this . enc . SegmentHeader . UpdateMap )
629629 {
630- bitWriter . PutSegment ( mb . Segment , this . enc . Proba . Segments ) ;
630+ this . PutSegment ( mb . Segment , this . enc . Proba . Segments ) ;
631631 }
632632
633633 if ( this . enc . Proba . UseSkipProba )
634634 {
635- bitWriter . PutBit ( mb . Skip , this . enc . Proba . SkipProba ) ;
635+ this . PutBit ( mb . Skip , this . enc . Proba . SkipProba ) ;
636636 }
637637
638- if ( bitWriter . PutBit ( mb . MacroBlockType != 0 , 145 ) )
638+ if ( this . PutBit ( mb . MacroBlockType != 0 , 145 ) )
639639 {
640640 // i16x16
641- bitWriter . PutI16Mode ( preds [ 0 ] ) ;
641+ this . PutI16Mode ( preds [ 0 ] ) ;
642642 }
643643 else
644644 {
@@ -649,15 +649,15 @@ private void CodeIntraModes(Vp8BitWriter bitWriter)
649649 for ( int x = 0 ; x < 4 ; x ++ )
650650 {
651651 byte [ ] probas = WebpLookupTables . ModesProba [ topPred [ x ] , left ] ;
652- left = bitWriter . PutI4Mode ( it . Preds [ predIdx + x ] , probas ) ;
652+ left = this . PutI4Mode ( it . Preds [ predIdx + x ] , probas ) ;
653653 }
654654
655655 topPred = it . Preds . AsSpan ( predIdx ) ;
656656 predIdx += predsWidth ;
657657 }
658658 }
659659
660- bitWriter . PutUvMode ( mb . UvMode ) ;
660+ this . PutUvMode ( mb . UvMode ) ;
661661 }
662662 while ( it . Next ( ) ) ;
663663 }
0 commit comments