aboutsummaryrefslogtreecommitdiff
path: root/Src/h264dec/lcommon/inc/enc_statistics.h
diff options
context:
space:
mode:
authorJean-Francois Mauguit <jfmauguit@mac.com>2024-09-24 09:03:25 -0400
committerGitHub <noreply@github.com>2024-09-24 09:03:25 -0400
commitbab614c421ed7ae329d26bf028c4a3b1d2450f5a (patch)
tree12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/h264dec/lcommon/inc/enc_statistics.h
parent4bde6044fddf053f31795b9eaccdd2a5a527d21f (diff)
parent20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (diff)
downloadwinamp-bab614c421ed7ae329d26bf028c4a3b1d2450f5a.tar.gz
Merge pull request #5 from WinampDesktop/community
Merge to main
Diffstat (limited to 'Src/h264dec/lcommon/inc/enc_statistics.h')
-rw-r--r--Src/h264dec/lcommon/inc/enc_statistics.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/Src/h264dec/lcommon/inc/enc_statistics.h b/Src/h264dec/lcommon/inc/enc_statistics.h
new file mode 100644
index 00000000..534a7d4c
--- /dev/null
+++ b/Src/h264dec/lcommon/inc/enc_statistics.h
@@ -0,0 +1,60 @@
+/*!
+ **************************************************************************
+ * \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ü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