package org.jcodec.movtool.streaming.tracks;
import java.lang.IllegalStateException;
import java.lang.System;
import java.lang.ThreadLocal;
import org.jcodec.codecs.prores.ProresToThumb2x2;
import org.jcodec.codecs.prores.ProresToThumb4x4;
import org.jcodec.codecs.vpx.NopRateControl;
import org.jcodec.codecs.vpx.VP8Encoder;
import org.jcodec.common.VideoDecoder;
import org.jcodec.common.VideoEncoder;
import org.jcodec.common.model.Size;
import org.jcodec.movtool.streaming.VirtualTrack;
import java.nio.ByteBuffer;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* @author The JCodec project
*
*/
public class Prores2VP8Track extends TranscodeTrack {
public Prores2VP8Track(VirtualTrack proresTrack, Size frameDim) {
super(proresTrack, frameDim);
}
@Override
protected VideoDecoder getDecoder(int scaleFactor) {
return scaleFactor == 2 ? new ProresToThumb2x2() : new ProresToThumb4x4();
}
@Override
protected VideoEncoder getEncoder(int rate) {
return new VP8Encoder(new NopRateControl(12));
}
@Override
protected int getFrameSize(int mbCount, int rate) {
return 278528;
}
@Override
protected void getCodecPrivate(ByteBuffer buf, Size dim) {
}
}