@Override public YUVPicture getFrame(Packet frame) throws IOException { ByteBuffer buf = frame.getData(); return decoder.decode(buf); }
@Override public void delete() { decoder.delete(); }
public void run() { try { int width = 1280; int height = 720; int framerate = 10; MovieBuilder builder = new MP4MJPEGMovieBuilder(new File(filename), width, height, framerate, 95); JPEGDecoder decoder = new JPEGDecoder(); System.out.println("Writing movie " + filename); for (int i = 1; i < 1000; i += 1) { YUVPicture pic = decoder.readJPEG(new File("data/image_" + i + ".jpg")); builder.encodeFrame(pic); pic.delete(); } System.out.println("Done writing " + filename); decoder.delete(); builder.close(); } catch (IOException e) { throw new RuntimeException(e); } }
public static void main(String[] args) throws IOException { JPEGDecoder decoder = new JPEGDecoder(); YUVPicture jpeg = decoder.readJPEG(JPEGExample.class.getClassLoader().getResource("testImage.jpg")); jpeg.scale(jpeg.getWidth() * 2, jpeg.getHeight() * 2, FilterModeEnum.kFilterBilinear); JPEGEncoder encoder = new JPEGEncoder(); int maxSize = (int) encoder.maxSize(jpeg); ByteBuffer buffer = ByteBuffer.allocateDirect((int) maxSize); int size = encoder.encode(jpeg, buffer, maxSize, 90); buffer.limit(size); RandomAccessFile file = new RandomAccessFile("test.jpg", "rw"); FileChannel channel = file.getChannel(); channel.write(buffer); file.close(); } }
public void run() { try { int width = 1280; int height = 720; int framerate = 10; MovieBuilder builder = new MP4MJPEGMovieBuilder(new File(filename), width, height, framerate, 95); JPEGDecoder decoder = new JPEGDecoder(); System.out.println("Writing movie " + filename); for (int i = 1; i < 1000; i += 1) { YUVPicture pic = decoder.readJPEG(new File("data/image_" + i + ".jpg")); builder.encodeFrame(pic); pic.delete(); } System.out.println("Done writing " + filename); decoder.delete(); builder.close(); } catch (IOException e) { throw new RuntimeException(e); } }
public static void main(String[] args) throws IOException { JPEGDecoder decoder = new JPEGDecoder(); YUVPicture jpeg = decoder.readJPEG(JPEGExample.class.getClassLoader().getResource("testImage.jpg")); jpeg.scale(jpeg.getWidth() * 2, jpeg.getHeight() * 2, FilterModeEnum.kFilterBilinear); JPEGEncoder encoder = new JPEGEncoder(); int maxSize = (int) encoder.maxSize(jpeg); ByteBuffer buffer = ByteBuffer.allocateDirect((int) maxSize); int size = encoder.encode(jpeg, buffer, maxSize, 90); buffer.limit(size); RandomAccessFile file = new RandomAccessFile("test.jpg", "rw"); FileChannel channel = file.getChannel(); channel.write(buffer); file.close(); } }
@Override public YUVPicture getFrame(Packet frame) throws IOException { ByteBuffer buf = frame.getData(); return decoder.decode(buf); }
JPEGDecoder decoder = new JPEGDecoder(); System.out.println("Writing movie"); YUVPicture pic = decoder.readJPEG(new File("data/image_" + i + ".jpg")); builder.encodeFrame(pic); pic.delete(); decoder.delete(); builder.close();
@Override public void delete() { decoder.delete(); }
public YUVPicture readJPEG(File file) throws IOException { FileInputStream stream = new FileInputStream(file); FileChannel channel = stream.getChannel(); ByteBuffer buffer = byteBufferProvider.getOrCreateBuffer((int) channel.size()); channel.read(buffer); buffer.flip(); stream.close(); YUVPicture picture = decode(buffer, buffer.remaining()); return picture; }
JPEGDecoder decoder = new JPEGDecoder(); System.out.println("Writing movie"); YUVPicture pic = decoder.readJPEG(new File("data/image_" + i + ".jpg")); builder.encodeFrame(pic); pic.delete(); decoder.delete(); builder.close();
public YUVPicture readJPEG(File file) throws IOException { FileInputStream stream = new FileInputStream(file); FileChannel channel = stream.getChannel(); ByteBuffer buffer = byteBufferProvider.getOrCreateBuffer((int) channel.size()); channel.read(buffer); buffer.flip(); stream.close(); YUVPicture picture = decode(buffer, buffer.remaining()); return picture; }
public YUVPicture readJPEG(URL jpeg) throws IOException { InputStream stream = jpeg.openStream(); ReadableByteChannel channel = Channels.newChannel(stream); ByteBuffer buffer = byteBufferProvider.getOrCreateBuffer(stream.available()); while (channel.read(buffer) >= 0) { if (buffer.remaining() == 0) { buffer = byteBufferProvider.growByteBuffer(); } } buffer.flip(); stream.close(); YUVPicture picture = decode(buffer, buffer.remaining()); return picture; }
public YUVPicture readJPEG(URL jpeg) throws IOException { InputStream stream = jpeg.openStream(); ReadableByteChannel channel = Channels.newChannel(stream); ByteBuffer buffer = byteBufferProvider.getOrCreateBuffer(stream.available()); while (channel.read(buffer) >= 0) { if (buffer.remaining() == 0) { buffer = byteBufferProvider.growByteBuffer(); } } buffer.flip(); stream.close(); YUVPicture picture = decode(buffer, buffer.remaining()); return picture; }
public YUVPicture decode(ByteBuffer buffer) { if(buffer.remaining() < 1) { return null; } ByteBuffer direct; if(!buffer.isDirect()) { direct = byteBufferProvider.getOrCreateBuffer(buffer.remaining()); buffer.mark(); direct.put(buffer); buffer.reset(); direct.clear(); } else if(buffer.position() == 0) { direct = buffer; } else { direct = buffer.slice(); } return decode(direct, direct.remaining()); }
public YUVPicture decode(ByteBuffer buffer) { if(buffer.remaining() < 1) { return null; } ByteBuffer direct; if(!buffer.isDirect()) { direct = byteBufferProvider.getOrCreateBuffer(buffer.remaining()); buffer.mark(); direct.put(buffer); buffer.reset(); direct.clear(); } else if(buffer.position() == 0) { direct = buffer; } else { direct = buffer.slice(); } return decode(direct, direct.remaining()); }
public BufferedImage decompressJPEGDataToBufferedImage(byte[] jpegData) { ByteBuffer byteBuffer = byteBufferProvider.getOrCreateBuffer(jpegData.length); byteBuffer.put(jpegData); byteBuffer.flip(); YUVPicture yuvPicture = jpegDecoder.decode(byteBuffer); BufferedImage bufferedImage = yuvPictureConverter.toBufferedImage(yuvPicture); yuvPicture.delete(); return bufferedImage; } }
@Override public void consumeObject(byte[] data, Point3d position, Quat4d orientation, IntrinsicParameters intrinsicParameters) { ByteBuffer buffer = byteBufferProvider.getOrCreateBuffer(data.length); buffer.put(data); buffer.flip(); YUVPicture pic = decoder.decode(buffer); BufferedImage img = converter.toBufferedImage(pic); pic.delete(); videoStreamer.updateImage(img, position, orientation, intrinsicParameters); } }