/* * Copyright (c) 2021, Alliance for Open Media. All rights reserved. * * This source code is subject to the terms of the BSD 2 Clause License and * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License * was not distributed with this source code in the LICENSE file, you can * obtain it at www.aomedia.org/license/software. If the Alliance for Open * Media Patent License 1.0 was not distributed with this source code in the * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
/*! \file * This file contains several utility functions used to sort small arrays with * sorting networks. * * Sorting network is a (potentially branch-less) way to quickly sort small * arrays with known size. For more details, consult * (https://en.wikipedia.org/wiki/Sorting_network).
*/ #ifndef AOM_AV1_ENCODER_SORTING_NETWORK_H_ #define AOM_AV1_ENCODER_SORTING_NETWORK_H_
/*!\brief Sorts two size-8 arrays of keys and values in descending order of * keys. * * \param[in,out] k An length-8 array of float serves as the keys. * \param[in,out] v An length-8 array of int32 serves as the values.
*/ staticinlinevoid av1_sort_fi32_8(float k[], int32_t v[]) {
SWAP(0, 1);
SWAP(2, 3);
SWAP(4, 5);
SWAP(6, 7);
SWAP(0, 2);
SWAP(1, 3);
SWAP(4, 6);
SWAP(5, 7);
SWAP(1, 2);
SWAP(5, 6);
SWAP(0, 4);
SWAP(3, 7);
SWAP(1, 5);
SWAP(2, 6);
SWAP(1, 4);
SWAP(3, 6);
SWAP(2, 4);
SWAP(3, 5);
SWAP(3, 4);
} #undef SWAP #endif// AOM_AV1_ENCODER_SORTING_NETWORK_H_
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.17Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.