@woosh/meep-engine 3.8.0 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bundle-worker-image-decoder.js +1 -1
- package/build/bundle-worker-terrain.js +1 -1
- package/package.json +3 -2
- package/src/avif/encode_image_source.d.ts +70 -0
- package/src/avif/encode_image_source.d.ts.map +1 -0
- package/src/avif/encode_image_source.js +117 -0
- package/src/avif/encoder_worker.js +15 -126
- package/src/avif/index.d.ts +4 -2
- package/src/avif/index.js +21 -2
- package/src/avif/native/DECISIONS.md +537 -0
- package/src/avif/native/NOTICE.md +61 -0
- package/src/avif/native/api/AvifDecoder.d.ts +67 -0
- package/src/avif/native/api/AvifDecoder.d.ts.map +1 -0
- package/src/avif/native/api/AvifDecoder.js +121 -0
- package/src/avif/native/api/apply_transformations.d.ts +30 -0
- package/src/avif/native/api/apply_transformations.d.ts.map +1 -0
- package/src/avif/native/api/apply_transformations.js +120 -0
- package/src/avif/native/api/avif_to_sampler2d.d.ts +25 -0
- package/src/avif/native/api/avif_to_sampler2d.d.ts.map +1 -0
- package/src/avif/native/api/avif_to_sampler2d.js +42 -0
- package/src/avif/native/api/convert_to_rgba.d.ts +54 -0
- package/src/avif/native/api/convert_to_rgba.d.ts.map +1 -0
- package/src/avif/native/api/convert_to_rgba.js +204 -0
- package/src/avif/native/api/decode_avif.d.ts +24 -0
- package/src/avif/native/api/decode_avif.d.ts.map +1 -0
- package/src/avif/native/api/decode_avif.js +111 -0
- package/src/avif/native/api/decode_image_item.d.ts +18 -0
- package/src/avif/native/api/decode_image_item.d.ts.map +1 -0
- package/src/avif/native/api/decode_image_item.js +234 -0
- package/src/avif/native/api/encode_avif.d.ts +73 -0
- package/src/avif/native/api/encode_avif.d.ts.map +1 -0
- package/src/avif/native/api/encode_avif.js +488 -0
- package/src/avif/native/api/sampler2d_to_avif.d.ts +22 -0
- package/src/avif/native/api/sampler2d_to_avif.d.ts.map +1 -0
- package/src/avif/native/api/sampler2d_to_avif.js +108 -0
- package/src/avif/native/av1/decode/Av1FrameContext.d.ts +286 -0
- package/src/avif/native/av1/decode/Av1FrameContext.d.ts.map +1 -0
- package/src/avif/native/av1/decode/Av1FrameContext.js +622 -0
- package/src/avif/native/av1/decode/block_decoded.d.ts +27 -0
- package/src/avif/native/av1/decode/block_decoded.d.ts.map +1 -0
- package/src/avif/native/av1/decode/block_decoded.js +59 -0
- package/src/avif/native/av1/decode/decode_av1_still.d.ts +22 -0
- package/src/avif/native/av1/decode/decode_av1_still.d.ts.map +1 -0
- package/src/avif/native/av1/decode/decode_av1_still.js +309 -0
- package/src/avif/native/av1/decode/decode_coefficients.d.ts +20 -0
- package/src/avif/native/av1/decode/decode_coefficients.d.ts.map +1 -0
- package/src/avif/native/av1/decode/decode_coefficients.js +259 -0
- package/src/avif/native/av1/decode/decode_palette.d.ts +28 -0
- package/src/avif/native/av1/decode/decode_palette.d.ts.map +1 -0
- package/src/avif/native/av1/decode/decode_palette.js +442 -0
- package/src/avif/native/av1/decode/decode_tile.d.ts +14 -0
- package/src/avif/native/av1/decode/decode_tile.d.ts.map +1 -0
- package/src/avif/native/av1/decode/decode_tile.js +1213 -0
- package/src/avif/native/av1/decode/get_scan.d.ts +16 -0
- package/src/avif/native/av1/decode/get_scan.d.ts.map +1 -0
- package/src/avif/native/av1/decode/get_scan.js +138 -0
- package/src/avif/native/av1/decode/read_lr.d.ts +35 -0
- package/src/avif/native/av1/decode/read_lr.d.ts.map +1 -0
- package/src/avif/native/av1/decode/read_lr.js +277 -0
- package/src/avif/native/av1/decode/read_transform_type.d.ts +19 -0
- package/src/avif/native/av1/decode/read_transform_type.d.ts.map +1 -0
- package/src/avif/native/av1/decode/read_transform_type.js +92 -0
- package/src/avif/native/av1/decode/reconstruct.d.ts +36 -0
- package/src/avif/native/av1/decode/reconstruct.d.ts.map +1 -0
- package/src/avif/native/av1/decode/reconstruct.js +241 -0
- package/src/avif/native/av1/decode/transform_type.d.ts +49 -0
- package/src/avif/native/av1/decode/transform_type.d.ts.map +1 -0
- package/src/avif/native/av1/decode/transform_type.js +137 -0
- package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts +81 -0
- package/src/avif/native/av1/encode/Av1BlockSnapshot.d.ts.map +1 -0
- package/src/avif/native/av1/encode/Av1BlockSnapshot.js +299 -0
- package/src/avif/native/av1/encode/Av1EncodeContext.d.ts +384 -0
- package/src/avif/native/av1/encode/Av1EncodeContext.d.ts.map +1 -0
- package/src/avif/native/av1/encode/Av1EncodeContext.js +590 -0
- package/src/avif/native/av1/encode/build_headers.d.ts +50 -0
- package/src/avif/native/av1/encode/build_headers.d.ts.map +1 -0
- package/src/avif/native/av1/encode/build_headers.js +359 -0
- package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts +26 -0
- package/src/avif/native/av1/encode/choose_chroma_alpha.d.ts.map +1 -0
- package/src/avif/native/av1/encode/choose_chroma_alpha.js +90 -0
- package/src/avif/native/av1/encode/choose_filters.d.ts +21 -0
- package/src/avif/native/av1/encode/choose_filters.d.ts.map +1 -0
- package/src/avif/native/av1/encode/choose_filters.js +318 -0
- package/src/avif/native/av1/encode/choose_restoration.d.ts +35 -0
- package/src/avif/native/av1/encode/choose_restoration.d.ts.map +1 -0
- package/src/avif/native/av1/encode/choose_restoration.js +616 -0
- package/src/avif/native/av1/encode/decode_effort.d.ts +57 -0
- package/src/avif/native/av1/encode/decode_effort.d.ts.map +1 -0
- package/src/avif/native/av1/encode/decode_effort.js +59 -0
- package/src/avif/native/av1/encode/encode_av1_still.d.ts +17 -0
- package/src/avif/native/av1/encode/encode_av1_still.d.ts.map +1 -0
- package/src/avif/native/av1/encode/encode_av1_still.js +194 -0
- package/src/avif/native/av1/encode/encode_effort.d.ts +56 -0
- package/src/avif/native/av1/encode/encode_effort.d.ts.map +1 -0
- package/src/avif/native/av1/encode/encode_effort.js +97 -0
- package/src/avif/native/av1/encode/encode_tile.d.ts +26 -0
- package/src/avif/native/av1/encode/encode_tile.d.ts.map +1 -0
- package/src/avif/native/av1/encode/encode_tile.js +2331 -0
- package/src/avif/native/av1/encode/quantise.d.ts +51 -0
- package/src/avif/native/av1/encode/quantise.d.ts.map +1 -0
- package/src/avif/native/av1/encode/quantise.js +212 -0
- package/src/avif/native/av1/encode/write_coefficients.d.ts +42 -0
- package/src/avif/native/av1/encode/write_coefficients.d.ts.map +1 -0
- package/src/avif/native/av1/encode/write_coefficients.js +367 -0
- package/src/avif/native/av1/encode/write_lr.d.ts +33 -0
- package/src/avif/native/av1/encode/write_lr.d.ts.map +1 -0
- package/src/avif/native/av1/encode/write_lr.js +174 -0
- package/src/avif/native/av1/encode/write_transform_type.d.ts +21 -0
- package/src/avif/native/av1/encode/write_transform_type.d.ts.map +1 -0
- package/src/avif/native/av1/encode/write_transform_type.js +70 -0
- package/src/avif/native/av1/entropy/CdfContext.d.ts +167 -0
- package/src/avif/native/av1/entropy/CdfContext.d.ts.map +1 -0
- package/src/avif/native/av1/entropy/CdfContext.js +433 -0
- package/src/avif/native/av1/entropy/SymbolReader.d.ts +103 -0
- package/src/avif/native/av1/entropy/SymbolReader.d.ts.map +1 -0
- package/src/avif/native/av1/entropy/SymbolReader.js +317 -0
- package/src/avif/native/av1/entropy/SymbolWriter.d.ts +107 -0
- package/src/avif/native/av1/entropy/SymbolWriter.d.ts.map +1 -0
- package/src/avif/native/av1/entropy/SymbolWriter.js +352 -0
- package/src/avif/native/av1/entropy/coefficient_context.d.ts +71 -0
- package/src/avif/native/av1/entropy/coefficient_context.d.ts.map +1 -0
- package/src/avif/native/av1/entropy/coefficient_context.js +325 -0
- package/src/avif/native/av1/entropy/partition_cdf.d.ts +54 -0
- package/src/avif/native/av1/entropy/partition_cdf.d.ts.map +1 -0
- package/src/avif/native/av1/entropy/partition_cdf.js +98 -0
- package/src/avif/native/av1/entropy/symbol_cost.d.ts +37 -0
- package/src/avif/native/av1/entropy/symbol_cost.d.ts.map +1 -0
- package/src/avif/native/av1/entropy/symbol_cost.js +76 -0
- package/src/avif/native/av1/filter/cdef.d.ts +15 -0
- package/src/avif/native/av1/filter/cdef.d.ts.map +1 -0
- package/src/avif/native/av1/filter/cdef.js +313 -0
- package/src/avif/native/av1/filter/loop_filter.d.ts +14 -0
- package/src/avif/native/av1/filter/loop_filter.d.ts.map +1 -0
- package/src/avif/native/av1/filter/loop_filter.js +377 -0
- package/src/avif/native/av1/filter/loop_restoration.d.ts +42 -0
- package/src/avif/native/av1/filter/loop_restoration.d.ts.map +1 -0
- package/src/avif/native/av1/filter/loop_restoration.js +451 -0
- package/src/avif/native/av1/filter/superres.d.ts +18 -0
- package/src/avif/native/av1/filter/superres.d.ts.map +1 -0
- package/src/avif/native/av1/filter/superres.js +86 -0
- package/src/avif/native/av1/grain/FilmGrainState.d.ts +62 -0
- package/src/avif/native/av1/grain/FilmGrainState.d.ts.map +1 -0
- package/src/avif/native/av1/grain/FilmGrainState.js +87 -0
- package/src/avif/native/av1/grain/film_grain.d.ts +16 -0
- package/src/avif/native/av1/grain/film_grain.d.ts.map +1 -0
- package/src/avif/native/av1/grain/film_grain.js +623 -0
- package/src/avif/native/av1/obu/FrameHeader.d.ts +248 -0
- package/src/avif/native/av1/obu/FrameHeader.d.ts.map +1 -0
- package/src/avif/native/av1/obu/FrameHeader.js +381 -0
- package/src/avif/native/av1/obu/ObuHeader.d.ts +53 -0
- package/src/avif/native/av1/obu/ObuHeader.d.ts.map +1 -0
- package/src/avif/native/av1/obu/ObuHeader.js +62 -0
- package/src/avif/native/av1/obu/SequenceHeader.d.ts +157 -0
- package/src/avif/native/av1/obu/SequenceHeader.d.ts.map +1 -0
- package/src/avif/native/av1/obu/SequenceHeader.js +225 -0
- package/src/avif/native/av1/obu/for_each_obu.d.ts +24 -0
- package/src/avif/native/av1/obu/for_each_obu.d.ts.map +1 -0
- package/src/avif/native/av1/obu/for_each_obu.js +50 -0
- package/src/avif/native/av1/obu/parse_frame_header.d.ts +18 -0
- package/src/avif/native/av1/obu/parse_frame_header.d.ts.map +1 -0
- package/src/avif/native/av1/obu/parse_frame_header.js +841 -0
- package/src/avif/native/av1/obu/parse_obu_header.d.ts +23 -0
- package/src/avif/native/av1/obu/parse_obu_header.d.ts.map +1 -0
- package/src/avif/native/av1/obu/parse_obu_header.js +69 -0
- package/src/avif/native/av1/obu/parse_sequence_header.d.ts +17 -0
- package/src/avif/native/av1/obu/parse_sequence_header.d.ts.map +1 -0
- package/src/avif/native/av1/obu/parse_sequence_header.js +263 -0
- package/src/avif/native/av1/obu/write_frame_header.d.ts +16 -0
- package/src/avif/native/av1/obu/write_frame_header.d.ts.map +1 -0
- package/src/avif/native/av1/obu/write_frame_header.js +579 -0
- package/src/avif/native/av1/obu/write_sequence_header.d.ts +17 -0
- package/src/avif/native/av1/obu/write_sequence_header.d.ts.map +1 -0
- package/src/avif/native/av1/obu/write_sequence_header.js +189 -0
- package/src/avif/native/av1/predict/IntraPredictionState.d.ts +49 -0
- package/src/avif/native/av1/predict/IntraPredictionState.d.ts.map +1 -0
- package/src/avif/native/av1/predict/IntraPredictionState.js +58 -0
- package/src/avif/native/av1/predict/intra_filter_type.d.ts +17 -0
- package/src/avif/native/av1/predict/intra_filter_type.d.ts.map +1 -0
- package/src/avif/native/av1/predict/intra_filter_type.js +79 -0
- package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts +50 -0
- package/src/avif/native/av1/predict/predict_chroma_from_luma.d.ts.map +1 -0
- package/src/avif/native/av1/predict/predict_chroma_from_luma.js +153 -0
- package/src/avif/native/av1/predict/predict_intra.d.ts +42 -0
- package/src/avif/native/av1/predict/predict_intra.d.ts.map +1 -0
- package/src/avif/native/av1/predict/predict_intra.js +803 -0
- package/src/avif/native/av1/predict/predict_palette.d.ts +23 -0
- package/src/avif/native/av1/predict/predict_palette.d.ts.map +1 -0
- package/src/avif/native/av1/predict/predict_palette.js +36 -0
- package/src/avif/native/av1/tables/av1_symbols.d.ts +411 -0
- package/src/avif/native/av1/tables/av1_symbols.d.ts.map +1 -0
- package/src/avif/native/av1/tables/av1_symbols.js +419 -0
- package/src/avif/native/av1/tables/block_tables.d.ts +181 -0
- package/src/avif/native/av1/tables/block_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/block_tables.js +270 -0
- package/src/avif/native/av1/tables/cdf_tables.d.ts +961 -0
- package/src/avif/native/av1/tables/cdf_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/cdf_tables.js +1893 -0
- package/src/avif/native/av1/tables/coefficient_tables.d.ts +41 -0
- package/src/avif/native/av1/tables/coefficient_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/coefficient_tables.js +82 -0
- package/src/avif/native/av1/tables/derived_block_tables.d.ts +15 -0
- package/src/avif/native/av1/tables/derived_block_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/derived_block_tables.js +23 -0
- package/src/avif/native/av1/tables/filter_tables.d.ts +171 -0
- package/src/avif/native/av1/tables/filter_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/filter_tables.js +313 -0
- package/src/avif/native/av1/tables/grain_tables.d.ts +11 -0
- package/src/avif/native/av1/tables/grain_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/grain_tables.js +190 -0
- package/src/avif/native/av1/tables/prediction_tables.d.ts +141 -0
- package/src/avif/native/av1/tables/prediction_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/prediction_tables.js +223 -0
- package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts +21 -0
- package/src/avif/native/av1/tables/quantizer_matrix_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/quantizer_matrix_tables.js +38 -0
- package/src/avif/native/av1/tables/quantizer_tables.d.ts +21 -0
- package/src/avif/native/av1/tables/quantizer_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/quantizer_tables.js +160 -0
- package/src/avif/native/av1/tables/scan_tables.d.ts +321 -0
- package/src/avif/native/av1/tables/scan_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/scan_tables.js +727 -0
- package/src/avif/native/av1/tables/segmentation_tables.d.ts +31 -0
- package/src/avif/native/av1/tables/segmentation_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/segmentation_tables.js +48 -0
- package/src/avif/native/av1/tables/transform_tables.d.ts +91 -0
- package/src/avif/native/av1/tables/transform_tables.d.ts.map +1 -0
- package/src/avif/native/av1/tables/transform_tables.js +140 -0
- package/src/avif/native/av1/tables/unpack_table.d.ts +33 -0
- package/src/avif/native/av1/tables/unpack_table.d.ts.map +1 -0
- package/src/avif/native/av1/tables/unpack_table.js +73 -0
- package/src/avif/native/av1/transform/forward_transform_2d.d.ts +61 -0
- package/src/avif/native/av1/transform/forward_transform_2d.d.ts.map +1 -0
- package/src/avif/native/av1/transform/forward_transform_2d.js +574 -0
- package/src/avif/native/av1/transform/inverse_transform_1d.d.ts +76 -0
- package/src/avif/native/av1/transform/inverse_transform_1d.d.ts.map +1 -0
- package/src/avif/native/av1/transform/inverse_transform_1d.js +590 -0
- package/src/avif/native/av1/transform/inverse_transform_2d.d.ts +46 -0
- package/src/avif/native/av1/transform/inverse_transform_2d.d.ts.map +1 -0
- package/src/avif/native/av1/transform/inverse_transform_2d.js +180 -0
- package/src/avif/native/av1/util/ceil_log2.d.ts +13 -0
- package/src/avif/native/av1/util/ceil_log2.d.ts.map +1 -0
- package/src/avif/native/av1/util/ceil_log2.js +18 -0
- package/src/avif/native/av1/util/floor_log2.d.ts +20 -0
- package/src/avif/native/av1/util/floor_log2.d.ts.map +1 -0
- package/src/avif/native/av1/util/floor_log2.js +20 -0
- package/src/avif/native/av1/util/round2.d.ts +22 -0
- package/src/avif/native/av1/util/round2.d.ts.map +1 -0
- package/src/avif/native/av1/util/round2.js +27 -0
- package/src/avif/native/av1/util/round2_signed.d.ts +14 -0
- package/src/avif/native/av1/util/round2_signed.d.ts.map +1 -0
- package/src/avif/native/av1/util/round2_signed.js +17 -0
- package/src/avif/native/av1/util/tile_log2.d.ts +16 -0
- package/src/avif/native/av1/util/tile_log2.d.ts.map +1 -0
- package/src/avif/native/av1/util/tile_log2.js +23 -0
- package/src/avif/native/bitstream/BitReader.d.ts +174 -0
- package/src/avif/native/bitstream/BitReader.d.ts.map +1 -0
- package/src/avif/native/bitstream/BitReader.js +391 -0
- package/src/avif/native/bitstream/BitWriter.d.ts +122 -0
- package/src/avif/native/bitstream/BitWriter.d.ts.map +1 -0
- package/src/avif/native/bitstream/BitWriter.js +351 -0
- package/src/avif/native/color/ColourTransform.d.ts +62 -0
- package/src/avif/native/color/ColourTransform.d.ts.map +1 -0
- package/src/avif/native/color/ColourTransform.js +189 -0
- package/src/avif/native/color/YuvImage.d.ts +51 -0
- package/src/avif/native/color/YuvImage.d.ts.map +1 -0
- package/src/avif/native/color/YuvImage.js +66 -0
- package/src/avif/native/color/clamp_sample.d.ts +18 -0
- package/src/avif/native/color/clamp_sample.d.ts.map +1 -0
- package/src/avif/native/color/clamp_sample.js +25 -0
- package/src/avif/native/color/linear_to_transfer.d.ts +24 -0
- package/src/avif/native/color/linear_to_transfer.d.ts.map +1 -0
- package/src/avif/native/color/linear_to_transfer.js +126 -0
- package/src/avif/native/color/primaries.d.ts +20 -0
- package/src/avif/native/color/primaries.d.ts.map +1 -0
- package/src/avif/native/color/primaries.js +94 -0
- package/src/avif/native/color/rgb_row_to_ycbcr.d.ts +20 -0
- package/src/avif/native/color/rgb_row_to_ycbcr.d.ts.map +1 -0
- package/src/avif/native/color/rgb_row_to_ycbcr.js +78 -0
- package/src/avif/native/color/transfer_to_linear.d.ts +49 -0
- package/src/avif/native/color/transfer_to_linear.d.ts.map +1 -0
- package/src/avif/native/color/transfer_to_linear.js +171 -0
- package/src/avif/native/color/upsample_chroma_row.d.ts +35 -0
- package/src/avif/native/color/upsample_chroma_row.d.ts.map +1 -0
- package/src/avif/native/color/upsample_chroma_row.js +89 -0
- package/src/avif/native/color/ycbcr_row_to_rgb.d.ts +23 -0
- package/src/avif/native/color/ycbcr_row_to_rgb.d.ts.map +1 -0
- package/src/avif/native/color/ycbcr_row_to_rgb.js +78 -0
- package/src/avif/native/heif/AvifFile.d.ts +112 -0
- package/src/avif/native/heif/AvifFile.d.ts.map +1 -0
- package/src/avif/native/heif/AvifFile.js +142 -0
- package/src/avif/native/heif/ItemProperty.d.ts +244 -0
- package/src/avif/native/heif/ItemProperty.d.ts.map +1 -0
- package/src/avif/native/heif/ItemProperty.js +321 -0
- package/src/avif/native/heif/find_item_property.d.ts +17 -0
- package/src/avif/native/heif/find_item_property.d.ts.map +1 -0
- package/src/avif/native/heif/find_item_property.js +28 -0
- package/src/avif/native/heif/find_item_references.d.ts +16 -0
- package/src/avif/native/heif/find_item_references.d.ts.map +1 -0
- package/src/avif/native/heif/find_item_references.js +29 -0
- package/src/avif/native/heif/find_items_referencing.d.ts +17 -0
- package/src/avif/native/heif/find_items_referencing.d.ts.map +1 -0
- package/src/avif/native/heif/find_items_referencing.js +36 -0
- package/src/avif/native/heif/parse_avif_file.d.ts +15 -0
- package/src/avif/native/heif/parse_avif_file.d.ts.map +1 -0
- package/src/avif/native/heif/parse_avif_file.js +383 -0
- package/src/avif/native/heif/parse_image_grid.d.ts +18 -0
- package/src/avif/native/heif/parse_image_grid.d.ts.map +1 -0
- package/src/avif/native/heif/parse_image_grid.js +48 -0
- package/src/avif/native/heif/parse_item_property.d.ts +18 -0
- package/src/avif/native/heif/parse_item_property.d.ts.map +1 -0
- package/src/avif/native/heif/parse_item_property.js +243 -0
- package/src/avif/native/heif/read_item_data.d.ts +22 -0
- package/src/avif/native/heif/read_item_data.d.ts.map +1 -0
- package/src/avif/native/heif/read_item_data.js +97 -0
- package/src/avif/native/heif/write_avif_file.d.ts +50 -0
- package/src/avif/native/heif/write_avif_file.d.ts.map +1 -0
- package/src/avif/native/heif/write_avif_file.js +348 -0
- package/src/avif/native/heif/write_item_property.d.ts +16 -0
- package/src/avif/native/heif/write_item_property.d.ts.map +1 -0
- package/src/avif/native/heif/write_item_property.js +182 -0
- package/src/avif/native/index.d.ts +14 -0
- package/src/avif/native/index.d.ts.map +1 -0
- package/src/avif/native/index.js +56 -0
- package/src/avif/native/isobmff/BoxHeader.d.ts +50 -0
- package/src/avif/native/isobmff/BoxHeader.d.ts.map +1 -0
- package/src/avif/native/isobmff/BoxHeader.js +57 -0
- package/src/avif/native/isobmff/BoxWriter.d.ts +118 -0
- package/src/avif/native/isobmff/BoxWriter.d.ts.map +1 -0
- package/src/avif/native/isobmff/BoxWriter.js +264 -0
- package/src/avif/native/isobmff/ByteCursor.d.ts +125 -0
- package/src/avif/native/isobmff/ByteCursor.d.ts.map +1 -0
- package/src/avif/native/isobmff/ByteCursor.js +298 -0
- package/src/avif/native/isobmff/for_each_box.d.ts +23 -0
- package/src/avif/native/isobmff/for_each_box.d.ts.map +1 -0
- package/src/avif/native/isobmff/for_each_box.js +39 -0
- package/src/avif/native/isobmff/read_box_header.d.ts +22 -0
- package/src/avif/native/isobmff/read_box_header.d.ts.map +1 -0
- package/src/avif/native/isobmff/read_box_header.js +59 -0
- package/src/avif/native/isobmff/read_full_box_header.d.ts +26 -0
- package/src/avif/native/isobmff/read_full_box_header.d.ts.map +1 -0
- package/src/avif/native/isobmff/read_full_box_header.js +33 -0
- package/src/avif/threaded_image_encoder.d.ts +7 -2
- package/src/avif/threaded_image_encoder.d.ts.map +1 -1
- package/src/avif/threaded_image_encoder.js +107 -21
- package/src/core/binary/BinaryBuffer.d.ts +40 -0
- package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
- package/src/core/binary/BinaryBuffer.js +100 -0
- package/src/core/binary/hash/crc32.d.ts +16 -0
- package/src/core/binary/hash/crc32.d.ts.map +1 -0
- package/src/core/binary/hash/crc32.js +96 -0
- package/src/core/binary/utf8/utf8_decode.d.ts +21 -0
- package/src/core/binary/utf8/utf8_decode.d.ts.map +1 -0
- package/src/core/binary/utf8/utf8_decode.js +43 -0
- package/src/core/binary/utf8/utf8_encode_into.d.ts +20 -0
- package/src/core/binary/utf8/utf8_encode_into.d.ts.map +1 -0
- package/src/core/binary/utf8/utf8_encode_into.js +48 -0
- package/src/core/binary/utf8/utf8_encoded_length.d.ts +14 -0
- package/src/core/binary/utf8/utf8_encoded_length.d.ts.map +1 -0
- package/src/core/binary/utf8/utf8_encoded_length.js +36 -0
- package/src/core/color/COLOR_FIX_PLAN_2026_08_28.md +417 -0
- package/src/core/color/COLOR_REVIEW_2026_08_28.md +779 -0
- package/src/core/color/Color.d.ts +128 -20
- package/src/core/color/Color.d.ts.map +1 -1
- package/src/core/color/Color.js +959 -866
- package/src/core/color/PQ/PQ_constants.d.ts +10 -0
- package/src/core/color/PQ/PQ_constants.d.ts.map +1 -1
- package/src/core/color/PQ/PQ_constants.js +10 -0
- package/src/core/color/PQ/linear_to_PQ.d.ts.map +1 -1
- package/src/core/color/PQ/linear_to_PQ.js +6 -0
- package/src/core/color/REC709_PRIMARIES.d.ts +50 -0
- package/src/core/color/REC709_PRIMARIES.d.ts.map +1 -0
- package/src/core/color/REC709_PRIMARIES.js +53 -0
- package/src/core/color/construct/color_from_hex.d.ts +21 -0
- package/src/core/color/construct/color_from_hex.d.ts.map +1 -0
- package/src/core/color/construct/color_from_hex.js +33 -0
- package/src/core/color/construct/color_from_temperature.d.ts +22 -0
- package/src/core/color/construct/color_from_temperature.d.ts.map +1 -0
- package/src/core/color/construct/color_from_temperature.js +33 -0
- package/src/core/color/construct/color_from_uint24.d.ts +19 -0
- package/src/core/color/construct/color_from_uint24.d.ts.map +1 -0
- package/src/core/color/construct/color_from_uint24.js +26 -0
- package/src/core/color/construct/color_from_uint32.d.ts +20 -0
- package/src/core/color/construct/color_from_uint32.d.ts.map +1 -0
- package/src/core/color/construct/color_from_uint32.js +39 -0
- package/src/core/color/construct/color_gray.d.ts +17 -0
- package/src/core/color/construct/color_gray.d.ts.map +1 -0
- package/src/core/color/construct/color_gray.js +22 -0
- package/src/core/color/hex/hex2rgb.d.ts +1 -11
- package/src/core/color/hex/hex2rgb.d.ts.map +1 -1
- package/src/core/color/hex/hex2rgb.js +7 -24
- package/src/core/color/hex/hex_to_rgb.d.ts +18 -0
- package/src/core/color/hex/hex_to_rgb.d.ts.map +1 -0
- package/src/core/color/hex/hex_to_rgb.js +62 -0
- package/src/core/color/hex/rgb2hex.d.ts +1 -8
- package/src/core/color/hex/rgb2hex.d.ts.map +1 -1
- package/src/core/color/hex/rgb2hex.js +7 -13
- package/src/core/color/hex/rgb_to_hex.d.ts +9 -0
- package/src/core/color/hex/rgb_to_hex.d.ts.map +1 -0
- package/src/core/color/hex/rgb_to_hex.js +13 -0
- package/src/core/color/hex/rgba_to_hex.d.ts +19 -0
- package/src/core/color/hex/rgba_to_hex.d.ts.map +1 -0
- package/src/core/color/hex/rgba_to_hex.js +23 -0
- package/src/core/color/hsv/hsv2rgb.d.ts +1 -12
- package/src/core/color/hsv/hsv2rgb.d.ts.map +1 -1
- package/src/core/color/hsv/hsv2rgb.js +8 -21
- package/src/core/color/hsv/hsv2rgb_float.d.ts +1 -12
- package/src/core/color/hsv/hsv2rgb_float.d.ts.map +1 -1
- package/src/core/color/hsv/hsv2rgb_float.js +8 -56
- package/src/core/color/hsv/hsv_to_rgb.d.ts +13 -0
- package/src/core/color/hsv/hsv_to_rgb.d.ts.map +1 -0
- package/src/core/color/hsv/hsv_to_rgb.js +39 -0
- package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts +13 -0
- package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -0
- package/src/core/color/hsv/hsv_to_rgb_uint8.js +21 -0
- package/src/core/color/hsv/hue_to_rgb_sextant.d.ts +24 -0
- package/src/core/color/hsv/hue_to_rgb_sextant.d.ts.map +1 -0
- package/src/core/color/hsv/hue_to_rgb_sextant.js +67 -0
- package/src/core/color/hsv/rgb2hsv.d.ts +1 -12
- package/src/core/color/hsv/rgb2hsv.d.ts.map +1 -1
- package/src/core/color/hsv/rgb2hsv.js +7 -42
- package/src/core/color/hsv/rgb_to_hsv.d.ts +13 -0
- package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -0
- package/src/core/color/hsv/rgb_to_hsv.js +42 -0
- package/src/core/color/hunt/hpe_to_xyz.d.ts +2 -0
- package/src/core/color/hunt/hpe_to_xyz.d.ts.map +1 -0
- package/src/core/color/hunt/hpe_to_xyz.js +4 -0
- package/src/core/color/hunt/xyz_to_hpe.d.ts +1 -6
- package/src/core/color/hunt/xyz_to_hpe.d.ts.map +1 -1
- package/src/core/color/hunt/xyz_to_hpe.js +12 -15
- package/src/core/color/illuminant/D65_spd_tabulated.d.ts.map +1 -1
- package/src/core/color/illuminant/D65_spd_tabulated.js +107 -104
- package/src/core/color/int2rgb.d.ts +1 -10
- package/src/core/color/int2rgb.d.ts.map +1 -1
- package/src/core/color/int2rgb.js +7 -12
- package/src/core/color/int_to_rgb.d.ts +21 -0
- package/src/core/color/int_to_rgb.d.ts.map +1 -0
- package/src/core/color/int_to_rgb.js +33 -0
- package/src/core/color/kelvin/kelvin_to_rgb.d.ts.map +1 -1
- package/src/core/color/kelvin/kelvin_to_rgb.js +22 -2
- package/src/core/color/kelvin/rgb_to_kelvin.d.ts +22 -2
- package/src/core/color/kelvin/rgb_to_kelvin.d.ts.map +1 -1
- package/src/core/color/kelvin/rgb_to_kelvin.js +22 -2
- package/src/core/color/lab/lab_to_xyz.d.ts +20 -0
- package/src/core/color/lab/lab_to_xyz.d.ts.map +1 -0
- package/src/core/color/lab/lab_to_xyz.js +69 -0
- package/src/core/color/oklab/gamut_clip_adaptive_l0.d.ts +34 -0
- package/src/core/color/oklab/gamut_clip_adaptive_l0.d.ts.map +1 -0
- package/src/core/color/oklab/gamut_clip_adaptive_l0.js +46 -0
- package/src/core/color/oklab/gamut_clip_at_l0.d.ts +33 -0
- package/src/core/color/oklab/gamut_clip_at_l0.d.ts.map +1 -0
- package/src/core/color/oklab/gamut_clip_at_l0.js +84 -0
- package/src/core/color/oklab/gamut_clip_preserve_chroma.d.ts +24 -0
- package/src/core/color/oklab/gamut_clip_preserve_chroma.d.ts.map +1 -0
- package/src/core/color/oklab/gamut_clip_preserve_chroma.js +37 -0
- package/src/core/color/oklab/gamut_clip_project_to_lcusp.d.ts +23 -0
- package/src/core/color/oklab/gamut_clip_project_to_lcusp.d.ts.map +1 -0
- package/src/core/color/oklab/gamut_clip_project_to_lcusp.js +46 -0
- package/src/core/color/oklab/linear_srgb_to_okhsl.d.ts +19 -0
- package/src/core/color/oklab/linear_srgb_to_okhsl.d.ts.map +1 -0
- package/src/core/color/oklab/linear_srgb_to_okhsl.js +93 -0
- package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts +12 -4
- package/src/core/color/oklab/linear_srgb_to_okhsv.d.ts.map +1 -1
- package/src/core/color/oklab/linear_srgb_to_okhsv.js +108 -84
- package/src/core/color/oklab/linear_srgb_to_oklab.d.ts +13 -4
- package/src/core/color/oklab/linear_srgb_to_oklab.d.ts.map +1 -1
- package/src/core/color/oklab/linear_srgb_to_oklab.js +28 -19
- package/src/core/color/oklab/okhsl_chroma_bounds.d.ts +51 -0
- package/src/core/color/oklab/okhsl_chroma_bounds.d.ts.map +1 -0
- package/src/core/color/oklab/okhsl_chroma_bounds.js +128 -0
- package/src/core/color/oklab/okhsl_to_linear_srgb.d.ts +19 -0
- package/src/core/color/oklab/okhsl_to_linear_srgb.d.ts.map +1 -0
- package/src/core/color/oklab/okhsl_to_linear_srgb.js +85 -0
- package/src/core/color/oklab/oklab_to_oklch.d.ts +24 -0
- package/src/core/color/oklab/oklab_to_oklch.d.ts.map +1 -0
- package/src/core/color/oklab/oklab_to_oklch.js +35 -0
- package/src/core/color/oklab/oklch_to_oklab.d.ts +18 -0
- package/src/core/color/oklab/oklch_to_oklab.d.ts.map +1 -0
- package/src/core/color/oklab/oklch_to_oklab.js +26 -0
- package/src/core/color/oklab/toe.d.ts +12 -0
- package/src/core/color/oklab/toe.d.ts.map +1 -1
- package/src/core/color/oklab/toe.js +34 -22
- package/src/core/color/operations/color_add.d.ts +21 -0
- package/src/core/color/operations/color_add.d.ts.map +1 -0
- package/src/core/color/operations/color_add.js +23 -0
- package/src/core/color/operations/color_add_scaled.d.ts +20 -0
- package/src/core/color/operations/color_add_scaled.d.ts.map +1 -0
- package/src/core/color/operations/color_add_scaled.js +30 -0
- package/src/core/color/operations/color_clamp.d.ts +22 -0
- package/src/core/color/operations/color_clamp.d.ts.map +1 -0
- package/src/core/color/operations/color_clamp.js +25 -0
- package/src/core/color/operations/color_darken.d.ts +2 -1
- package/src/core/color/operations/color_darken.d.ts.map +1 -1
- package/src/core/color/operations/color_darken.js +25 -24
- package/src/core/color/operations/color_desaturate.d.ts +2 -1
- package/src/core/color/operations/color_desaturate.d.ts.map +1 -1
- package/src/core/color/operations/color_desaturate.js +25 -24
- package/src/core/color/operations/color_get_hsl.d.ts +18 -0
- package/src/core/color/operations/color_get_hsl.d.ts.map +1 -0
- package/src/core/color/operations/color_get_hsl.js +60 -0
- package/src/core/color/operations/color_is_in_gamut.d.ts +20 -0
- package/src/core/color/operations/color_is_in_gamut.d.ts.map +1 -0
- package/src/core/color/operations/color_is_in_gamut.js +30 -0
- package/src/core/color/operations/color_lerp.d.ts +12 -3
- package/src/core/color/operations/color_lerp.d.ts.map +1 -1
- package/src/core/color/operations/color_lerp.js +55 -46
- package/src/core/color/operations/color_lighten.d.ts +9 -5
- package/src/core/color/operations/color_lighten.d.ts.map +1 -1
- package/src/core/color/operations/color_lighten.js +29 -24
- package/src/core/color/operations/color_mix_okhsv_channel.d.ts +24 -0
- package/src/core/color/operations/color_mix_okhsv_channel.d.ts.map +1 -0
- package/src/core/color/operations/color_mix_okhsv_channel.js +48 -0
- package/src/core/color/operations/color_multiply_rgb.d.ts +21 -0
- package/src/core/color/operations/color_multiply_rgb.d.ts.map +1 -0
- package/src/core/color/operations/color_multiply_rgb.js +26 -0
- package/src/core/color/operations/color_saturate.d.ts +9 -5
- package/src/core/color/operations/color_saturate.d.ts.map +1 -1
- package/src/core/color/operations/color_saturate.js +29 -24
- package/src/core/color/operations/color_scale_okhsv_channel.d.ts +1 -1
- package/src/core/color/operations/color_scale_okhsv_channel.d.ts.map +1 -1
- package/src/core/color/operations/color_scale_okhsv_channel.js +58 -45
- package/src/core/color/operations/color_srgb_apply.d.ts +28 -0
- package/src/core/color/operations/color_srgb_apply.d.ts.map +1 -0
- package/src/core/color/operations/color_srgb_apply.js +40 -0
- package/src/core/color/operations/color_sub.d.ts +16 -0
- package/src/core/color/operations/color_sub.d.ts.map +1 -0
- package/src/core/color/operations/color_sub.js +18 -0
- package/src/core/color/parse_color.d.ts +10 -1
- package/src/core/color/parse_color.d.ts.map +1 -1
- package/src/core/color/parse_color.js +100 -84
- package/src/core/color/parse_color_normalized.d.ts +24 -0
- package/src/core/color/parse_color_normalized.d.ts.map +1 -0
- package/src/core/color/parse_color_normalized.js +38 -0
- package/src/core/color/rgb2uint24.d.ts +1 -8
- package/src/core/color/rgb2uint24.d.ts.map +1 -1
- package/src/core/color/rgb2uint24.js +7 -20
- package/src/core/color/rgb2uint32.d.ts +1 -9
- package/src/core/color/rgb2uint32.d.ts.map +1 -1
- package/src/core/color/rgb2uint32.js +7 -18
- package/src/core/color/rgb_to_luminance.d.ts +14 -5
- package/src/core/color/rgb_to_luminance.d.ts.map +1 -1
- package/src/core/color/rgb_to_luminance.js +24 -13
- package/src/core/color/rgb_to_uint24.d.ts +9 -0
- package/src/core/color/rgb_to_uint24.d.ts.map +1 -0
- package/src/core/color/rgb_to_uint24.js +20 -0
- package/src/core/color/rgb_to_uint32.d.ts +10 -0
- package/src/core/color/rgb_to_uint32.d.ts.map +1 -0
- package/src/core/color/rgb_to_uint32.js +21 -0
- package/src/core/color/sRGB/linear_to_sRGB.d.ts +7 -0
- package/src/core/color/sRGB/linear_to_sRGB.d.ts.map +1 -1
- package/src/core/color/sRGB/linear_to_sRGB.js +39 -32
- package/src/core/color/xyz/hpe_to_xyz.d.ts +24 -0
- package/src/core/color/xyz/hpe_to_xyz.d.ts.map +1 -0
- package/src/core/color/xyz/hpe_to_xyz.js +39 -0
- package/src/core/color/xyz/rgb_to_xyz.d.ts +17 -2
- package/src/core/color/xyz/rgb_to_xyz.d.ts.map +1 -1
- package/src/core/color/xyz/rgb_to_xyz.js +44 -18
- package/src/core/color/xyz/xyz_cmf_tabulated.d.ts.map +1 -1
- package/src/core/color/xyz/xyz_cmf_tabulated.js +217 -211
- package/src/core/color/xyz/xyz_cmf_wyman.d.ts +4 -0
- package/src/core/color/xyz/xyz_cmf_wyman.d.ts.map +1 -1
- package/src/core/color/xyz/xyz_cmf_wyman.js +74 -65
- package/src/core/color/xyz/xyz_to_hpe.d.ts +18 -0
- package/src/core/color/xyz/xyz_to_hpe.d.ts.map +1 -0
- package/src/core/color/xyz/xyz_to_hpe.js +33 -0
- package/src/core/color/xyz/xyz_to_rgb.d.ts +17 -2
- package/src/core/color/xyz/xyz_to_rgb.d.ts.map +1 -1
- package/src/core/color/xyz/xyz_to_rgb.js +39 -16
- package/src/core/color/ycxcz/xyz_to_ycxcz.d.ts +7 -2
- package/src/core/color/ycxcz/xyz_to_ycxcz.d.ts.map +1 -1
- package/src/core/color/ycxcz/xyz_to_ycxcz.js +33 -28
- package/src/core/events/signal/Signal.js +820 -820
- package/src/core/math/clamp_index.d.ts +18 -0
- package/src/core/math/clamp_index.d.ts.map +1 -0
- package/src/core/math/clamp_index.js +23 -0
- package/src/engine/asset/loaders/image/IMAGE_CODEC_REVIEW_2026_08_28.md +803 -0
- package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts +5 -3
- package/src/engine/asset/loaders/image/jpeg/JpegFrame.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/jpeg/JpegFrame.js +5 -3
- package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts +2 -1
- package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/jpeg/JpegFrameComponent.js +2 -1
- package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts +17 -0
- package/src/engine/asset/loaders/image/jpeg/JpegImage.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/jpeg/JpegImage.js +197 -157
- package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts +0 -1
- package/src/engine/asset/loaders/image/jpeg/idct8x8_float.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/jpeg/idct8x8_float.js +0 -1
- package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts +28 -0
- package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/jpeg/jpeg_component_row.js +31 -0
- package/src/engine/asset/loaders/image/png/PNG.d.ts +3 -18
- package/src/engine/asset/loaders/image/png/PNG.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/PNG.js +3 -139
- package/src/engine/asset/loaders/image/png/PNGReader.d.ts +16 -16
- package/src/engine/asset/loaders/image/png/PNGReader.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/PNGReader.js +143 -160
- package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_iTXt.js +3 -3
- package/src/engine/asset/loaders/image/png/chunk/png_chunk_decode_zTXt.js +3 -3
- package/src/engine/asset/loaders/image/png/crc32.d.ts +1 -15
- package/src/engine/asset/loaders/image/png/crc32.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/crc32.js +5 -89
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts +12 -10
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.js +20 -45
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts +2 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterSub.js +2 -0
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts +2 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.d.ts.map +1 -1
- package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterUp.js +2 -0
- package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts +22 -0
- package/src/engine/asset/loaders/image/png/filter/png_unfilter.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/png/filter/png_unfilter.js +68 -0
- package/src/engine/asset/loaders/image/png/png_inflate.d.ts +20 -0
- package/src/engine/asset/loaders/image/png/png_inflate.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/png/png_inflate.js +85 -0
- package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts +22 -0
- package/src/engine/asset/loaders/image/png/png_unpack_samples.d.ts.map +1 -0
- package/src/engine/asset/loaders/image/png/png_unpack_samples.js +38 -0
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.d.ts.map +1 -1
- package/src/engine/graphics/ecs/sprite/SpriteSystemPE.js +135 -132
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +16 -3
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1157 -1149
- package/src/engine/graphics/render/frame_graph/FrameGraph.js +900 -900
- package/src/engine/physics/ecs/PhysicsSystem.d.ts +72 -81
- package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
- package/src/engine/physics/ecs/PhysicsSystem.js +86 -77
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/shade/device/IMMEDIATE_DATA_PLAN_2026_08_28.md +451 -0
- package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +625 -0
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_blend.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/oit/shader_oit_blend.js +5 -4
- package/src/shade/renderer/scene/serialization/decode_image_source_hdr.d.ts +14 -3
- package/src/shade/renderer/scene/serialization/decode_image_source_hdr.d.ts.map +1 -1
- package/src/shade/renderer/scene/serialization/decode_image_source_hdr.js +50 -51
- package/src/shade/renderer/scene/serialization/deserialize_scene.d.ts.map +1 -1
- package/src/shade/renderer/scene/serialization/deserialize_scene.js +531 -521
- package/src/shade/renderer/scene/serialization/write_image_source.d.ts.map +1 -1
- package/src/shade/renderer/scene/serialization/write_image_source.js +6 -4
- package/src/shade/renderer/shader/chunk/color/chunk_rgb_to_luminance.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/chunk_rgb_to_luminance.js +34 -32
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts +31 -0
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_eotf_st2084.js +62 -31
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_inverse_eotf_st2084.d.ts +10 -0
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_inverse_eotf_st2084.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/iCtCp/chunk_inverse_eotf_st2084.js +32 -22
- package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferOETF.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/sRGB/chunk_sRGBTransferOETF.js +22 -21
- package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.d.ts +6 -0
- package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/tonemap/gt7/chunk_tonemap_gt7.js +110 -104
- package/src/shade/renderer/shader/chunk/color/xyz/chunk_rgb_to_xyz.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/color/xyz/chunk_rgb_to_xyz.js +23 -21
- package/src/shade/renderer/shader/chunk/math/chunk_magnitude_floor.d.ts +9 -0
- package/src/shade/renderer/shader/chunk/math/chunk_magnitude_floor.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/math/chunk_magnitude_floor.js +16 -0
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_magnitude_floor.d.ts +10 -0
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_magnitude_floor.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_magnitude_floor.js +17 -0
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_solve_cubic_blinn.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_solve_cubic_blinn.js +7 -1
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_square_root.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/complex/chunk_complex_square_root.js +9 -3
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic.js +13 -7
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic_blinn_smallest.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_cubic_blinn_smallest.js +13 -4
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quadratic.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quadratic.js +20 -13
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quartic_neumark.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/math/polynomial/chunk_solve_quartic_neumark.js +8 -4
- package/src/shade/renderer/shader/chunk/mboit/NOTES.md +35 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_2_trigonometric_moments.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_2_trigonometric_moments.js +18 -5
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_3_trigonometric_moments.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_3_trigonometric_moments.js +21 -8
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_4_trigonometric_moments.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_compute_transmittance_from_4_trigonometric_moments.js +25 -12
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_generate_trigonometric_moments_4.d.ts +6 -2
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_generate_trigonometric_moments_4.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/geometric/chunk_generate_trigonometric_moments_4.js +42 -35
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_4_power_moments.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_4_power_moments.js +18 -5
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_6_power_moments.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_6_power_moments.js +24 -9
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_8_power_moments.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_compute_transmittance_from_8_power_moments.js +29 -13
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_generate_power_moments_4.d.ts +12 -0
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_generate_power_moments_4.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/mboit/moments/power/chunk_generate_power_moments_4.js +38 -48
- package/src/view/elements/ColorPickerView.js +296 -296
- package/src/avif/codec/dec/Readme.md +0 -14
- package/src/avif/codec/dec/avif_dec.cpp +0 -234
- package/src/avif/codec/dec/avif_dec.d.ts +0 -3
- package/src/avif/codec/dec/avif_dec.d.ts.map +0 -1
- package/src/avif/codec/dec/avif_dec.js +0 -16
- package/src/avif/codec/dec/avif_dec.wasm +0 -0
- package/src/avif/codec/enc/README.md +0 -37
- package/src/avif/codec/enc/avif_enc.cpp +0 -216
- package/src/avif/codec/enc/avif_enc.d.ts +0 -3
- package/src/avif/codec/enc/avif_enc.d.ts.map +0 -1
- package/src/avif/codec/enc/avif_enc.js +0 -6144
- package/src/avif/codec/enc/avif_enc.wasm +0 -0
- package/src/avif/codec/enc/avif_enc_mt.d.ts +0 -3
- package/src/avif/codec/enc/avif_enc_mt.d.ts.map +0 -1
- package/src/avif/codec/enc/avif_enc_mt.js +0 -6811
- package/src/avif/codec/enc/avif_enc_mt.wasm +0 -0
- package/src/avif/codec/enc/avif_enc_mt.worker.d.mts +0 -2
- package/src/avif/codec/enc/avif_enc_mt.worker.d.mts.map +0 -1
- package/src/avif/codec/enc/avif_enc_mt.worker.d.ts +0 -11
- package/src/avif/codec/enc/avif_enc_mt.worker.d.ts.map +0 -1
- package/src/avif/codec/enc/avif_enc_mt.worker.js +0 -171
- package/src/avif/codec/enc/avif_enc_mt.worker.mjs +0 -1
- package/src/avif/decode.d.ts +0 -3
- package/src/avif/decode.d.ts.map +0 -1
- package/src/avif/decode.js +0 -42
- package/src/avif/encode.d.ts +0 -3
- package/src/avif/encode.d.ts.map +0 -1
- package/src/avif/encode.js +0 -75
- package/src/avif/meta.d.ts +0 -24
- package/src/avif/meta.d.ts.map +0 -1
- package/src/avif/meta.js +0 -23
- package/src/avif/tsconfig.tsbuildinfo +0 -1
- package/src/avif/utils.d.ts +0 -17
- package/src/avif/utils.d.ts.map +0 -1
- package/src/avif/utils.js +0 -31
- package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.d.ts +0 -23
- package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/jpeg/idct8x8_fixed.js +0 -214
- package/src/engine/asset/loaders/image/png/inflate.d.ts +0 -7
- package/src/engine/asset/loaders/image/png/inflate.d.ts.map +0 -1
- package/src/engine/asset/loaders/image/png/inflate.js +0 -20
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { CP_BT_709, MC_IDENTITY, TC_SRGB } from "../tables/av1_symbols.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Emit a sequence header OBU payload from `header`.
|
|
5
|
+
*
|
|
6
|
+
* Exactly mirrors {@link parse_sequence_header}: a header that was parsed and is re-emitted is
|
|
7
|
+
* bit-identical, which is what makes the round-trip spec a meaningful check on both directions.
|
|
8
|
+
* Fields the syntax derives rather than codes — `bit_depth`, `num_planes`, `order_hint_bits` — are
|
|
9
|
+
* ignored here and recomputed by the reader.
|
|
10
|
+
*
|
|
11
|
+
* @param {BitWriter} writer
|
|
12
|
+
* @param {SequenceHeader} header
|
|
13
|
+
* @see AV1 spec 5.5.1 "General sequence header OBU syntax"
|
|
14
|
+
*
|
|
15
|
+
* @author Alex Goldring
|
|
16
|
+
* @copyright Company Named Limited (c) 2026
|
|
17
|
+
*/
|
|
18
|
+
export function write_sequence_header(writer, header) {
|
|
19
|
+
writer.f(3, header.seq_profile);
|
|
20
|
+
writer.f(1, header.still_picture);
|
|
21
|
+
writer.f(1, header.reduced_still_picture_header);
|
|
22
|
+
|
|
23
|
+
if (header.reduced_still_picture_header === 1) {
|
|
24
|
+
writer.f(5, header.seq_level_idx[0]);
|
|
25
|
+
} else {
|
|
26
|
+
writer.f(1, header.timing_info_present_flag);
|
|
27
|
+
|
|
28
|
+
if (header.timing_info_present_flag === 1) {
|
|
29
|
+
writer.f(32, header.num_units_in_display_tick);
|
|
30
|
+
writer.f(32, header.time_scale);
|
|
31
|
+
writer.f(1, header.equal_picture_interval);
|
|
32
|
+
|
|
33
|
+
if (header.equal_picture_interval === 1) {
|
|
34
|
+
writer.uvlc(header.num_ticks_per_picture_minus_1);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
writer.f(1, header.decoder_model_info_present_flag);
|
|
38
|
+
|
|
39
|
+
if (header.decoder_model_info_present_flag === 1) {
|
|
40
|
+
writer.f(5, header.buffer_delay_length_minus_1);
|
|
41
|
+
writer.f(32, header.num_units_in_decoding_tick);
|
|
42
|
+
writer.f(5, header.buffer_removal_time_length_minus_1);
|
|
43
|
+
writer.f(5, header.frame_presentation_time_length_minus_1);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
writer.f(1, header.initial_display_delay_present_flag);
|
|
48
|
+
writer.f(5, header.operating_points_cnt_minus_1);
|
|
49
|
+
|
|
50
|
+
for (let i = 0; i <= header.operating_points_cnt_minus_1; i++) {
|
|
51
|
+
writer.f(12, header.operating_point_idc[i]);
|
|
52
|
+
writer.f(5, header.seq_level_idx[i]);
|
|
53
|
+
|
|
54
|
+
if (header.seq_level_idx[i] > 7) {
|
|
55
|
+
writer.f(1, header.seq_tier[i]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (header.decoder_model_info_present_flag === 1) {
|
|
59
|
+
writer.f(1, header.decoder_model_present_for_this_op[i]);
|
|
60
|
+
|
|
61
|
+
if (header.decoder_model_present_for_this_op[i] === 1) {
|
|
62
|
+
const n = header.buffer_delay_length_minus_1 + 1;
|
|
63
|
+
|
|
64
|
+
writer.f(n, header.decoder_buffer_delay[i]);
|
|
65
|
+
writer.f(n, header.encoder_buffer_delay[i]);
|
|
66
|
+
writer.f(1, header.low_delay_mode_flag[i]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
if (header.initial_display_delay_present_flag === 1) {
|
|
71
|
+
writer.f(1, header.initial_display_delay_present_for_this_op[i]);
|
|
72
|
+
|
|
73
|
+
if (header.initial_display_delay_present_for_this_op[i] === 1) {
|
|
74
|
+
writer.f(4, header.initial_display_delay_minus_1[i]);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
writer.f(4, header.frame_width_bits_minus_1);
|
|
81
|
+
writer.f(4, header.frame_height_bits_minus_1);
|
|
82
|
+
writer.f(header.frame_width_bits_minus_1 + 1, header.max_frame_width_minus_1);
|
|
83
|
+
writer.f(header.frame_height_bits_minus_1 + 1, header.max_frame_height_minus_1);
|
|
84
|
+
|
|
85
|
+
if (header.reduced_still_picture_header === 0) {
|
|
86
|
+
writer.f(1, header.frame_id_numbers_present_flag);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (header.frame_id_numbers_present_flag === 1) {
|
|
90
|
+
writer.f(4, header.delta_frame_id_length_minus_2);
|
|
91
|
+
writer.f(3, header.additional_frame_id_length_minus_1);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
writer.f(1, header.use_128x128_superblock);
|
|
95
|
+
writer.f(1, header.enable_filter_intra);
|
|
96
|
+
writer.f(1, header.enable_intra_edge_filter);
|
|
97
|
+
|
|
98
|
+
if (header.reduced_still_picture_header === 0) {
|
|
99
|
+
writer.f(1, header.enable_interintra_compound);
|
|
100
|
+
writer.f(1, header.enable_masked_compound);
|
|
101
|
+
writer.f(1, header.enable_warped_motion);
|
|
102
|
+
writer.f(1, header.enable_dual_filter);
|
|
103
|
+
writer.f(1, header.enable_order_hint);
|
|
104
|
+
|
|
105
|
+
if (header.enable_order_hint === 1) {
|
|
106
|
+
writer.f(1, header.enable_jnt_comp);
|
|
107
|
+
writer.f(1, header.enable_ref_frame_mvs);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
writer.f(1, header.seq_choose_screen_content_tools);
|
|
111
|
+
|
|
112
|
+
if (header.seq_choose_screen_content_tools === 0) {
|
|
113
|
+
writer.f(1, header.seq_force_screen_content_tools);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (header.seq_force_screen_content_tools > 0) {
|
|
117
|
+
writer.f(1, header.seq_choose_integer_mv);
|
|
118
|
+
|
|
119
|
+
if (header.seq_choose_integer_mv === 0) {
|
|
120
|
+
writer.f(1, header.seq_force_integer_mv);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (header.enable_order_hint === 1) {
|
|
125
|
+
writer.f(3, header.order_hint_bits_minus_1);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
writer.f(1, header.enable_superres);
|
|
130
|
+
writer.f(1, header.enable_cdef);
|
|
131
|
+
writer.f(1, header.enable_restoration);
|
|
132
|
+
|
|
133
|
+
write_color_config(writer, header);
|
|
134
|
+
|
|
135
|
+
writer.f(1, header.film_grain_params_present);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* @param {BitWriter} writer
|
|
140
|
+
* @param {SequenceHeader} header
|
|
141
|
+
* @see AV1 spec 5.5.2 "Color config syntax"
|
|
142
|
+
*/
|
|
143
|
+
function write_color_config(writer, header) {
|
|
144
|
+
writer.f(1, header.high_bitdepth);
|
|
145
|
+
|
|
146
|
+
if (header.seq_profile === 2 && header.high_bitdepth === 1) {
|
|
147
|
+
writer.f(1, header.twelve_bit);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (header.seq_profile !== 1) {
|
|
151
|
+
writer.f(1, header.mono_chrome);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
writer.f(1, header.color_description_present_flag);
|
|
155
|
+
|
|
156
|
+
if (header.color_description_present_flag === 1) {
|
|
157
|
+
writer.f(8, header.color_primaries);
|
|
158
|
+
writer.f(8, header.transfer_characteristics);
|
|
159
|
+
writer.f(8, header.matrix_coefficients);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
if (header.mono_chrome === 1) {
|
|
163
|
+
writer.f(1, header.color_range);
|
|
164
|
+
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
if (header.color_primaries === CP_BT_709
|
|
169
|
+
&& header.transfer_characteristics === TC_SRGB
|
|
170
|
+
&& header.matrix_coefficients === MC_IDENTITY) {
|
|
171
|
+
// this combination codes neither range nor subsampling
|
|
172
|
+
} else {
|
|
173
|
+
writer.f(1, header.color_range);
|
|
174
|
+
|
|
175
|
+
if (header.seq_profile === 2 && header.bit_depth === 12) {
|
|
176
|
+
writer.f(1, header.subsampling_x);
|
|
177
|
+
|
|
178
|
+
if (header.subsampling_x === 1) {
|
|
179
|
+
writer.f(1, header.subsampling_y);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
if (header.subsampling_x === 1 && header.subsampling_y === 1) {
|
|
184
|
+
writer.f(2, header.chroma_sample_position);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
writer.f(1, header.separate_uv_delta_q);
|
|
189
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where index `0` of an edge buffer sits.
|
|
3
|
+
*
|
|
4
|
+
* The specification indexes `AboveRow` and `LeftCol` from `-2`: `-1` is the corner sample, and the
|
|
5
|
+
* upsample process writes one further back still. Shifting every access by a constant is cheaper
|
|
6
|
+
* and clearer than carrying two arrays.
|
|
7
|
+
* @type {number}
|
|
8
|
+
*/
|
|
9
|
+
export const EDGE_ORIGIN: number;
|
|
10
|
+
/**
|
|
11
|
+
* Entries an edge buffer must hold.
|
|
12
|
+
*
|
|
13
|
+
* `AboveRow` runs to `w + h - 1`, at most 127. Upsampling doubles that reach to `2 * numPx - 2`,
|
|
14
|
+
* with `numPx` at most 128, so index 254 is addressable. Plus the two negative entries and one for
|
|
15
|
+
* the interpolation's `base + 1` read at the far end.
|
|
16
|
+
* @type {number}
|
|
17
|
+
*/
|
|
18
|
+
export const EDGE_CAPACITY: number;
|
|
19
|
+
/**
|
|
20
|
+
* Everything the intra prediction process needs beyond the pixels themselves.
|
|
21
|
+
*
|
|
22
|
+
* Allocated once per decode and refilled per block, so prediction allocates nothing. Keeping it a
|
|
23
|
+
* struct rather than a reference to the tile decoder is what lets `predict/` stay independent of
|
|
24
|
+
* the decoder's state, as the module contract requires.
|
|
25
|
+
*
|
|
26
|
+
* @author Alex Goldring
|
|
27
|
+
* @copyright Company Named Limited (c) 2026
|
|
28
|
+
*/
|
|
29
|
+
export class IntraPredictionState {
|
|
30
|
+
/** @type {Int32Array} `AboveRow`, offset by {@link EDGE_ORIGIN} */
|
|
31
|
+
above: Int32Array;
|
|
32
|
+
/** @type {Int32Array} `LeftCol`, offset by {@link EDGE_ORIGIN} */
|
|
33
|
+
left: Int32Array;
|
|
34
|
+
/** @type {Int32Array} scratch for the upsample process */
|
|
35
|
+
upsample_scratch: Int32Array;
|
|
36
|
+
/** @type {number} */
|
|
37
|
+
bit_depth: number;
|
|
38
|
+
/** @type {number} from the sequence header */
|
|
39
|
+
enable_intra_edge_filter: number;
|
|
40
|
+
/** @type {number} `AngleDeltaY` or `AngleDeltaUV`, per the plane being predicted */
|
|
41
|
+
angle_delta: number;
|
|
42
|
+
/** @type {number} `1` when the block uses recursive filter intra prediction */
|
|
43
|
+
use_filter_intra: number;
|
|
44
|
+
/** @type {number} */
|
|
45
|
+
filter_intra_mode: number;
|
|
46
|
+
/** @type {number} `1` when a neighbouring block used a smooth mode */
|
|
47
|
+
filter_type: number;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=IntraPredictionState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntraPredictionState.d.ts","sourceRoot":"","sources":["../../../../../../src/avif/native/av1/predict/IntraPredictionState.js"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,0BAFU,MAAM,CAEa;AAE7B;;;;;;;GAOG;AACH,4BAFU,MAAM,CAE+B;AAE/C;;;;;;;;;GASG;AACH;IACI,mEAAmE;IACnE,OADW,UAAU,CACiB;IAEtC,kEAAkE;IAClE,MADW,UAAU,CACgB;IAErC,0DAA0D;IAC1D,kBADW,UAAU,CACgC;IAErD,qBAAqB;IACrB,WADW,MAAM,CACH;IAEd,8CAA8C;IAC9C,0BADW,MAAM,CACY;IAE7B,oFAAoF;IACpF,aADW,MAAM,CACD;IAEhB,+EAA+E;IAC/E,kBADW,MAAM,CACI;IAErB,qBAAqB;IACrB,mBADW,MAAM,CACK;IAEtB,sEAAsE;IACtE,aADW,MAAM,CACD;CACnB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where index `0` of an edge buffer sits.
|
|
3
|
+
*
|
|
4
|
+
* The specification indexes `AboveRow` and `LeftCol` from `-2`: `-1` is the corner sample, and the
|
|
5
|
+
* upsample process writes one further back still. Shifting every access by a constant is cheaper
|
|
6
|
+
* and clearer than carrying two arrays.
|
|
7
|
+
* @type {number}
|
|
8
|
+
*/
|
|
9
|
+
export const EDGE_ORIGIN = 2;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Entries an edge buffer must hold.
|
|
13
|
+
*
|
|
14
|
+
* `AboveRow` runs to `w + h - 1`, at most 127. Upsampling doubles that reach to `2 * numPx - 2`,
|
|
15
|
+
* with `numPx` at most 128, so index 254 is addressable. Plus the two negative entries and one for
|
|
16
|
+
* the interpolation's `base + 1` read at the far end.
|
|
17
|
+
* @type {number}
|
|
18
|
+
*/
|
|
19
|
+
export const EDGE_CAPACITY = EDGE_ORIGIN + 256;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Everything the intra prediction process needs beyond the pixels themselves.
|
|
23
|
+
*
|
|
24
|
+
* Allocated once per decode and refilled per block, so prediction allocates nothing. Keeping it a
|
|
25
|
+
* struct rather than a reference to the tile decoder is what lets `predict/` stay independent of
|
|
26
|
+
* the decoder's state, as the module contract requires.
|
|
27
|
+
*
|
|
28
|
+
* @author Alex Goldring
|
|
29
|
+
* @copyright Company Named Limited (c) 2026
|
|
30
|
+
*/
|
|
31
|
+
export class IntraPredictionState {
|
|
32
|
+
/** @type {Int32Array} `AboveRow`, offset by {@link EDGE_ORIGIN} */
|
|
33
|
+
above = new Int32Array(EDGE_CAPACITY);
|
|
34
|
+
|
|
35
|
+
/** @type {Int32Array} `LeftCol`, offset by {@link EDGE_ORIGIN} */
|
|
36
|
+
left = new Int32Array(EDGE_CAPACITY);
|
|
37
|
+
|
|
38
|
+
/** @type {Int32Array} scratch for the upsample process */
|
|
39
|
+
upsample_scratch = new Int32Array(EDGE_CAPACITY + 4);
|
|
40
|
+
|
|
41
|
+
/** @type {number} */
|
|
42
|
+
bit_depth = 8;
|
|
43
|
+
|
|
44
|
+
/** @type {number} from the sequence header */
|
|
45
|
+
enable_intra_edge_filter = 1;
|
|
46
|
+
|
|
47
|
+
/** @type {number} `AngleDeltaY` or `AngleDeltaUV`, per the plane being predicted */
|
|
48
|
+
angle_delta = 0;
|
|
49
|
+
|
|
50
|
+
/** @type {number} `1` when the block uses recursive filter intra prediction */
|
|
51
|
+
use_filter_intra = 0;
|
|
52
|
+
|
|
53
|
+
/** @type {number} */
|
|
54
|
+
filter_intra_mode = 0;
|
|
55
|
+
|
|
56
|
+
/** @type {number} `1` when a neighbouring block used a smooth mode */
|
|
57
|
+
filter_type = 0;
|
|
58
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a block's intra edge should be filtered smoothly.
|
|
3
|
+
*
|
|
4
|
+
* Shared between the decoder and the encoder: the encoder predicts with exactly the same edge the
|
|
5
|
+
* decoder will, or its residual would be a residual against a different picture.
|
|
6
|
+
*
|
|
7
|
+
* @author Alex Goldring
|
|
8
|
+
* @copyright Company Named Limited (c) 2026
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @param {Av1FrameContext} ctx
|
|
12
|
+
* @param {number} plane
|
|
13
|
+
* @returns {number}
|
|
14
|
+
* @see AV1 spec 7.11.2.8 "Intra filter type process"
|
|
15
|
+
*/
|
|
16
|
+
export function get_filter_type(ctx: Av1FrameContext, plane: number): number;
|
|
17
|
+
//# sourceMappingURL=intra_filter_type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intra_filter_type.d.ts","sourceRoot":"","sources":["../../../../../../src/avif/native/av1/predict/intra_filter_type.js"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AAEH;;;;;GAKG;AACH,6DAJW,MAAM,GACJ,MAAM,CA4ClB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { is_smooth_mode } from "./predict_intra.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Whether a block's intra edge should be filtered smoothly.
|
|
5
|
+
*
|
|
6
|
+
* Shared between the decoder and the encoder: the encoder predicts with exactly the same edge the
|
|
7
|
+
* decoder will, or its residual would be a residual against a different picture.
|
|
8
|
+
*
|
|
9
|
+
* @author Alex Goldring
|
|
10
|
+
* @copyright Company Named Limited (c) 2026
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @param {Av1FrameContext} ctx
|
|
15
|
+
* @param {number} plane
|
|
16
|
+
* @returns {number}
|
|
17
|
+
* @see AV1 spec 7.11.2.8 "Intra filter type process"
|
|
18
|
+
*/
|
|
19
|
+
export function get_filter_type(ctx, plane) {
|
|
20
|
+
const stride = ctx.mi_stride;
|
|
21
|
+
|
|
22
|
+
let above_smooth = 0;
|
|
23
|
+
let left_smooth = 0;
|
|
24
|
+
|
|
25
|
+
if ((plane === 0 ? ctx.avail_u : ctx.avail_u_chroma) === 1) {
|
|
26
|
+
let r = ctx.mi_row - 1;
|
|
27
|
+
let c = ctx.mi_col;
|
|
28
|
+
|
|
29
|
+
if (plane > 0) {
|
|
30
|
+
if (ctx.subsampling_x === 1 && (ctx.mi_col & 1) === 0) {
|
|
31
|
+
c++;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
if (ctx.subsampling_y === 1 && (ctx.mi_row & 1) === 1) {
|
|
35
|
+
r--;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
above_smooth = is_smooth_at(ctx, r, c, plane) ? 1 : 0;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if ((plane === 0 ? ctx.avail_l : ctx.avail_l_chroma) === 1) {
|
|
43
|
+
let r = ctx.mi_row;
|
|
44
|
+
let c = ctx.mi_col - 1;
|
|
45
|
+
|
|
46
|
+
if (plane > 0) {
|
|
47
|
+
if (ctx.subsampling_x === 1 && (ctx.mi_col & 1) === 1) {
|
|
48
|
+
c--;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (ctx.subsampling_y === 1 && (ctx.mi_row & 1) === 0) {
|
|
52
|
+
r++;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
left_smooth = is_smooth_at(ctx, r, c, plane) ? 1 : 0;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return above_smooth !== 0 || left_smooth !== 0 ? 1 : 0;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* @param {Av1FrameContext} ctx
|
|
64
|
+
* @param {number} row
|
|
65
|
+
* @param {number} col
|
|
66
|
+
* @param {number} plane
|
|
67
|
+
* @returns {boolean}
|
|
68
|
+
*/
|
|
69
|
+
function is_smooth_at(ctx, row, col, plane) {
|
|
70
|
+
if (row < 0 || col < 0 || row >= ctx.mi_rows || col >= ctx.mi_cols) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const index = row * ctx.mi_stride + col;
|
|
75
|
+
|
|
76
|
+
const mode = plane === 0 ? ctx.y_modes[index] : ctx.uv_modes[index];
|
|
77
|
+
|
|
78
|
+
return is_smooth_mode(mode);
|
|
79
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reduce the reconstructed luma under a chroma transform block to what chroma is predicted from.
|
|
3
|
+
*
|
|
4
|
+
* Subsampled the way the chroma plane is, carried at three fractional bits, and with its own average
|
|
5
|
+
* removed — so what is left is the shape of the luma and not its level, which is what a chroma
|
|
6
|
+
* block wants to borrow. The block's own DC prediction supplies the level.
|
|
7
|
+
*
|
|
8
|
+
* Shared with the encoder, which fits the scaling factor against exactly these numbers. Fitting
|
|
9
|
+
* against anything else would be fitting to a prediction the decoder does not make.
|
|
10
|
+
*
|
|
11
|
+
* @param {Uint16Array} luma
|
|
12
|
+
* @param {number} luma_stride
|
|
13
|
+
* @param {number} start_x left edge of the chroma transform block
|
|
14
|
+
* @param {number} start_y
|
|
15
|
+
* @param {number} tx_size
|
|
16
|
+
* @param {number} subsampling_x
|
|
17
|
+
* @param {number} subsampling_y
|
|
18
|
+
* @param {number} max_luma_w largest luma width available for this block
|
|
19
|
+
* @param {number} max_luma_h
|
|
20
|
+
* @returns {Int32Array} `w * h` of it, valid until the next call
|
|
21
|
+
* @see AV1 spec 7.11.5, the part before the scaling
|
|
22
|
+
*/
|
|
23
|
+
export function chroma_from_luma_ac(luma: Uint16Array, luma_stride: number, start_x: number, start_y: number, tx_size: number, subsampling_x: number, subsampling_y: number, max_luma_w: number, max_luma_h: number): Int32Array;
|
|
24
|
+
/**
|
|
25
|
+
* Add the high frequencies of the reconstructed luma to an already DC-predicted chroma block.
|
|
26
|
+
*
|
|
27
|
+
* The chroma block must already hold its DC prediction: this process reads it back, adds a scaled
|
|
28
|
+
* copy of the luma's deviation from its own average, and writes the sum. That is why it is a
|
|
29
|
+
* separate step rather than another mode inside `predict_intra`.
|
|
30
|
+
*
|
|
31
|
+
* @param {Uint16Array} chroma the plane being predicted
|
|
32
|
+
* @param {number} chroma_stride
|
|
33
|
+
* @param {Uint16Array} luma
|
|
34
|
+
* @param {number} luma_stride
|
|
35
|
+
* @param {number} start_x left edge of the chroma transform block
|
|
36
|
+
* @param {number} start_y top edge of the chroma transform block
|
|
37
|
+
* @param {number} tx_size
|
|
38
|
+
* @param {number} alpha `CflAlphaU` or `CflAlphaV`
|
|
39
|
+
* @param {number} subsampling_x
|
|
40
|
+
* @param {number} subsampling_y
|
|
41
|
+
* @param {number} max_luma_w largest luma width available for this block
|
|
42
|
+
* @param {number} max_luma_h largest luma height available for this block
|
|
43
|
+
* @param {number} bit_depth
|
|
44
|
+
* @see AV1 spec 7.11.5 "Predict chroma from luma process"
|
|
45
|
+
*
|
|
46
|
+
* @author Alex Goldring
|
|
47
|
+
* @copyright Company Named Limited (c) 2026
|
|
48
|
+
*/
|
|
49
|
+
export function predict_chroma_from_luma(chroma: Uint16Array, chroma_stride: number, luma: Uint16Array, luma_stride: number, start_x: number, start_y: number, tx_size: number, alpha: number, subsampling_x: number, subsampling_y: number, max_luma_w: number, max_luma_h: number, bit_depth: number): void;
|
|
50
|
+
//# sourceMappingURL=predict_chroma_from_luma.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predict_chroma_from_luma.d.ts","sourceRoot":"","sources":["../../../../../../src/avif/native/av1/predict/predict_chroma_from_luma.js"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,0CAZW,WAAW,eACX,MAAM,WACN,MAAM,WACN,MAAM,WACN,MAAM,iBACN,MAAM,iBACN,MAAM,cACN,MAAM,cACN,MAAM,GACJ,UAAU,CAoDtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,iDAlBW,WAAW,iBACX,MAAM,QACN,WAAW,eACX,MAAM,WACN,MAAM,WACN,MAAM,WACN,MAAM,SACN,MAAM,iBACN,MAAM,iBACN,MAAM,cACN,MAAM,cACN,MAAM,aACN,MAAM,QA+ChB"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { clamp } from "../../../../core/math/clamp.js";
|
|
2
|
+
import { TX_HEIGHT, TX_HEIGHT_LOG2, TX_WIDTH, TX_WIDTH_LOG2 } from "../tables/block_tables.js";
|
|
3
|
+
import { round2 } from "../util/round2.js";
|
|
4
|
+
import { round2_signed } from "../util/round2_signed.js";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Subsampled luma, with three fractional bits and its own average taken out, for one chroma
|
|
8
|
+
* transform block. Sized for the largest chroma transform, and module-level so prediction allocates
|
|
9
|
+
* nothing.
|
|
10
|
+
* @type {Int32Array}
|
|
11
|
+
*/
|
|
12
|
+
const LUMA_SCRATCH = new Int32Array(32 * 32);
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Reduce the reconstructed luma under a chroma transform block to what chroma is predicted from.
|
|
16
|
+
*
|
|
17
|
+
* Subsampled the way the chroma plane is, carried at three fractional bits, and with its own average
|
|
18
|
+
* removed — so what is left is the shape of the luma and not its level, which is what a chroma
|
|
19
|
+
* block wants to borrow. The block's own DC prediction supplies the level.
|
|
20
|
+
*
|
|
21
|
+
* Shared with the encoder, which fits the scaling factor against exactly these numbers. Fitting
|
|
22
|
+
* against anything else would be fitting to a prediction the decoder does not make.
|
|
23
|
+
*
|
|
24
|
+
* @param {Uint16Array} luma
|
|
25
|
+
* @param {number} luma_stride
|
|
26
|
+
* @param {number} start_x left edge of the chroma transform block
|
|
27
|
+
* @param {number} start_y
|
|
28
|
+
* @param {number} tx_size
|
|
29
|
+
* @param {number} subsampling_x
|
|
30
|
+
* @param {number} subsampling_y
|
|
31
|
+
* @param {number} max_luma_w largest luma width available for this block
|
|
32
|
+
* @param {number} max_luma_h
|
|
33
|
+
* @returns {Int32Array} `w * h` of it, valid until the next call
|
|
34
|
+
* @see AV1 spec 7.11.5, the part before the scaling
|
|
35
|
+
*/
|
|
36
|
+
export function chroma_from_luma_ac(
|
|
37
|
+
luma,
|
|
38
|
+
luma_stride,
|
|
39
|
+
start_x,
|
|
40
|
+
start_y,
|
|
41
|
+
tx_size,
|
|
42
|
+
subsampling_x,
|
|
43
|
+
subsampling_y,
|
|
44
|
+
max_luma_w,
|
|
45
|
+
max_luma_h
|
|
46
|
+
) {
|
|
47
|
+
const w = TX_WIDTH[tx_size];
|
|
48
|
+
const h = TX_HEIGHT[tx_size];
|
|
49
|
+
|
|
50
|
+
let luma_average = 0;
|
|
51
|
+
|
|
52
|
+
for (let i = 0; i < h; i++) {
|
|
53
|
+
let luma_y = (start_y + i) << subsampling_y;
|
|
54
|
+
|
|
55
|
+
luma_y = Math.min(luma_y, max_luma_h - (1 << subsampling_y));
|
|
56
|
+
|
|
57
|
+
for (let j = 0; j < w; j++) {
|
|
58
|
+
let luma_x = (start_x + j) << subsampling_x;
|
|
59
|
+
|
|
60
|
+
luma_x = Math.min(luma_x, max_luma_w - (1 << subsampling_x));
|
|
61
|
+
|
|
62
|
+
let t = 0;
|
|
63
|
+
|
|
64
|
+
for (let dy = 0; dy <= subsampling_y; dy++) {
|
|
65
|
+
for (let dx = 0; dx <= subsampling_x; dx++) {
|
|
66
|
+
t += luma[(luma_y + dy) * luma_stride + luma_x + dx];
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// three fractional bits, less however many the subsampling sum already contributed
|
|
71
|
+
const v = t << (3 - subsampling_x - subsampling_y);
|
|
72
|
+
|
|
73
|
+
LUMA_SCRATCH[i * w + j] = v;
|
|
74
|
+
luma_average += v;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
luma_average = round2(luma_average, TX_WIDTH_LOG2[tx_size] + TX_HEIGHT_LOG2[tx_size]);
|
|
79
|
+
|
|
80
|
+
for (let i = 0; i < w * h; i++) {
|
|
81
|
+
LUMA_SCRATCH[i] -= luma_average;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return LUMA_SCRATCH;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Add the high frequencies of the reconstructed luma to an already DC-predicted chroma block.
|
|
89
|
+
*
|
|
90
|
+
* The chroma block must already hold its DC prediction: this process reads it back, adds a scaled
|
|
91
|
+
* copy of the luma's deviation from its own average, and writes the sum. That is why it is a
|
|
92
|
+
* separate step rather than another mode inside `predict_intra`.
|
|
93
|
+
*
|
|
94
|
+
* @param {Uint16Array} chroma the plane being predicted
|
|
95
|
+
* @param {number} chroma_stride
|
|
96
|
+
* @param {Uint16Array} luma
|
|
97
|
+
* @param {number} luma_stride
|
|
98
|
+
* @param {number} start_x left edge of the chroma transform block
|
|
99
|
+
* @param {number} start_y top edge of the chroma transform block
|
|
100
|
+
* @param {number} tx_size
|
|
101
|
+
* @param {number} alpha `CflAlphaU` or `CflAlphaV`
|
|
102
|
+
* @param {number} subsampling_x
|
|
103
|
+
* @param {number} subsampling_y
|
|
104
|
+
* @param {number} max_luma_w largest luma width available for this block
|
|
105
|
+
* @param {number} max_luma_h largest luma height available for this block
|
|
106
|
+
* @param {number} bit_depth
|
|
107
|
+
* @see AV1 spec 7.11.5 "Predict chroma from luma process"
|
|
108
|
+
*
|
|
109
|
+
* @author Alex Goldring
|
|
110
|
+
* @copyright Company Named Limited (c) 2026
|
|
111
|
+
*/
|
|
112
|
+
export function predict_chroma_from_luma(
|
|
113
|
+
chroma,
|
|
114
|
+
chroma_stride,
|
|
115
|
+
luma,
|
|
116
|
+
luma_stride,
|
|
117
|
+
start_x,
|
|
118
|
+
start_y,
|
|
119
|
+
tx_size,
|
|
120
|
+
alpha,
|
|
121
|
+
subsampling_x,
|
|
122
|
+
subsampling_y,
|
|
123
|
+
max_luma_w,
|
|
124
|
+
max_luma_h,
|
|
125
|
+
bit_depth
|
|
126
|
+
) {
|
|
127
|
+
const w = TX_WIDTH[tx_size];
|
|
128
|
+
const h = TX_HEIGHT[tx_size];
|
|
129
|
+
|
|
130
|
+
const max_value = (1 << bit_depth) - 1;
|
|
131
|
+
|
|
132
|
+
const ac = chroma_from_luma_ac(
|
|
133
|
+
luma,
|
|
134
|
+
luma_stride,
|
|
135
|
+
start_x,
|
|
136
|
+
start_y,
|
|
137
|
+
tx_size,
|
|
138
|
+
subsampling_x,
|
|
139
|
+
subsampling_y,
|
|
140
|
+
max_luma_w,
|
|
141
|
+
max_luma_h
|
|
142
|
+
);
|
|
143
|
+
|
|
144
|
+
for (let i = 0; i < h; i++) {
|
|
145
|
+
const row = (start_y + i) * chroma_stride + start_x;
|
|
146
|
+
|
|
147
|
+
for (let j = 0; j < w; j++) {
|
|
148
|
+
const scaled = round2_signed(alpha * ac[i * w + j], 6);
|
|
149
|
+
|
|
150
|
+
chroma[row + j] = clamp(chroma[row + j] + scaled, 0, max_value);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether `mode` predicts along an angle.
|
|
3
|
+
* @param {number} mode
|
|
4
|
+
* @returns {boolean}
|
|
5
|
+
* @see AV1 spec 7.11.2 "Intra prediction process"
|
|
6
|
+
*/
|
|
7
|
+
export function is_directional_mode(mode: number): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Whether `mode` is one of the smooth modes, which is what `get_filter_type` tests for.
|
|
10
|
+
* @param {number} mode
|
|
11
|
+
* @returns {boolean}
|
|
12
|
+
*/
|
|
13
|
+
export function is_smooth_mode(mode: number): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Intra-predict a transform block, writing the prediction straight into the plane.
|
|
16
|
+
*
|
|
17
|
+
* The specification builds a `pred` array and copies it into `CurrFrame` afterwards. Writing
|
|
18
|
+
* directly is equivalent and saves the copy: the only process that reads back what it has already
|
|
19
|
+
* predicted is the recursive filter, and the samples it reads are exactly the ones just written.
|
|
20
|
+
*
|
|
21
|
+
* @param {IntraPredictionState} state
|
|
22
|
+
* @param {Uint16Array} plane samples of the plane being predicted
|
|
23
|
+
* @param {number} stride
|
|
24
|
+
* @param {number} plane_index `0` luma, `1` U, `2` V
|
|
25
|
+
* @param {number} x left edge of the transform block, in samples
|
|
26
|
+
* @param {number} y top edge of the transform block, in samples
|
|
27
|
+
* @param {number} max_x largest valid x coordinate in this plane
|
|
28
|
+
* @param {number} max_y largest valid y coordinate in this plane
|
|
29
|
+
* @param {number} have_left
|
|
30
|
+
* @param {number} have_above
|
|
31
|
+
* @param {number} have_above_right
|
|
32
|
+
* @param {number} have_below_left
|
|
33
|
+
* @param {number} mode
|
|
34
|
+
* @param {number} log2_w
|
|
35
|
+
* @param {number} log2_h
|
|
36
|
+
* @see AV1 spec 7.11.2 "Intra prediction process"
|
|
37
|
+
*
|
|
38
|
+
* @author Alex Goldring
|
|
39
|
+
* @copyright Company Named Limited (c) 2026
|
|
40
|
+
*/
|
|
41
|
+
export function predict_intra(state: IntraPredictionState, plane: Uint16Array, stride: number, plane_index: number, x: number, y: number, max_x: number, max_y: number, have_left: number, have_above: number, have_above_right: number, have_below_left: number, mode: number, log2_w: number, log2_h: number): void;
|
|
42
|
+
//# sourceMappingURL=predict_intra.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"predict_intra.d.ts","sourceRoot":"","sources":["../../../../../../src/avif/native/av1/predict/predict_intra.js"],"names":[],"mappings":"AAyCA;;;;;GAKG;AACH,0CAJW,MAAM,GACJ,OAAO,CAKnB;AAED;;;;GAIG;AACH,qCAHW,MAAM,GACJ,OAAO,CAInB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,kEAnBW,WAAW,UACX,MAAM,eACN,MAAM,KACN,MAAM,KACN,MAAM,SACN,MAAM,SACN,MAAM,aACN,MAAM,cACN,MAAM,oBACN,MAAM,mBACN,MAAM,QACN,MAAM,UACN,MAAM,UACN,MAAM,QA0DhB"}
|