public class LayersInfo extends Object
The overall target bitrate for the bit stream is always added as the last optimization point without any extra layers after it. If there are some optimization points whose target bitrate is larger than the overall target bitrate, the overall target bitrate will still appear as the last optimization point, even though it does not follow the increasing target bitrate order of the other optimization points. The rate allocator is responsible for eliminating layers that have target bitrates larger than the overall target bitrate.
Optimization points can be added with the addOptPoint() method. It takes the target bitrate for the optimized layer and the number of extra layers to add after it.
Information about the total number of layers, total number of optimization points, target bitrates, etc. can be obtained with the other methods.
Modifier and Type  Field and Description 

(package private) int[] 
extralyrs
The number of extra layers to be added after an optimized layer.

(package private) int 
nopt
The number of optimized layers, or optimization points, without
counting the extra one coming from the overall target bitrate

(package private) float[] 
optbrate
The target bitrate to which specified layers should be optimized.

private static int 
SZ_INCR
The size increment for the arrays

private static int 
SZ_INIT
The initial size for the arrays: 10

(package private) float 
totbrate
The overall target bitrate, for the whole bit stream

(package private) int 
totlyrs
The total number of layers

Constructor and Description 

LayersInfo(float brate)
Creates a new LayersInfo object.

Modifier and Type  Method and Description 

void 
addOptPoint(float brate,
int elyrs)
Adds a new optimization point, with target bitrate 'brate' and with
'elyrs' (unoptimized) extra layers after it.

int 
getExtraLayers(int n)
Returns the number of extra layers to add after the optimization point
'n', but before optimization point 'n+1'.

int 
getNOptPoints()
Returns the number of layers to optimize, or optimization points, as
specified by this object.

float 
getTargetBitrate(int n)
Returns the target bitrate of the optmimization point 'n'.

float 
getTotBitrate()
Returns the overall target bitrate for the entire bit stream.

int 
getTotNumLayers()
Returns the total number of layers, according to the layer
specification of this object and the overall target bitrate.

private static final int SZ_INIT
private static final int SZ_INCR
int totlyrs
float totbrate
int nopt
float[] optbrate
int[] extralyrs
public LayersInfo(float brate)
brate
 The overall target bitrate for the bit streampublic float getTotBitrate()
public int getTotNumLayers()
public int getNOptPoints()
public float getTargetBitrate(int n)
n
 The optimization point index (starts at 0).public int getExtraLayers(int n)
n
 The optimization point index (starts at 0).public void addOptPoint(float brate, int elyrs)
brate
 The target bitrate for the optimized layer.elyrs
 The number of extra (unoptimized) layers to add after the
optimized layer.Copyright © 2017 Open Microscopy Environment