mirror of
https://github.com/ultravideo/uvg266.git
synced 2024-11-28 03:34:06 +00:00
2380ba0d41
Changes function kvz_get_coeff_cost to only copy the CABAC contexts and not the whole encoder state. Other threads could be simultaneously using the other parts of the encoder state. Only copying the CABAC fixes a TSan data race warning.
46 lines
1.7 KiB
C
46 lines
1.7 KiB
C
#ifndef ENCODE_CODING_TREE_H_
|
|
#define ENCODE_CODING_TREE_H_
|
|
|
|
/*****************************************************************************
|
|
* This file is part of Kvazaar HEVC encoder.
|
|
*
|
|
* Copyright (C) 2013-2015 Tampere University of Technology and others (see
|
|
* COPYING file).
|
|
*
|
|
* Kvazaar is free software: you can redistribute it and/or modify it under
|
|
* the terms of the GNU Lesser General Public License as published by the
|
|
* Free Software Foundation; either version 2.1 of the License, or (at your
|
|
* option) any later version.
|
|
*
|
|
* Kvazaar is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
|
|
* more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with Kvazaar. If not, see <http://www.gnu.org/licenses/>.
|
|
****************************************************************************/
|
|
|
|
/**
|
|
* \file
|
|
* Functions for writing the coding quadtree and related syntax.
|
|
*/
|
|
|
|
#include "encoderstate.h"
|
|
#include "global.h"
|
|
|
|
void kvz_encode_coding_tree(encoder_state_t * const state,
|
|
uint16_t x_ctb,
|
|
uint16_t y_ctb,
|
|
uint8_t depth);
|
|
|
|
void kvz_encode_coeff_nxn(encoder_state_t * const state,
|
|
cabac_data_t * const cabac,
|
|
const coeff_t *coeff,
|
|
uint8_t width,
|
|
uint8_t type,
|
|
int8_t scan_mode,
|
|
int8_t tr_skip);
|
|
|
|
#endif // ENCODE_CODING_TREE_H_
|