- All Implemented Interfaces:
SubtitleStream
Reading and writing of Blu-Ray captions in Xml/Png format.
-
Nested Class Summary
Nested Classes
(package private) class
(package private) static enum
-
Field Summary
Fields
bitmap of the last decoded caption
private double
frame rate read from the stream
private double
converted xml frame rate read from the stream
language id read from the xml
private int
number of forced captions in the current file
color palette of the last decoded caption
private int
index of dominant color for the current caption
resolution read from the xml
ArrayList of captions contained in the current file
file name of XML file used as title
-
Constructor Summary
Constructors
Constructor (for reading)
-
Method Summary
void
void
Return the Bitmap of the current (last decoded) frame.
long
Get end time stamp of given frame.
int
Get number of forced frames in the currently loaded subtitle stream.
double
int
Get number of frames in the currently loaded subtitle stream.
Return current (last decoded) frame
Return given Bitmap as BufferedImage (using current Palette).
get language read from Xml
Return the Palette of the current (last decoded) frame.
Create PNG name from (xml) file name and index
int
Get index of most dominant opaque color (for DVD subtitle export).
long
Get start offset (in input stream) of given frame.
long
Get start time stamp of given frame.
Get SubPicture of given frame.
boolean
Get forced flag of given frame.
static void
private static double
Return an integer frame rate in BDN XML style
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
-
logger
private static final Logger logger
-
subPictures
ArrayList of captions contained in the current file
-
palette
color palette of the last decoded caption
-
bitmap
bitmap of the last decoded caption
-
primaryColorIndex
private int primaryColorIndex
index of dominant color for the current caption
-
numForcedFrames
private int numForcedFrames
number of forced captions in the current file
-
pathName
path of the input stream
-
title
file name of XML file used as title
-
language
language id read from the xml
-
resolution
resolution read from the xml
-
fps
private double fps
frame rate read from the stream
-
fpsXml
private double fpsXml
converted xml frame rate read from the stream
-
xmlStates
private static final String[] xmlStates
-
Constructor Details
-
SupXml
Constructor (for reading)
- Parameters:
filename
- file name of Xml file to read
- Throws:
CoreException
-
Method Details
-
XmlFps
private static double XmlFps(double fps)
Return an integer frame rate in BDN XML style
- Parameters:
fps
- source frame rate
- Returns:
- next integer frame rate (yet returned as double)
-
-
-
writeXml
Create Xml file
- Parameters:
fname
- file name
pics
- Map of SubPictures and their original indexes which were used to generate the png file names
- Throws:
CoreException
-
getBitmap
Return the Bitmap of the current (last decoded) frame.
- Specified by:
getBitmap
in interface SubtitleStream
- Returns:
- Bitmap of the current frame
-
getImage
Return current (last decoded) frame
- Specified by:
getImage
in interface SubtitleStream
- Returns:
- Current (last decoded) frame
-
getImage
Return given Bitmap as BufferedImage (using current Palette).
- Specified by:
getImage
in interface SubtitleStream
- Parameters:
bm
- Bitmap to convert.
- Returns:
- BufferedImage of given bitmap
-
getForcedFrameCount
public int getForcedFrameCount()
Get number of forced frames in the currently loaded subtitle stream.
- Specified by:
getForcedFrameCount
in interface SubtitleStream
- Returns:
- Number of forced frames
-
getFrameCount
public int getFrameCount()
Get number of frames in the currently loaded subtitle stream.
- Specified by:
getFrameCount
in interface SubtitleStream
- Returns:
- Number of frames
-
getPalette
Return the Palette of the current (last decoded) frame.
- Specified by:
getPalette
in interface SubtitleStream
- Returns:
- Palette of the current frame
-
getPrimaryColorIndex
public int getPrimaryColorIndex()
Get index of most dominant opaque color (for DVD subtitle export).
- Specified by:
getPrimaryColorIndex
in interface SubtitleStream
- Returns:
- Index of most dominant opaque color
-
getStartOffset
public long getStartOffset(int index)
Get start offset (in input stream) of given frame.
- Specified by:
getStartOffset
in interface SubtitleStream
- Parameters:
index
- Index of caption
- Returns:
- Start offset of given frame in input stream
-
getSubPicture
Get SubPicture of given frame.
- Specified by:
getSubPicture
in interface SubtitleStream
- Parameters:
index
- Index of caption
- Returns:
- SubPicture of caption
-
getEndTime
public long getEndTime(int index)
Get end time stamp of given frame.
- Specified by:
getEndTime
in interface SubtitleStream
- Parameters:
index
- Index of caption
- Returns:
- End time stamp of given frame in 90kHz resolution
-
getStartTime
public long getStartTime(int index)
Get start time stamp of given frame.
- Specified by:
getStartTime
in interface SubtitleStream
- Parameters:
index
- Index of caption
- Returns:
- Start time stamp of given frame in 90kHz resolution
-
isForced
public boolean isForced(int index)
Get forced flag of given frame.
- Specified by:
isForced
in interface SubtitleStream
- Parameters:
index
- Index of caption
- Returns:
- Forced flag of given frame
-
getPNGname
Create PNG name from (xml) file name and index
- Parameters:
fn
- file name
idx
- index
- Returns:
- PNG name
-
getLanguage
get language read from Xml
- Returns:
- language as String
-
getFps
public double getFps()
get fps read from Xml
- Returns:
- frame rate as double