package org.jcodec.codecs.mpeg12.bitstream;
import java.io.IOException;
import org.jcodec.common.io.BitReader;
import org.jcodec.common.io.BitWriter;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* @author The JCodec project
*
*/
public class PictureSpatialScalableExtension {
public int lower_layer_temporal_reference;
public int lower_layer_horizontal_offset;
public int lower_layer_vertical_offset;
public int spatial_temporal_weight_code_table_index;
public int lower_layer_progressive_frame;
public int lower_layer_deinterlaced_field_select;
public static PictureSpatialScalableExtension read(BitReader in) {
PictureSpatialScalableExtension psse = new PictureSpatialScalableExtension();
psse.lower_layer_temporal_reference = in.readNBit(10);
in.read1Bit();
psse.lower_layer_horizontal_offset = in.readNBit(15);
in.read1Bit();
psse.lower_layer_vertical_offset = in.readNBit(15);
psse.spatial_temporal_weight_code_table_index = in.readNBit(2);
psse.lower_layer_progressive_frame = in.read1Bit();
psse.lower_layer_deinterlaced_field_select = in.read1Bit();
return psse;
}
public void write(BitWriter out) throws IOException {
out.writeNBit(lower_layer_temporal_reference, 10);
out.write1Bit(1); // todo: verify this
out.writeNBit(lower_layer_horizontal_offset, 15);
out.write1Bit(1); // todo: verify this
out.writeNBit(lower_layer_vertical_offset, 15);
out.writeNBit(spatial_temporal_weight_code_table_index, 2);
out.write1Bit(lower_layer_progressive_frame);
out.write1Bit(lower_layer_deinterlaced_field_select);
}
}