mirror of
https://github.com/WinampDesktop/winamp.git
synced 2024-12-19 21:25:52 +01:00
61 lines
2.3 KiB
C
61 lines
2.3 KiB
C
|
/*!
|
|||
|
**************************************************************************
|
|||
|
* \file enc_statistics.h
|
|||
|
*
|
|||
|
* \brief
|
|||
|
* statistics reports for the encoding process.
|
|||
|
*
|
|||
|
* \author
|
|||
|
* Main contributors (see contributors.h for copyright, address and affiliation details)
|
|||
|
* - Alexis Tourapis <alexismt@ieee.org>
|
|||
|
* - Karsten S<EFBFBD>hring <suehring@hhi.de>
|
|||
|
*
|
|||
|
**************************************************************************
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef _ENC_STATISTICS_H_
|
|||
|
#define _ENC_STATISTICS_H_
|
|||
|
#include "global.h"
|
|||
|
|
|||
|
struct stat_parameters
|
|||
|
{
|
|||
|
float bitr; //!< bit rate for current frame, used only for output til terminal
|
|||
|
float bitrate; //!< average bit rate for the sequence except first frame
|
|||
|
int64 bit_ctr; //!< counter for bit usage
|
|||
|
int64 bit_ctr_n; //!< bit usage for the current frame
|
|||
|
int64 bit_ctr_emulationprevention; //!< stored bits needed to prevent start code emulation
|
|||
|
int bit_slice; //!< number of bits in current slice
|
|||
|
int stored_bit_slice; //!< keep number of bits in current slice (to restore status in case of MB re-encoding)
|
|||
|
int b8_mode_0_use [NUM_SLICE_TYPES][2];
|
|||
|
int64 mode_use_transform[NUM_SLICE_TYPES][MAXMODE][2];
|
|||
|
int64 intra_chroma_mode[4];
|
|||
|
|
|||
|
// B pictures
|
|||
|
int NumberBFrames;
|
|||
|
|
|||
|
int frame_counter;
|
|||
|
int64 quant [NUM_SLICE_TYPES];
|
|||
|
int64 num_macroblocks [NUM_SLICE_TYPES];
|
|||
|
int frame_ctr [NUM_SLICE_TYPES];
|
|||
|
int64 bit_counter [NUM_SLICE_TYPES];
|
|||
|
float bitrate_st [NUM_SLICE_TYPES];
|
|||
|
int64 mode_use [NUM_SLICE_TYPES][MAXMODE]; //!< Macroblock mode usage for Intra frames
|
|||
|
int64 bit_use_mode [NUM_SLICE_TYPES][MAXMODE]; //!< statistics of bit usage
|
|||
|
int64 bit_use_mb_type [NUM_SLICE_TYPES];
|
|||
|
int64 bit_use_header [NUM_SLICE_TYPES];
|
|||
|
int64 tmp_bit_use_cbp [NUM_SLICE_TYPES];
|
|||
|
int64 bit_use_coeffC [NUM_SLICE_TYPES];
|
|||
|
int64 bit_use_coeff [3][NUM_SLICE_TYPES];
|
|||
|
int64 bit_use_delta_quant [NUM_SLICE_TYPES];
|
|||
|
int64 bit_use_stuffingBits[NUM_SLICE_TYPES];
|
|||
|
|
|||
|
int bit_ctr_parametersets;
|
|||
|
int bit_ctr_parametersets_n;
|
|||
|
int64 bit_ctr_filler_data;
|
|||
|
int64 bit_ctr_filler_data_n;
|
|||
|
|
|||
|
};
|
|||
|
typedef struct stat_parameters StatParameters;
|
|||
|
|
|||
|
#endif
|