Class LayersInfo
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.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOptPoint(float brate, int elyrs) Adds a new optimization point, with target bitrate 'brate' and with 'elyrs' (unoptimized) extra layers after it.intgetExtraLayers(int n) Returns the number of extra layers to add after the optimization point 'n', but before optimization point 'n+1'.intReturns the number of layers to optimize, or optimization points, as specified by this object.floatgetTargetBitrate(int n) Returns the target bitrate of the optmimization point 'n'.floatReturns the overall target bitrate for the entire bit stream.intReturns the total number of layers, according to the layer specification of this object and the overall target bitrate.
-
Constructor Details
-
LayersInfo
public LayersInfo(float brate) Creates a new LayersInfo object. The overall target bitrate 'brate' is always an extra optimization point, with no extra layers are after it. Note that any optimization points that are added with addOptPoint() are always added before the overall target bitrate.- Parameters:
brate- The overall target bitrate for the bit stream
-
-
Method Details
-
getTotBitrate
public float getTotBitrate()Returns the overall target bitrate for the entire bit stream.- Returns:
- The overall target bitrate
-
getTotNumLayers
public int getTotNumLayers()Returns the total number of layers, according to the layer specification of this object and the overall target bitrate.- Returns:
- The total number of layers, according to the layer spec.
-
getNOptPoints
public int getNOptPoints()Returns the number of layers to optimize, or optimization points, as specified by this object.- Returns:
- The number of optimization points
-
getTargetBitrate
public float getTargetBitrate(int n) Returns the target bitrate of the optmimization point 'n'.- Parameters:
n- The optimization point index (starts at 0).- Returns:
- The target bitrate (in bpp) for the optimization point 'n'.
-
getExtraLayers
public int getExtraLayers(int n) Returns the number of extra layers to add after the optimization point 'n', but before optimization point 'n+1'. If there is no optimization point 'n+1' then they should be added before the overall target bitrate.- Parameters:
n- The optimization point index (starts at 0).- Returns:
- The number of extra (unoptimized) layers to add after the optimization point 'n'
-
addOptPoint
public void addOptPoint(float brate, int elyrs) Adds a new optimization point, with target bitrate 'brate' and with 'elyrs' (unoptimized) extra layers after it. The target bitrate 'brate' must be larger than the previous optimization point. The arguments are checked and IllegalArgumentException is thrown if they are not correct.- Parameters:
brate- The target bitrate for the optimized layer.elyrs- The number of extra (unoptimized) layers to add after the optimized layer.
-