@@ -439,6 +439,32 @@ public void EncodeSubSamplingInterleaveNone()
439439 CheckOutput ( component2 , destination [ ( 2 * 2 * 2 ) ..] , decoder , 1 , 2 * 1 ) ;
440440 }
441441
442+ [ Fact ]
443+ public void EncodeSubSamplingInterleaveLine ( )
444+ {
445+ JpegLSEncoder encoder = new ( ) { FrameInfo = new FrameInfo ( 2 , 2 , 8 , 3 ) , InterleaveMode = InterleaveMode . None } ;
446+
447+ Memory < byte > encodedData = new byte [ encoder . EstimatedDestinationSize ] ;
448+ encoder . Destination = encodedData ;
449+
450+ byte [ ] components = [ 24 , 25 , 26 , 23 , 0 , 0 , 22 , 0 , 0 , 21 , 0 , 0 ] ;
451+
452+ encoder . SetSamplingFactor ( 0 , 2 , 2 ) ;
453+ encoder . SetSamplingFactor ( 1 , 1 , 1 ) ;
454+ encoder . SetSamplingFactor ( 2 , 1 , 1 ) ;
455+ encoder . InterleaveMode = InterleaveMode . Line ;
456+ encoder . Encode ( components ) ;
457+
458+ JpegLSDecoder decoder = new ( ) { Source = encoder . EncodedData } ;
459+ decoder . ReadHeader ( ) ;
460+
461+ Span < byte > destination = new byte [ decoder . GetDestinationSize ( ) ] ;
462+ decoder . Decode ( destination ) ;
463+
464+ //CheckOutput(component0, destination, decoder, 1, 2 * 2);
465+ //CheckOutput(component1And2, destination[(2 * 2)..], decoder, 1, 1 * 2);
466+ }
467+
442468 [ Fact ]
443469 public void EncodeSubSamplingInterleaveSample ( )
444470 {
0 commit comments