mirror of
https://github.com/ultravideo/uvg266.git
synced 2024-12-04 05:54:05 +00:00
Move kvz_encoder definition to kvazaar_internal.h.
This commit is contained in:
parent
b715ae9767
commit
4ab9aa3e2f
|
@ -194,6 +194,7 @@
|
||||||
<ClCompile Include="..\..\src\tables.c" />
|
<ClCompile Include="..\..\src\tables.c" />
|
||||||
<ClCompile Include="..\..\src\threadqueue.c" />
|
<ClCompile Include="..\..\src\threadqueue.c" />
|
||||||
<ClCompile Include="..\..\src\transform.c" />
|
<ClCompile Include="..\..\src\transform.c" />
|
||||||
|
<ClInclude Include="..\..\src\kvazaar_internal.h" />
|
||||||
<ClInclude Include="..\..\src\yuv_io.h" />
|
<ClInclude Include="..\..\src\yuv_io.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -353,6 +353,9 @@
|
||||||
<ClInclude Include="..\..\src\yuv_io.h">
|
<ClInclude Include="..\..\src\yuv_io.h">
|
||||||
<Filter>Header Files</Filter>
|
<Filter>Header Files</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="..\..\src\kvazaar_internal.h">
|
||||||
|
<Filter>Header Files</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<YASM Include="..\..\src\extras\x86inc.asm">
|
<YASM Include="..\..\src\extras\x86inc.asm">
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "kvazaar.h"
|
#include "kvazaar_internal.h"
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
/* The following two defines must be located before the inclusion of any system header files. */
|
/* The following two defines must be located before the inclusion of any system header files. */
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
* with Kvazaar. If not, see <http://www.gnu.org/licenses/>.
|
* with Kvazaar. If not, see <http://www.gnu.org/licenses/>.
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "kvazaar.h"
|
#include "kvazaar_internal.h"
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
|
@ -51,6 +51,11 @@ typedef uint8_t kvz_pixel;
|
||||||
typedef uint16_t kvz_pixel;
|
typedef uint16_t kvz_pixel;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Opaque data structure representing one instance of the encoder.
|
||||||
|
*/
|
||||||
|
typedef struct kvz_encoder kvz_encoder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief GoP picture configuration.
|
* \brief GoP picture configuration.
|
||||||
*/
|
*/
|
||||||
|
@ -137,9 +142,6 @@ typedef struct kvz_config
|
||||||
int32_t target_bitrate;
|
int32_t target_bitrate;
|
||||||
} kvz_config;
|
} kvz_config;
|
||||||
|
|
||||||
typedef struct encoder_state_t encoder_state_t;
|
|
||||||
typedef struct encoder_control_t encoder_control_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Struct which contains all picture data
|
* \brief Struct which contains all picture data
|
||||||
*/
|
*/
|
||||||
|
@ -176,20 +178,6 @@ typedef struct kvz_data_chunk {
|
||||||
struct kvz_data_chunk *next;
|
struct kvz_data_chunk *next;
|
||||||
} kvz_data_chunk;
|
} kvz_data_chunk;
|
||||||
|
|
||||||
/**
|
|
||||||
* Main datastructure representing one instance of the encoder.
|
|
||||||
*/
|
|
||||||
typedef struct kvz_encoder {
|
|
||||||
encoder_control_t* control;
|
|
||||||
encoder_state_t* states;
|
|
||||||
unsigned num_encoder_states;
|
|
||||||
unsigned cur_state_num;
|
|
||||||
unsigned frames_started;
|
|
||||||
unsigned frames_done;
|
|
||||||
|
|
||||||
size_t bitstream_length;
|
|
||||||
} kvz_encoder;
|
|
||||||
|
|
||||||
typedef struct kvz_api {
|
typedef struct kvz_api {
|
||||||
kvz_config * (*config_alloc)(void);
|
kvz_config * (*config_alloc)(void);
|
||||||
int (*config_destroy)(kvz_config *);
|
int (*config_destroy)(kvz_config *);
|
||||||
|
|
40
src/kvazaar_internal.h
Normal file
40
src/kvazaar_internal.h
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
#ifndef KVAZAAR_INTERNAL_H_
|
||||||
|
#define KVAZAAR_INTERNAL_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/>.
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include "kvazaar.h"
|
||||||
|
|
||||||
|
// Forward declarations.
|
||||||
|
typedef struct encoder_state_t encoder_state_t;
|
||||||
|
typedef struct encoder_control_t encoder_control_t;
|
||||||
|
|
||||||
|
typedef struct kvz_encoder {
|
||||||
|
encoder_control_t* control;
|
||||||
|
encoder_state_t* states;
|
||||||
|
unsigned num_encoder_states;
|
||||||
|
unsigned cur_state_num;
|
||||||
|
unsigned frames_started;
|
||||||
|
unsigned frames_done;
|
||||||
|
|
||||||
|
size_t bitstream_length;
|
||||||
|
} kvz_encoder;
|
||||||
|
|
||||||
|
#endif // KVAZAAR_INTERNAL_H_
|
Loading…
Reference in a new issue