Move kvz_encoder definition to kvazaar_internal.h.

This commit is contained in:
Arttu Ylä-Outinen 2015-06-30 13:14:24 +03:00
parent b715ae9767
commit 4ab9aa3e2f
6 changed files with 51 additions and 19 deletions

View file

@ -194,6 +194,7 @@
<ClCompile Include="..\..\src\tables.c" />
<ClCompile Include="..\..\src\threadqueue.c" />
<ClCompile Include="..\..\src\transform.c" />
<ClInclude Include="..\..\src\kvazaar_internal.h" />
<ClInclude Include="..\..\src\yuv_io.h" />
</ItemGroup>
<ItemGroup>

View file

@ -353,6 +353,9 @@
<ClInclude Include="..\..\src\yuv_io.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\src\kvazaar_internal.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<YASM Include="..\..\src\extras\x86inc.asm">

View file

@ -23,7 +23,7 @@
*
*/
#include "kvazaar.h"
#include "kvazaar_internal.h"
#ifdef _WIN32
/* The following two defines must be located before the inclusion of any system header files. */

View file

@ -18,7 +18,7 @@
* with Kvazaar. If not, see <http://www.gnu.org/licenses/>.
****************************************************************************/
#include "kvazaar.h"
#include "kvazaar_internal.h"
#include <stdlib.h>

View file

@ -51,6 +51,11 @@ typedef uint8_t kvz_pixel;
typedef uint16_t kvz_pixel;
#endif
/**
* Opaque data structure representing one instance of the encoder.
*/
typedef struct kvz_encoder kvz_encoder;
/**
* \brief GoP picture configuration.
*/
@ -137,9 +142,6 @@ typedef struct kvz_config
int32_t target_bitrate;
} 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
*/
@ -176,20 +178,6 @@ typedef struct kvz_data_chunk {
struct kvz_data_chunk *next;
} 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 {
kvz_config * (*config_alloc)(void);
int (*config_destroy)(kvz_config *);

40
src/kvazaar_internal.h Normal file
View 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_