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