Tags give the ability to mark specific points in history as being important
-
v0.3.7
protectedRelease: Release v0.3.780151afa · ·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
protectedRelease: Release v0.3.6011d7a77 · ·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
protectedRelease: Release v0.3.5d8f09323 · ·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
protectedRelease: Release v0.3.4cc01818f · ·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
protectedRelease: Release v0.3.370f8d925 · ·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
protectedRelease: Release v0.3.277c3dd6a · ·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
protectedRelease: Release v0.3.1f1d0e5de · ·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
protectedRelease: Release v0.3.04318312a · ·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
protectedRelease: Release v0.2.03e1223d6 · ·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.
-