1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Copyright 2013 Google Inc. All Rights Reserved.
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com//
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Licensed under the Apache License, Version 2.0 (the "License");
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// you may not use this file except in compliance with the License.
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// You may obtain a copy of the License at
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com//
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// http://www.apache.org/licenses/LICENSE-2.0
8a5572e5bb2a2bbeeb59de0741c2527869d365a0ccommit-bot@chromium.org//
9ce56d965069c1649afe14319cb239e6ad670682acommit-bot@chromium.org// Unless required by applicable law or agreed to in writing, software
10a5572e5bb2a2bbeeb59de0741c2527869d365a0ccommit-bot@chromium.org// distributed under the License is distributed on an "AS IS" BASIS,
11a5572e5bb2a2bbeeb59de0741c2527869d365a0ccommit-bot@chromium.org// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12a5572e5bb2a2bbeeb59de0741c2527869d365a0ccommit-bot@chromium.org// See the License for the specific language governing permissions and
13c5d9bb0f677069f62ec76373b9730e70e7352455commit-bot@chromium.org// limitations under the License.
14c5d9bb0f677069f62ec76373b9730e70e7352455commit-bot@chromium.org//
15d3ae77965e94e0efda496f5461cbec4533cb5b16vandebo@chromium.org// Function to find backward reference copies.
168a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
178fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org#ifndef BROTLI_ENC_BACKWARD_REFERENCES_H_
188b0e8ac5f582de80356019406e2975079bf0829dcommit-bot@chromium.org#define BROTLI_ENC_BACKWARD_REFERENCES_H_
198a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
208fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org#include <stdint.h>
218fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org#include <vector>
228fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org
238fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org#include "./hash.h"
248fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org#include "./command.h"
258fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org
268fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.orgnamespace brotli {
278fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org
288fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.orgvoid CreateBackwardReferences(size_t num_bytes,
298fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              size_t position,
308fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              const uint8_t* ringbuffer,
318fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              const float* literal_cost,
328fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              size_t ringbuffer_mask,
338fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              const size_t max_backward_limit,
348fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              Hashers* hashers,
358fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              Hashers::Type hash_type,
368fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org                              std::vector<Command>* commands);
378fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org
388fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org}  // namespace brotli
399c9005a347e9996f357bd79591bd34f74f8bbc66commit-bot@chromium.org
408fae213590981b8ca37839a4e3cae1dae4e611fdcommit-bot@chromium.org#endif  // BROTLI_ENC_BACKWARD_REFERENCES_H_
419c9005a347e9996f357bd79591bd34f74f8bbc66commit-bot@chromium.org