/** * Convert YUVPicture to BufferedImage, minimizing object allocation * * @param picture YUVPicture to convert * @return new BufferedImage. */ public BufferedImage toBufferedImage(YUVPicture picture) { return toBufferedImage(picture, null); }
/** * Convert YUVPicture to BufferedImage, minimizing object allocation * * @param picture YUVPicture to convert * @return new BufferedImage. */ public BufferedImage toBufferedImage(YUVPicture picture) { return toBufferedImage(picture, null); }
@Override public void run() { image.setIcon(new ImageIcon(converter.toBufferedImage(img))); } });
@Override public void run() { image.setIcon(new ImageIcon(converter.toBufferedImage(img))); } });
@Override public void run() { img = converter.toBufferedImage(nextFrame, img); nextFrame.delete(); ImageIcon icon = new ImageIcon(img); label.setIcon(icon); if (img.getWidth() != width || img.getHeight() != height) { width = img.getWidth(); height = img.getHeight(); label.setPreferredSize(new Dimension(width, height)); pack(); } } });
@Override public void run() { img = converter.toBufferedImage(nextFrame, img); nextFrame.delete(); ImageIcon icon = new ImageIcon(img); label.setIcon(icon); if (img.getWidth() != width || img.getHeight() != height) { width = img.getWidth(); height = img.getHeight(); label.setPreferredSize(new Dimension(width, height)); pack(); } } });
@Override public void run() { img = converter.toBufferedImage(nextFrame, img); nextFrame.delete(); ImageIcon icon = new ImageIcon(img); label.setIcon(icon); if (img.getWidth() != width || img.getHeight() != height) { width = img.getWidth(); height = img.getHeight(); label.setPreferredSize(new Dimension(width, height)); pack(); } } });
@Override public synchronized void consumeObject(byte[] data, Point3d position, Quat4d orientation, IntrinsicParameters intrinsicParameters) { nalBuffer.clear(); nalBuffer.put(data); nalBuffer.clear(); YUVPicture frame = decoder.decodeFrame(nalBuffer); if(frame != null) { image = converter.toBufferedImage(frame, image); videoStreamer.updateImage(image, position, orientation, intrinsicParameters); frame.delete(); } }
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); } }
private void streamBufferedImagesFromVideo() { YUVPicture frame; try { while ((frame = demuxer.getNextFrame()) != null) { videoListener.updateImage(converter.toBufferedImage(frame)); frame.delete(); } } catch (IOException e) { throw new RuntimeException(e); } }
private void streamBufferedImagesFromVideo() { // Now, we start walking through the container looking at each packet. YUVPicture leftEye; YUVPicture rightEye; try { while ((leftEye = leftEyeDemuxer.getNextFrame()) != null && (rightEye = rightEyeDemuxer.getNextFrame()) != null) { videoListener.updateImage(converter.toBufferedImage(leftEye), converter.toBufferedImage(rightEye)); leftEye.delete(); rightEye.delete(); //TODO: Insert eait loop } } catch (IOException e) { e.printStackTrace(); } }
while ((picture = demuxer.getNextFrame()) != null) final BufferedImage img = converter.toBufferedImage(picture); SwingUtilities.invokeLater(new Runnable()
while ((picture = demuxer.getNextFrame()) != null) final BufferedImage img = converter.toBufferedImage(picture); SwingUtilities.invokeLater(new Runnable()
private void doTheNextFrame(YUVPicture picture) { int width = jPanel.getWidth(); int height = jPanel.getHeight(); if (width < 1 || height < 1) return; picture.scale(width, height, FilterModeEnum.kFilterBilinear); bufferedImage = converter.toBufferedImage(picture, bufferedImage); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { imageIcon = new ImageIcon(bufferedImage); jLabel.setIcon(imageIcon); } }); picture.delete(); }
int newHeight = ((int) (scaleHeight * (double) img.getHeight()) >> 1) << 1; img.scale(newWidth, newHeight, FilterModeEnum.kFilterBilinear); image = converter.toBufferedImage(img, image); ImageIcon icon = new ImageIcon(image); label.setIcon(icon);
int newHeight = ((int) (scaleHeight * (double) img.getHeight()) >> 1) << 1; img.scale(newWidth, newHeight, FilterModeEnum.kFilterBilinear); image = converter.toBufferedImage(img, image); ImageIcon icon = new ImageIcon(image); label.setIcon(icon);
int newHeight = ((int) (scaleHeight * (double) img.getHeight()) >> 1) << 1; img.scale(newWidth, newHeight, FilterModeEnum.kFilterBilinear); image = converter.toBufferedImage(img, image); ImageIcon icon = new ImageIcon(image); label.setIcon(icon);