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