YUV420 を使用して動的に作成された jmf/fmjYUVFormat
インスタンスを作成したいとCaptureDevice
思います。strideY、strideUV、offsetY、offsetU、offsetV の値がどうあるべきかについて混乱しています。YUVFormat
このクラスでは、次のコンストラクターのみを使用できます。
1.YUVFormat() 2. YUVFormat(int yuvType) 3. YUVFormat(java.awt.Dimension size, int maxDataLength, java.lang.Class dataType, float frameRate, int yuvType, int strideY, int strideUV, int offsetY, int offsetU, int offsetV)
#1 または #2 を使用しても、サイズ、フレーム レート、またはデータ型を事後に設定することはできません。だから私はそれらを使用することはできません。#3 を使用するには、5 つの追加パラメーターを知る必要があります。Google 検索から次のすべての投稿を読みましたが、値がどうあるべきかについてまだ混乱しています。strideY と strideUV がフレームの幅になると安全に想定できると思いますが、100% 確実ではありません。
Javadoc: http://fmj-sf.net/doc/fmj/javax/media/format/YUVFormat.html
MediaWiki: http://wiki.multimedia.cx/index.php?title=PIX_FMT_YUV420P
FourCC: http://www.fourcc.org/yuv.php#IYUV
これまでの私のコードは次のとおりです。
int strideY = 幅、strideUV = 幅 / 2; int オフセット Y = 0、オフセット U = 0、オフセット V = 0; YUVFormat yuv = new YUVFormat(new Dimension(width, height), Format.NOT_SPECIFIED, Format.byteArray, frameRate, YUVFormat.YUV_420, strideY, strideUV, offsetY, offsetU, offsetV);