1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
media / base / djb2.cc [blame]
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifdef UNSAFE_BUFFERS_BUILD
// TODO(crbug.com/40285824): Remove this and convert code to safer constructs.
#pragma allow_unsafe_buffers
#endif
#include "media/base/djb2.h"
uint32_t DJB2Hash(const void* buf, size_t len, uint32_t seed) {
const uint8_t* src = reinterpret_cast<const uint8_t*>(buf);
uint32_t hash = seed;
for (size_t i = 0; i < len; ++i) {
hash = hash * 33 + src[i];
}
return hash;
}