From: Cheng Chen Date: Mon, 13 Jan 2020 20:31:33 +0000 (-0800) Subject: Add comments to frame counts. X-Git-Tag: v1.9.0-rc1~106 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=18e93be9f2e9c863be573e910ff6940547fa0cad;p=libvpx Add comments to frame counts. Change-Id: I74a1ccb55af78af1153af75734ca43fa140910a7 --- diff --git a/vp9/simple_encode.h b/vp9/simple_encode.h index 72281cdea..1f01322c5 100644 --- a/vp9/simple_encode.h +++ b/vp9/simple_encode.h @@ -50,30 +50,67 @@ struct NewMotionVectorContextCounts { // This structure is a copy of vp9 |tx_counts|. struct TransformSizeCounts { + // Transform size found in blocks of partition size 32x32. + // First dimension: transform size contexts (2). + // Second dimension: transform size type (3: 32x32, 16x16, 8x8) std::vector> p32x32; + // Transform size found in blocks of partition size 16x16. + // First dimension: transform size contexts (2). + // Second dimension: transform size type (2: 16x16, 8x8) std::vector> p16x16; + // Transform size found in blocks of partition size 8x8. + // First dimension: transform size contexts (2). + // Second dimension: transform size type (1: 8x8) std::vector> p8x8; + // Overall transform size count. std::vector tx_totals; }; // This structure is a copy of vp9 |FRAME_COUNTS|. struct FrameCounts { + // Intra prediction mode for luma plane. First dimension: block size (4). + // Second dimension: intra prediction mode (10). std::vector> y_mode; + // Intra prediction mode for chroma plane. First and second dimension: + // intra prediction mode (10). std::vector> uv_mode; + // Partition type. First dimension: partition contexts (16). + // Second dimension: partition type (4). std::vector> partition; + // Transform coefficient. std::vector>>>>> coef; + // End of block (the position of the last non-zero transform coefficient) std::vector>>>> eob_branch; + // Interpolation filter type. First dimension: switchable filter contexts (4). + // Second dimension: filter types (3). std::vector> switchable_interp; + // Inter prediction mode (the motion vector type). + // First dimension: inter mode contexts (7). + // Second dimension: mode type (4). std::vector> inter_mode; + // Block is intra or inter predicted. First dimension: contexts (4). + // Second dimension: type (0 for intra, 1 for inter). std::vector> intra_inter; + // Block is compound predicted (predicted from average of two blocks). + // First dimension: contexts (5). + // Second dimension: type (0 for single, 1 for compound prediction). std::vector> comp_inter; + // Type of the reference frame. Only one reference frame. + // First dimension: context (5). Second dimension: context (2). + // Third dimension: count (2). std::vector>> single_ref; + // Type of the two reference frames. + // First dimension: context (5). Second dimension: count (2). std::vector> comp_ref; + // Block skips transform and quantization, uses prediction as reconstruction. + // First dimension: contexts (3). Second dimension: type (0 not skip, 1 skip). std::vector> skip; + // Transform size. TransformSizeCounts tx; + // New motion vector. NewMotionVectorContextCounts mv; };