Dekodowanie JPEG ze zredukowanym DCT

HotPDF dekoduje docelowe obrazy DCTDecode o niskiej rozdzielczości bez alokowania rastra w pełnej rozdzielczości

Wybór skali

Dekoder wybiera największy obsługiwany mianownik odwrotnego DCT spośród 8, 4, 2 i 1, którego wyjście wciąż pokrywa żądany cel

Obrazy, których wymiary źródłowe nie kończą się na granicach MCU, używają mianownika 1, żeby wypełnione próbki krawędzi nie mogły zanieczyścić widocznego wycinka

Ograniczone ponowne próbkowanie

Stałoprzecinkowy resampler box zużywa pojedynczą zdekodowaną linię skanu na raz i zapisuje bezpośrednio do docelowej bitmapy

Pamięć robocza jest ograniczona przez zgłaszaną przez dekoder przeskalowaną szerokość, szerokość docelową i bitmapę wyjściową, a nie przez wymiary rastra źródłowego

Anulowanie jest sprawdzane wewnątrz pętli linii skanu, a wszystkie rozmiary wyjściowe pozostają objęte budżetem dekodowania dokumentu

Integracja z rendererem

DecodeLoadedImageRegionAtResolution i renderowanie stron w niskiej rozdzielczości automatycznie korzystają z tej ścieżki dla zgodnych strumieni JPEG w skali szarości i RGB

Ta sama informacja o zredukowanej skali i telemetria przekraczają granicę workera kodeka przy włączonej izolacji kodeków

Bezpośredni dekoder

THPDFJpegReducedDecoder wystawia ograniczony dekoder dla wywołujących, którzy mają już zakodowane bajty JPEG

GetLastJPEGReducedDecodeInfo raportuje ostatnie żądanie zintegrowane z dokumentem