Tags

Tags give the ability to mark specific points in history as being important
  • v0.3.7

    protected Release: Release v0.3.7
    Release v0.3.7
    
    - Added VpxImage.copyTo(ByteBuffer) convenience method for zero-allocation copy of uncompressed YUV planes to user-provided heap or direct ByteBuffers.
    - Added support for loading libvpx from a custom path using the panvpx.libvpx.path system property.
  • v0.3.6

    protected
    011d7a77 · bumping version to v0.3.6 ·
    Release: Release v0.3.6
    Release v0.3.6
    
    * The VpxEncoderConfig.Builder now requires a target Codec (VP8 or VP9) upon instantiation.
    * Implemented strict, fail-fast boundary and nullability validation for all configuration options.
    * Configuration properties that are invalid for the target codec (e.g. attempting to configure tile columns on a VP8 encoder) now immediately throw an IllegalArgumentException.
  • v0.3.5

    protected
    d8f09323 · bumping version to v0.3.5 ·
    Release: Release v0.3.5
    Release v0.3.5
    
    - VpxPacket now exposes pts() and duration(), echoed back from each encode() call,
      so callers can correlate encoded packets with input frames and compute mux timing
    - Both values are read from the native vpx_codec_cx_pkt_t.data.frame struct; no
      overhead beyond what libvpx already provides
    - New VpxEncoderConfig fields: BitDepth enum (8/10/12-bit), inputBitDepth,
      resizeAllowed, and minKeyframeDistance — all wired to the corresponding libvpx
      FFI setters
    - New round-trip tests for PTS/duration in Vp8EncoderTest and Vp9EncoderTest
  • v0.3.4

    protected
    cc01818f · bumping version to v0.3.4 ·
    Release: Release v0.3.4
    Release v0.3.4
    
    - Added VpxEncoderConfig.Builder: fluent builder API accessible via VpxEncoderConfig.builder(width, height)
    - Nine new encoder config fields with full libvpx FFI wiring: rateControlMode (VBR/CBR/CQ/Q), maxKeyframeDistance, keyframeMode (AUTO/DISABLED), profile, usage, errorResilient, lagInFrames, maxQuantizer, minQuantizer
    - Removed three short convenience constructors from VpxEncoderConfig in favour of the builder
    - New VpxEncoderConfigBuilderTest suite covering defaults, round-trip, CBR encode, keyframe interval, error-resilient, and quantiser scenarios
  • v0.3.3

    protected
    70f8d925 · bumping version to v0.3.3 ·
    Release: Release v0.3.3
    Release v0.3.3
    
    - Fixed Javadoc build: added missing VpxException import to Vp8Encoder, Vp8Decoder,
      Vp9Encoder, and Vp9Decoder so that @throws tags resolve correctly across package
      boundaries and the :lib:javadoc task completes without errors.
  • v0.3.2

    protected
    77c3dd6a · bumping version to v0.3.2 ·
    Release: Release v0.3.2
    Release v0.3.2
    
    - Comprehensive Javadoc improvements across all public types: package-level
      descriptions with quick-start code examples, encoding/decoding lifecycle
      guides, detailed per-method parameter and return documentation, memory-contract
      explanations (Arena ownership, libvpx buffer lifetime), thread-safety notes,
      and cross-references between related classes.
    - New package-info.java files for org.seuffert.panvpx, core, vp8, and vp9
      packages, each containing an overview, usage example, and links to key types.
  • v0.3.1

    protected
    f1d0e5de · bumping version to v0.3.1 ·
    Release: Release v0.3.1
    Release v0.3.1
    
    - Maven Central publishing: pushing a v*.*.* tag now automatically signs and
      publishes the library to Maven Central via the CI pipeline (requires five
      CI/CD variables configured in GitLab — see .gitlab-ci.yml for details).
    - Test suite hardened: all assertions use exact frame counts instead of
      greater-than-zero checks; flush loops fully drain the VP9 lookahead buffer
      before asserting output counts.
  • v0.3.0

    protected
    4318312a · bumping version to v0.3.0 ·
    Release: Release v0.3.0
    Release v0.3.0
    
    - New :benchmark Gradle subproject with a CLI benchmark runner for VP8/VP9 encoder and decoder throughput measurement
    - SyntheticFrameSource for reproducible I420 test frames with interference waves, XOR texture, and LCG noise
    - VpxEncoderConfig extended with threads, preset, cpuUsed, rowMt, tileColumns, and tokenPartitions parameters
    - --synthetic flag, --help support, and strict unknown-argument handling in the benchmark CLI
    - VP8 decoding and VP9 encoding/decoding examples added to README
  • v0.2.0

    protected
    3e1223d6 · bumping version to v0.2.0 ·
    Release: Release v0.2.0
    Release v0.2.0
    
    - Added VP9 encoding and decoding support via new Vp9Encoder and Vp9Decoder classes,
      following the same API as their VP8 counterparts.
    - VpxEncoderConfig and VpxDecoderConfig are now shared between VP8 and VP9 — no
      duplicate configuration classes.
    - VPX_EFLAG_FORCE_KF constant is now accessible from both VP8 and VP9 encoders.
    - CI pipeline now automatically creates a GitLab Release (with JAR asset and CHANGELOG
      link) when a vX.Y.Z tag is pushed.
  • v0.1.0

    protected
    8a38e6a4 · bumping version to v0.1.0 ·
  • v0.0.1

    protected
    ea77eb42 · bumping version to v0.0.1 ·
    Release v0.0.1