grpc 1.56.2 → 1.57.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Makefile +29 -22
- data/include/grpc/event_engine/event_engine.h +22 -32
- data/include/grpc/impl/grpc_types.h +3 -0
- data/include/grpc/support/port_platform.h +29 -23
- data/src/core/ext/filters/client_channel/client_channel.cc +44 -8
- data/src/core/ext/filters/client_channel/dynamic_filters.h +3 -3
- data/src/core/ext/filters/client_channel/http_proxy.cc +5 -0
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.cc +21 -52
- data/src/core/ext/filters/client_channel/lb_policy/address_filtering.h +19 -7
- data/src/core/ext/filters/client_channel/lb_policy/child_policy_handler.cc +25 -35
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.cc +78 -132
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_balancer_addresses.cc +2 -1
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.cc +4 -3
- data/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.h +3 -1
- data/src/core/ext/filters/client_channel/lb_policy/health_check_client.cc +38 -15
- data/src/core/ext/filters/client_channel/lb_policy/health_check_client.h +3 -5
- data/src/core/ext/filters/client_channel/lb_policy/health_check_client_internal.h +22 -6
- data/src/core/ext/filters/client_channel/lb_policy/oob_backend_metric_internal.h +2 -0
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.cc +97 -71
- data/src/core/ext/filters/client_channel/lb_policy/outlier_detection/outlier_detection.h +2 -16
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.cc +56 -11
- data/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.h +25 -0
- data/src/core/ext/filters/client_channel/lb_policy/priority/priority.cc +6 -32
- data/src/core/ext/filters/client_channel/lb_policy/ring_hash/ring_hash.cc +4 -6
- data/src/core/ext/filters/client_channel/lb_policy/rls/rls.cc +20 -79
- data/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/subchannel_list.h +31 -19
- data/src/core/ext/filters/client_channel/lb_policy/weighted_round_robin/weighted_round_robin.cc +1 -1
- data/src/core/ext/filters/client_channel/lb_policy/weighted_target/weighted_target.cc +7 -41
- data/src/core/ext/filters/client_channel/lb_policy/xds/cds.cc +3 -67
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_args.h +8 -0
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_impl.cc +31 -74
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_manager.cc +7 -51
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_cluster_resolver.cc +16 -87
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_override_host.cc +16 -50
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_wrr_locality.cc +12 -74
- data/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.cc +1 -4
- data/src/core/ext/filters/client_channel/resolver/dns/event_engine/event_engine_client_channel_resolver.cc +69 -59
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.cc +7 -2
- data/src/core/ext/filters/client_channel/resolver/polling_resolver.h +1 -0
- data/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.cc +25 -13
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.cc +366 -311
- data/src/core/ext/filters/client_channel/resolver/xds/xds_resolver.h +17 -1
- data/src/core/ext/filters/client_channel/retry_filter.cc +39 -2498
- data/src/core/ext/filters/client_channel/retry_filter.h +91 -1
- data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.cc +2052 -0
- data/src/core/ext/filters/client_channel/retry_filter_legacy_call_data.h +442 -0
- data/src/core/ext/filters/client_channel/service_config_channel_arg_filter.cc +38 -58
- data/src/core/ext/filters/client_channel/subchannel.h +3 -3
- data/src/core/ext/filters/client_channel/subchannel_interface_internal.h +3 -0
- data/src/core/ext/filters/rbac/rbac_filter.cc +40 -111
- data/src/core/ext/filters/rbac/rbac_filter.h +12 -30
- data/src/core/ext/filters/stateful_session/stateful_session_filter.cc +162 -86
- data/src/core/ext/filters/stateful_session/stateful_session_filter.h +0 -6
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +7 -4
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +131 -186
- data/src/core/ext/transport/chttp2/transport/decode_huff.cc +6569 -174
- data/src/core/ext/transport/chttp2/transport/decode_huff.h +2278 -441
- data/src/core/ext/transport/chttp2/transport/frame_ping.cc +2 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parse_result.h +4 -3
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +9 -8
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.cc +4 -4
- data/src/core/ext/transport/chttp2/transport/hpack_parser_table.h +3 -2
- data/src/core/ext/transport/chttp2/transport/internal.h +8 -4
- data/src/core/ext/transport/chttp2/transport/parsing.cc +15 -3
- data/src/core/ext/transport/chttp2/transport/writing.cc +2 -3
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.c +27 -6
- data/src/core/ext/upb-generated/envoy/config/accesslog/v3/accesslog.upb.h +143 -0
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.c +2 -9
- data/src/core/ext/upb-generated/envoy/config/core/v3/config_source.upb.h +0 -39
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.c +13 -8
- data/src/core/ext/upb-generated/envoy/config/core/v3/grpc_service.upb.h +35 -6
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.c +17 -13
- data/src/core/ext/upb-generated/envoy/config/core/v3/health_check.upb.h +85 -20
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.c +26 -7
- data/src/core/ext/upb-generated/envoy/config/core/v3/protocol.upb.h +45 -3
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.c +4 -3
- data/src/core/ext/upb-generated/envoy/config/metrics/v3/metrics_service.upb.h +21 -0
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.c +30 -6
- data/src/core/ext/upb-generated/envoy/config/overload/v3/overload.upb.h +180 -0
- data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.c +558 -0
- data/src/core/ext/upb-generated/envoy/data/accesslog/v3/accesslog.upb.h +2710 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.c +30 -11
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/fault/v3/fault.upb.h +53 -24
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.c +30 -5
- data/src/core/ext/upb-generated/envoy/extensions/filters/http/router/v3/router.upb.h +110 -0
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.c +41 -15
- data/src/core/ext/upb-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upb.h +150 -27
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/client_side_weighted_round_robin/v3/client_side_weighted_round_robin.upb.c +1 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.c +47 -0
- data/src/core/ext/upb-generated/envoy/extensions/load_balancing_policies/pick_first/v3/pick_first.upb.h +93 -0
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.c +88 -76
- data/src/core/ext/upbdefs-generated/envoy/config/accesslog/v3/accesslog.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.c +11 -12
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/config_source.upbdefs.h +0 -5
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/grpc_service.upbdefs.c +162 -160
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/health_check.upbdefs.c +129 -118
- data/src/core/ext/upbdefs-generated/envoy/config/core/v3/protocol.upbdefs.c +141 -135
- data/src/core/ext/upbdefs-generated/envoy/config/metrics/v3/metrics_service.upbdefs.c +19 -12
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.c +38 -30
- data/src/core/ext/upbdefs-generated/envoy/config/overload/v3/overload.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.c +402 -0
- data/src/core/ext/upbdefs-generated/envoy/data/accesslog/v3/accesslog.upbdefs.h +111 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/fault/v3/fault.upbdefs.c +80 -74
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.c +63 -47
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/http/router/v3/router.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.c +315 -293
- data/src/core/ext/upbdefs-generated/envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.upbdefs.h +5 -0
- data/src/core/ext/upbdefs-generated/envoy/type/matcher/v3/regex.upbdefs.c +29 -29
- data/src/core/ext/xds/xds_bootstrap_grpc.cc +33 -30
- data/src/core/ext/xds/xds_bootstrap_grpc.h +5 -13
- data/src/core/ext/xds/xds_client_grpc.cc +11 -6
- data/src/core/ext/xds/xds_client_grpc.h +16 -2
- data/src/core/ext/xds/xds_client_stats.h +10 -0
- data/src/core/ext/xds/xds_cluster.cc +26 -16
- data/src/core/ext/xds/xds_endpoint.cc +4 -7
- data/src/core/ext/xds/xds_health_status.cc +0 -17
- data/src/core/ext/xds/xds_health_status.h +5 -25
- data/src/core/ext/xds/xds_lb_policy_registry.cc +39 -0
- data/src/core/ext/xds/xds_route_config.cc +4 -0
- data/src/core/ext/xds/xds_transport_grpc.cc +1 -3
- data/src/core/lib/address_utils/parse_address.cc +63 -1
- data/src/core/lib/address_utils/parse_address.h +8 -0
- data/src/core/lib/address_utils/sockaddr_utils.cc +46 -1
- data/src/core/lib/address_utils/sockaddr_utils.h +2 -2
- data/src/core/lib/channel/channel_args.cc +21 -10
- data/src/core/lib/channel/channel_args.h +3 -0
- data/src/core/lib/channel/connected_channel.cc +4 -1
- data/src/core/lib/channel/promise_based_filter.h +1 -0
- data/src/core/lib/debug/trace.cc +1 -4
- data/src/core/lib/event_engine/cf_engine/cf_engine.cc +2 -1
- data/src/core/lib/event_engine/cf_engine/cf_engine.h +1 -1
- data/src/core/lib/event_engine/event_engine.cc +0 -12
- data/src/core/lib/event_engine/forkable.cc +47 -42
- data/src/core/lib/event_engine/handle_containers.h +0 -4
- data/src/core/lib/event_engine/posix_engine/ev_epoll1_linux.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/ev_poll_posix.cc +4 -6
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.cc +25 -11
- data/src/core/lib/event_engine/posix_engine/posix_endpoint.h +3 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +2 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine.h +8 -12
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.cc +37 -27
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener.h +2 -0
- data/src/core/lib/event_engine/posix_engine/posix_engine_listener_utils.cc +4 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.cc +42 -2
- data/src/core/lib/event_engine/posix_engine/tcp_socket_utils.h +6 -0
- data/src/core/lib/event_engine/posix_engine/timer.h +10 -37
- data/src/core/lib/event_engine/tcp_socket_utils.cc +67 -7
- data/src/core/lib/event_engine/tcp_socket_utils.h +3 -0
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.cc +90 -37
- data/src/core/lib/event_engine/thread_pool/work_stealing_thread_pool.h +32 -12
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.cc +12 -21
- data/src/core/lib/event_engine/thready_event_engine/thready_event_engine.h +8 -12
- data/src/core/lib/event_engine/windows/windows_endpoint.cc +55 -54
- data/src/core/lib/event_engine/windows/windows_endpoint.h +15 -12
- data/src/core/lib/event_engine/windows/windows_engine.cc +2 -1
- data/src/core/lib/event_engine/windows/windows_engine.h +8 -12
- data/src/core/lib/experiments/config.cc +60 -22
- data/src/core/lib/experiments/config.h +20 -8
- data/src/core/lib/experiments/experiments.cc +278 -0
- data/src/core/lib/experiments/experiments.h +59 -1
- data/src/core/lib/gprpp/dual_ref_counted.h +9 -9
- data/src/core/lib/gprpp/fork.cc +8 -9
- data/src/core/lib/gprpp/fork.h +6 -5
- data/src/core/lib/gprpp/if_list.h +4530 -0
- data/src/core/lib/gprpp/orphanable.h +3 -3
- data/src/core/lib/gprpp/ref_counted.h +6 -6
- data/src/core/lib/gprpp/sorted_pack.h +3 -12
- data/src/core/lib/gprpp/status_helper.h +16 -15
- data/src/core/lib/gprpp/time.h +12 -0
- data/src/core/lib/gprpp/type_list.h +32 -0
- data/src/core/lib/http/httpcli.h +6 -9
- data/src/core/lib/iomgr/error.cc +32 -2
- data/src/core/lib/iomgr/error.h +9 -10
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +5 -7
- data/src/core/lib/iomgr/ev_poll_posix.cc +6 -5
- data/src/core/lib/iomgr/exec_ctx.h +11 -0
- data/src/core/lib/iomgr/pollset.h +4 -5
- data/src/core/lib/iomgr/port.h +10 -0
- data/src/core/lib/iomgr/resolve_address.cc +13 -1
- data/src/core/lib/iomgr/resolve_address.h +17 -3
- data/src/core/lib/iomgr/sockaddr_posix.h +7 -0
- data/src/core/lib/iomgr/socket_utils_common_posix.cc +29 -0
- data/src/core/lib/iomgr/socket_utils_posix.cc +2 -0
- data/src/core/lib/iomgr/socket_utils_posix.h +6 -0
- data/src/core/lib/iomgr/tcp_client_posix.cc +4 -1
- data/src/core/lib/iomgr/tcp_posix.cc +21 -4
- data/src/core/lib/iomgr/tcp_server_posix.cc +3 -2
- data/src/core/lib/iomgr/tcp_server_utils_posix_common.cc +5 -2
- data/src/core/lib/iomgr/tcp_windows.cc +1 -3
- data/src/core/lib/iomgr/vsock.cc +59 -0
- data/src/core/lib/iomgr/vsock.h +38 -0
- data/src/core/lib/iomgr/wakeup_fd_posix.h +3 -6
- data/src/core/lib/load_balancing/delegating_helper.h +115 -0
- data/src/core/lib/load_balancing/lb_policy.h +20 -0
- data/src/core/lib/load_balancing/subchannel_interface.h +6 -0
- data/src/core/lib/promise/party.h +1 -1
- data/src/core/lib/resolver/resolver_factory.h +3 -2
- data/src/core/lib/resolver/server_address.cc +9 -94
- data/src/core/lib/resolver/server_address.h +10 -64
- data/src/core/lib/resource_quota/memory_quota.h +1 -1
- data/src/core/lib/security/credentials/channel_creds_registry.h +51 -27
- data/src/core/lib/security/credentials/channel_creds_registry_init.cc +169 -9
- data/src/core/lib/security/credentials/composite/composite_credentials.cc +1 -1
- data/src/core/lib/security/credentials/composite/composite_credentials.h +3 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.cc +40 -1
- data/src/core/lib/security/credentials/external/external_account_credentials.h +6 -0
- data/src/core/lib/security/credentials/fake/fake_credentials.cc +30 -38
- data/src/core/lib/security/credentials/fake/fake_credentials.h +28 -0
- data/src/core/lib/security/credentials/tls/tls_credentials.cc +1 -1
- data/src/core/lib/security/credentials/tls/tls_credentials.h +3 -1
- data/src/core/lib/service_config/service_config_call_data.h +5 -0
- data/src/core/lib/slice/slice.h +16 -0
- data/src/core/lib/surface/call.cc +31 -29
- data/src/core/lib/surface/server.h +2 -2
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/metadata_batch.cc +7 -7
- data/src/core/lib/transport/metadata_batch.h +86 -48
- data/src/core/lib/transport/parsed_metadata.h +34 -20
- data/src/core/lib/transport/simple_slice_based_metadata.h +9 -2
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.cc +4 -6
- data/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.cc +1 -2
- data/src/core/tsi/ssl_transport_security.cc +28 -7
- data/src/ruby/bin/math_pb.rb +24 -18
- data/src/ruby/ext/grpc/extconf.rb +19 -18
- data/src/ruby/ext/grpc/rb_call.c +62 -39
- data/src/ruby/ext/grpc/rb_call_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_channel.c +126 -49
- data/src/ruby/ext/grpc/rb_channel.h +1 -0
- data/src/ruby/ext/grpc/rb_channel_args.c +16 -2
- data/src/ruby/ext/grpc/rb_channel_args.h +4 -0
- data/src/ruby/ext/grpc/rb_channel_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_compression_options.c +0 -1
- data/src/ruby/ext/grpc/rb_event_thread.c +22 -6
- data/src/ruby/ext/grpc/rb_event_thread.h +1 -0
- data/src/ruby/ext/grpc/rb_grpc.c +192 -30
- data/src/ruby/ext/grpc/rb_grpc.h +8 -2
- data/src/ruby/ext/grpc/rb_server.c +62 -45
- data/src/ruby/ext/grpc/rb_server_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_xds_channel_credentials.c +0 -1
- data/src/ruby/ext/grpc/rb_xds_server_credentials.c +0 -1
- data/src/ruby/lib/grpc/generic/bidi_call.rb +2 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/grpc/health/v1/health_pb.rb +24 -13
- data/src/ruby/pb/src/proto/grpc/testing/empty_pb.rb +24 -3
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +25 -111
- data/src/ruby/pb/src/proto/grpc/testing/test_pb.rb +25 -2
- data/third_party/boringssl-with-bazel/err_data.c +552 -552
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_strnid.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_time.c +34 -1
- data/third_party/boringssl-with-bazel/src/crypto/asn1/a_utctm.c +4 -1
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/bio/bio_mem.c +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/bio/connect.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/fd.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/file.c +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/bio/socket_helper.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/chacha/chacha.c +19 -1
- data/third_party/boringssl-with-bazel/src/crypto/chacha/internal.h +8 -1
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf.c +28 -185
- data/third_party/boringssl-with-bazel/src/crypto/conf/conf_def.h +3 -7
- data/third_party/boringssl-with-bazel/src/crypto/conf/internal.h +8 -0
- data/third_party/boringssl-with-bazel/src/crypto/cpu_aarch64_apple.c +3 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519.c +49 -46
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_64_adx.c +18 -0
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/curve25519_tables.h +2809 -7417
- data/third_party/boringssl-with-bazel/src/crypto/curve25519/internal.h +27 -5
- data/third_party/boringssl-with-bazel/src/crypto/dsa/internal.h +20 -0
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_asn1.c +110 -72
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/ec_derive.c +4 -3
- data/third_party/boringssl-with-bazel/src/crypto/ec_extra/hash_to_curve.c +15 -14
- data/third_party/boringssl-with-bazel/src/crypto/err/err.c +13 -10
- data/third_party/boringssl-with-bazel/src/crypto/evp/evp.c +35 -12
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/evp/p_ec_asn1.c +3 -7
- data/third_party/boringssl-with-bazel/src/crypto/evp/pbkdf.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/evp/print.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/ex_data.c +34 -72
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bcm.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/div.c +12 -5
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/gcd.c +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/internal.h +12 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery.c +17 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/montgomery_inv.c +51 -15
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/bn/rsaz_exp.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/delocate.h +5 -6
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/dh/internal.h +2 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/builtin_curves.h +277 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec.c +180 -404
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_key.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/ec_montgomery.c +24 -57
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/felem.c +17 -13
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/internal.h +33 -71
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/oct.c +18 -17
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p224-64.c +5 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256-nistz.c +15 -18
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/p256.c +9 -11
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/scalar.c +24 -24
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple.c +11 -27
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/simple_mul.c +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ec/wnaf.c +4 -4
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/ecdsa/ecdsa.c +9 -3
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/hkdf/hkdf.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/fork_detect.c +40 -26
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/internal.h +21 -7
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/rand.c +38 -19
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rand/urandom.c +2 -29
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/internal.h +55 -0
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/rsa/rsa_impl.c +33 -52
- data/third_party/boringssl-with-bazel/src/crypto/fipsmodule/self_check/self_check.c +3 -8
- data/third_party/boringssl-with-bazel/src/crypto/internal.h +198 -79
- data/third_party/boringssl-with-bazel/src/crypto/kyber/kyber.c +5 -4
- data/third_party/boringssl-with-bazel/src/crypto/mem.c +7 -8
- data/third_party/boringssl-with-bazel/src/crypto/obj/obj.c +19 -23
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/internal.h +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/p5_pbev2.c +3 -3
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/pkcs8/pkcs8_x509.c +8 -5
- data/third_party/boringssl-with-bazel/src/crypto/pool/internal.h +1 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/deterministic.c +7 -6
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/forkunsafe.c +6 -12
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/getentropy.c +48 -0
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/{fuchsia.c → ios.c} +8 -8
- data/third_party/boringssl-with-bazel/src/crypto/{refcount_no_threads.c → rand_extra/trusty.c} +15 -19
- data/third_party/boringssl-with-bazel/src/crypto/rand_extra/windows.c +41 -19
- data/third_party/boringssl-with-bazel/src/crypto/{refcount_c11.c → refcount.c} +11 -17
- data/third_party/boringssl-with-bazel/src/crypto/stack/stack.c +147 -72
- data/third_party/boringssl-with-bazel/src/crypto/thread_none.c +0 -8
- data/third_party/boringssl-with-bazel/src/crypto/thread_pthread.c +6 -35
- data/third_party/boringssl-with-bazel/src/crypto/thread_win.c +5 -26
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/pmbtoken.c +14 -18
- data/third_party/boringssl-with-bazel/src/crypto/trust_token/voprf.c +54 -143
- data/third_party/boringssl-with-bazel/src/crypto/x509/by_dir.c +7 -13
- data/third_party/boringssl-with-bazel/src/crypto/x509/internal.h +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_att.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_lu.c +2 -4
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_req.c +2 -2
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_trs.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_v3.c +8 -12
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509_vfy.c +19 -20
- data/third_party/boringssl-with-bazel/src/crypto/x509/x509name.c +11 -15
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_crl.c +5 -5
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_name.c +1 -1
- data/third_party/boringssl-with-bazel/src/crypto/x509/x_pubkey.c +7 -7
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_lib.c +2 -3
- data/third_party/boringssl-with-bazel/src/crypto/x509v3/v3_purp.c +4 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/arm_arch.h +4 -119
- data/third_party/boringssl-with-bazel/src/include/openssl/asm_base.h +207 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/asn1.h +5 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/base.h +2 -116
- data/third_party/boringssl-with-bazel/src/include/openssl/bn.h +0 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/chacha.h +6 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/conf.h +5 -1
- data/third_party/boringssl-with-bazel/src/include/openssl/dsa.h +0 -21
- data/third_party/boringssl-with-bazel/src/include/openssl/ec.h +21 -2
- data/third_party/boringssl-with-bazel/src/include/openssl/ec_key.h +19 -6
- data/third_party/boringssl-with-bazel/src/include/openssl/evp.h +11 -7
- data/third_party/boringssl-with-bazel/src/include/openssl/rand.h +13 -14
- data/third_party/boringssl-with-bazel/src/include/openssl/rsa.h +0 -61
- data/third_party/boringssl-with-bazel/src/include/openssl/ssl.h +127 -81
- data/third_party/boringssl-with-bazel/src/include/openssl/stack.h +224 -209
- data/third_party/boringssl-with-bazel/src/include/openssl/target.h +154 -0
- data/third_party/boringssl-with-bazel/src/include/openssl/thread.h +1 -29
- data/third_party/boringssl-with-bazel/src/include/openssl/x509.h +4 -4
- data/third_party/boringssl-with-bazel/src/include/openssl/x509v3.h +3 -2
- data/third_party/boringssl-with-bazel/src/ssl/extensions.cc +9 -65
- data/third_party/boringssl-with-bazel/src/ssl/handoff.cc +20 -20
- data/third_party/boringssl-with-bazel/src/ssl/handshake_server.cc +1 -1
- data/third_party/boringssl-with-bazel/src/ssl/internal.h +4 -11
- data/third_party/boringssl-with-bazel/src/ssl/ssl_cipher.cc +24 -18
- data/third_party/boringssl-with-bazel/src/ssl/ssl_key_share.cc +37 -30
- data/third_party/boringssl-with-bazel/src/ssl/ssl_lib.cc +125 -26
- data/third_party/boringssl-with-bazel/src/ssl/tls13_client.cc +2 -3
- data/third_party/boringssl-with-bazel/src/third_party/fiat/curve25519_64_adx.h +691 -0
- data/third_party/upb/upb/collections/map.c +3 -3
- metadata +27 -12
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.cc +0 -42
- data/src/core/ext/filters/client_channel/lb_policy/xds/xds_attributes.h +0 -64
- data/src/core/ext/transport/chttp2/transport/stream_map.cc +0 -177
- data/src/core/ext/transport/chttp2/transport/stream_map.h +0 -68
- data/third_party/boringssl-with-bazel/src/crypto/refcount_win.c +0 -89
@@ -12,7 +12,6 @@
|
|
12
12
|
// See the License for the specific language governing permissions and
|
13
13
|
// limitations under the License.
|
14
14
|
|
15
|
-
////////////////////////////////////////////////////////////////////////////////
|
16
15
|
// This file is autogenerated: see
|
17
16
|
// tools/codegen/core/gen_huffman_decompressor.cc
|
18
17
|
|
@@ -22,7 +21,6 @@
|
|
22
21
|
|
23
22
|
#include <cstddef>
|
24
23
|
#include <cstdint>
|
25
|
-
// GEOMETRY: 8,7,8,5
|
26
24
|
namespace grpc_core {
|
27
25
|
class HuffDecoderCommon {
|
28
26
|
protected:
|
@@ -40,51 +38,53 @@ class HuffDecoderCommon {
|
|
40
38
|
static inline uint64_t GetEmit4(size_t i, size_t emit) {
|
41
39
|
return table4_emit_[i >> 6][emit];
|
42
40
|
}
|
43
|
-
static inline uint64_t
|
44
|
-
return
|
41
|
+
static inline uint64_t GetOp5(size_t i) {
|
42
|
+
return table5_ops_[i >> 7][i & 0x7f];
|
45
43
|
}
|
46
|
-
static inline uint64_t
|
47
|
-
return
|
44
|
+
static inline uint64_t GetEmit5(size_t i, size_t emit) {
|
45
|
+
return table5_emit_[i >> 7][emit];
|
48
46
|
}
|
49
|
-
static inline uint64_t
|
50
|
-
return
|
47
|
+
static inline uint64_t GetOp6(size_t i) {
|
48
|
+
return table6_ops_[i >> 5][i & 0x1f];
|
51
49
|
}
|
52
|
-
static inline uint64_t
|
53
|
-
return
|
50
|
+
static inline uint64_t GetEmit6(size_t i, size_t emit) {
|
51
|
+
return table6_emit_[i >> 5][emit];
|
54
52
|
}
|
55
53
|
static inline uint64_t GetOp7(size_t i) {
|
56
|
-
return
|
57
|
-
? (((void)(i < 2 ? (i) : ((i - 2) + 1)), 2))
|
58
|
-
: (((i < 2 ? (i) : ((i - 2) + 1)) - 1) ? 0 : 1));
|
54
|
+
return table7_ops_[i >> 6][i & 0x3f];
|
59
55
|
}
|
60
|
-
static inline uint64_t GetEmit7(size_t, size_t emit) {
|
61
|
-
return
|
56
|
+
static inline uint64_t GetEmit7(size_t i, size_t emit) {
|
57
|
+
return table7_emit_[i >> 6][emit];
|
62
58
|
}
|
63
59
|
static inline uint64_t GetOp8(size_t i) {
|
64
|
-
return
|
60
|
+
return table8_inner_[i >> 6][table8_outer_[i >> 6][i & 0x3f]];
|
65
61
|
}
|
66
|
-
static inline uint64_t GetEmit8(size_t, size_t emit) {
|
67
|
-
return
|
62
|
+
static inline uint64_t GetEmit8(size_t i, size_t emit) {
|
63
|
+
return table8_emit_[i >> 6][emit];
|
68
64
|
}
|
69
65
|
static inline uint64_t GetOp9(size_t i) {
|
70
|
-
return
|
66
|
+
return table9_ops_[i >> 5][i & 0x1f];
|
71
67
|
}
|
72
|
-
static inline uint64_t GetEmit9(size_t, size_t emit) {
|
73
|
-
return
|
68
|
+
static inline uint64_t GetEmit9(size_t i, size_t emit) {
|
69
|
+
return table9_emit_[i >> 5][emit];
|
74
70
|
}
|
75
|
-
static inline uint64_t GetOp10(size_t i) {
|
76
|
-
|
77
|
-
return table10_0_emit_[emit];
|
71
|
+
static inline uint64_t GetOp10(size_t i) {
|
72
|
+
return table10_inner_[i >> 6][table10_outer_[i >> 6][i & 0x3f]];
|
78
73
|
}
|
79
|
-
static inline uint64_t
|
80
|
-
|
81
|
-
return table11_0_emit_[emit];
|
74
|
+
static inline uint64_t GetEmit10(size_t i, size_t emit) {
|
75
|
+
return table10_emit_[i >> 6][emit];
|
82
76
|
}
|
83
|
-
static inline uint64_t
|
84
|
-
return
|
77
|
+
static inline uint64_t GetOp11(size_t i) {
|
78
|
+
return table11_inner_[i >> 6][table11_outer_[i >> 6][i & 0x3f]];
|
85
79
|
}
|
86
|
-
static inline uint64_t
|
87
|
-
return
|
80
|
+
static inline uint64_t GetEmit11(size_t i, size_t emit) {
|
81
|
+
return table11_emit_[i >> 6][emit];
|
82
|
+
}
|
83
|
+
static inline uint64_t GetOp1(size_t i) {
|
84
|
+
return table1_inner_[i >> 6][table1_outer_[i >> 6][i & 0x3f]];
|
85
|
+
}
|
86
|
+
static inline uint64_t GetEmit1(size_t i, size_t emit) {
|
87
|
+
return table1_emit_[i >> 6][emit];
|
88
88
|
}
|
89
89
|
static inline uint64_t GetOp13(size_t i) {
|
90
90
|
return table13_0_inner_[(i < 3 ? (i) : ((i - 3) / 12 + 3))];
|
@@ -100,80 +100,117 @@ class HuffDecoderCommon {
|
|
100
100
|
static inline uint64_t GetEmit15(size_t, size_t emit) {
|
101
101
|
return table15_0_emit_[emit];
|
102
102
|
}
|
103
|
-
static inline uint64_t GetOp16(size_t i) { return table16_0_ops_[i]; }
|
104
|
-
static inline uint64_t GetEmit16(size_t, size_t emit) {
|
105
|
-
return table16_0_emit_[emit];
|
106
|
-
}
|
107
103
|
static inline uint64_t GetOp12(size_t i) {
|
108
104
|
return table12_0_inner_[table12_0_outer_[i]];
|
109
105
|
}
|
110
106
|
static inline uint64_t GetEmit12(size_t, size_t emit) {
|
111
107
|
return table12_0_emit_[emit];
|
112
108
|
}
|
113
|
-
static inline uint64_t
|
114
|
-
static inline uint64_t
|
115
|
-
return emit ?
|
109
|
+
static inline uint64_t GetOp16(size_t i) { return i ? 3 : 1; }
|
110
|
+
static inline uint64_t GetEmit16(size_t, size_t emit) {
|
111
|
+
return emit ? 135 : 1;
|
116
112
|
}
|
113
|
+
static inline uint64_t GetOp17(size_t i) { return i ? 3 : 1; }
|
114
|
+
static inline uint64_t GetEmit17(size_t, size_t emit) { return emit + 137; }
|
117
115
|
static inline uint64_t GetOp18(size_t i) { return i ? 3 : 1; }
|
118
|
-
static inline uint64_t GetEmit18(size_t, size_t emit) { return emit +
|
116
|
+
static inline uint64_t GetEmit18(size_t, size_t emit) { return emit + 139; }
|
119
117
|
static inline uint64_t GetOp19(size_t i) { return i ? 3 : 1; }
|
120
118
|
static inline uint64_t GetEmit19(size_t, size_t emit) {
|
121
|
-
return emit ?
|
119
|
+
return emit ? 143 : 141;
|
122
120
|
}
|
123
121
|
static inline uint64_t GetOp20(size_t i) { return i ? 3 : 1; }
|
124
122
|
static inline uint64_t GetEmit20(size_t, size_t emit) {
|
125
|
-
return emit ?
|
123
|
+
return emit ? 149 : 147;
|
126
124
|
}
|
127
125
|
static inline uint64_t GetOp21(size_t i) { return i ? 3 : 1; }
|
128
|
-
static inline uint64_t GetEmit21(size_t, size_t emit) {
|
129
|
-
return emit ? 225 : 215;
|
130
|
-
}
|
126
|
+
static inline uint64_t GetEmit21(size_t, size_t emit) { return emit + 150; }
|
131
127
|
static inline uint64_t GetOp22(size_t i) { return i ? 3 : 1; }
|
132
|
-
static inline uint64_t GetEmit22(size_t, size_t emit) {
|
133
|
-
|
128
|
+
static inline uint64_t GetEmit22(size_t, size_t emit) {
|
129
|
+
return emit ? 155 : 152;
|
130
|
+
}
|
131
|
+
static inline uint64_t GetOp23(size_t i) { return i ? 3 : 1; }
|
132
|
+
static inline uint64_t GetEmit23(size_t, size_t emit) { return emit + 157; }
|
133
|
+
static inline uint64_t GetOp24(size_t i) { return i ? 3 : 1; }
|
134
|
+
static inline uint64_t GetEmit24(size_t, size_t emit) { return emit + 165; }
|
135
|
+
static inline uint64_t GetOp25(size_t i) { return i ? 3 : 1; }
|
136
|
+
static inline uint64_t GetEmit25(size_t, size_t emit) {
|
137
|
+
return emit ? 174 : 168;
|
138
|
+
}
|
139
|
+
static inline uint64_t GetOp26(size_t i) { return i ? 3 : 1; }
|
140
|
+
static inline uint64_t GetEmit26(size_t, size_t emit) {
|
141
|
+
return emit ? 180 : 175;
|
142
|
+
}
|
143
|
+
static inline uint64_t GetOp27(size_t i) { return i ? 3 : 1; }
|
144
|
+
static inline uint64_t GetEmit27(size_t, size_t emit) { return emit + 182; }
|
145
|
+
static inline uint64_t GetOp28(size_t i) { return i ? 3 : 1; }
|
146
|
+
static inline uint64_t GetEmit28(size_t, size_t emit) {
|
147
|
+
return emit ? 191 : 188;
|
148
|
+
}
|
149
|
+
static inline uint64_t GetOp29(size_t i) { return i ? 3 : 1; }
|
150
|
+
static inline uint64_t GetEmit29(size_t, size_t emit) {
|
151
|
+
return emit ? 231 : 197;
|
152
|
+
}
|
153
|
+
static inline uint64_t GetOp30(size_t i) {
|
134
154
|
return (i < 2 ? (i ? 6 : 2) : ((i - 2) ? 14 : 10));
|
135
155
|
}
|
136
|
-
static inline uint64_t
|
137
|
-
return (emit < 2 ? (emit
|
156
|
+
static inline uint64_t GetEmit30(size_t, size_t emit) {
|
157
|
+
return (emit < 2 ? (emit + 144) : ((emit - 2) ? 159 : 148));
|
138
158
|
}
|
139
|
-
static inline uint64_t
|
140
|
-
|
141
|
-
return table24_0_emit_[emit];
|
159
|
+
static inline uint64_t GetOp31(size_t i) {
|
160
|
+
return (i < 2 ? (i ? 6 : 2) : ((i - 2) ? 14 : 10));
|
142
161
|
}
|
143
|
-
static inline uint64_t
|
144
|
-
|
145
|
-
return table25_0_emit_[emit];
|
162
|
+
static inline uint64_t GetEmit31(size_t, size_t emit) {
|
163
|
+
return (emit < 2 ? (emit ? 206 : 171) : ((emit - 2) ? 225 : 215));
|
146
164
|
}
|
147
|
-
static inline uint64_t
|
148
|
-
|
149
|
-
|
150
|
-
? (((void)(i < 1 ? (((void)i, 0)) : ((i - 1) / 14 + 1)), 2))
|
151
|
-
: (((i < 1 ? (((void)i, 0)) : ((i - 1) / 14 + 1)) - 1) ? 0 : 1));
|
165
|
+
static inline uint64_t GetOp33(size_t i) { return table33_0_inner_[i]; }
|
166
|
+
static inline uint64_t GetEmit33(size_t, size_t emit) {
|
167
|
+
return table33_0_emit_[emit];
|
152
168
|
}
|
153
|
-
static inline uint64_t
|
154
|
-
|
169
|
+
static inline uint64_t GetOp32(size_t i) { return table32_0_ops_[i]; }
|
170
|
+
static inline uint64_t GetEmit32(size_t, size_t emit) {
|
171
|
+
return table32_0_emit_[emit];
|
155
172
|
}
|
156
|
-
static inline uint64_t
|
157
|
-
|
173
|
+
static inline uint64_t GetOp35(size_t i) { return i; }
|
174
|
+
static inline uint64_t GetEmit35(size_t, size_t emit) {
|
175
|
+
return ((void)emit, 239);
|
158
176
|
}
|
159
|
-
static inline uint64_t
|
160
|
-
return
|
177
|
+
static inline uint64_t GetOp34(size_t i) {
|
178
|
+
return ((i < 1 ? (((void)i, 0)) : ((i - 1))) < 1
|
179
|
+
? (((void)(i < 1 ? (((void)i, 0)) : ((i - 1))), 1))
|
180
|
+
: (((i < 1 ? (((void)i, 0)) : ((i - 1))) - 1) ? 10 : 6));
|
161
181
|
}
|
162
|
-
static inline uint64_t
|
163
|
-
return (
|
182
|
+
static inline uint64_t GetEmit34(size_t, size_t emit) {
|
183
|
+
return (emit < 1 ? (((void)emit, 239)) : ((emit - 1) ? 142 : 9));
|
164
184
|
}
|
165
|
-
static inline uint64_t
|
166
|
-
return (
|
185
|
+
static inline uint64_t GetOp37(size_t i) {
|
186
|
+
return ((i < 2 ? (i) : (((void)(i - 2), 2))) < 1
|
187
|
+
? (((void)(i < 2 ? (i) : (((void)(i - 2), 2))), 0))
|
188
|
+
: (((i < 2 ? (i) : (((void)(i - 2), 2))) - 1) ? 1 : 2));
|
167
189
|
}
|
168
|
-
static inline uint64_t
|
169
|
-
static inline uint64_t
|
170
|
-
return
|
190
|
+
static inline uint64_t GetEmit37(size_t, size_t emit) { return emit + 236; }
|
191
|
+
static inline uint64_t GetOp36(size_t i) {
|
192
|
+
return table36_0_inner_[(i < 3 ? (i / 2 + 0) : ((i - 3) + 1))];
|
171
193
|
}
|
172
|
-
static inline uint64_t
|
173
|
-
return
|
194
|
+
static inline uint64_t GetEmit36(size_t, size_t emit) {
|
195
|
+
return table36_0_emit_[emit];
|
174
196
|
}
|
175
|
-
static inline uint64_t
|
176
|
-
|
197
|
+
static inline uint64_t GetOp39(size_t i) { return table39_0_ops_[i]; }
|
198
|
+
static inline uint64_t GetEmit39(size_t, size_t emit) {
|
199
|
+
return table39_0_emit_[emit];
|
200
|
+
}
|
201
|
+
static inline uint64_t GetOp40(size_t i) { return table40_0_ops_[i]; }
|
202
|
+
static inline uint64_t GetEmit40(size_t, size_t emit) {
|
203
|
+
return table40_0_emit_[emit];
|
204
|
+
}
|
205
|
+
static inline uint64_t GetOp41(size_t i) { return table41_0_ops_[i]; }
|
206
|
+
static inline uint64_t GetEmit41(size_t, size_t emit) {
|
207
|
+
return table40_0_emit_[emit];
|
208
|
+
}
|
209
|
+
static inline uint64_t GetOp38(size_t i) {
|
210
|
+
return table38_ops_[i >> 5][i & 0x1f];
|
211
|
+
}
|
212
|
+
static inline uint64_t GetEmit38(size_t i, size_t emit) {
|
213
|
+
return table38_emit_[i >> 5][emit];
|
177
214
|
}
|
178
215
|
|
179
216
|
private:
|
@@ -187,44 +224,1373 @@ class HuffDecoderCommon {
|
|
187
224
|
static const uint8_t table4_1_ops_[64];
|
188
225
|
static const uint8_t* const table4_emit_[2];
|
189
226
|
static const uint8_t* const table4_ops_[2];
|
190
|
-
static const uint8_t
|
191
|
-
static const
|
192
|
-
static const uint8_t
|
193
|
-
static const uint8_t
|
194
|
-
static const uint8_t
|
195
|
-
static const uint8_t
|
196
|
-
static const uint8_t
|
197
|
-
static const uint8_t
|
198
|
-
static const uint8_t
|
199
|
-
static const uint8_t
|
200
|
-
static const uint8_t
|
201
|
-
static const uint8_t
|
202
|
-
static const uint8_t
|
203
|
-
static const uint8_t
|
204
|
-
static const uint8_t
|
205
|
-
static const uint8_t
|
206
|
-
static const uint8_t
|
207
|
-
static const uint8_t
|
227
|
+
static const uint8_t table5_0_ops_[128];
|
228
|
+
static const uint8_t table5_1_emit_[52];
|
229
|
+
static const uint8_t table5_1_ops_[128];
|
230
|
+
static const uint8_t* const table5_emit_[2];
|
231
|
+
static const uint8_t* const table5_ops_[2];
|
232
|
+
static const uint8_t table6_0_emit_[2];
|
233
|
+
static const uint8_t table6_0_ops_[32];
|
234
|
+
static const uint8_t table6_1_emit_[2];
|
235
|
+
static const uint8_t table6_2_emit_[2];
|
236
|
+
static const uint8_t table6_3_emit_[2];
|
237
|
+
static const uint8_t table6_4_emit_[2];
|
238
|
+
static const uint8_t table6_5_emit_[4];
|
239
|
+
static const uint8_t table6_5_ops_[32];
|
240
|
+
static const uint8_t table6_6_emit_[4];
|
241
|
+
static const uint8_t table6_7_emit_[4];
|
242
|
+
static const uint8_t table6_8_emit_[4];
|
243
|
+
static const uint8_t table6_9_emit_[4];
|
244
|
+
static const uint8_t table6_10_emit_[4];
|
245
|
+
static const uint8_t table6_11_emit_[6];
|
246
|
+
static const uint8_t table6_11_ops_[32];
|
247
|
+
static const uint8_t table6_12_emit_[8];
|
248
|
+
static const uint8_t table6_12_ops_[32];
|
249
|
+
static const uint8_t table6_13_emit_[8];
|
250
|
+
static const uint8_t table6_14_emit_[8];
|
251
|
+
static const uint8_t table6_15_emit_[10];
|
252
|
+
static const uint8_t table6_15_ops_[32];
|
253
|
+
static const uint8_t* const table6_emit_[16];
|
254
|
+
static const uint8_t* const table6_ops_[16];
|
255
|
+
static const uint8_t table7_0_emit_[36];
|
256
|
+
static const uint8_t table7_0_ops_[64];
|
257
|
+
static const uint8_t table7_1_emit_[36];
|
258
|
+
static const uint8_t table7_1_ops_[64];
|
259
|
+
static const uint8_t table7_2_emit_[36];
|
260
|
+
static const uint8_t table7_2_ops_[64];
|
261
|
+
static const uint8_t table7_3_emit_[36];
|
262
|
+
static const uint8_t table7_3_ops_[64];
|
263
|
+
static const uint8_t table7_4_emit_[38];
|
264
|
+
static const uint8_t table7_4_ops_[64];
|
265
|
+
static const uint8_t table7_5_ops_[64];
|
266
|
+
static const uint8_t table7_11_ops_[64];
|
267
|
+
static const uint8_t table7_12_ops_[64];
|
268
|
+
static const uint8_t table7_15_emit_[15];
|
269
|
+
static const uint8_t table7_15_ops_[64];
|
270
|
+
static const uint8_t* const table7_emit_[16];
|
271
|
+
static const uint8_t* const table7_ops_[16];
|
272
|
+
static const uint8_t table8_0_emit_[71];
|
273
|
+
static const uint16_t table8_0_inner_[38];
|
274
|
+
static const uint8_t table8_0_outer_[64];
|
275
|
+
static const uint8_t table8_1_emit_[71];
|
276
|
+
static const uint16_t table8_1_inner_[38];
|
277
|
+
static const uint8_t table8_2_emit_[71];
|
278
|
+
static const uint16_t table8_2_inner_[38];
|
279
|
+
static const uint8_t table8_3_emit_[71];
|
280
|
+
static const uint16_t table8_3_inner_[38];
|
281
|
+
static const uint8_t table8_4_emit_[71];
|
282
|
+
static const uint16_t table8_4_inner_[38];
|
283
|
+
static const uint8_t table8_5_emit_[71];
|
284
|
+
static const uint16_t table8_5_inner_[38];
|
285
|
+
static const uint8_t table8_6_emit_[71];
|
286
|
+
static const uint16_t table8_6_inner_[38];
|
287
|
+
static const uint8_t table8_7_emit_[71];
|
288
|
+
static const uint16_t table8_7_inner_[38];
|
289
|
+
static const uint8_t table8_8_emit_[71];
|
290
|
+
static const uint16_t table8_8_inner_[38];
|
291
|
+
static const uint8_t table8_9_emit_[71];
|
292
|
+
static const uint16_t table8_9_inner_[38];
|
293
|
+
static const uint8_t table8_10_emit_[40];
|
294
|
+
static const uint16_t table8_10_inner_[23];
|
295
|
+
static const uint8_t table8_10_outer_[64];
|
296
|
+
static const uint8_t table8_11_emit_[40];
|
297
|
+
static const uint8_t table8_12_emit_[40];
|
298
|
+
static const uint8_t table8_13_emit_[40];
|
299
|
+
static const uint8_t table8_14_emit_[40];
|
300
|
+
static const uint8_t table8_15_emit_[40];
|
301
|
+
static const uint8_t table8_16_emit_[40];
|
302
|
+
static const uint8_t table8_17_emit_[40];
|
303
|
+
static const uint8_t table8_18_emit_[40];
|
304
|
+
static const uint8_t table8_19_emit_[40];
|
305
|
+
static const uint8_t table8_20_emit_[40];
|
306
|
+
static const uint8_t table8_21_emit_[40];
|
307
|
+
static const uint8_t table8_22_emit_[40];
|
308
|
+
static const uint8_t table8_23_emit_[4];
|
309
|
+
static const uint16_t table8_23_inner_[5];
|
310
|
+
static const uint8_t table8_23_outer_[64];
|
311
|
+
static const uint8_t table8_24_emit_[4];
|
312
|
+
static const uint8_t table8_25_emit_[4];
|
313
|
+
static const uint8_t table8_26_emit_[4];
|
314
|
+
static const uint8_t table8_27_emit_[4];
|
315
|
+
static const uint8_t table8_28_emit_[4];
|
316
|
+
static const uint8_t table8_29_emit_[4];
|
317
|
+
static const uint8_t table8_30_emit_[4];
|
318
|
+
static const uint8_t table8_31_emit_[14];
|
319
|
+
static const uint16_t table8_31_inner_[16];
|
320
|
+
static const uint8_t table8_31_outer_[64];
|
321
|
+
static const uint8_t* const table8_emit_[32];
|
322
|
+
static const uint16_t* const table8_inner_[32];
|
323
|
+
static const uint8_t* const table8_outer_[32];
|
324
|
+
static const uint8_t table9_0_emit_[15];
|
325
|
+
static const uint8_t table9_0_ops_[32];
|
326
|
+
static const uint8_t table9_1_emit_[28];
|
327
|
+
static const uint8_t table9_1_ops_[32];
|
328
|
+
static const uint8_t table9_2_emit_[36];
|
329
|
+
static const uint8_t table9_2_ops_[32];
|
330
|
+
static const uint8_t table9_3_emit_[56];
|
331
|
+
static const uint8_t table9_3_ops_[32];
|
332
|
+
static const uint8_t table9_4_emit_[15];
|
333
|
+
static const uint8_t table9_4_ops_[32];
|
334
|
+
static const uint8_t table9_5_emit_[28];
|
335
|
+
static const uint8_t table9_6_emit_[36];
|
336
|
+
static const uint8_t table9_7_emit_[56];
|
337
|
+
static const uint8_t table9_8_emit_[15];
|
338
|
+
static const uint8_t table9_8_ops_[32];
|
339
|
+
static const uint8_t table9_9_emit_[28];
|
340
|
+
static const uint8_t table9_10_emit_[36];
|
341
|
+
static const uint8_t table9_11_emit_[56];
|
342
|
+
static const uint8_t table9_12_emit_[15];
|
343
|
+
static const uint8_t table9_12_ops_[32];
|
344
|
+
static const uint8_t table9_13_emit_[28];
|
345
|
+
static const uint8_t table9_14_emit_[36];
|
346
|
+
static const uint8_t table9_15_emit_[56];
|
347
|
+
static const uint8_t table9_16_emit_[15];
|
348
|
+
static const uint8_t table9_16_ops_[32];
|
349
|
+
static const uint8_t table9_17_emit_[28];
|
350
|
+
static const uint8_t table9_18_emit_[36];
|
351
|
+
static const uint8_t table9_19_emit_[56];
|
352
|
+
static const uint8_t table9_20_emit_[15];
|
353
|
+
static const uint8_t table9_20_ops_[32];
|
354
|
+
static const uint8_t table9_21_emit_[28];
|
355
|
+
static const uint8_t table9_22_emit_[36];
|
356
|
+
static const uint8_t table9_23_emit_[56];
|
357
|
+
static const uint8_t table9_24_emit_[15];
|
358
|
+
static const uint8_t table9_24_ops_[32];
|
359
|
+
static const uint8_t table9_25_emit_[28];
|
360
|
+
static const uint8_t table9_26_emit_[36];
|
361
|
+
static const uint8_t table9_27_emit_[56];
|
362
|
+
static const uint8_t table9_28_emit_[16];
|
363
|
+
static const uint8_t table9_28_ops_[32];
|
364
|
+
static const uint8_t table9_29_emit_[28];
|
365
|
+
static const uint8_t table9_30_emit_[36];
|
366
|
+
static const uint8_t table9_31_emit_[56];
|
367
|
+
static const uint8_t table9_32_emit_[16];
|
368
|
+
static const uint8_t table9_33_emit_[27];
|
369
|
+
static const uint8_t table9_33_ops_[32];
|
370
|
+
static const uint8_t table9_34_emit_[36];
|
371
|
+
static const uint8_t table9_35_emit_[56];
|
372
|
+
static const uint8_t table9_36_emit_[16];
|
373
|
+
static const uint8_t table9_37_emit_[27];
|
374
|
+
static const uint8_t table9_37_ops_[32];
|
375
|
+
static const uint8_t table9_38_emit_[36];
|
376
|
+
static const uint8_t table9_39_emit_[56];
|
377
|
+
static const uint8_t table9_40_emit_[43];
|
378
|
+
static const uint8_t table9_40_ops_[32];
|
379
|
+
static const uint8_t table9_41_emit_[28];
|
380
|
+
static const uint8_t table9_41_ops_[32];
|
381
|
+
static const uint8_t table9_42_emit_[43];
|
382
|
+
static const uint8_t table9_42_ops_[32];
|
383
|
+
static const uint8_t table9_43_emit_[28];
|
384
|
+
static const uint8_t table9_44_emit_[43];
|
385
|
+
static const uint8_t table9_44_ops_[32];
|
386
|
+
static const uint8_t table9_45_emit_[28];
|
387
|
+
static const uint8_t table9_46_emit_[43];
|
388
|
+
static const uint8_t table9_46_ops_[32];
|
389
|
+
static const uint8_t table9_47_emit_[28];
|
390
|
+
static const uint8_t table9_48_emit_[43];
|
391
|
+
static const uint8_t table9_48_ops_[32];
|
392
|
+
static const uint8_t table9_49_emit_[28];
|
393
|
+
static const uint8_t table9_50_emit_[43];
|
394
|
+
static const uint8_t table9_50_ops_[32];
|
395
|
+
static const uint8_t table9_51_emit_[28];
|
396
|
+
static const uint8_t table9_52_emit_[43];
|
397
|
+
static const uint8_t table9_52_ops_[32];
|
398
|
+
static const uint8_t table9_53_emit_[28];
|
399
|
+
static const uint8_t table9_54_emit_[43];
|
400
|
+
static const uint8_t table9_54_ops_[32];
|
401
|
+
static const uint8_t table9_55_emit_[28];
|
402
|
+
static const uint8_t table9_56_emit_[43];
|
403
|
+
static const uint8_t table9_56_ops_[32];
|
404
|
+
static const uint8_t table9_57_emit_[28];
|
405
|
+
static const uint8_t table9_58_emit_[43];
|
406
|
+
static const uint8_t table9_58_ops_[32];
|
407
|
+
static const uint8_t table9_59_emit_[28];
|
408
|
+
static const uint8_t table9_60_emit_[43];
|
409
|
+
static const uint8_t table9_60_ops_[32];
|
410
|
+
static const uint8_t table9_61_emit_[28];
|
411
|
+
static const uint8_t table9_62_emit_[44];
|
412
|
+
static const uint8_t table9_62_ops_[32];
|
413
|
+
static const uint8_t table9_63_emit_[28];
|
414
|
+
static const uint8_t table9_64_emit_[44];
|
415
|
+
static const uint8_t table9_65_emit_[27];
|
416
|
+
static const uint8_t table9_65_ops_[32];
|
417
|
+
static const uint8_t table9_66_emit_[44];
|
418
|
+
static const uint8_t table9_67_emit_[27];
|
419
|
+
static const uint8_t table9_67_ops_[32];
|
420
|
+
static const uint8_t table9_68_emit_[44];
|
421
|
+
static const uint8_t table9_69_emit_[27];
|
422
|
+
static const uint8_t table9_69_ops_[32];
|
423
|
+
static const uint8_t table9_70_emit_[44];
|
424
|
+
static const uint8_t table9_71_emit_[27];
|
425
|
+
static const uint8_t table9_71_ops_[32];
|
426
|
+
static const uint8_t table9_72_emit_[44];
|
427
|
+
static const uint8_t table9_73_emit_[27];
|
428
|
+
static const uint8_t table9_73_ops_[32];
|
429
|
+
static const uint8_t table9_74_emit_[44];
|
430
|
+
static const uint8_t table9_75_emit_[27];
|
431
|
+
static const uint8_t table9_75_ops_[32];
|
432
|
+
static const uint8_t table9_76_emit_[44];
|
433
|
+
static const uint8_t table9_77_emit_[27];
|
434
|
+
static const uint8_t table9_77_ops_[32];
|
435
|
+
static const uint8_t table9_78_emit_[44];
|
436
|
+
static const uint8_t table9_79_emit_[27];
|
437
|
+
static const uint8_t table9_79_ops_[32];
|
438
|
+
static const uint8_t table9_80_emit_[44];
|
439
|
+
static const uint8_t table9_81_emit_[27];
|
440
|
+
static const uint8_t table9_81_ops_[32];
|
441
|
+
static const uint8_t table9_82_emit_[44];
|
442
|
+
static const uint8_t table9_83_emit_[27];
|
443
|
+
static const uint8_t table9_83_ops_[32];
|
444
|
+
static const uint8_t table9_84_emit_[44];
|
445
|
+
static const uint8_t table9_85_emit_[27];
|
446
|
+
static const uint8_t table9_85_ops_[32];
|
447
|
+
static const uint8_t table9_86_emit_[44];
|
448
|
+
static const uint8_t table9_87_emit_[27];
|
449
|
+
static const uint8_t table9_87_ops_[32];
|
450
|
+
static const uint8_t table9_88_emit_[44];
|
451
|
+
static const uint8_t table9_89_emit_[27];
|
452
|
+
static const uint8_t table9_89_ops_[32];
|
453
|
+
static const uint8_t table9_90_emit_[44];
|
454
|
+
static const uint8_t table9_91_emit_[28];
|
455
|
+
static const uint8_t table9_92_emit_[20];
|
456
|
+
static const uint8_t table9_92_ops_[32];
|
457
|
+
static const uint8_t table9_93_emit_[20];
|
458
|
+
static const uint8_t table9_94_emit_[20];
|
459
|
+
static const uint8_t table9_95_emit_[20];
|
460
|
+
static const uint8_t table9_96_emit_[20];
|
461
|
+
static const uint8_t table9_97_emit_[20];
|
462
|
+
static const uint8_t table9_98_emit_[20];
|
463
|
+
static const uint8_t table9_99_emit_[20];
|
464
|
+
static const uint8_t table9_100_emit_[20];
|
465
|
+
static const uint8_t table9_101_emit_[20];
|
466
|
+
static const uint8_t table9_102_emit_[20];
|
467
|
+
static const uint8_t table9_103_emit_[20];
|
468
|
+
static const uint8_t table9_104_emit_[20];
|
469
|
+
static const uint8_t table9_105_emit_[20];
|
470
|
+
static const uint8_t table9_106_emit_[20];
|
471
|
+
static const uint8_t table9_107_emit_[20];
|
472
|
+
static const uint8_t table9_108_emit_[20];
|
473
|
+
static const uint8_t table9_109_emit_[20];
|
474
|
+
static const uint8_t table9_110_emit_[20];
|
475
|
+
static const uint8_t table9_111_emit_[20];
|
476
|
+
static const uint8_t table9_112_emit_[20];
|
477
|
+
static const uint8_t table9_113_emit_[20];
|
478
|
+
static const uint8_t table9_114_emit_[20];
|
479
|
+
static const uint8_t table9_115_emit_[20];
|
480
|
+
static const uint8_t table9_116_emit_[20];
|
481
|
+
static const uint8_t table9_117_emit_[20];
|
482
|
+
static const uint8_t table9_118_emit_[20];
|
483
|
+
static const uint8_t table9_119_emit_[20];
|
484
|
+
static const uint8_t table9_120_emit_[20];
|
485
|
+
static const uint8_t table9_121_emit_[20];
|
486
|
+
static const uint8_t table9_122_emit_[20];
|
487
|
+
static const uint8_t table9_123_emit_[20];
|
488
|
+
static const uint8_t table9_124_emit_[2];
|
489
|
+
static const uint8_t table9_124_ops_[32];
|
490
|
+
static const uint8_t table9_125_emit_[2];
|
491
|
+
static const uint8_t table9_126_emit_[2];
|
492
|
+
static const uint8_t table9_127_emit_[10];
|
493
|
+
static const uint8_t table9_127_ops_[32];
|
494
|
+
static const uint8_t* const table9_emit_[128];
|
495
|
+
static const uint8_t* const table9_ops_[128];
|
496
|
+
static const uint16_t table10_0_inner_[9];
|
497
|
+
static const uint8_t table10_0_outer_[64];
|
498
|
+
static const uint16_t table10_1_inner_[15];
|
499
|
+
static const uint8_t table10_1_outer_[64];
|
500
|
+
static const uint16_t table10_2_inner_[19];
|
501
|
+
static const uint8_t table10_2_outer_[64];
|
502
|
+
static const uint8_t table10_3_emit_[68];
|
503
|
+
static const uint16_t table10_3_inner_[36];
|
504
|
+
static const uint8_t table10_3_outer_[64];
|
505
|
+
static const uint16_t table10_4_inner_[9];
|
506
|
+
static const uint8_t table10_7_emit_[68];
|
507
|
+
static const uint16_t table10_8_inner_[9];
|
508
|
+
static const uint8_t table10_11_emit_[68];
|
509
|
+
static const uint16_t table10_12_inner_[9];
|
510
|
+
static const uint8_t table10_15_emit_[68];
|
511
|
+
static const uint16_t table10_16_inner_[9];
|
512
|
+
static const uint8_t table10_19_emit_[68];
|
513
|
+
static const uint16_t table10_20_inner_[9];
|
514
|
+
static const uint8_t table10_23_emit_[68];
|
515
|
+
static const uint16_t table10_24_inner_[9];
|
516
|
+
static const uint8_t table10_27_emit_[68];
|
517
|
+
static const uint16_t table10_28_inner_[9];
|
518
|
+
static const uint8_t table10_31_emit_[68];
|
519
|
+
static const uint16_t table10_33_inner_[15];
|
520
|
+
static const uint8_t table10_35_emit_[68];
|
521
|
+
static const uint16_t table10_37_inner_[15];
|
522
|
+
static const uint8_t table10_39_emit_[68];
|
523
|
+
static const uint16_t table10_40_inner_[23];
|
524
|
+
static const uint8_t table10_40_outer_[64];
|
525
|
+
static const uint8_t table10_41_emit_[92];
|
526
|
+
static const uint16_t table10_41_inner_[48];
|
527
|
+
static const uint8_t table10_41_outer_[64];
|
528
|
+
static const uint16_t table10_42_inner_[23];
|
529
|
+
static const uint8_t table10_43_emit_[92];
|
530
|
+
static const uint16_t table10_44_inner_[23];
|
531
|
+
static const uint8_t table10_45_emit_[92];
|
532
|
+
static const uint16_t table10_46_inner_[23];
|
533
|
+
static const uint8_t table10_47_emit_[92];
|
534
|
+
static const uint16_t table10_48_inner_[23];
|
535
|
+
static const uint8_t table10_49_emit_[92];
|
536
|
+
static const uint16_t table10_50_inner_[23];
|
537
|
+
static const uint8_t table10_51_emit_[92];
|
538
|
+
static const uint16_t table10_52_inner_[23];
|
539
|
+
static const uint8_t table10_53_emit_[92];
|
540
|
+
static const uint16_t table10_54_inner_[23];
|
541
|
+
static const uint8_t table10_55_emit_[92];
|
542
|
+
static const uint16_t table10_56_inner_[23];
|
543
|
+
static const uint8_t table10_57_emit_[92];
|
544
|
+
static const uint16_t table10_58_inner_[23];
|
545
|
+
static const uint8_t table10_59_emit_[92];
|
546
|
+
static const uint16_t table10_60_inner_[23];
|
547
|
+
static const uint8_t table10_61_emit_[92];
|
548
|
+
static const uint16_t table10_62_inner_[23];
|
549
|
+
static const uint8_t table10_63_emit_[92];
|
550
|
+
static const uint8_t table10_65_emit_[91];
|
551
|
+
static const uint16_t table10_65_inner_[48];
|
552
|
+
static const uint8_t table10_67_emit_[91];
|
553
|
+
static const uint16_t table10_67_inner_[48];
|
554
|
+
static const uint8_t table10_69_emit_[91];
|
555
|
+
static const uint16_t table10_69_inner_[48];
|
556
|
+
static const uint8_t table10_71_emit_[91];
|
557
|
+
static const uint16_t table10_71_inner_[48];
|
558
|
+
static const uint8_t table10_73_emit_[91];
|
559
|
+
static const uint16_t table10_73_inner_[48];
|
560
|
+
static const uint8_t table10_75_emit_[91];
|
561
|
+
static const uint16_t table10_75_inner_[48];
|
562
|
+
static const uint8_t table10_77_emit_[91];
|
563
|
+
static const uint16_t table10_77_inner_[48];
|
564
|
+
static const uint8_t table10_79_emit_[91];
|
565
|
+
static const uint16_t table10_79_inner_[48];
|
566
|
+
static const uint8_t table10_81_emit_[91];
|
567
|
+
static const uint16_t table10_81_inner_[48];
|
568
|
+
static const uint8_t table10_83_emit_[91];
|
569
|
+
static const uint16_t table10_83_inner_[48];
|
570
|
+
static const uint8_t table10_85_emit_[91];
|
571
|
+
static const uint16_t table10_85_inner_[48];
|
572
|
+
static const uint8_t table10_87_emit_[91];
|
573
|
+
static const uint16_t table10_87_inner_[48];
|
574
|
+
static const uint8_t table10_89_emit_[91];
|
575
|
+
static const uint16_t table10_89_inner_[48];
|
576
|
+
static const uint8_t table10_91_emit_[91];
|
577
|
+
static const uint16_t table10_91_inner_[48];
|
578
|
+
static const uint8_t table10_92_emit_[72];
|
579
|
+
static const uint16_t table10_92_inner_[38];
|
580
|
+
static const uint8_t table10_93_emit_[72];
|
581
|
+
static const uint8_t table10_94_emit_[72];
|
582
|
+
static const uint8_t table10_95_emit_[72];
|
583
|
+
static const uint8_t table10_96_emit_[72];
|
584
|
+
static const uint8_t table10_97_emit_[72];
|
585
|
+
static const uint8_t table10_98_emit_[72];
|
586
|
+
static const uint8_t table10_99_emit_[72];
|
587
|
+
static const uint8_t table10_100_emit_[72];
|
588
|
+
static const uint8_t table10_101_emit_[72];
|
589
|
+
static const uint8_t table10_102_emit_[72];
|
590
|
+
static const uint8_t table10_103_emit_[72];
|
591
|
+
static const uint8_t table10_104_emit_[72];
|
592
|
+
static const uint8_t table10_105_emit_[72];
|
593
|
+
static const uint8_t table10_106_emit_[72];
|
594
|
+
static const uint8_t table10_107_emit_[72];
|
595
|
+
static const uint8_t table10_108_emit_[72];
|
596
|
+
static const uint8_t table10_109_emit_[72];
|
597
|
+
static const uint8_t table10_110_emit_[72];
|
598
|
+
static const uint8_t table10_111_emit_[72];
|
599
|
+
static const uint8_t table10_112_emit_[72];
|
600
|
+
static const uint8_t table10_113_emit_[72];
|
601
|
+
static const uint8_t table10_114_emit_[72];
|
602
|
+
static const uint8_t table10_115_emit_[72];
|
603
|
+
static const uint8_t table10_116_emit_[72];
|
604
|
+
static const uint8_t table10_117_emit_[72];
|
605
|
+
static const uint8_t table10_118_emit_[72];
|
606
|
+
static const uint8_t table10_119_emit_[72];
|
607
|
+
static const uint8_t table10_120_emit_[72];
|
608
|
+
static const uint8_t table10_121_emit_[72];
|
609
|
+
static const uint8_t table10_122_emit_[72];
|
610
|
+
static const uint8_t table10_123_emit_[72];
|
611
|
+
static const uint8_t table10_124_emit_[40];
|
612
|
+
static const uint8_t table10_125_emit_[40];
|
613
|
+
static const uint8_t table10_126_emit_[40];
|
614
|
+
static const uint8_t table10_127_emit_[16];
|
615
|
+
static const uint16_t table10_127_inner_[18];
|
616
|
+
static const uint8_t table10_127_outer_[64];
|
617
|
+
static const uint8_t* const table10_emit_[128];
|
618
|
+
static const uint16_t* const table10_inner_[128];
|
619
|
+
static const uint8_t* const table10_outer_[128];
|
620
|
+
static const uint8_t table11_0_emit_[7];
|
621
|
+
static const uint16_t table11_0_inner_[5];
|
622
|
+
static const uint8_t table11_1_emit_[8];
|
623
|
+
static const uint16_t table11_1_inner_[5];
|
624
|
+
static const uint8_t table11_2_emit_[12];
|
625
|
+
static const uint16_t table11_2_inner_[7];
|
626
|
+
static const uint8_t table11_2_outer_[64];
|
627
|
+
static const uint8_t table11_3_emit_[16];
|
628
|
+
static const uint8_t table11_4_emit_[16];
|
629
|
+
static const uint8_t table11_5_emit_[20];
|
630
|
+
static const uint16_t table11_5_inner_[11];
|
631
|
+
static const uint8_t table11_5_outer_[64];
|
632
|
+
static const uint8_t table11_6_emit_[32];
|
633
|
+
static const uint16_t table11_6_inner_[17];
|
634
|
+
static const uint8_t table11_6_outer_[64];
|
635
|
+
static const uint8_t table11_7_emit_[36];
|
636
|
+
static const uint16_t table11_7_inner_[20];
|
637
|
+
static const uint8_t table11_7_outer_[64];
|
638
|
+
static const uint8_t table11_8_emit_[7];
|
639
|
+
static const uint16_t table11_8_inner_[5];
|
640
|
+
static const uint8_t table11_9_emit_[8];
|
641
|
+
static const uint8_t table11_10_emit_[12];
|
642
|
+
static const uint8_t table11_11_emit_[16];
|
643
|
+
static const uint8_t table11_12_emit_[16];
|
644
|
+
static const uint8_t table11_13_emit_[20];
|
645
|
+
static const uint8_t table11_14_emit_[32];
|
646
|
+
static const uint8_t table11_15_emit_[36];
|
647
|
+
static const uint8_t table11_16_emit_[7];
|
648
|
+
static const uint16_t table11_16_inner_[5];
|
649
|
+
static const uint8_t table11_17_emit_[8];
|
650
|
+
static const uint8_t table11_18_emit_[12];
|
651
|
+
static const uint8_t table11_19_emit_[16];
|
652
|
+
static const uint8_t table11_20_emit_[16];
|
653
|
+
static const uint8_t table11_21_emit_[20];
|
654
|
+
static const uint8_t table11_22_emit_[32];
|
655
|
+
static const uint8_t table11_23_emit_[36];
|
656
|
+
static const uint8_t table11_24_emit_[8];
|
657
|
+
static const uint8_t table11_25_emit_[8];
|
658
|
+
static const uint8_t table11_26_emit_[12];
|
659
|
+
static const uint8_t table11_27_emit_[16];
|
660
|
+
static const uint8_t table11_28_emit_[16];
|
661
|
+
static const uint8_t table11_29_emit_[20];
|
662
|
+
static const uint8_t table11_30_emit_[32];
|
663
|
+
static const uint8_t table11_31_emit_[36];
|
664
|
+
static const uint8_t table11_32_emit_[8];
|
665
|
+
static const uint8_t table11_33_emit_[7];
|
666
|
+
static const uint8_t table11_34_emit_[12];
|
667
|
+
static const uint8_t table11_35_emit_[16];
|
668
|
+
static const uint8_t table11_36_emit_[16];
|
669
|
+
static const uint8_t table11_37_emit_[20];
|
670
|
+
static const uint8_t table11_38_emit_[32];
|
671
|
+
static const uint8_t table11_39_emit_[36];
|
672
|
+
static const uint8_t table11_40_emit_[8];
|
673
|
+
static const uint8_t table11_41_emit_[7];
|
674
|
+
static const uint8_t table11_42_emit_[12];
|
675
|
+
static const uint8_t table11_43_emit_[16];
|
676
|
+
static const uint8_t table11_44_emit_[16];
|
677
|
+
static const uint8_t table11_45_emit_[20];
|
678
|
+
static const uint8_t table11_46_emit_[32];
|
679
|
+
static const uint8_t table11_47_emit_[36];
|
680
|
+
static const uint8_t table11_48_emit_[8];
|
681
|
+
static const uint8_t table11_49_emit_[7];
|
682
|
+
static const uint8_t table11_50_emit_[12];
|
683
|
+
static const uint8_t table11_51_emit_[16];
|
684
|
+
static const uint8_t table11_52_emit_[16];
|
685
|
+
static const uint8_t table11_53_emit_[20];
|
686
|
+
static const uint8_t table11_54_emit_[32];
|
687
|
+
static const uint8_t table11_55_emit_[36];
|
688
|
+
static const uint8_t table11_56_emit_[8];
|
689
|
+
static const uint8_t table11_57_emit_[8];
|
690
|
+
static const uint8_t table11_58_emit_[12];
|
691
|
+
static const uint8_t table11_59_emit_[16];
|
692
|
+
static const uint8_t table11_60_emit_[16];
|
693
|
+
static const uint8_t table11_61_emit_[20];
|
694
|
+
static const uint8_t table11_62_emit_[32];
|
695
|
+
static const uint8_t table11_63_emit_[36];
|
696
|
+
static const uint8_t table11_64_emit_[8];
|
697
|
+
static const uint8_t table11_65_emit_[8];
|
698
|
+
static const uint8_t table11_66_emit_[11];
|
699
|
+
static const uint16_t table11_66_inner_[7];
|
700
|
+
static const uint8_t table11_67_emit_[16];
|
701
|
+
static const uint8_t table11_68_emit_[16];
|
702
|
+
static const uint8_t table11_69_emit_[20];
|
703
|
+
static const uint8_t table11_70_emit_[32];
|
704
|
+
static const uint8_t table11_71_emit_[36];
|
705
|
+
static const uint8_t table11_72_emit_[8];
|
706
|
+
static const uint8_t table11_73_emit_[8];
|
707
|
+
static const uint8_t table11_74_emit_[11];
|
708
|
+
static const uint16_t table11_74_inner_[7];
|
709
|
+
static const uint8_t table11_75_emit_[16];
|
710
|
+
static const uint8_t table11_76_emit_[16];
|
711
|
+
static const uint8_t table11_77_emit_[20];
|
712
|
+
static const uint8_t table11_78_emit_[32];
|
713
|
+
static const uint8_t table11_79_emit_[36];
|
714
|
+
static const uint8_t table11_80_emit_[16];
|
715
|
+
static const uint8_t table11_81_emit_[27];
|
716
|
+
static const uint16_t table11_81_inner_[15];
|
717
|
+
static const uint8_t table11_82_emit_[36];
|
718
|
+
static const uint8_t table11_83_emit_[68];
|
719
|
+
static const uint8_t table11_84_emit_[16];
|
720
|
+
static const uint8_t table11_85_emit_[27];
|
721
|
+
static const uint16_t table11_85_inner_[15];
|
722
|
+
static const uint8_t table11_86_emit_[36];
|
723
|
+
static const uint8_t table11_87_emit_[68];
|
724
|
+
static const uint8_t table11_88_emit_[16];
|
725
|
+
static const uint8_t table11_89_emit_[27];
|
726
|
+
static const uint16_t table11_89_inner_[15];
|
727
|
+
static const uint8_t table11_90_emit_[36];
|
728
|
+
static const uint8_t table11_91_emit_[68];
|
729
|
+
static const uint8_t table11_92_emit_[16];
|
730
|
+
static const uint8_t table11_93_emit_[27];
|
731
|
+
static const uint16_t table11_93_inner_[15];
|
732
|
+
static const uint8_t table11_94_emit_[36];
|
733
|
+
static const uint8_t table11_95_emit_[68];
|
734
|
+
static const uint8_t table11_96_emit_[16];
|
735
|
+
static const uint8_t table11_97_emit_[27];
|
736
|
+
static const uint16_t table11_97_inner_[15];
|
737
|
+
static const uint8_t table11_98_emit_[36];
|
738
|
+
static const uint8_t table11_99_emit_[68];
|
739
|
+
static const uint8_t table11_100_emit_[16];
|
740
|
+
static const uint8_t table11_101_emit_[27];
|
741
|
+
static const uint16_t table11_101_inner_[15];
|
742
|
+
static const uint8_t table11_102_emit_[36];
|
743
|
+
static const uint8_t table11_103_emit_[68];
|
744
|
+
static const uint8_t table11_104_emit_[16];
|
745
|
+
static const uint8_t table11_105_emit_[27];
|
746
|
+
static const uint16_t table11_105_inner_[15];
|
747
|
+
static const uint8_t table11_106_emit_[36];
|
748
|
+
static const uint8_t table11_107_emit_[68];
|
749
|
+
static const uint8_t table11_108_emit_[16];
|
750
|
+
static const uint8_t table11_109_emit_[27];
|
751
|
+
static const uint16_t table11_109_inner_[15];
|
752
|
+
static const uint8_t table11_110_emit_[36];
|
753
|
+
static const uint8_t table11_111_emit_[68];
|
754
|
+
static const uint8_t table11_112_emit_[16];
|
755
|
+
static const uint8_t table11_113_emit_[27];
|
756
|
+
static const uint16_t table11_113_inner_[15];
|
757
|
+
static const uint8_t table11_114_emit_[36];
|
758
|
+
static const uint8_t table11_115_emit_[68];
|
759
|
+
static const uint8_t table11_116_emit_[16];
|
760
|
+
static const uint8_t table11_117_emit_[27];
|
761
|
+
static const uint16_t table11_117_inner_[15];
|
762
|
+
static const uint8_t table11_118_emit_[36];
|
763
|
+
static const uint8_t table11_119_emit_[68];
|
764
|
+
static const uint8_t table11_120_emit_[16];
|
765
|
+
static const uint8_t table11_121_emit_[27];
|
766
|
+
static const uint16_t table11_121_inner_[15];
|
767
|
+
static const uint8_t table11_122_emit_[36];
|
768
|
+
static const uint8_t table11_123_emit_[68];
|
769
|
+
static const uint8_t table11_124_emit_[16];
|
770
|
+
static const uint8_t table11_125_emit_[28];
|
771
|
+
static const uint8_t table11_126_emit_[36];
|
772
|
+
static const uint8_t table11_127_emit_[68];
|
773
|
+
static const uint8_t table11_128_emit_[16];
|
774
|
+
static const uint8_t table11_129_emit_[28];
|
775
|
+
static const uint8_t table11_130_emit_[35];
|
776
|
+
static const uint16_t table11_130_inner_[19];
|
777
|
+
static const uint8_t table11_131_emit_[68];
|
778
|
+
static const uint8_t table11_132_emit_[16];
|
779
|
+
static const uint8_t table11_133_emit_[28];
|
780
|
+
static const uint8_t table11_134_emit_[35];
|
781
|
+
static const uint16_t table11_134_inner_[19];
|
782
|
+
static const uint8_t table11_135_emit_[68];
|
783
|
+
static const uint8_t table11_136_emit_[16];
|
784
|
+
static const uint8_t table11_137_emit_[28];
|
785
|
+
static const uint8_t table11_138_emit_[35];
|
786
|
+
static const uint16_t table11_138_inner_[19];
|
787
|
+
static const uint8_t table11_139_emit_[68];
|
788
|
+
static const uint8_t table11_140_emit_[16];
|
789
|
+
static const uint8_t table11_141_emit_[28];
|
790
|
+
static const uint8_t table11_142_emit_[35];
|
791
|
+
static const uint16_t table11_142_inner_[19];
|
792
|
+
static const uint8_t table11_143_emit_[68];
|
793
|
+
static const uint8_t table11_144_emit_[16];
|
794
|
+
static const uint8_t table11_145_emit_[28];
|
795
|
+
static const uint8_t table11_146_emit_[35];
|
796
|
+
static const uint16_t table11_146_inner_[19];
|
797
|
+
static const uint8_t table11_147_emit_[68];
|
798
|
+
static const uint8_t table11_148_emit_[16];
|
799
|
+
static const uint8_t table11_149_emit_[28];
|
800
|
+
static const uint8_t table11_150_emit_[35];
|
801
|
+
static const uint16_t table11_150_inner_[19];
|
802
|
+
static const uint8_t table11_151_emit_[68];
|
803
|
+
static const uint8_t table11_152_emit_[16];
|
804
|
+
static const uint8_t table11_153_emit_[28];
|
805
|
+
static const uint8_t table11_154_emit_[35];
|
806
|
+
static const uint16_t table11_154_inner_[19];
|
807
|
+
static const uint8_t table11_155_emit_[68];
|
808
|
+
static const uint8_t table11_156_emit_[16];
|
809
|
+
static const uint8_t table11_157_emit_[28];
|
810
|
+
static const uint8_t table11_158_emit_[35];
|
811
|
+
static const uint16_t table11_158_inner_[19];
|
812
|
+
static const uint8_t table11_159_emit_[68];
|
813
|
+
static const uint8_t table11_160_emit_[16];
|
814
|
+
static const uint8_t table11_161_emit_[28];
|
815
|
+
static const uint8_t table11_162_emit_[35];
|
816
|
+
static const uint16_t table11_162_inner_[19];
|
817
|
+
static const uint8_t table11_163_emit_[68];
|
818
|
+
static const uint8_t table11_164_emit_[16];
|
819
|
+
static const uint8_t table11_165_emit_[28];
|
820
|
+
static const uint8_t table11_166_emit_[35];
|
821
|
+
static const uint16_t table11_166_inner_[19];
|
822
|
+
static const uint8_t table11_167_emit_[68];
|
823
|
+
static const uint8_t table11_168_emit_[16];
|
824
|
+
static const uint8_t table11_169_emit_[28];
|
825
|
+
static const uint8_t table11_170_emit_[35];
|
826
|
+
static const uint16_t table11_170_inner_[19];
|
827
|
+
static const uint8_t table11_171_emit_[68];
|
828
|
+
static const uint8_t table11_172_emit_[16];
|
829
|
+
static const uint8_t table11_173_emit_[28];
|
830
|
+
static const uint8_t table11_174_emit_[35];
|
831
|
+
static const uint16_t table11_174_inner_[19];
|
832
|
+
static const uint8_t table11_175_emit_[68];
|
833
|
+
static const uint8_t table11_176_emit_[16];
|
834
|
+
static const uint8_t table11_177_emit_[28];
|
835
|
+
static const uint8_t table11_178_emit_[35];
|
836
|
+
static const uint16_t table11_178_inner_[19];
|
837
|
+
static const uint8_t table11_179_emit_[68];
|
838
|
+
static const uint8_t table11_180_emit_[16];
|
839
|
+
static const uint8_t table11_181_emit_[28];
|
840
|
+
static const uint8_t table11_182_emit_[35];
|
841
|
+
static const uint16_t table11_182_inner_[19];
|
842
|
+
static const uint8_t table11_183_emit_[68];
|
843
|
+
static const uint8_t table11_184_emit_[44];
|
844
|
+
static const uint8_t table11_185_emit_[91];
|
845
|
+
static const uint16_t table11_185_inner_[48];
|
846
|
+
static const uint8_t table11_186_emit_[44];
|
847
|
+
static const uint8_t table11_187_emit_[91];
|
848
|
+
static const uint16_t table11_187_inner_[48];
|
849
|
+
static const uint8_t table11_188_emit_[44];
|
850
|
+
static const uint8_t table11_189_emit_[91];
|
851
|
+
static const uint16_t table11_189_inner_[48];
|
852
|
+
static const uint8_t table11_190_emit_[44];
|
853
|
+
static const uint8_t table11_191_emit_[91];
|
854
|
+
static const uint16_t table11_191_inner_[48];
|
855
|
+
static const uint8_t table11_192_emit_[44];
|
856
|
+
static const uint8_t table11_193_emit_[91];
|
857
|
+
static const uint16_t table11_193_inner_[48];
|
858
|
+
static const uint8_t table11_194_emit_[44];
|
859
|
+
static const uint8_t table11_195_emit_[91];
|
860
|
+
static const uint16_t table11_195_inner_[48];
|
861
|
+
static const uint8_t table11_196_emit_[44];
|
862
|
+
static const uint8_t table11_197_emit_[91];
|
863
|
+
static const uint16_t table11_197_inner_[48];
|
864
|
+
static const uint8_t table11_198_emit_[44];
|
865
|
+
static const uint8_t table11_199_emit_[91];
|
866
|
+
static const uint16_t table11_199_inner_[48];
|
867
|
+
static const uint8_t table11_200_emit_[44];
|
868
|
+
static const uint8_t table11_201_emit_[91];
|
869
|
+
static const uint16_t table11_201_inner_[48];
|
870
|
+
static const uint8_t table11_202_emit_[44];
|
871
|
+
static const uint8_t table11_203_emit_[91];
|
872
|
+
static const uint16_t table11_203_inner_[48];
|
873
|
+
static const uint8_t table11_204_emit_[44];
|
874
|
+
static const uint8_t table11_205_emit_[91];
|
875
|
+
static const uint16_t table11_205_inner_[48];
|
876
|
+
static const uint8_t table11_206_emit_[44];
|
877
|
+
static const uint8_t table11_207_emit_[91];
|
878
|
+
static const uint16_t table11_207_inner_[48];
|
879
|
+
static const uint8_t table11_208_emit_[44];
|
880
|
+
static const uint8_t table11_209_emit_[91];
|
881
|
+
static const uint16_t table11_209_inner_[48];
|
882
|
+
static const uint8_t table11_210_emit_[44];
|
883
|
+
static const uint8_t table11_211_emit_[91];
|
884
|
+
static const uint16_t table11_211_inner_[48];
|
885
|
+
static const uint8_t table11_212_emit_[44];
|
886
|
+
static const uint8_t table11_213_emit_[91];
|
887
|
+
static const uint16_t table11_213_inner_[48];
|
888
|
+
static const uint8_t table11_214_emit_[44];
|
889
|
+
static const uint8_t table11_215_emit_[91];
|
890
|
+
static const uint16_t table11_215_inner_[48];
|
891
|
+
static const uint8_t table11_216_emit_[44];
|
892
|
+
static const uint8_t table11_217_emit_[91];
|
893
|
+
static const uint16_t table11_217_inner_[48];
|
894
|
+
static const uint8_t table11_218_emit_[44];
|
895
|
+
static const uint8_t table11_219_emit_[91];
|
896
|
+
static const uint16_t table11_219_inner_[48];
|
897
|
+
static const uint8_t table11_220_emit_[44];
|
898
|
+
static const uint8_t table11_221_emit_[91];
|
899
|
+
static const uint16_t table11_221_inner_[48];
|
900
|
+
static const uint8_t table11_222_emit_[44];
|
901
|
+
static const uint8_t table11_223_emit_[91];
|
902
|
+
static const uint16_t table11_223_inner_[48];
|
903
|
+
static const uint8_t table11_224_emit_[44];
|
904
|
+
static const uint8_t table11_225_emit_[91];
|
905
|
+
static const uint16_t table11_225_inner_[48];
|
906
|
+
static const uint8_t table11_226_emit_[44];
|
907
|
+
static const uint8_t table11_227_emit_[91];
|
908
|
+
static const uint16_t table11_227_inner_[48];
|
909
|
+
static const uint8_t table11_228_emit_[44];
|
910
|
+
static const uint8_t table11_229_emit_[91];
|
911
|
+
static const uint16_t table11_229_inner_[48];
|
912
|
+
static const uint8_t table11_230_emit_[44];
|
913
|
+
static const uint8_t table11_231_emit_[91];
|
914
|
+
static const uint16_t table11_231_inner_[48];
|
915
|
+
static const uint8_t table11_232_emit_[44];
|
916
|
+
static const uint8_t table11_233_emit_[91];
|
917
|
+
static const uint16_t table11_233_inner_[48];
|
918
|
+
static const uint8_t table11_234_emit_[44];
|
919
|
+
static const uint8_t table11_235_emit_[91];
|
920
|
+
static const uint16_t table11_235_inner_[48];
|
921
|
+
static const uint8_t table11_236_emit_[44];
|
922
|
+
static const uint8_t table11_237_emit_[91];
|
923
|
+
static const uint16_t table11_237_inner_[48];
|
924
|
+
static const uint8_t table11_238_emit_[44];
|
925
|
+
static const uint8_t table11_239_emit_[91];
|
926
|
+
static const uint16_t table11_239_inner_[48];
|
927
|
+
static const uint8_t table11_240_emit_[44];
|
928
|
+
static const uint8_t table11_241_emit_[91];
|
929
|
+
static const uint16_t table11_241_inner_[48];
|
930
|
+
static const uint8_t table11_242_emit_[44];
|
931
|
+
static const uint8_t table11_243_emit_[91];
|
932
|
+
static const uint16_t table11_243_inner_[48];
|
933
|
+
static const uint8_t table11_244_emit_[44];
|
934
|
+
static const uint8_t table11_245_emit_[91];
|
935
|
+
static const uint16_t table11_245_inner_[48];
|
936
|
+
static const uint8_t table11_246_emit_[44];
|
937
|
+
static const uint8_t table11_247_emit_[92];
|
938
|
+
static const uint8_t table11_248_emit_[72];
|
939
|
+
static const uint8_t table11_249_emit_[72];
|
940
|
+
static const uint8_t table11_250_emit_[72];
|
941
|
+
static const uint8_t table11_251_emit_[72];
|
942
|
+
static const uint8_t table11_252_emit_[72];
|
943
|
+
static const uint8_t table11_253_emit_[72];
|
944
|
+
static const uint8_t table11_254_emit_[4];
|
945
|
+
static const uint8_t table11_255_emit_[14];
|
946
|
+
static const uint8_t table11_255_outer_[64];
|
947
|
+
static const uint8_t* const table11_emit_[256];
|
948
|
+
static const uint16_t* const table11_inner_[256];
|
949
|
+
static const uint8_t* const table11_outer_[256];
|
950
|
+
static const uint8_t table1_0_emit_[55];
|
951
|
+
static const uint16_t table1_0_inner_[22];
|
952
|
+
static const uint8_t table1_0_outer_[64];
|
953
|
+
static const uint8_t table1_1_emit_[58];
|
954
|
+
static const uint16_t table1_1_inner_[22];
|
955
|
+
static const uint8_t table1_2_emit_[58];
|
956
|
+
static const uint8_t table1_3_emit_[58];
|
957
|
+
static const uint8_t table1_4_emit_[58];
|
958
|
+
static const uint8_t table1_5_emit_[8];
|
959
|
+
static const uint16_t table1_5_inner_[4];
|
960
|
+
static const uint8_t table1_5_outer_[64];
|
961
|
+
static const uint8_t table1_6_emit_[8];
|
962
|
+
static const uint8_t table1_7_emit_[8];
|
963
|
+
static const uint8_t table1_8_emit_[8];
|
964
|
+
static const uint8_t table1_9_emit_[8];
|
965
|
+
static const uint8_t table1_10_emit_[8];
|
966
|
+
static const uint8_t table1_11_emit_[12];
|
967
|
+
static const uint16_t table1_11_inner_[6];
|
968
|
+
static const uint8_t table1_11_outer_[64];
|
969
|
+
static const uint8_t table1_12_emit_[16];
|
970
|
+
static const uint16_t table1_12_inner_[8];
|
971
|
+
static const uint8_t table1_12_outer_[64];
|
972
|
+
static const uint8_t table1_13_emit_[16];
|
973
|
+
static const uint8_t table1_14_emit_[16];
|
974
|
+
static const uint8_t table1_15_emit_[30];
|
975
|
+
static const uint16_t table1_15_inner_[16];
|
976
|
+
static const uint8_t table1_15_outer_[64];
|
977
|
+
static const uint8_t table1_16_emit_[57];
|
978
|
+
static const uint16_t table1_16_inner_[22];
|
979
|
+
static const uint8_t table1_17_emit_[58];
|
980
|
+
static const uint16_t table1_17_inner_[22];
|
981
|
+
static const uint8_t table1_18_emit_[58];
|
982
|
+
static const uint8_t table1_19_emit_[58];
|
983
|
+
static const uint8_t table1_20_emit_[58];
|
984
|
+
static const uint8_t table1_21_emit_[8];
|
985
|
+
static const uint8_t table1_22_emit_[8];
|
986
|
+
static const uint8_t table1_23_emit_[8];
|
987
|
+
static const uint8_t table1_24_emit_[8];
|
988
|
+
static const uint8_t table1_25_emit_[8];
|
989
|
+
static const uint8_t table1_26_emit_[8];
|
990
|
+
static const uint8_t table1_27_emit_[12];
|
991
|
+
static const uint8_t table1_28_emit_[16];
|
992
|
+
static const uint8_t table1_29_emit_[16];
|
993
|
+
static const uint8_t table1_30_emit_[16];
|
994
|
+
static const uint8_t table1_31_emit_[30];
|
995
|
+
static const uint8_t table1_32_emit_[58];
|
996
|
+
static const uint16_t table1_32_inner_[22];
|
997
|
+
static const uint8_t table1_33_emit_[55];
|
998
|
+
static const uint16_t table1_33_inner_[22];
|
999
|
+
static const uint8_t table1_34_emit_[58];
|
1000
|
+
static const uint8_t table1_35_emit_[58];
|
1001
|
+
static const uint8_t table1_36_emit_[58];
|
1002
|
+
static const uint8_t table1_37_emit_[8];
|
1003
|
+
static const uint8_t table1_38_emit_[8];
|
1004
|
+
static const uint8_t table1_39_emit_[8];
|
1005
|
+
static const uint8_t table1_40_emit_[8];
|
1006
|
+
static const uint8_t table1_41_emit_[8];
|
1007
|
+
static const uint8_t table1_42_emit_[8];
|
1008
|
+
static const uint8_t table1_43_emit_[12];
|
1009
|
+
static const uint8_t table1_44_emit_[16];
|
1010
|
+
static const uint8_t table1_45_emit_[16];
|
1011
|
+
static const uint8_t table1_46_emit_[16];
|
1012
|
+
static const uint8_t table1_47_emit_[30];
|
1013
|
+
static const uint8_t table1_48_emit_[58];
|
1014
|
+
static const uint16_t table1_48_inner_[22];
|
1015
|
+
static const uint8_t table1_49_emit_[57];
|
1016
|
+
static const uint16_t table1_49_inner_[22];
|
1017
|
+
static const uint8_t table1_50_emit_[58];
|
1018
|
+
static const uint8_t table1_51_emit_[58];
|
1019
|
+
static const uint8_t table1_52_emit_[58];
|
1020
|
+
static const uint8_t table1_53_emit_[8];
|
1021
|
+
static const uint8_t table1_54_emit_[8];
|
1022
|
+
static const uint8_t table1_55_emit_[8];
|
1023
|
+
static const uint8_t table1_56_emit_[8];
|
1024
|
+
static const uint8_t table1_57_emit_[8];
|
1025
|
+
static const uint8_t table1_58_emit_[8];
|
1026
|
+
static const uint8_t table1_59_emit_[12];
|
1027
|
+
static const uint8_t table1_60_emit_[16];
|
1028
|
+
static const uint8_t table1_61_emit_[16];
|
1029
|
+
static const uint8_t table1_62_emit_[16];
|
1030
|
+
static const uint8_t table1_63_emit_[30];
|
1031
|
+
static const uint8_t table1_64_emit_[58];
|
1032
|
+
static const uint16_t table1_64_inner_[22];
|
1033
|
+
static const uint8_t table1_65_emit_[58];
|
1034
|
+
static const uint8_t table1_66_emit_[55];
|
1035
|
+
static const uint16_t table1_66_inner_[22];
|
1036
|
+
static const uint8_t table1_67_emit_[58];
|
1037
|
+
static const uint8_t table1_68_emit_[58];
|
1038
|
+
static const uint8_t table1_69_emit_[8];
|
1039
|
+
static const uint8_t table1_70_emit_[8];
|
1040
|
+
static const uint8_t table1_71_emit_[8];
|
1041
|
+
static const uint8_t table1_72_emit_[8];
|
1042
|
+
static const uint8_t table1_73_emit_[8];
|
1043
|
+
static const uint8_t table1_74_emit_[8];
|
1044
|
+
static const uint8_t table1_75_emit_[12];
|
1045
|
+
static const uint8_t table1_76_emit_[16];
|
1046
|
+
static const uint8_t table1_77_emit_[16];
|
1047
|
+
static const uint8_t table1_78_emit_[16];
|
1048
|
+
static const uint8_t table1_79_emit_[30];
|
1049
|
+
static const uint8_t table1_80_emit_[58];
|
1050
|
+
static const uint16_t table1_80_inner_[22];
|
1051
|
+
static const uint8_t table1_81_emit_[58];
|
1052
|
+
static const uint8_t table1_82_emit_[57];
|
1053
|
+
static const uint16_t table1_82_inner_[22];
|
1054
|
+
static const uint8_t table1_83_emit_[58];
|
1055
|
+
static const uint8_t table1_84_emit_[58];
|
1056
|
+
static const uint8_t table1_85_emit_[8];
|
1057
|
+
static const uint8_t table1_86_emit_[8];
|
1058
|
+
static const uint8_t table1_87_emit_[8];
|
1059
|
+
static const uint8_t table1_88_emit_[8];
|
1060
|
+
static const uint8_t table1_89_emit_[8];
|
1061
|
+
static const uint8_t table1_90_emit_[8];
|
1062
|
+
static const uint8_t table1_91_emit_[12];
|
1063
|
+
static const uint8_t table1_92_emit_[16];
|
1064
|
+
static const uint8_t table1_93_emit_[16];
|
1065
|
+
static const uint8_t table1_94_emit_[16];
|
1066
|
+
static const uint8_t table1_95_emit_[30];
|
1067
|
+
static const uint8_t table1_96_emit_[58];
|
1068
|
+
static const uint16_t table1_96_inner_[22];
|
1069
|
+
static const uint8_t table1_97_emit_[58];
|
1070
|
+
static const uint8_t table1_98_emit_[58];
|
1071
|
+
static const uint8_t table1_99_emit_[55];
|
1072
|
+
static const uint16_t table1_99_inner_[22];
|
1073
|
+
static const uint8_t table1_100_emit_[58];
|
1074
|
+
static const uint8_t table1_101_emit_[8];
|
1075
|
+
static const uint8_t table1_102_emit_[8];
|
1076
|
+
static const uint8_t table1_103_emit_[8];
|
1077
|
+
static const uint8_t table1_104_emit_[8];
|
1078
|
+
static const uint8_t table1_105_emit_[8];
|
1079
|
+
static const uint8_t table1_106_emit_[8];
|
1080
|
+
static const uint8_t table1_107_emit_[12];
|
1081
|
+
static const uint8_t table1_108_emit_[16];
|
1082
|
+
static const uint8_t table1_109_emit_[16];
|
1083
|
+
static const uint8_t table1_110_emit_[16];
|
1084
|
+
static const uint8_t table1_111_emit_[30];
|
1085
|
+
static const uint8_t table1_112_emit_[58];
|
1086
|
+
static const uint16_t table1_112_inner_[22];
|
1087
|
+
static const uint8_t table1_113_emit_[58];
|
1088
|
+
static const uint8_t table1_114_emit_[58];
|
1089
|
+
static const uint8_t table1_115_emit_[57];
|
1090
|
+
static const uint16_t table1_115_inner_[22];
|
1091
|
+
static const uint8_t table1_116_emit_[58];
|
1092
|
+
static const uint8_t table1_117_emit_[8];
|
1093
|
+
static const uint8_t table1_118_emit_[8];
|
1094
|
+
static const uint8_t table1_119_emit_[8];
|
1095
|
+
static const uint8_t table1_120_emit_[8];
|
1096
|
+
static const uint8_t table1_121_emit_[8];
|
1097
|
+
static const uint8_t table1_122_emit_[8];
|
1098
|
+
static const uint8_t table1_123_emit_[12];
|
1099
|
+
static const uint8_t table1_124_emit_[16];
|
1100
|
+
static const uint8_t table1_125_emit_[16];
|
1101
|
+
static const uint8_t table1_126_emit_[16];
|
1102
|
+
static const uint8_t table1_127_emit_[30];
|
1103
|
+
static const uint8_t table1_128_emit_[58];
|
1104
|
+
static const uint16_t table1_128_inner_[22];
|
1105
|
+
static const uint8_t table1_129_emit_[58];
|
1106
|
+
static const uint8_t table1_130_emit_[58];
|
1107
|
+
static const uint8_t table1_131_emit_[58];
|
1108
|
+
static const uint8_t table1_132_emit_[55];
|
1109
|
+
static const uint16_t table1_132_inner_[22];
|
1110
|
+
static const uint8_t table1_133_emit_[8];
|
1111
|
+
static const uint8_t table1_134_emit_[8];
|
1112
|
+
static const uint8_t table1_135_emit_[8];
|
1113
|
+
static const uint8_t table1_136_emit_[8];
|
1114
|
+
static const uint8_t table1_137_emit_[8];
|
1115
|
+
static const uint8_t table1_138_emit_[8];
|
1116
|
+
static const uint8_t table1_139_emit_[12];
|
1117
|
+
static const uint8_t table1_140_emit_[16];
|
1118
|
+
static const uint8_t table1_141_emit_[16];
|
1119
|
+
static const uint8_t table1_142_emit_[16];
|
1120
|
+
static const uint8_t table1_143_emit_[30];
|
1121
|
+
static const uint8_t table1_144_emit_[59];
|
1122
|
+
static const uint16_t table1_144_inner_[22];
|
1123
|
+
static const uint8_t table1_145_emit_[59];
|
1124
|
+
static const uint8_t table1_146_emit_[59];
|
1125
|
+
static const uint8_t table1_147_emit_[59];
|
1126
|
+
static const uint8_t table1_148_emit_[59];
|
1127
|
+
static const uint8_t table1_149_emit_[8];
|
1128
|
+
static const uint8_t table1_150_emit_[8];
|
1129
|
+
static const uint8_t table1_151_emit_[8];
|
1130
|
+
static const uint8_t table1_152_emit_[8];
|
1131
|
+
static const uint8_t table1_153_emit_[8];
|
1132
|
+
static const uint8_t table1_154_emit_[8];
|
1133
|
+
static const uint8_t table1_155_emit_[12];
|
1134
|
+
static const uint8_t table1_156_emit_[16];
|
1135
|
+
static const uint8_t table1_157_emit_[16];
|
1136
|
+
static const uint8_t table1_158_emit_[16];
|
1137
|
+
static const uint8_t table1_159_emit_[30];
|
1138
|
+
static const uint8_t table1_160_emit_[8];
|
1139
|
+
static const uint8_t table1_161_emit_[8];
|
1140
|
+
static const uint8_t table1_162_emit_[11];
|
1141
|
+
static const uint16_t table1_162_inner_[6];
|
1142
|
+
static const uint8_t table1_163_emit_[16];
|
1143
|
+
static const uint8_t table1_164_emit_[16];
|
1144
|
+
static const uint8_t table1_165_emit_[20];
|
1145
|
+
static const uint16_t table1_165_inner_[10];
|
1146
|
+
static const uint8_t table1_165_outer_[64];
|
1147
|
+
static const uint8_t table1_166_emit_[32];
|
1148
|
+
static const uint16_t table1_166_inner_[16];
|
1149
|
+
static const uint8_t table1_166_outer_[64];
|
1150
|
+
static const uint8_t table1_167_emit_[36];
|
1151
|
+
static const uint16_t table1_167_inner_[19];
|
1152
|
+
static const uint8_t table1_167_outer_[64];
|
1153
|
+
static const uint8_t table1_168_emit_[8];
|
1154
|
+
static const uint8_t table1_169_emit_[8];
|
1155
|
+
static const uint8_t table1_170_emit_[11];
|
1156
|
+
static const uint16_t table1_170_inner_[6];
|
1157
|
+
static const uint8_t table1_171_emit_[16];
|
1158
|
+
static const uint8_t table1_172_emit_[16];
|
1159
|
+
static const uint8_t table1_173_emit_[20];
|
1160
|
+
static const uint8_t table1_174_emit_[32];
|
1161
|
+
static const uint8_t table1_175_emit_[36];
|
1162
|
+
static const uint8_t table1_176_emit_[8];
|
1163
|
+
static const uint8_t table1_177_emit_[8];
|
1164
|
+
static const uint8_t table1_178_emit_[11];
|
1165
|
+
static const uint16_t table1_178_inner_[6];
|
1166
|
+
static const uint8_t table1_179_emit_[16];
|
1167
|
+
static const uint8_t table1_180_emit_[16];
|
1168
|
+
static const uint8_t table1_181_emit_[20];
|
1169
|
+
static const uint8_t table1_182_emit_[32];
|
1170
|
+
static const uint8_t table1_183_emit_[36];
|
1171
|
+
static const uint8_t table1_184_emit_[8];
|
1172
|
+
static const uint8_t table1_185_emit_[8];
|
1173
|
+
static const uint8_t table1_186_emit_[12];
|
1174
|
+
static const uint8_t table1_187_emit_[16];
|
1175
|
+
static const uint8_t table1_188_emit_[16];
|
1176
|
+
static const uint8_t table1_189_emit_[20];
|
1177
|
+
static const uint8_t table1_190_emit_[32];
|
1178
|
+
static const uint8_t table1_191_emit_[36];
|
1179
|
+
static const uint8_t table1_192_emit_[8];
|
1180
|
+
static const uint8_t table1_193_emit_[8];
|
1181
|
+
static const uint8_t table1_194_emit_[12];
|
1182
|
+
static const uint8_t table1_195_emit_[15];
|
1183
|
+
static const uint16_t table1_195_inner_[8];
|
1184
|
+
static const uint8_t table1_196_emit_[16];
|
1185
|
+
static const uint8_t table1_197_emit_[20];
|
1186
|
+
static const uint8_t table1_198_emit_[32];
|
1187
|
+
static const uint8_t table1_199_emit_[36];
|
1188
|
+
static const uint8_t table1_200_emit_[8];
|
1189
|
+
static const uint8_t table1_201_emit_[8];
|
1190
|
+
static const uint8_t table1_202_emit_[12];
|
1191
|
+
static const uint8_t table1_203_emit_[15];
|
1192
|
+
static const uint16_t table1_203_inner_[8];
|
1193
|
+
static const uint8_t table1_204_emit_[16];
|
1194
|
+
static const uint8_t table1_205_emit_[20];
|
1195
|
+
static const uint8_t table1_206_emit_[32];
|
1196
|
+
static const uint8_t table1_207_emit_[36];
|
1197
|
+
static const uint8_t table1_208_emit_[8];
|
1198
|
+
static const uint8_t table1_209_emit_[8];
|
1199
|
+
static const uint8_t table1_210_emit_[12];
|
1200
|
+
static const uint8_t table1_211_emit_[15];
|
1201
|
+
static const uint16_t table1_211_inner_[8];
|
1202
|
+
static const uint8_t table1_212_emit_[16];
|
1203
|
+
static const uint8_t table1_213_emit_[20];
|
1204
|
+
static const uint8_t table1_214_emit_[32];
|
1205
|
+
static const uint8_t table1_215_emit_[36];
|
1206
|
+
static const uint8_t table1_216_emit_[8];
|
1207
|
+
static const uint8_t table1_217_emit_[8];
|
1208
|
+
static const uint8_t table1_218_emit_[12];
|
1209
|
+
static const uint8_t table1_219_emit_[15];
|
1210
|
+
static const uint16_t table1_219_inner_[8];
|
1211
|
+
static const uint8_t table1_220_emit_[16];
|
1212
|
+
static const uint8_t table1_221_emit_[20];
|
1213
|
+
static const uint8_t table1_222_emit_[32];
|
1214
|
+
static const uint8_t table1_223_emit_[36];
|
1215
|
+
static const uint8_t table1_224_emit_[8];
|
1216
|
+
static const uint8_t table1_225_emit_[8];
|
1217
|
+
static const uint8_t table1_226_emit_[12];
|
1218
|
+
static const uint8_t table1_227_emit_[15];
|
1219
|
+
static const uint16_t table1_227_inner_[8];
|
1220
|
+
static const uint8_t table1_228_emit_[16];
|
1221
|
+
static const uint8_t table1_229_emit_[20];
|
1222
|
+
static const uint8_t table1_230_emit_[32];
|
1223
|
+
static const uint8_t table1_231_emit_[36];
|
1224
|
+
static const uint8_t table1_232_emit_[8];
|
1225
|
+
static const uint8_t table1_233_emit_[8];
|
1226
|
+
static const uint8_t table1_234_emit_[12];
|
1227
|
+
static const uint8_t table1_235_emit_[15];
|
1228
|
+
static const uint16_t table1_235_inner_[8];
|
1229
|
+
static const uint8_t table1_236_emit_[16];
|
1230
|
+
static const uint8_t table1_237_emit_[20];
|
1231
|
+
static const uint8_t table1_238_emit_[32];
|
1232
|
+
static const uint8_t table1_239_emit_[36];
|
1233
|
+
static const uint8_t table1_240_emit_[8];
|
1234
|
+
static const uint8_t table1_241_emit_[8];
|
1235
|
+
static const uint8_t table1_242_emit_[12];
|
1236
|
+
static const uint8_t table1_243_emit_[15];
|
1237
|
+
static const uint16_t table1_243_inner_[8];
|
1238
|
+
static const uint8_t table1_244_emit_[16];
|
1239
|
+
static const uint8_t table1_245_emit_[20];
|
1240
|
+
static const uint8_t table1_246_emit_[32];
|
1241
|
+
static const uint8_t table1_247_emit_[36];
|
1242
|
+
static const uint8_t table1_248_emit_[8];
|
1243
|
+
static const uint8_t table1_249_emit_[8];
|
1244
|
+
static const uint8_t table1_250_emit_[12];
|
1245
|
+
static const uint8_t table1_251_emit_[16];
|
1246
|
+
static const uint8_t table1_252_emit_[16];
|
1247
|
+
static const uint8_t table1_253_emit_[20];
|
1248
|
+
static const uint8_t table1_254_emit_[32];
|
1249
|
+
static const uint8_t table1_255_emit_[36];
|
1250
|
+
static const uint8_t table1_256_emit_[8];
|
1251
|
+
static const uint8_t table1_257_emit_[8];
|
1252
|
+
static const uint8_t table1_258_emit_[12];
|
1253
|
+
static const uint8_t table1_259_emit_[16];
|
1254
|
+
static const uint8_t table1_260_emit_[15];
|
1255
|
+
static const uint8_t table1_261_emit_[20];
|
1256
|
+
static const uint8_t table1_262_emit_[32];
|
1257
|
+
static const uint8_t table1_263_emit_[36];
|
1258
|
+
static const uint8_t table1_264_emit_[8];
|
1259
|
+
static const uint8_t table1_265_emit_[8];
|
1260
|
+
static const uint8_t table1_266_emit_[12];
|
1261
|
+
static const uint8_t table1_267_emit_[16];
|
1262
|
+
static const uint8_t table1_268_emit_[15];
|
1263
|
+
static const uint8_t table1_269_emit_[20];
|
1264
|
+
static const uint8_t table1_270_emit_[32];
|
1265
|
+
static const uint8_t table1_271_emit_[36];
|
1266
|
+
static const uint8_t table1_272_emit_[8];
|
1267
|
+
static const uint8_t table1_273_emit_[8];
|
1268
|
+
static const uint8_t table1_274_emit_[12];
|
1269
|
+
static const uint8_t table1_275_emit_[16];
|
1270
|
+
static const uint8_t table1_276_emit_[15];
|
1271
|
+
static const uint8_t table1_277_emit_[20];
|
1272
|
+
static const uint8_t table1_278_emit_[32];
|
1273
|
+
static const uint8_t table1_279_emit_[36];
|
1274
|
+
static const uint8_t table1_280_emit_[8];
|
1275
|
+
static const uint8_t table1_281_emit_[8];
|
1276
|
+
static const uint8_t table1_282_emit_[12];
|
1277
|
+
static const uint8_t table1_283_emit_[16];
|
1278
|
+
static const uint8_t table1_284_emit_[15];
|
1279
|
+
static const uint8_t table1_285_emit_[20];
|
1280
|
+
static const uint8_t table1_286_emit_[32];
|
1281
|
+
static const uint8_t table1_287_emit_[36];
|
1282
|
+
static const uint8_t table1_288_emit_[8];
|
1283
|
+
static const uint8_t table1_289_emit_[8];
|
1284
|
+
static const uint8_t table1_290_emit_[12];
|
1285
|
+
static const uint8_t table1_291_emit_[16];
|
1286
|
+
static const uint8_t table1_292_emit_[15];
|
1287
|
+
static const uint8_t table1_293_emit_[20];
|
1288
|
+
static const uint8_t table1_294_emit_[32];
|
1289
|
+
static const uint8_t table1_295_emit_[36];
|
1290
|
+
static const uint8_t table1_296_emit_[8];
|
1291
|
+
static const uint8_t table1_297_emit_[8];
|
1292
|
+
static const uint8_t table1_298_emit_[12];
|
1293
|
+
static const uint8_t table1_299_emit_[16];
|
1294
|
+
static const uint8_t table1_300_emit_[15];
|
1295
|
+
static const uint8_t table1_301_emit_[20];
|
1296
|
+
static const uint8_t table1_302_emit_[32];
|
1297
|
+
static const uint8_t table1_303_emit_[36];
|
1298
|
+
static const uint8_t table1_304_emit_[8];
|
1299
|
+
static const uint8_t table1_305_emit_[8];
|
1300
|
+
static const uint8_t table1_306_emit_[12];
|
1301
|
+
static const uint8_t table1_307_emit_[16];
|
1302
|
+
static const uint8_t table1_308_emit_[15];
|
1303
|
+
static const uint8_t table1_309_emit_[20];
|
1304
|
+
static const uint8_t table1_310_emit_[32];
|
1305
|
+
static const uint8_t table1_311_emit_[36];
|
1306
|
+
static const uint8_t table1_312_emit_[8];
|
1307
|
+
static const uint8_t table1_313_emit_[8];
|
1308
|
+
static const uint8_t table1_314_emit_[12];
|
1309
|
+
static const uint8_t table1_315_emit_[16];
|
1310
|
+
static const uint8_t table1_316_emit_[16];
|
1311
|
+
static const uint8_t table1_317_emit_[20];
|
1312
|
+
static const uint8_t table1_318_emit_[32];
|
1313
|
+
static const uint8_t table1_319_emit_[36];
|
1314
|
+
static const uint8_t table1_320_emit_[8];
|
1315
|
+
static const uint8_t table1_321_emit_[8];
|
1316
|
+
static const uint8_t table1_322_emit_[12];
|
1317
|
+
static const uint8_t table1_323_emit_[16];
|
1318
|
+
static const uint8_t table1_324_emit_[16];
|
1319
|
+
static const uint8_t table1_325_emit_[19];
|
1320
|
+
static const uint16_t table1_325_inner_[10];
|
1321
|
+
static const uint8_t table1_326_emit_[32];
|
1322
|
+
static const uint8_t table1_327_emit_[36];
|
1323
|
+
static const uint8_t table1_328_emit_[8];
|
1324
|
+
static const uint8_t table1_329_emit_[8];
|
1325
|
+
static const uint8_t table1_330_emit_[12];
|
1326
|
+
static const uint8_t table1_331_emit_[16];
|
1327
|
+
static const uint8_t table1_332_emit_[16];
|
1328
|
+
static const uint8_t table1_333_emit_[19];
|
1329
|
+
static const uint16_t table1_333_inner_[10];
|
1330
|
+
static const uint8_t table1_334_emit_[32];
|
1331
|
+
static const uint8_t table1_335_emit_[36];
|
1332
|
+
static const uint8_t table1_336_emit_[8];
|
1333
|
+
static const uint8_t table1_337_emit_[8];
|
1334
|
+
static const uint8_t table1_338_emit_[12];
|
1335
|
+
static const uint8_t table1_339_emit_[16];
|
1336
|
+
static const uint8_t table1_340_emit_[16];
|
1337
|
+
static const uint8_t table1_341_emit_[19];
|
1338
|
+
static const uint16_t table1_341_inner_[10];
|
1339
|
+
static const uint8_t table1_342_emit_[32];
|
1340
|
+
static const uint8_t table1_343_emit_[36];
|
1341
|
+
static const uint8_t table1_344_emit_[8];
|
1342
|
+
static const uint8_t table1_345_emit_[8];
|
1343
|
+
static const uint8_t table1_346_emit_[12];
|
1344
|
+
static const uint8_t table1_347_emit_[16];
|
1345
|
+
static const uint8_t table1_348_emit_[16];
|
1346
|
+
static const uint8_t table1_349_emit_[19];
|
1347
|
+
static const uint16_t table1_349_inner_[10];
|
1348
|
+
static const uint8_t table1_350_emit_[32];
|
1349
|
+
static const uint8_t table1_351_emit_[36];
|
1350
|
+
static const uint8_t table1_352_emit_[8];
|
1351
|
+
static const uint8_t table1_353_emit_[8];
|
1352
|
+
static const uint8_t table1_354_emit_[12];
|
1353
|
+
static const uint8_t table1_355_emit_[16];
|
1354
|
+
static const uint8_t table1_356_emit_[16];
|
1355
|
+
static const uint8_t table1_357_emit_[19];
|
1356
|
+
static const uint16_t table1_357_inner_[10];
|
1357
|
+
static const uint8_t table1_358_emit_[32];
|
1358
|
+
static const uint8_t table1_359_emit_[36];
|
1359
|
+
static const uint8_t table1_360_emit_[8];
|
1360
|
+
static const uint8_t table1_361_emit_[8];
|
1361
|
+
static const uint8_t table1_362_emit_[12];
|
1362
|
+
static const uint8_t table1_363_emit_[16];
|
1363
|
+
static const uint8_t table1_364_emit_[16];
|
1364
|
+
static const uint8_t table1_365_emit_[19];
|
1365
|
+
static const uint16_t table1_365_inner_[10];
|
1366
|
+
static const uint8_t table1_366_emit_[32];
|
1367
|
+
static const uint8_t table1_367_emit_[36];
|
1368
|
+
static const uint8_t table1_368_emit_[16];
|
1369
|
+
static const uint8_t table1_369_emit_[28];
|
1370
|
+
static const uint16_t table1_369_inner_[14];
|
1371
|
+
static const uint8_t table1_369_outer_[64];
|
1372
|
+
static const uint8_t table1_370_emit_[35];
|
1373
|
+
static const uint16_t table1_370_inner_[18];
|
1374
|
+
static const uint8_t table1_370_outer_[64];
|
1375
|
+
static const uint8_t table1_371_emit_[68];
|
1376
|
+
static const uint16_t table1_371_inner_[35];
|
1377
|
+
static const uint8_t table1_371_outer_[64];
|
1378
|
+
static const uint8_t table1_372_emit_[16];
|
1379
|
+
static const uint8_t table1_373_emit_[28];
|
1380
|
+
static const uint8_t table1_374_emit_[35];
|
1381
|
+
static const uint16_t table1_374_inner_[18];
|
1382
|
+
static const uint8_t table1_375_emit_[68];
|
1383
|
+
static const uint8_t table1_376_emit_[16];
|
1384
|
+
static const uint8_t table1_377_emit_[28];
|
1385
|
+
static const uint8_t table1_378_emit_[35];
|
1386
|
+
static const uint16_t table1_378_inner_[18];
|
1387
|
+
static const uint8_t table1_379_emit_[68];
|
1388
|
+
static const uint8_t table1_380_emit_[16];
|
1389
|
+
static const uint8_t table1_381_emit_[28];
|
1390
|
+
static const uint8_t table1_382_emit_[36];
|
1391
|
+
static const uint16_t table1_382_inner_[18];
|
1392
|
+
static const uint8_t table1_383_emit_[68];
|
1393
|
+
static const uint8_t table1_384_emit_[16];
|
1394
|
+
static const uint8_t table1_385_emit_[28];
|
1395
|
+
static const uint8_t table1_386_emit_[36];
|
1396
|
+
static const uint8_t table1_387_emit_[67];
|
1397
|
+
static const uint16_t table1_387_inner_[35];
|
1398
|
+
static const uint8_t table1_388_emit_[16];
|
1399
|
+
static const uint8_t table1_389_emit_[28];
|
1400
|
+
static const uint8_t table1_390_emit_[36];
|
1401
|
+
static const uint8_t table1_391_emit_[67];
|
1402
|
+
static const uint16_t table1_391_inner_[35];
|
1403
|
+
static const uint8_t table1_392_emit_[16];
|
1404
|
+
static const uint8_t table1_393_emit_[28];
|
1405
|
+
static const uint8_t table1_394_emit_[36];
|
1406
|
+
static const uint8_t table1_395_emit_[67];
|
1407
|
+
static const uint16_t table1_395_inner_[35];
|
1408
|
+
static const uint8_t table1_396_emit_[16];
|
1409
|
+
static const uint8_t table1_397_emit_[28];
|
1410
|
+
static const uint8_t table1_398_emit_[36];
|
1411
|
+
static const uint8_t table1_399_emit_[67];
|
1412
|
+
static const uint16_t table1_399_inner_[35];
|
1413
|
+
static const uint8_t table1_400_emit_[16];
|
1414
|
+
static const uint8_t table1_401_emit_[28];
|
1415
|
+
static const uint8_t table1_402_emit_[36];
|
1416
|
+
static const uint8_t table1_403_emit_[67];
|
1417
|
+
static const uint16_t table1_403_inner_[35];
|
1418
|
+
static const uint8_t table1_404_emit_[16];
|
1419
|
+
static const uint8_t table1_405_emit_[28];
|
1420
|
+
static const uint8_t table1_406_emit_[36];
|
1421
|
+
static const uint8_t table1_407_emit_[67];
|
1422
|
+
static const uint16_t table1_407_inner_[35];
|
1423
|
+
static const uint8_t table1_408_emit_[16];
|
1424
|
+
static const uint8_t table1_409_emit_[28];
|
1425
|
+
static const uint8_t table1_410_emit_[36];
|
1426
|
+
static const uint8_t table1_411_emit_[67];
|
1427
|
+
static const uint16_t table1_411_inner_[35];
|
1428
|
+
static const uint8_t table1_412_emit_[16];
|
1429
|
+
static const uint8_t table1_413_emit_[28];
|
1430
|
+
static const uint8_t table1_414_emit_[36];
|
1431
|
+
static const uint8_t table1_415_emit_[67];
|
1432
|
+
static const uint16_t table1_415_inner_[35];
|
1433
|
+
static const uint8_t table1_416_emit_[16];
|
1434
|
+
static const uint8_t table1_417_emit_[28];
|
1435
|
+
static const uint8_t table1_418_emit_[36];
|
1436
|
+
static const uint8_t table1_419_emit_[67];
|
1437
|
+
static const uint16_t table1_419_inner_[35];
|
1438
|
+
static const uint8_t table1_420_emit_[16];
|
1439
|
+
static const uint8_t table1_421_emit_[28];
|
1440
|
+
static const uint8_t table1_422_emit_[36];
|
1441
|
+
static const uint8_t table1_423_emit_[67];
|
1442
|
+
static const uint16_t table1_423_inner_[35];
|
1443
|
+
static const uint8_t table1_424_emit_[16];
|
1444
|
+
static const uint8_t table1_425_emit_[28];
|
1445
|
+
static const uint8_t table1_426_emit_[36];
|
1446
|
+
static const uint8_t table1_427_emit_[67];
|
1447
|
+
static const uint16_t table1_427_inner_[35];
|
1448
|
+
static const uint8_t table1_428_emit_[16];
|
1449
|
+
static const uint8_t table1_429_emit_[28];
|
1450
|
+
static const uint8_t table1_430_emit_[36];
|
1451
|
+
static const uint8_t table1_431_emit_[67];
|
1452
|
+
static const uint16_t table1_431_inner_[35];
|
1453
|
+
static const uint8_t table1_432_emit_[16];
|
1454
|
+
static const uint8_t table1_433_emit_[28];
|
1455
|
+
static const uint8_t table1_434_emit_[36];
|
1456
|
+
static const uint8_t table1_435_emit_[67];
|
1457
|
+
static const uint16_t table1_435_inner_[35];
|
1458
|
+
static const uint8_t table1_436_emit_[16];
|
1459
|
+
static const uint8_t table1_437_emit_[28];
|
1460
|
+
static const uint8_t table1_438_emit_[36];
|
1461
|
+
static const uint8_t table1_439_emit_[67];
|
1462
|
+
static const uint16_t table1_439_inner_[35];
|
1463
|
+
static const uint8_t table1_440_emit_[16];
|
1464
|
+
static const uint8_t table1_441_emit_[28];
|
1465
|
+
static const uint8_t table1_442_emit_[36];
|
1466
|
+
static const uint8_t table1_443_emit_[67];
|
1467
|
+
static const uint16_t table1_443_inner_[35];
|
1468
|
+
static const uint8_t table1_444_emit_[16];
|
1469
|
+
static const uint8_t table1_445_emit_[28];
|
1470
|
+
static const uint8_t table1_446_emit_[36];
|
1471
|
+
static const uint8_t table1_447_emit_[67];
|
1472
|
+
static const uint16_t table1_447_inner_[35];
|
1473
|
+
static const uint8_t table1_448_emit_[16];
|
1474
|
+
static const uint8_t table1_449_emit_[28];
|
1475
|
+
static const uint8_t table1_450_emit_[36];
|
1476
|
+
static const uint8_t table1_451_emit_[67];
|
1477
|
+
static const uint16_t table1_451_inner_[35];
|
1478
|
+
static const uint8_t table1_452_emit_[16];
|
1479
|
+
static const uint8_t table1_453_emit_[28];
|
1480
|
+
static const uint8_t table1_454_emit_[36];
|
1481
|
+
static const uint8_t table1_455_emit_[67];
|
1482
|
+
static const uint16_t table1_455_inner_[35];
|
1483
|
+
static const uint8_t table1_456_emit_[16];
|
1484
|
+
static const uint8_t table1_457_emit_[28];
|
1485
|
+
static const uint8_t table1_458_emit_[36];
|
1486
|
+
static const uint8_t table1_459_emit_[67];
|
1487
|
+
static const uint16_t table1_459_inner_[35];
|
1488
|
+
static const uint8_t table1_460_emit_[16];
|
1489
|
+
static const uint8_t table1_461_emit_[28];
|
1490
|
+
static const uint8_t table1_462_emit_[36];
|
1491
|
+
static const uint8_t table1_463_emit_[67];
|
1492
|
+
static const uint16_t table1_463_inner_[35];
|
1493
|
+
static const uint8_t table1_464_emit_[16];
|
1494
|
+
static const uint8_t table1_465_emit_[28];
|
1495
|
+
static const uint8_t table1_466_emit_[36];
|
1496
|
+
static const uint8_t table1_467_emit_[67];
|
1497
|
+
static const uint16_t table1_467_inner_[35];
|
1498
|
+
static const uint8_t table1_468_emit_[16];
|
1499
|
+
static const uint8_t table1_469_emit_[28];
|
1500
|
+
static const uint8_t table1_470_emit_[36];
|
1501
|
+
static const uint8_t table1_471_emit_[67];
|
1502
|
+
static const uint16_t table1_471_inner_[35];
|
1503
|
+
static const uint8_t table1_472_emit_[16];
|
1504
|
+
static const uint8_t table1_473_emit_[28];
|
1505
|
+
static const uint8_t table1_474_emit_[36];
|
1506
|
+
static const uint8_t table1_475_emit_[67];
|
1507
|
+
static const uint16_t table1_475_inner_[35];
|
1508
|
+
static const uint8_t table1_476_emit_[16];
|
1509
|
+
static const uint8_t table1_477_emit_[28];
|
1510
|
+
static const uint8_t table1_478_emit_[36];
|
1511
|
+
static const uint8_t table1_479_emit_[67];
|
1512
|
+
static const uint16_t table1_479_inner_[35];
|
1513
|
+
static const uint8_t table1_480_emit_[16];
|
1514
|
+
static const uint8_t table1_481_emit_[28];
|
1515
|
+
static const uint8_t table1_482_emit_[36];
|
1516
|
+
static const uint8_t table1_483_emit_[67];
|
1517
|
+
static const uint16_t table1_483_inner_[35];
|
1518
|
+
static const uint8_t table1_484_emit_[16];
|
1519
|
+
static const uint8_t table1_485_emit_[28];
|
1520
|
+
static const uint8_t table1_486_emit_[36];
|
1521
|
+
static const uint8_t table1_487_emit_[67];
|
1522
|
+
static const uint16_t table1_487_inner_[35];
|
1523
|
+
static const uint8_t table1_488_emit_[16];
|
1524
|
+
static const uint8_t table1_489_emit_[28];
|
1525
|
+
static const uint8_t table1_490_emit_[36];
|
1526
|
+
static const uint8_t table1_491_emit_[67];
|
1527
|
+
static const uint16_t table1_491_inner_[35];
|
1528
|
+
static const uint8_t table1_492_emit_[16];
|
1529
|
+
static const uint8_t table1_493_emit_[28];
|
1530
|
+
static const uint8_t table1_494_emit_[36];
|
1531
|
+
static const uint8_t table1_495_emit_[67];
|
1532
|
+
static const uint16_t table1_495_inner_[35];
|
1533
|
+
static const uint8_t table1_496_emit_[44];
|
1534
|
+
static const uint16_t table1_496_inner_[22];
|
1535
|
+
static const uint8_t table1_496_outer_[64];
|
1536
|
+
static const uint8_t table1_497_emit_[92];
|
1537
|
+
static const uint16_t table1_497_inner_[47];
|
1538
|
+
static const uint8_t table1_497_outer_[64];
|
1539
|
+
static const uint8_t table1_498_emit_[44];
|
1540
|
+
static const uint8_t table1_499_emit_[92];
|
1541
|
+
static const uint8_t table1_500_emit_[44];
|
1542
|
+
static const uint8_t table1_501_emit_[92];
|
1543
|
+
static const uint8_t table1_502_emit_[44];
|
1544
|
+
static const uint8_t table1_503_emit_[92];
|
1545
|
+
static const uint8_t table1_504_emit_[44];
|
1546
|
+
static const uint8_t table1_505_emit_[92];
|
1547
|
+
static const uint8_t table1_506_emit_[44];
|
1548
|
+
static const uint8_t table1_507_emit_[92];
|
1549
|
+
static const uint8_t table1_508_emit_[40];
|
1550
|
+
static const uint16_t table1_508_inner_[22];
|
1551
|
+
static const uint8_t table1_509_emit_[40];
|
1552
|
+
static const uint8_t table1_510_emit_[22];
|
1553
|
+
static const uint16_t table1_510_inner_[13];
|
1554
|
+
static const uint8_t table1_510_outer_[64];
|
1555
|
+
static const uint8_t table1_511_emit_[14];
|
1556
|
+
static const uint16_t table1_511_inner_[15];
|
1557
|
+
static const uint8_t table1_511_outer_[64];
|
1558
|
+
static const uint8_t* const table1_emit_[512];
|
1559
|
+
static const uint16_t* const table1_inner_[512];
|
1560
|
+
static const uint8_t* const table1_outer_[512];
|
208
1561
|
static const uint8_t table13_0_inner_[5];
|
209
1562
|
static const uint8_t table14_0_emit_[11];
|
210
1563
|
static const uint8_t table14_0_ops_[32];
|
211
1564
|
static const uint8_t table15_0_emit_[24];
|
212
1565
|
static const uint8_t table15_0_ops_[64];
|
213
|
-
static const uint8_t
|
214
|
-
static const
|
215
|
-
static const uint8_t
|
216
|
-
static const
|
217
|
-
static const uint8_t
|
218
|
-
static const uint8_t
|
219
|
-
static const uint8_t
|
220
|
-
static const uint8_t
|
221
|
-
static const uint8_t
|
222
|
-
static const uint8_t
|
223
|
-
static const
|
224
|
-
static const uint8_t
|
225
|
-
static const uint8_t
|
226
|
-
static const uint8_t
|
227
|
-
static const uint8_t
|
1566
|
+
static const uint8_t table12_0_emit_[50];
|
1567
|
+
static const uint16_t table12_0_inner_[70];
|
1568
|
+
static const uint8_t table12_0_outer_[128];
|
1569
|
+
static const uint8_t table33_0_emit_[15];
|
1570
|
+
static const uint8_t table33_0_inner_[16];
|
1571
|
+
static const uint8_t table32_0_emit_[17];
|
1572
|
+
static const uint8_t table32_0_ops_[32];
|
1573
|
+
static const uint8_t table36_0_emit_[6];
|
1574
|
+
static const uint8_t table36_0_inner_[6];
|
1575
|
+
static const uint8_t table39_0_emit_[17];
|
1576
|
+
static const uint8_t table39_0_ops_[32];
|
1577
|
+
static const uint8_t table40_0_emit_[46];
|
1578
|
+
static const uint8_t table40_0_ops_[64];
|
1579
|
+
static const uint8_t table41_0_ops_[128];
|
1580
|
+
static const uint8_t table38_0_emit_[4];
|
1581
|
+
static const uint16_t table38_0_ops_[32];
|
1582
|
+
static const uint8_t table38_1_emit_[4];
|
1583
|
+
static const uint8_t table38_2_emit_[4];
|
1584
|
+
static const uint8_t table38_3_emit_[4];
|
1585
|
+
static const uint8_t table38_4_emit_[7];
|
1586
|
+
static const uint16_t table38_4_ops_[32];
|
1587
|
+
static const uint8_t table38_5_emit_[8];
|
1588
|
+
static const uint16_t table38_5_ops_[32];
|
1589
|
+
static const uint8_t table38_6_emit_[8];
|
1590
|
+
static const uint8_t table38_7_emit_[10];
|
1591
|
+
static const uint16_t table38_7_ops_[32];
|
1592
|
+
static const uint8_t* const table38_emit_[8];
|
1593
|
+
static const uint16_t* const table38_ops_[8];
|
228
1594
|
};
|
229
1595
|
template <typename F>
|
230
1596
|
class HuffDecoder : public HuffDecoderCommon {
|
@@ -233,26 +1599,33 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
233
1599
|
: sink_(sink), begin_(begin), end_(end) {}
|
234
1600
|
bool Run() {
|
235
1601
|
while (!done_) {
|
236
|
-
if (!
|
1602
|
+
if (!RefillTo15()) {
|
237
1603
|
Done0();
|
238
1604
|
break;
|
239
1605
|
}
|
240
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
1606
|
+
const auto index = (buffer_ >> (buffer_len_ - 15)) & 0x7fff;
|
241
1607
|
const auto op = GetOp1(index);
|
242
1608
|
const int consumed = op & 15;
|
243
1609
|
buffer_len_ -= consumed;
|
244
1610
|
const auto emit_ofs = op >> 6;
|
245
1611
|
switch ((op >> 4) & 3) {
|
1612
|
+
case 0: {
|
1613
|
+
sink_(GetEmit1(index, emit_ofs + 0));
|
1614
|
+
sink_(GetEmit1(index, emit_ofs + 1));
|
1615
|
+
sink_(GetEmit1(index, emit_ofs + 2));
|
1616
|
+
break;
|
1617
|
+
}
|
246
1618
|
case 1: {
|
247
|
-
|
1619
|
+
sink_(GetEmit1(index, emit_ofs + 0));
|
1620
|
+
sink_(GetEmit1(index, emit_ofs + 1));
|
248
1621
|
break;
|
249
1622
|
}
|
250
1623
|
case 2: {
|
251
|
-
|
1624
|
+
sink_(GetEmit1(index, emit_ofs + 0));
|
252
1625
|
break;
|
253
1626
|
}
|
254
|
-
case
|
255
|
-
|
1627
|
+
case 3: {
|
1628
|
+
DecodeStep0();
|
256
1629
|
break;
|
257
1630
|
}
|
258
1631
|
}
|
@@ -261,330 +1634,603 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
261
1634
|
}
|
262
1635
|
|
263
1636
|
private:
|
264
|
-
bool
|
1637
|
+
bool RefillTo15() {
|
265
1638
|
switch (buffer_len_) {
|
266
|
-
case 0:
|
1639
|
+
case 0: {
|
1640
|
+
return Read2to8Bytes();
|
1641
|
+
}
|
267
1642
|
case 1:
|
268
1643
|
case 2:
|
269
1644
|
case 3:
|
270
1645
|
case 4:
|
271
1646
|
case 5:
|
272
|
-
case 6:
|
273
|
-
|
274
|
-
|
1647
|
+
case 6: {
|
1648
|
+
return Read2to7Bytes();
|
1649
|
+
}
|
1650
|
+
case 7:
|
1651
|
+
case 8: {
|
1652
|
+
return Read1to7Bytes();
|
1653
|
+
}
|
1654
|
+
case 9:
|
1655
|
+
case 10:
|
1656
|
+
case 11:
|
1657
|
+
case 12:
|
1658
|
+
case 13:
|
1659
|
+
case 14: {
|
1660
|
+
return Read1to6Bytes();
|
275
1661
|
}
|
276
1662
|
}
|
277
1663
|
return true;
|
278
1664
|
}
|
279
|
-
bool
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
case
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
}
|
297
|
-
case 2: {
|
298
|
-
sink_(GetEmit4(index, op >> 2));
|
299
|
-
break;
|
300
|
-
}
|
301
|
-
}
|
302
|
-
return;
|
1665
|
+
bool Read2to8Bytes() {
|
1666
|
+
switch (end_ - begin_) {
|
1667
|
+
case 0:
|
1668
|
+
case 1: {
|
1669
|
+
return false;
|
1670
|
+
}
|
1671
|
+
case 2: {
|
1672
|
+
Fill2();
|
1673
|
+
return true;
|
1674
|
+
}
|
1675
|
+
case 3: {
|
1676
|
+
Fill3();
|
1677
|
+
return true;
|
1678
|
+
}
|
1679
|
+
case 4: {
|
1680
|
+
Fill4();
|
1681
|
+
return true;
|
303
1682
|
}
|
304
1683
|
case 5: {
|
305
|
-
|
306
|
-
|
307
|
-
switch (op & 3) {
|
308
|
-
case 1: {
|
309
|
-
ok_ = false;
|
310
|
-
break;
|
311
|
-
}
|
312
|
-
case 2: {
|
313
|
-
sink_(GetEmit2(index, op >> 2));
|
314
|
-
break;
|
315
|
-
}
|
316
|
-
}
|
317
|
-
return;
|
1684
|
+
Fill5();
|
1685
|
+
return true;
|
318
1686
|
}
|
319
1687
|
case 6: {
|
320
|
-
|
321
|
-
|
322
|
-
switch (op & 3) {
|
323
|
-
case 1: {
|
324
|
-
ok_ = false;
|
325
|
-
break;
|
326
|
-
}
|
327
|
-
case 2: {
|
328
|
-
sink_(GetEmit3(index, op >> 2));
|
329
|
-
break;
|
330
|
-
}
|
331
|
-
}
|
332
|
-
return;
|
1688
|
+
Fill6();
|
1689
|
+
return true;
|
333
1690
|
}
|
334
|
-
case
|
335
|
-
|
336
|
-
|
337
|
-
case 4: {
|
338
|
-
ok_ = (buffer_ & ((1 << buffer_len_) - 1)) == (1 << buffer_len_) - 1;
|
339
|
-
return;
|
1691
|
+
case 7: {
|
1692
|
+
Fill7();
|
1693
|
+
return true;
|
340
1694
|
}
|
341
|
-
|
342
|
-
|
1695
|
+
default: {
|
1696
|
+
Fill8();
|
1697
|
+
return true;
|
343
1698
|
}
|
344
1699
|
}
|
345
1700
|
}
|
346
|
-
void
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
1701
|
+
void Fill2() {
|
1702
|
+
buffer_ = (buffer_ << 16) | (static_cast<uint64_t>(begin_[0]) << 8) |
|
1703
|
+
(static_cast<uint64_t>(begin_[1]) << 0);
|
1704
|
+
begin_ += 2;
|
1705
|
+
buffer_len_ += 16;
|
1706
|
+
}
|
1707
|
+
void Fill3() {
|
1708
|
+
buffer_ = (buffer_ << 24) | (static_cast<uint64_t>(begin_[0]) << 16) |
|
1709
|
+
(static_cast<uint64_t>(begin_[1]) << 8) |
|
1710
|
+
(static_cast<uint64_t>(begin_[2]) << 0);
|
1711
|
+
begin_ += 3;
|
1712
|
+
buffer_len_ += 24;
|
1713
|
+
}
|
1714
|
+
void Fill4() {
|
1715
|
+
buffer_ = (buffer_ << 32) | (static_cast<uint64_t>(begin_[0]) << 24) |
|
1716
|
+
(static_cast<uint64_t>(begin_[1]) << 16) |
|
1717
|
+
(static_cast<uint64_t>(begin_[2]) << 8) |
|
1718
|
+
(static_cast<uint64_t>(begin_[3]) << 0);
|
1719
|
+
begin_ += 4;
|
1720
|
+
buffer_len_ += 32;
|
1721
|
+
}
|
1722
|
+
void Fill5() {
|
1723
|
+
buffer_ = (buffer_ << 40) | (static_cast<uint64_t>(begin_[0]) << 32) |
|
1724
|
+
(static_cast<uint64_t>(begin_[1]) << 24) |
|
1725
|
+
(static_cast<uint64_t>(begin_[2]) << 16) |
|
1726
|
+
(static_cast<uint64_t>(begin_[3]) << 8) |
|
1727
|
+
(static_cast<uint64_t>(begin_[4]) << 0);
|
1728
|
+
begin_ += 5;
|
1729
|
+
buffer_len_ += 40;
|
1730
|
+
}
|
1731
|
+
void Fill6() {
|
1732
|
+
buffer_ = (buffer_ << 48) | (static_cast<uint64_t>(begin_[0]) << 40) |
|
1733
|
+
(static_cast<uint64_t>(begin_[1]) << 32) |
|
1734
|
+
(static_cast<uint64_t>(begin_[2]) << 24) |
|
1735
|
+
(static_cast<uint64_t>(begin_[3]) << 16) |
|
1736
|
+
(static_cast<uint64_t>(begin_[4]) << 8) |
|
1737
|
+
(static_cast<uint64_t>(begin_[5]) << 0);
|
1738
|
+
begin_ += 6;
|
1739
|
+
buffer_len_ += 48;
|
1740
|
+
}
|
1741
|
+
void Fill7() {
|
1742
|
+
buffer_ = (buffer_ << 56) | (static_cast<uint64_t>(begin_[0]) << 48) |
|
1743
|
+
(static_cast<uint64_t>(begin_[1]) << 40) |
|
1744
|
+
(static_cast<uint64_t>(begin_[2]) << 32) |
|
1745
|
+
(static_cast<uint64_t>(begin_[3]) << 24) |
|
1746
|
+
(static_cast<uint64_t>(begin_[4]) << 16) |
|
1747
|
+
(static_cast<uint64_t>(begin_[5]) << 8) |
|
1748
|
+
(static_cast<uint64_t>(begin_[6]) << 0);
|
1749
|
+
begin_ += 7;
|
1750
|
+
buffer_len_ += 56;
|
1751
|
+
}
|
1752
|
+
void Fill8() {
|
1753
|
+
buffer_ = 0 | (static_cast<uint64_t>(begin_[0]) << 56) |
|
1754
|
+
(static_cast<uint64_t>(begin_[1]) << 48) |
|
1755
|
+
(static_cast<uint64_t>(begin_[2]) << 40) |
|
1756
|
+
(static_cast<uint64_t>(begin_[3]) << 32) |
|
1757
|
+
(static_cast<uint64_t>(begin_[4]) << 24) |
|
1758
|
+
(static_cast<uint64_t>(begin_[5]) << 16) |
|
1759
|
+
(static_cast<uint64_t>(begin_[6]) << 8) |
|
1760
|
+
(static_cast<uint64_t>(begin_[7]) << 0);
|
1761
|
+
begin_ += 8;
|
1762
|
+
buffer_len_ += 64;
|
1763
|
+
}
|
1764
|
+
bool Read2to7Bytes() {
|
1765
|
+
switch (end_ - begin_) {
|
360
1766
|
case 0:
|
361
1767
|
case 1: {
|
362
|
-
return
|
1768
|
+
return false;
|
1769
|
+
}
|
1770
|
+
case 2: {
|
1771
|
+
Fill2();
|
1772
|
+
return true;
|
1773
|
+
}
|
1774
|
+
case 3: {
|
1775
|
+
Fill3();
|
1776
|
+
return true;
|
1777
|
+
}
|
1778
|
+
case 4: {
|
1779
|
+
Fill4();
|
1780
|
+
return true;
|
1781
|
+
}
|
1782
|
+
case 5: {
|
1783
|
+
Fill5();
|
1784
|
+
return true;
|
1785
|
+
}
|
1786
|
+
case 6: {
|
1787
|
+
Fill6();
|
1788
|
+
return true;
|
1789
|
+
}
|
1790
|
+
default: {
|
1791
|
+
Fill7();
|
1792
|
+
return true;
|
363
1793
|
}
|
364
1794
|
}
|
365
|
-
return true;
|
366
1795
|
}
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
1796
|
+
bool Read1to7Bytes() {
|
1797
|
+
switch (end_ - begin_) {
|
1798
|
+
case 0: {
|
1799
|
+
return false;
|
1800
|
+
}
|
371
1801
|
case 1: {
|
372
|
-
|
373
|
-
return;
|
1802
|
+
Fill1();
|
1803
|
+
return true;
|
1804
|
+
}
|
1805
|
+
case 2: {
|
1806
|
+
Fill2();
|
1807
|
+
return true;
|
1808
|
+
}
|
1809
|
+
case 3: {
|
1810
|
+
Fill3();
|
1811
|
+
return true;
|
1812
|
+
}
|
1813
|
+
case 4: {
|
1814
|
+
Fill4();
|
1815
|
+
return true;
|
1816
|
+
}
|
1817
|
+
case 5: {
|
1818
|
+
Fill5();
|
1819
|
+
return true;
|
1820
|
+
}
|
1821
|
+
case 6: {
|
1822
|
+
Fill6();
|
1823
|
+
return true;
|
1824
|
+
}
|
1825
|
+
default: {
|
1826
|
+
Fill7();
|
1827
|
+
return true;
|
374
1828
|
}
|
375
1829
|
}
|
376
1830
|
}
|
377
|
-
void
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
|
385
|
-
|
386
|
-
|
387
|
-
switch ((op >> 3) & 1) {
|
1831
|
+
void Fill1() {
|
1832
|
+
buffer_ = (buffer_ << 8) | (static_cast<uint64_t>(begin_[0]) << 0);
|
1833
|
+
begin_ += 1;
|
1834
|
+
buffer_len_ += 8;
|
1835
|
+
}
|
1836
|
+
bool Read1to6Bytes() {
|
1837
|
+
switch (end_ - begin_) {
|
1838
|
+
case 0: {
|
1839
|
+
return false;
|
1840
|
+
}
|
388
1841
|
case 1: {
|
389
|
-
|
390
|
-
|
1842
|
+
Fill1();
|
1843
|
+
return true;
|
391
1844
|
}
|
392
|
-
case
|
393
|
-
|
394
|
-
|
1845
|
+
case 2: {
|
1846
|
+
Fill2();
|
1847
|
+
return true;
|
1848
|
+
}
|
1849
|
+
case 3: {
|
1850
|
+
Fill3();
|
1851
|
+
return true;
|
1852
|
+
}
|
1853
|
+
case 4: {
|
1854
|
+
Fill4();
|
1855
|
+
return true;
|
1856
|
+
}
|
1857
|
+
case 5: {
|
1858
|
+
Fill5();
|
1859
|
+
return true;
|
1860
|
+
}
|
1861
|
+
default: {
|
1862
|
+
Fill6();
|
1863
|
+
return true;
|
395
1864
|
}
|
396
1865
|
}
|
397
1866
|
}
|
398
|
-
|
1867
|
+
void Done0() {
|
1868
|
+
done_ = true;
|
1869
|
+
switch (end_ - begin_) {
|
1870
|
+
case 1: {
|
1871
|
+
Fill1();
|
1872
|
+
break;
|
1873
|
+
}
|
1874
|
+
}
|
399
1875
|
switch (buffer_len_) {
|
400
|
-
case 0:
|
401
1876
|
case 1:
|
402
1877
|
case 2:
|
403
1878
|
case 3:
|
404
|
-
case 4:
|
405
|
-
case 5:
|
406
|
-
case 6: {
|
407
|
-
return Read1();
|
408
|
-
}
|
409
|
-
}
|
410
|
-
return true;
|
411
|
-
}
|
412
|
-
void Done2() {
|
413
|
-
done_ = true;
|
414
|
-
switch (buffer_len_) {
|
415
1879
|
case 4: {
|
416
|
-
|
417
|
-
|
1880
|
+
ok_ = (buffer_ & ((1 << buffer_len_) - 1)) == (1 << buffer_len_) - 1;
|
1881
|
+
return;
|
1882
|
+
}
|
1883
|
+
case 5: {
|
1884
|
+
const auto index = buffer_ & 31;
|
1885
|
+
const auto op = GetOp2(index);
|
418
1886
|
switch (op & 3) {
|
1887
|
+
case 0: {
|
1888
|
+
sink_(GetEmit2(index, (op >> 2) + 0));
|
1889
|
+
break;
|
1890
|
+
}
|
419
1891
|
case 1: {
|
420
1892
|
ok_ = false;
|
421
1893
|
break;
|
422
1894
|
}
|
423
|
-
|
424
|
-
|
1895
|
+
}
|
1896
|
+
return;
|
1897
|
+
}
|
1898
|
+
case 6: {
|
1899
|
+
const auto index = buffer_ & 63;
|
1900
|
+
const auto op = GetOp3(index);
|
1901
|
+
switch (op & 3) {
|
1902
|
+
case 0: {
|
1903
|
+
ok_ = false;
|
1904
|
+
break;
|
1905
|
+
}
|
1906
|
+
case 1: {
|
1907
|
+
sink_(GetEmit3(index, (op >> 2) + 0));
|
425
1908
|
break;
|
426
1909
|
}
|
427
1910
|
}
|
428
1911
|
return;
|
429
1912
|
}
|
430
|
-
case
|
431
|
-
const auto index = buffer_ &
|
432
|
-
const auto op =
|
1913
|
+
case 7: {
|
1914
|
+
const auto index = buffer_ & 127;
|
1915
|
+
const auto op = GetOp4(index);
|
433
1916
|
switch (op & 3) {
|
434
|
-
case
|
1917
|
+
case 0: {
|
435
1918
|
ok_ = false;
|
436
1919
|
break;
|
437
1920
|
}
|
438
|
-
case
|
439
|
-
sink_(
|
1921
|
+
case 1: {
|
1922
|
+
sink_(GetEmit4(index, (op >> 2) + 0));
|
440
1923
|
break;
|
441
1924
|
}
|
442
1925
|
}
|
443
1926
|
return;
|
444
1927
|
}
|
445
|
-
case
|
446
|
-
const auto index = buffer_ &
|
447
|
-
const auto op =
|
1928
|
+
case 8: {
|
1929
|
+
const auto index = buffer_ & 255;
|
1930
|
+
const auto op = GetOp5(index);
|
448
1931
|
switch (op & 3) {
|
449
|
-
case
|
1932
|
+
case 0: {
|
450
1933
|
ok_ = false;
|
451
1934
|
break;
|
452
1935
|
}
|
453
|
-
case
|
454
|
-
sink_(
|
1936
|
+
case 1: {
|
1937
|
+
sink_(GetEmit5(index, (op >> 2) + 0));
|
455
1938
|
break;
|
456
1939
|
}
|
457
1940
|
}
|
458
1941
|
return;
|
459
1942
|
}
|
460
|
-
case
|
461
|
-
const auto index = buffer_ &
|
462
|
-
const auto op =
|
1943
|
+
case 9: {
|
1944
|
+
const auto index = buffer_ & 511;
|
1945
|
+
const auto op = GetOp6(index);
|
463
1946
|
switch (op & 3) {
|
464
|
-
case
|
1947
|
+
case 0: {
|
465
1948
|
ok_ = false;
|
466
1949
|
break;
|
467
1950
|
}
|
468
|
-
case
|
469
|
-
sink_(
|
1951
|
+
case 1: {
|
1952
|
+
sink_(GetEmit6(index, (op >> 2) + 0));
|
470
1953
|
break;
|
471
1954
|
}
|
472
1955
|
}
|
473
1956
|
return;
|
474
1957
|
}
|
475
|
-
case
|
476
|
-
const auto index = buffer_ &
|
477
|
-
const auto op =
|
1958
|
+
case 10: {
|
1959
|
+
const auto index = buffer_ & 1023;
|
1960
|
+
const auto op = GetOp7(index);
|
478
1961
|
switch (op & 3) {
|
1962
|
+
case 0: {
|
1963
|
+
sink_(GetEmit7(index, (op >> 2) + 0));
|
1964
|
+
sink_(GetEmit7(index, (op >> 2) + 1));
|
1965
|
+
break;
|
1966
|
+
}
|
479
1967
|
case 1: {
|
480
1968
|
ok_ = false;
|
481
1969
|
break;
|
482
1970
|
}
|
483
1971
|
case 2: {
|
484
|
-
sink_(
|
1972
|
+
sink_(GetEmit7(index, (op >> 2) + 0));
|
1973
|
+
break;
|
1974
|
+
}
|
1975
|
+
}
|
1976
|
+
return;
|
1977
|
+
}
|
1978
|
+
case 11: {
|
1979
|
+
const auto index = buffer_ & 2047;
|
1980
|
+
const auto op = GetOp8(index);
|
1981
|
+
switch (op & 3) {
|
1982
|
+
case 0: {
|
1983
|
+
ok_ = false;
|
1984
|
+
break;
|
1985
|
+
}
|
1986
|
+
case 1: {
|
1987
|
+
sink_(GetEmit8(index, (op >> 2) + 0));
|
1988
|
+
sink_(GetEmit8(index, (op >> 2) + 1));
|
1989
|
+
break;
|
1990
|
+
}
|
1991
|
+
case 2: {
|
1992
|
+
sink_(GetEmit8(index, (op >> 2) + 0));
|
1993
|
+
break;
|
1994
|
+
}
|
1995
|
+
}
|
1996
|
+
return;
|
1997
|
+
}
|
1998
|
+
case 12: {
|
1999
|
+
const auto index = buffer_ & 4095;
|
2000
|
+
const auto op = GetOp9(index);
|
2001
|
+
switch (op & 3) {
|
2002
|
+
case 0: {
|
2003
|
+
ok_ = false;
|
2004
|
+
break;
|
2005
|
+
}
|
2006
|
+
case 1: {
|
2007
|
+
sink_(GetEmit9(index, (op >> 2) + 0));
|
2008
|
+
sink_(GetEmit9(index, (op >> 2) + 1));
|
2009
|
+
break;
|
2010
|
+
}
|
2011
|
+
case 2: {
|
2012
|
+
sink_(GetEmit9(index, (op >> 2) + 0));
|
2013
|
+
break;
|
2014
|
+
}
|
2015
|
+
}
|
2016
|
+
return;
|
2017
|
+
}
|
2018
|
+
case 13: {
|
2019
|
+
const auto index = buffer_ & 8191;
|
2020
|
+
const auto op = GetOp10(index);
|
2021
|
+
switch (op & 3) {
|
2022
|
+
case 0: {
|
2023
|
+
ok_ = false;
|
2024
|
+
break;
|
2025
|
+
}
|
2026
|
+
case 1: {
|
2027
|
+
sink_(GetEmit10(index, (op >> 2) + 0));
|
2028
|
+
sink_(GetEmit10(index, (op >> 2) + 1));
|
2029
|
+
break;
|
2030
|
+
}
|
2031
|
+
case 2: {
|
2032
|
+
sink_(GetEmit10(index, (op >> 2) + 0));
|
2033
|
+
break;
|
2034
|
+
}
|
2035
|
+
}
|
2036
|
+
return;
|
2037
|
+
}
|
2038
|
+
case 14: {
|
2039
|
+
const auto index = buffer_ & 16383;
|
2040
|
+
const auto op = GetOp11(index);
|
2041
|
+
switch (op & 3) {
|
2042
|
+
case 0: {
|
2043
|
+
ok_ = false;
|
2044
|
+
break;
|
2045
|
+
}
|
2046
|
+
case 1: {
|
2047
|
+
sink_(GetEmit11(index, (op >> 2) + 0));
|
2048
|
+
sink_(GetEmit11(index, (op >> 2) + 1));
|
2049
|
+
break;
|
2050
|
+
}
|
2051
|
+
case 2: {
|
2052
|
+
sink_(GetEmit11(index, (op >> 2) + 0));
|
485
2053
|
break;
|
486
2054
|
}
|
487
2055
|
}
|
488
2056
|
return;
|
489
2057
|
}
|
490
|
-
case 1: {
|
491
|
-
ok_ = (buffer_ & ((1 << buffer_len_) - 1)) == (1 << buffer_len_) - 1;
|
492
|
-
return;
|
493
|
-
}
|
494
2058
|
case 0: {
|
495
2059
|
return;
|
496
2060
|
}
|
497
2061
|
}
|
498
2062
|
}
|
499
|
-
void
|
500
|
-
if (!
|
501
|
-
|
2063
|
+
void DecodeStep0() {
|
2064
|
+
if (!RefillTo7()) {
|
2065
|
+
Done1();
|
502
2066
|
return;
|
503
2067
|
}
|
504
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
2068
|
+
const auto index = (buffer_ >> (buffer_len_ - 7)) & 0x7f;
|
505
2069
|
const auto op = GetOp12(index);
|
506
|
-
const int consumed = op &
|
2070
|
+
const int consumed = op & 7;
|
507
2071
|
buffer_len_ -= consumed;
|
508
2072
|
const auto emit_ofs = op >> 8;
|
509
|
-
switch ((op >>
|
510
|
-
case
|
511
|
-
|
512
|
-
break;
|
513
|
-
}
|
514
|
-
case 10: {
|
515
|
-
DecodeStep11();
|
2073
|
+
switch ((op >> 3) & 31) {
|
2074
|
+
case 0: {
|
2075
|
+
sink_(GetEmit12(index, emit_ofs + 0));
|
516
2076
|
break;
|
517
2077
|
}
|
518
|
-
case
|
519
|
-
|
2078
|
+
case 1: {
|
2079
|
+
DecodeStep1();
|
520
2080
|
break;
|
521
2081
|
}
|
522
|
-
case
|
523
|
-
|
2082
|
+
case 2: {
|
2083
|
+
DecodeStep2();
|
524
2084
|
break;
|
525
2085
|
}
|
526
|
-
case
|
2086
|
+
case 3: {
|
527
2087
|
DecodeStep3();
|
528
2088
|
break;
|
529
2089
|
}
|
530
|
-
case
|
2090
|
+
case 4: {
|
531
2091
|
DecodeStep4();
|
532
2092
|
break;
|
533
2093
|
}
|
534
|
-
case
|
2094
|
+
case 5: {
|
535
2095
|
DecodeStep5();
|
536
2096
|
break;
|
537
2097
|
}
|
538
|
-
case
|
2098
|
+
case 6: {
|
539
2099
|
DecodeStep6();
|
540
2100
|
break;
|
541
2101
|
}
|
542
|
-
case
|
2102
|
+
case 7: {
|
543
2103
|
DecodeStep7();
|
544
2104
|
break;
|
545
2105
|
}
|
546
|
-
case
|
2106
|
+
case 8: {
|
547
2107
|
DecodeStep8();
|
548
2108
|
break;
|
549
2109
|
}
|
550
|
-
case
|
2110
|
+
case 9: {
|
551
2111
|
DecodeStep9();
|
552
2112
|
break;
|
553
2113
|
}
|
554
|
-
case
|
555
|
-
|
2114
|
+
case 10: {
|
2115
|
+
DecodeStep10();
|
2116
|
+
break;
|
2117
|
+
}
|
2118
|
+
case 11: {
|
2119
|
+
DecodeStep11();
|
2120
|
+
break;
|
2121
|
+
}
|
2122
|
+
case 12: {
|
2123
|
+
DecodeStep12();
|
2124
|
+
break;
|
2125
|
+
}
|
2126
|
+
case 13: {
|
2127
|
+
DecodeStep13();
|
2128
|
+
break;
|
2129
|
+
}
|
2130
|
+
case 14: {
|
2131
|
+
DecodeStep14();
|
2132
|
+
break;
|
2133
|
+
}
|
2134
|
+
case 15: {
|
2135
|
+
DecodeStep18();
|
2136
|
+
break;
|
2137
|
+
}
|
2138
|
+
case 16: {
|
2139
|
+
DecodeStep15();
|
2140
|
+
break;
|
2141
|
+
}
|
2142
|
+
case 17: {
|
2143
|
+
DecodeStep16();
|
2144
|
+
break;
|
2145
|
+
}
|
2146
|
+
case 18: {
|
2147
|
+
DecodeStep19();
|
2148
|
+
break;
|
2149
|
+
}
|
2150
|
+
case 19: {
|
2151
|
+
DecodeStep17();
|
2152
|
+
break;
|
2153
|
+
}
|
2154
|
+
case 20: {
|
2155
|
+
DecodeStep20();
|
556
2156
|
break;
|
557
2157
|
}
|
558
2158
|
}
|
559
2159
|
}
|
560
|
-
|
561
|
-
done_ = true;
|
2160
|
+
bool RefillTo7() {
|
562
2161
|
switch (buffer_len_) {
|
2162
|
+
case 0: {
|
2163
|
+
return Read1to8Bytes();
|
2164
|
+
}
|
2165
|
+
case 1:
|
2166
|
+
case 2:
|
2167
|
+
case 3:
|
2168
|
+
case 4:
|
2169
|
+
case 5:
|
2170
|
+
case 6: {
|
2171
|
+
return Read1to7Bytes();
|
2172
|
+
}
|
2173
|
+
}
|
2174
|
+
return true;
|
2175
|
+
}
|
2176
|
+
bool Read1to8Bytes() {
|
2177
|
+
switch (end_ - begin_) {
|
2178
|
+
case 0: {
|
2179
|
+
return false;
|
2180
|
+
}
|
2181
|
+
case 1: {
|
2182
|
+
Fill1();
|
2183
|
+
return true;
|
2184
|
+
}
|
2185
|
+
case 2: {
|
2186
|
+
Fill2();
|
2187
|
+
return true;
|
2188
|
+
}
|
2189
|
+
case 3: {
|
2190
|
+
Fill3();
|
2191
|
+
return true;
|
2192
|
+
}
|
2193
|
+
case 4: {
|
2194
|
+
Fill4();
|
2195
|
+
return true;
|
2196
|
+
}
|
2197
|
+
case 5: {
|
2198
|
+
Fill5();
|
2199
|
+
return true;
|
2200
|
+
}
|
2201
|
+
case 6: {
|
2202
|
+
Fill6();
|
2203
|
+
return true;
|
2204
|
+
}
|
563
2205
|
case 7: {
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
2206
|
+
Fill7();
|
2207
|
+
return true;
|
2208
|
+
}
|
2209
|
+
default: {
|
2210
|
+
Fill8();
|
2211
|
+
return true;
|
2212
|
+
}
|
2213
|
+
}
|
2214
|
+
}
|
2215
|
+
void Done1() {
|
2216
|
+
done_ = true;
|
2217
|
+
switch (buffer_len_) {
|
2218
|
+
case 1:
|
2219
|
+
case 2:
|
2220
|
+
case 3: {
|
2221
|
+
ok_ = (buffer_ & ((1 << buffer_len_) - 1)) == (1 << buffer_len_) - 1;
|
576
2222
|
return;
|
577
2223
|
}
|
578
2224
|
case 4: {
|
579
2225
|
const auto index = buffer_ & 15;
|
580
2226
|
const auto op = GetOp13(index);
|
581
2227
|
switch (op & 3) {
|
582
|
-
case
|
583
|
-
|
2228
|
+
case 0: {
|
2229
|
+
sink_(GetEmit13(index, (op >> 2) + 0));
|
584
2230
|
break;
|
585
2231
|
}
|
586
|
-
case
|
587
|
-
|
2232
|
+
case 1: {
|
2233
|
+
ok_ = false;
|
588
2234
|
break;
|
589
2235
|
}
|
590
2236
|
}
|
@@ -594,12 +2240,12 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
594
2240
|
const auto index = buffer_ & 31;
|
595
2241
|
const auto op = GetOp14(index);
|
596
2242
|
switch (op & 3) {
|
597
|
-
case
|
2243
|
+
case 0: {
|
598
2244
|
ok_ = false;
|
599
2245
|
break;
|
600
2246
|
}
|
601
|
-
case
|
602
|
-
sink_(GetEmit14(index, op >> 2));
|
2247
|
+
case 1: {
|
2248
|
+
sink_(GetEmit14(index, (op >> 2) + 0));
|
603
2249
|
break;
|
604
2250
|
}
|
605
2251
|
}
|
@@ -609,48 +2255,74 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
609
2255
|
const auto index = buffer_ & 63;
|
610
2256
|
const auto op = GetOp15(index);
|
611
2257
|
switch (op & 3) {
|
612
|
-
case
|
2258
|
+
case 0: {
|
613
2259
|
ok_ = false;
|
614
2260
|
break;
|
615
2261
|
}
|
616
|
-
case
|
617
|
-
sink_(GetEmit15(index, op >> 2));
|
2262
|
+
case 1: {
|
2263
|
+
sink_(GetEmit15(index, (op >> 2) + 0));
|
618
2264
|
break;
|
619
2265
|
}
|
620
2266
|
}
|
621
2267
|
return;
|
622
2268
|
}
|
623
|
-
case 1:
|
624
|
-
case 2:
|
625
|
-
case 3: {
|
626
|
-
ok_ = (buffer_ & ((1 << buffer_len_) - 1)) == (1 << buffer_len_) - 1;
|
627
|
-
return;
|
628
|
-
}
|
629
2269
|
case 0: {
|
630
2270
|
return;
|
631
2271
|
}
|
632
2272
|
}
|
633
2273
|
}
|
634
|
-
void
|
2274
|
+
void DecodeStep1() {
|
635
2275
|
if (!RefillTo1()) {
|
636
|
-
|
2276
|
+
Done2();
|
637
2277
|
return;
|
638
2278
|
}
|
639
2279
|
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
640
|
-
const auto op =
|
2280
|
+
const auto op = GetOp16(index);
|
641
2281
|
const int consumed = op & 1;
|
642
2282
|
buffer_len_ -= consumed;
|
643
2283
|
const auto emit_ofs = op >> 1;
|
644
|
-
sink_(
|
2284
|
+
sink_(GetEmit16(index, emit_ofs + 0));
|
645
2285
|
}
|
646
2286
|
bool RefillTo1() {
|
647
2287
|
switch (buffer_len_) {
|
648
2288
|
case 0: {
|
649
|
-
return
|
2289
|
+
return Read1to8Bytes();
|
650
2290
|
}
|
651
2291
|
}
|
652
2292
|
return true;
|
653
2293
|
}
|
2294
|
+
void Done2() {
|
2295
|
+
done_ = true;
|
2296
|
+
ok_ = false;
|
2297
|
+
}
|
2298
|
+
void DecodeStep2() {
|
2299
|
+
if (!RefillTo1()) {
|
2300
|
+
Done3();
|
2301
|
+
return;
|
2302
|
+
}
|
2303
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2304
|
+
const auto op = GetOp17(index);
|
2305
|
+
const int consumed = op & 1;
|
2306
|
+
buffer_len_ -= consumed;
|
2307
|
+
const auto emit_ofs = op >> 1;
|
2308
|
+
sink_(GetEmit17(index, emit_ofs + 0));
|
2309
|
+
}
|
2310
|
+
void Done3() {
|
2311
|
+
done_ = true;
|
2312
|
+
ok_ = false;
|
2313
|
+
}
|
2314
|
+
void DecodeStep3() {
|
2315
|
+
if (!RefillTo1()) {
|
2316
|
+
Done4();
|
2317
|
+
return;
|
2318
|
+
}
|
2319
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2320
|
+
const auto op = GetOp18(index);
|
2321
|
+
const int consumed = op & 1;
|
2322
|
+
buffer_len_ -= consumed;
|
2323
|
+
const auto emit_ofs = op >> 1;
|
2324
|
+
sink_(GetEmit18(index, emit_ofs + 0));
|
2325
|
+
}
|
654
2326
|
void Done4() {
|
655
2327
|
done_ = true;
|
656
2328
|
ok_ = false;
|
@@ -661,11 +2333,11 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
661
2333
|
return;
|
662
2334
|
}
|
663
2335
|
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
664
|
-
const auto op =
|
2336
|
+
const auto op = GetOp19(index);
|
665
2337
|
const int consumed = op & 1;
|
666
2338
|
buffer_len_ -= consumed;
|
667
2339
|
const auto emit_ofs = op >> 1;
|
668
|
-
sink_(
|
2340
|
+
sink_(GetEmit19(index, emit_ofs + 0));
|
669
2341
|
}
|
670
2342
|
void Done5() {
|
671
2343
|
done_ = true;
|
@@ -677,11 +2349,11 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
677
2349
|
return;
|
678
2350
|
}
|
679
2351
|
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
680
|
-
const auto op =
|
2352
|
+
const auto op = GetOp20(index);
|
681
2353
|
const int consumed = op & 1;
|
682
2354
|
buffer_len_ -= consumed;
|
683
2355
|
const auto emit_ofs = op >> 1;
|
684
|
-
sink_(
|
2356
|
+
sink_(GetEmit20(index, emit_ofs + 0));
|
685
2357
|
}
|
686
2358
|
void Done6() {
|
687
2359
|
done_ = true;
|
@@ -693,11 +2365,11 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
693
2365
|
return;
|
694
2366
|
}
|
695
2367
|
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
696
|
-
const auto op =
|
2368
|
+
const auto op = GetOp21(index);
|
697
2369
|
const int consumed = op & 1;
|
698
2370
|
buffer_len_ -= consumed;
|
699
2371
|
const auto emit_ofs = op >> 1;
|
700
|
-
sink_(
|
2372
|
+
sink_(GetEmit21(index, emit_ofs + 0));
|
701
2373
|
}
|
702
2374
|
void Done7() {
|
703
2375
|
done_ = true;
|
@@ -709,11 +2381,11 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
709
2381
|
return;
|
710
2382
|
}
|
711
2383
|
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
712
|
-
const auto op =
|
2384
|
+
const auto op = GetOp22(index);
|
713
2385
|
const int consumed = op & 1;
|
714
2386
|
buffer_len_ -= consumed;
|
715
2387
|
const auto emit_ofs = op >> 1;
|
716
|
-
sink_(
|
2388
|
+
sink_(GetEmit22(index, emit_ofs + 0));
|
717
2389
|
}
|
718
2390
|
void Done8() {
|
719
2391
|
done_ = true;
|
@@ -725,236 +2397,401 @@ class HuffDecoder : public HuffDecoderCommon {
|
|
725
2397
|
return;
|
726
2398
|
}
|
727
2399
|
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
728
|
-
const auto op =
|
2400
|
+
const auto op = GetOp23(index);
|
729
2401
|
const int consumed = op & 1;
|
730
2402
|
buffer_len_ -= consumed;
|
731
2403
|
const auto emit_ofs = op >> 1;
|
732
|
-
sink_(
|
2404
|
+
sink_(GetEmit23(index, emit_ofs + 0));
|
733
2405
|
}
|
734
2406
|
void Done9() {
|
735
2407
|
done_ = true;
|
736
2408
|
ok_ = false;
|
737
2409
|
}
|
738
2410
|
void DecodeStep9() {
|
739
|
-
if (!
|
2411
|
+
if (!RefillTo1()) {
|
740
2412
|
Done10();
|
741
2413
|
return;
|
742
2414
|
}
|
743
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
744
|
-
const auto op =
|
745
|
-
const int consumed = op &
|
746
|
-
buffer_len_ -= consumed;
|
747
|
-
const auto emit_ofs = op >>
|
748
|
-
sink_(
|
2415
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2416
|
+
const auto op = GetOp24(index);
|
2417
|
+
const int consumed = op & 1;
|
2418
|
+
buffer_len_ -= consumed;
|
2419
|
+
const auto emit_ofs = op >> 1;
|
2420
|
+
sink_(GetEmit24(index, emit_ofs + 0));
|
749
2421
|
}
|
750
2422
|
void Done10() {
|
751
2423
|
done_ = true;
|
752
|
-
|
753
|
-
case 0:
|
754
|
-
case 1: {
|
755
|
-
ok_ = false;
|
756
|
-
return;
|
757
|
-
}
|
758
|
-
}
|
2424
|
+
ok_ = false;
|
759
2425
|
}
|
760
2426
|
void DecodeStep10() {
|
761
|
-
if (!
|
2427
|
+
if (!RefillTo1()) {
|
762
2428
|
Done11();
|
763
2429
|
return;
|
764
2430
|
}
|
765
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
766
|
-
const auto op =
|
2431
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2432
|
+
const auto op = GetOp25(index);
|
2433
|
+
const int consumed = op & 1;
|
2434
|
+
buffer_len_ -= consumed;
|
2435
|
+
const auto emit_ofs = op >> 1;
|
2436
|
+
sink_(GetEmit25(index, emit_ofs + 0));
|
2437
|
+
}
|
2438
|
+
void Done11() {
|
2439
|
+
done_ = true;
|
2440
|
+
ok_ = false;
|
2441
|
+
}
|
2442
|
+
void DecodeStep11() {
|
2443
|
+
if (!RefillTo1()) {
|
2444
|
+
Done12();
|
2445
|
+
return;
|
2446
|
+
}
|
2447
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2448
|
+
const auto op = GetOp26(index);
|
2449
|
+
const int consumed = op & 1;
|
2450
|
+
buffer_len_ -= consumed;
|
2451
|
+
const auto emit_ofs = op >> 1;
|
2452
|
+
sink_(GetEmit26(index, emit_ofs + 0));
|
2453
|
+
}
|
2454
|
+
void Done12() {
|
2455
|
+
done_ = true;
|
2456
|
+
ok_ = false;
|
2457
|
+
}
|
2458
|
+
void DecodeStep12() {
|
2459
|
+
if (!RefillTo1()) {
|
2460
|
+
Done13();
|
2461
|
+
return;
|
2462
|
+
}
|
2463
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2464
|
+
const auto op = GetOp27(index);
|
2465
|
+
const int consumed = op & 1;
|
2466
|
+
buffer_len_ -= consumed;
|
2467
|
+
const auto emit_ofs = op >> 1;
|
2468
|
+
sink_(GetEmit27(index, emit_ofs + 0));
|
2469
|
+
}
|
2470
|
+
void Done13() {
|
2471
|
+
done_ = true;
|
2472
|
+
ok_ = false;
|
2473
|
+
}
|
2474
|
+
void DecodeStep13() {
|
2475
|
+
if (!RefillTo1()) {
|
2476
|
+
Done14();
|
2477
|
+
return;
|
2478
|
+
}
|
2479
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2480
|
+
const auto op = GetOp28(index);
|
2481
|
+
const int consumed = op & 1;
|
2482
|
+
buffer_len_ -= consumed;
|
2483
|
+
const auto emit_ofs = op >> 1;
|
2484
|
+
sink_(GetEmit28(index, emit_ofs + 0));
|
2485
|
+
}
|
2486
|
+
void Done14() {
|
2487
|
+
done_ = true;
|
2488
|
+
ok_ = false;
|
2489
|
+
}
|
2490
|
+
void DecodeStep14() {
|
2491
|
+
if (!RefillTo1()) {
|
2492
|
+
Done15();
|
2493
|
+
return;
|
2494
|
+
}
|
2495
|
+
const auto index = (buffer_ >> (buffer_len_ - 1)) & 0x1;
|
2496
|
+
const auto op = GetOp29(index);
|
2497
|
+
const int consumed = op & 1;
|
2498
|
+
buffer_len_ -= consumed;
|
2499
|
+
const auto emit_ofs = op >> 1;
|
2500
|
+
sink_(GetEmit29(index, emit_ofs + 0));
|
2501
|
+
}
|
2502
|
+
void Done15() {
|
2503
|
+
done_ = true;
|
2504
|
+
ok_ = false;
|
2505
|
+
}
|
2506
|
+
void DecodeStep15() {
|
2507
|
+
if (!RefillTo2()) {
|
2508
|
+
Done16();
|
2509
|
+
return;
|
2510
|
+
}
|
2511
|
+
const auto index = (buffer_ >> (buffer_len_ - 2)) & 0x3;
|
2512
|
+
const auto op = GetOp30(index);
|
767
2513
|
const int consumed = op & 3;
|
768
2514
|
buffer_len_ -= consumed;
|
769
2515
|
const auto emit_ofs = op >> 2;
|
770
|
-
sink_(
|
2516
|
+
sink_(GetEmit30(index, emit_ofs + 0));
|
771
2517
|
}
|
772
|
-
bool
|
2518
|
+
bool RefillTo2() {
|
773
2519
|
switch (buffer_len_) {
|
774
|
-
case 0:
|
775
|
-
|
776
|
-
|
777
|
-
|
2520
|
+
case 0: {
|
2521
|
+
return Read1to8Bytes();
|
2522
|
+
}
|
2523
|
+
case 1: {
|
2524
|
+
return Read1to7Bytes();
|
778
2525
|
}
|
779
2526
|
}
|
780
2527
|
return true;
|
781
2528
|
}
|
782
|
-
void
|
2529
|
+
void Done16() {
|
783
2530
|
done_ = true;
|
784
2531
|
switch (buffer_len_) {
|
785
|
-
case 0:
|
786
2532
|
case 1:
|
787
|
-
case
|
2533
|
+
case 0: {
|
788
2534
|
ok_ = false;
|
789
2535
|
return;
|
790
2536
|
}
|
791
2537
|
}
|
792
2538
|
}
|
793
|
-
void
|
794
|
-
if (!
|
795
|
-
|
2539
|
+
void DecodeStep16() {
|
2540
|
+
if (!RefillTo2()) {
|
2541
|
+
Done17();
|
796
2542
|
return;
|
797
2543
|
}
|
798
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
799
|
-
const auto op =
|
800
|
-
const int consumed = op &
|
2544
|
+
const auto index = (buffer_ >> (buffer_len_ - 2)) & 0x3;
|
2545
|
+
const auto op = GetOp31(index);
|
2546
|
+
const int consumed = op & 3;
|
801
2547
|
buffer_len_ -= consumed;
|
802
|
-
const auto emit_ofs = op >>
|
803
|
-
sink_(
|
804
|
-
}
|
805
|
-
bool RefillTo4() {
|
806
|
-
switch (buffer_len_) {
|
807
|
-
case 0:
|
808
|
-
case 1:
|
809
|
-
case 2:
|
810
|
-
case 3: {
|
811
|
-
return Read1();
|
812
|
-
}
|
813
|
-
}
|
814
|
-
return true;
|
2548
|
+
const auto emit_ofs = op >> 2;
|
2549
|
+
sink_(GetEmit31(index, emit_ofs + 0));
|
815
2550
|
}
|
816
|
-
void
|
2551
|
+
void Done17() {
|
817
2552
|
done_ = true;
|
818
2553
|
switch (buffer_len_) {
|
819
|
-
case 0:
|
820
2554
|
case 1:
|
821
|
-
case
|
822
|
-
case 3: {
|
2555
|
+
case 0: {
|
823
2556
|
ok_ = false;
|
824
2557
|
return;
|
825
2558
|
}
|
826
2559
|
}
|
827
2560
|
}
|
828
|
-
void
|
2561
|
+
void DecodeStep17() {
|
829
2562
|
if (!RefillTo5()) {
|
830
|
-
|
2563
|
+
Done18();
|
831
2564
|
return;
|
832
2565
|
}
|
833
2566
|
const auto index = (buffer_ >> (buffer_len_ - 5)) & 0x1f;
|
834
|
-
const auto op =
|
2567
|
+
const auto op = GetOp32(index);
|
835
2568
|
const int consumed = op & 7;
|
836
2569
|
buffer_len_ -= consumed;
|
837
|
-
const auto emit_ofs = op >>
|
838
|
-
|
839
|
-
case 1: {
|
840
|
-
DecodeStep13();
|
841
|
-
break;
|
842
|
-
}
|
843
|
-
case 0: {
|
844
|
-
sink_(GetEmit26(index, emit_ofs + 0));
|
845
|
-
break;
|
846
|
-
}
|
847
|
-
}
|
2570
|
+
const auto emit_ofs = op >> 3;
|
2571
|
+
sink_(GetEmit32(index, emit_ofs + 0));
|
848
2572
|
}
|
849
2573
|
bool RefillTo5() {
|
850
2574
|
switch (buffer_len_) {
|
851
|
-
case 0:
|
2575
|
+
case 0: {
|
2576
|
+
return Read1to8Bytes();
|
2577
|
+
}
|
852
2578
|
case 1:
|
853
2579
|
case 2:
|
854
2580
|
case 3:
|
855
2581
|
case 4: {
|
856
|
-
return
|
2582
|
+
return Read1to7Bytes();
|
857
2583
|
}
|
858
2584
|
}
|
859
2585
|
return true;
|
860
2586
|
}
|
861
|
-
void
|
2587
|
+
void Done18() {
|
862
2588
|
done_ = true;
|
863
2589
|
switch (buffer_len_) {
|
2590
|
+
case 1:
|
2591
|
+
case 2:
|
2592
|
+
case 3:
|
2593
|
+
case 0: {
|
2594
|
+
ok_ = false;
|
2595
|
+
return;
|
2596
|
+
}
|
864
2597
|
case 4: {
|
865
2598
|
const auto index = buffer_ & 15;
|
866
|
-
const auto op =
|
867
|
-
switch (op &
|
868
|
-
case
|
869
|
-
|
2599
|
+
const auto op = GetOp33(index);
|
2600
|
+
switch (op & 1) {
|
2601
|
+
case 0: {
|
2602
|
+
sink_(GetEmit33(index, (op >> 1) + 0));
|
870
2603
|
break;
|
871
2604
|
}
|
872
|
-
case
|
873
|
-
|
2605
|
+
case 1: {
|
2606
|
+
ok_ = false;
|
874
2607
|
break;
|
875
2608
|
}
|
876
2609
|
}
|
877
2610
|
return;
|
878
2611
|
}
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
2612
|
+
}
|
2613
|
+
}
|
2614
|
+
void DecodeStep18() {
|
2615
|
+
if (!RefillTo2()) {
|
2616
|
+
Done19();
|
2617
|
+
return;
|
2618
|
+
}
|
2619
|
+
const auto index = (buffer_ >> (buffer_len_ - 2)) & 0x3;
|
2620
|
+
const auto op = GetOp34(index);
|
2621
|
+
const int consumed = op & 3;
|
2622
|
+
buffer_len_ -= consumed;
|
2623
|
+
const auto emit_ofs = op >> 2;
|
2624
|
+
sink_(GetEmit34(index, emit_ofs + 0));
|
2625
|
+
}
|
2626
|
+
void Done19() {
|
2627
|
+
done_ = true;
|
2628
|
+
switch (buffer_len_) {
|
2629
|
+
case 1: {
|
2630
|
+
const auto index = buffer_ & 1;
|
2631
|
+
const auto op = GetOp35(index);
|
2632
|
+
switch (op & 1) {
|
2633
|
+
case 0: {
|
2634
|
+
sink_(GetEmit35(index, (op >> 1) + 0));
|
2635
|
+
break;
|
2636
|
+
}
|
2637
|
+
case 1: {
|
2638
|
+
ok_ = false;
|
2639
|
+
break;
|
2640
|
+
}
|
2641
|
+
}
|
883
2642
|
return;
|
884
2643
|
}
|
885
2644
|
case 0: {
|
2645
|
+
ok_ = false;
|
886
2646
|
return;
|
887
2647
|
}
|
888
2648
|
}
|
889
2649
|
}
|
890
|
-
void
|
891
|
-
if (!
|
892
|
-
|
2650
|
+
void DecodeStep19() {
|
2651
|
+
if (!RefillTo3()) {
|
2652
|
+
Done20();
|
893
2653
|
return;
|
894
2654
|
}
|
895
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
896
|
-
const auto op =
|
2655
|
+
const auto index = (buffer_ >> (buffer_len_ - 3)) & 0x7;
|
2656
|
+
const auto op = GetOp36(index);
|
897
2657
|
const int consumed = op & 3;
|
898
2658
|
buffer_len_ -= consumed;
|
899
|
-
const auto emit_ofs = op >>
|
900
|
-
|
901
|
-
|
902
|
-
|
903
|
-
|
904
|
-
break;
|
905
|
-
}
|
2659
|
+
const auto emit_ofs = op >> 2;
|
2660
|
+
sink_(GetEmit36(index, emit_ofs + 0));
|
2661
|
+
}
|
2662
|
+
bool RefillTo3() {
|
2663
|
+
switch (buffer_len_) {
|
906
2664
|
case 0: {
|
907
|
-
|
908
|
-
|
2665
|
+
return Read1to8Bytes();
|
2666
|
+
}
|
2667
|
+
case 1:
|
2668
|
+
case 2: {
|
2669
|
+
return Read1to7Bytes();
|
909
2670
|
}
|
910
2671
|
}
|
2672
|
+
return true;
|
911
2673
|
}
|
912
|
-
void
|
2674
|
+
void Done20() {
|
913
2675
|
done_ = true;
|
914
2676
|
switch (buffer_len_) {
|
915
|
-
case 1:
|
916
|
-
|
2677
|
+
case 1:
|
2678
|
+
case 0: {
|
2679
|
+
ok_ = false;
|
917
2680
|
return;
|
918
2681
|
}
|
919
|
-
case
|
2682
|
+
case 2: {
|
2683
|
+
const auto index = buffer_ & 3;
|
2684
|
+
const auto op = GetOp37(index);
|
2685
|
+
switch (op & 1) {
|
2686
|
+
case 0: {
|
2687
|
+
sink_(GetEmit37(index, (op >> 1) + 0));
|
2688
|
+
break;
|
2689
|
+
}
|
2690
|
+
case 1: {
|
2691
|
+
ok_ = false;
|
2692
|
+
break;
|
2693
|
+
}
|
2694
|
+
}
|
920
2695
|
return;
|
921
2696
|
}
|
922
2697
|
}
|
923
2698
|
}
|
924
|
-
void
|
925
|
-
if (!
|
926
|
-
|
2699
|
+
void DecodeStep20() {
|
2700
|
+
if (!RefillTo8()) {
|
2701
|
+
Done21();
|
927
2702
|
return;
|
928
2703
|
}
|
929
|
-
const auto index = (buffer_ >> (buffer_len_ -
|
930
|
-
const auto op =
|
931
|
-
const int consumed = op &
|
2704
|
+
const auto index = (buffer_ >> (buffer_len_ - 8)) & 0xff;
|
2705
|
+
const auto op = GetOp38(index);
|
2706
|
+
const int consumed = op & 15;
|
932
2707
|
buffer_len_ -= consumed;
|
933
|
-
const auto emit_ofs = op >>
|
934
|
-
|
2708
|
+
const auto emit_ofs = op >> 5;
|
2709
|
+
switch ((op >> 4) & 1) {
|
2710
|
+
case 0: {
|
2711
|
+
sink_(GetEmit38(index, emit_ofs + 0));
|
2712
|
+
break;
|
2713
|
+
}
|
2714
|
+
case 1: {
|
2715
|
+
begin_ = end_;
|
2716
|
+
buffer_len_ = 0;
|
2717
|
+
break;
|
2718
|
+
}
|
2719
|
+
}
|
935
2720
|
}
|
936
|
-
|
2721
|
+
bool RefillTo8() {
|
2722
|
+
switch (buffer_len_) {
|
2723
|
+
case 0: {
|
2724
|
+
return Read1to8Bytes();
|
2725
|
+
}
|
2726
|
+
case 1:
|
2727
|
+
case 2:
|
2728
|
+
case 3:
|
2729
|
+
case 4:
|
2730
|
+
case 5:
|
2731
|
+
case 6:
|
2732
|
+
case 7: {
|
2733
|
+
return Read1to7Bytes();
|
2734
|
+
}
|
2735
|
+
}
|
2736
|
+
return true;
|
2737
|
+
}
|
2738
|
+
void Done21() {
|
937
2739
|
done_ = true;
|
2740
|
+
switch (end_ - begin_) {}
|
938
2741
|
switch (buffer_len_) {
|
939
|
-
case
|
940
|
-
|
941
|
-
|
2742
|
+
case 1:
|
2743
|
+
case 2:
|
2744
|
+
case 3:
|
2745
|
+
case 4: {
|
2746
|
+
ok_ = (buffer_ & ((1 << buffer_len_) - 1)) == (1 << buffer_len_) - 1;
|
2747
|
+
return;
|
2748
|
+
}
|
2749
|
+
case 5: {
|
2750
|
+
const auto index = buffer_ & 31;
|
2751
|
+
const auto op = GetOp39(index);
|
942
2752
|
switch (op & 3) {
|
2753
|
+
case 0: {
|
2754
|
+
sink_(GetEmit39(index, (op >> 2) + 0));
|
2755
|
+
break;
|
2756
|
+
}
|
943
2757
|
case 1: {
|
944
2758
|
ok_ = false;
|
945
2759
|
break;
|
946
2760
|
}
|
947
|
-
|
948
|
-
|
2761
|
+
}
|
2762
|
+
return;
|
2763
|
+
}
|
2764
|
+
case 6: {
|
2765
|
+
const auto index = buffer_ & 63;
|
2766
|
+
const auto op = GetOp40(index);
|
2767
|
+
switch (op & 3) {
|
2768
|
+
case 0: {
|
2769
|
+
ok_ = false;
|
2770
|
+
break;
|
2771
|
+
}
|
2772
|
+
case 1: {
|
2773
|
+
sink_(GetEmit40(index, (op >> 2) + 0));
|
949
2774
|
break;
|
950
2775
|
}
|
951
2776
|
}
|
952
2777
|
return;
|
953
2778
|
}
|
954
|
-
case
|
955
|
-
|
956
|
-
|
957
|
-
|
2779
|
+
case 7: {
|
2780
|
+
const auto index = buffer_ & 127;
|
2781
|
+
const auto op = GetOp41(index);
|
2782
|
+
switch (op & 3) {
|
2783
|
+
case 0: {
|
2784
|
+
ok_ = false;
|
2785
|
+
break;
|
2786
|
+
}
|
2787
|
+
case 1: {
|
2788
|
+
sink_(GetEmit41(index, (op >> 2) + 0));
|
2789
|
+
break;
|
2790
|
+
}
|
2791
|
+
}
|
2792
|
+
return;
|
2793
|
+
}
|
2794
|
+
case 0: {
|
958
2795
|
return;
|
959
2796
|
}
|
960
2797
|
}
|