./multimedia/x265, High Efficiency Video Coding (HEVC)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 2.6, Package name: x265-2.6, Maintainer: pkgsrc-users

x265 is an open-source project and free application library for encoding video
streams into the H.265/High Efficiency Video Coding (HEVC) format.


Required to build:
[devel/yasm] [pkgtools/cwrappers]

Master sites:

SHA1: d3cb1066830b7fe779b6c9d8d774bbec7f8c1f5a
RMD160: 9bffc2a99c576a99a49d2ce8d8dd690c375a3972
Filesize: 1242.164 KB

Version history: (Expand)


CVS history: (Expand)


   2018-02-21 13:33:46 by Filip Hajny | Files touched by this commit (2)
Log message:
multimedia/x265: Fix build on SunOS.
   2017-11-30 08:38:55 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
x265: updated to 2.6

Version 2.6
===========

New features
------------
1. x265 can now refine analysis from a previous HEVC encode (using options \ 
:option:`--refine-inter`, and :option:`--refine-intra`), or a previous AVC \ 
encode (using option :option:`--refine-mv-type`). The previous encode's \ 
information can be packaged using the *x265_analysis_data_t*  data field \ 
available in the *x265_picture* object.
2. Basic support for segmented (or chunked) encoding added with \ 
:option:`--vbv-end` that can specify the status of CPB at the end of a segment. \ 
String this together with :option:`--vbv-init` to encode a title as chunks while \ 
maintaining VBV compliance!
3. :option:`--force-flush` can be used to trigger a premature flush of the \ 
encoder. This option is beneficial when input is known to be bursty, and may be \ 
at a rate slower than the encoder.
4. Experimental feature :option:`--lowpass-dct` that uses truncated DCT for \ 
transformation.

Encoder enhancements
--------------------
1. Slice-parallel mode gets a significant boost in performance, particularly in \ 
low-latency mode.
2. x265 now officially supported on VS2017.
3. x265 now supports all depths from mono0 to mono16 for Y4M format.

API changes
-----------
1. Options that modified PPS dynamically (:option:`--opt-qp-pps` and \ 
:option:`--opt-ref-list-length-pps`) are now disabled by default to enable users \ 
to save bits by not sending headers. If these options are enabled, headers have \ 
to be repeated for every GOP.
2. Rate-control and analysis parameters can dynamically be reconfigured \ 
simultaneously via the *x265_encoder_reconfig* API.
3. New API functions to extract intermediate information such as slice-type, \ 
scenecut information, reference frames, etc. are now available. This information \ 
may be beneficial to integrating applications that are attempting to perform \ 
content-adaptive encoding. Refer to documentation on \ 
*x265_get_slicetype_poc_and_scenecut*, and *x265_get_ref_frame_list* for more \ 
details and suggested usage.
4. A new API to pass supplemental CTU information to x265 to influence analysis \ 
decisions has been added. Refer to documentation on *x265_encoder_ctu_info* for \ 
more details.

Bug fixes
---------
1. Bug fixes when :option:`--slices` is used with VBV settings.
2. Minor memory leak fixed for HDR10+ builds, and default x265 when pools option \ 
is specified.
3. HDR10+ bug fix to remove dependence on poc counter to select meta-data \ 
information.
   2017-07-14 09:56:57 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Version 2.5

Encoder enhancements
--------------------
1. Improved grain handling with :option:`--tune` grain option by throttling VBV \ 
operations to limit QP jumps.
2. Frame threads are now decided based on number of threads specified in the \ 
:option:`--pools`, as opposed to the number of hardware threads available. The \ 
mapping was also adjusted to improve quality of the encodes with minimal impact \ 
to performance.
3. CSV logging feature (enabled by :option:`--csv`) is now part of the library; \ 
it was previously part of the x265 application. Applications that integrate \ 
libx265 can now extract frame level statistics for their encodes by exercising \ 
this option in the library.
4.  Globals that track min and max CU sizes, number of slices, and other \ 
parameters have now been moved into instance-specific variables. Consequently, \ 
applications that invoke multiple instances of x265 library are no longer \ 
restricted to use the same settings for these parameter options across the \ 
multiple instances.
5. x265 can now generate a seprate library that exports the HDR10+ parsing API. \ 
Other libraries that wish to use this API may do so by linking against this \ 
library. Enable ENABLE_HDR10_PLUS in CMake options and build to generate this \ 
library.
6. SEA motion search receives a 10% performance boost from AVX2 optimization of \ 
its kernels.
7. The CSV log is now more elaborate with additional fields such as PU \ 
statistics, average-min-max luma and chroma values, etc. Refer to documentation \ 
of :option:`--csv` for details of all fields.
8. x86inc.asm cleaned-up for improved instruction handling.

API changes
-----------
1. New API x265_encoder_ctu_info() introduced to specify suggested partition \ 
sizes for various CTUs in a frame. To be used in conjunction with \ 
:option:`--ctu-info` to react to the specified partitions appropriately.
2. Rate-control statistics passed through the x265_picture object for an \ 
incoming frame are now used by the encoder.
3. Options to scale, reuse, and refine analysis for incoming analysis shared \ 
through the x265_analysis_data field in x265_picture for runs that use \ 
:option:`--analysis-reuse-mode` load; use options :option:`--scale`, \ 
:option:`--refine-mv`, :option:`--refine-inter`, and :option:`--refine-intra` to \ 
explore.
4. VBV now has a deterministic mode. Use :option:`--const-vbv` to exercise.

Bug fixes
---------
1. Several fixes for HDR10+ parsing code including incompatibility with \ 
user-specific SEI, removal of warnings, linking issues in linux, etc.
2. SEI messages for HDR10 repeated every keyint when HDR options \ 
(:option:`--hdr-opt`, :option:`--master-display`) specified.
   2017-04-25 20:29:57 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Version 2.4
===========

Encoder enhancements
--------------------
1. HDR10+ supported. Dynamic metadata may be either supplied as a bitstream via \ 
the userSEI field of x265_picture, or as a json jile that can be parsed by x265 \ 
and inserted into the bitstream; use :option:`--dhdr10-info` to specify json \ 
file name, and :option:`--dhdr10-opt` to enable optimization of inserting \ 
tone-map information only at IDR frames, or when the tone map information \ 
changes.
2. Lambda tables for 8, 10, and 12-bit encoding revised, resulting in \ 
significant enhancement to subjective  visual quality.
3. Enhanced HDR10 encoding with HDR-specific QP optimzations for chroma, and \ 
luma planes of WCG content enabled; use :option:`--hdr-opt` to activate.
4. Ability to accept analysis information from other previous encodes (that may \ 
or may not be x265), and selectively reuse and refine analysis for encoding \ 
subsequent passes enabled with the :option:`--refine-level` option.
5. Slow and veryslow presets receive a 20% speed boost at iso-quality by \ 
enabling the :option:`--limit-tu` option.
6. The bitrate target for x265 can now be dynamically reconfigured via the \ 
reconfigure API.
7. Performance optimized SAO algorithm introduced via the :option:`--limit-sao` \ 
option; seeing 10% speed benefits at faster presets.

API changes
-----------
1. x265_reconfigure API now also accepts rate-control parameters for dynamic \ 
reconfiguration.
2. Several additions to data fields in x265_analysis to support \ 
:option:`--refine-level`: see x265.h for more details.

Bug fixes
---------
1. Avoid negative offsets in x265 lambda2 table with SAO enabled.
2. Fix mingw32 build error.
3. Seek now enabled for pipe input, in addition to file-based input
4. Fix issue of statically linking core-utils not working in linux.
5. Fix visual artifacts with :option:`--multi-pass-opt-distortion` with VBV.
6. Fix bufferFill stats reported in csv.
   2017-02-25 09:32:19 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Version 2.3
===========

Encoder enhancements
--------------------
1. New SSIM-based RD-cost computation for improved visual quality, and \ 
efficiency; use :option:`--ssim-rd` to exercise.
2. Multi-pass encoding can now share analysis information from prior passes (in \ 
addition to rate-control information) to improve performance and quality of \ 
subsequent passes; to your multi-pass command-lines that use the \ 
:option:`--pass` option, add :option:`--multi-pass-opt-distortion` to share \ 
distortion information, and :option:`--multi-pass-opt-analysis` to share other \ 
analysis information.
3. A dedicated thread pool for lookahead can now be specified with \ 
:option:`--lookahead-threads`.
4. option:`--dynamic-rd` dynamically increase analysis in areas where the \ 
bitrate is being capped by VBV; works for both CRF and ABR encodes with VBV \ 
settings.
5. The number of bits used to signal the delta-QP can be optimized with the \ 
:option:`--opt-cu-delta-qp` option; found to be useful in some scenarios for \ 
lower bitrate targets.
6. Experimental feature option:`--aq-motion` adds new QP offsets based on \ 
relative motion of a block with respect to the movement of the frame.

API changes
-----------
1. Reconfigure API now supports signalling new scaling lists.
2. x265 application's csv functionality now reports time (in milliseconds) taken \ 
to encode each frame.
3. :option:`--strict-cbr` enables stricter bitrate adherence by adding filler \ 
bits when achieved bitrate is lower than the target; earlier, it was only \ 
reacting when the achieved rate was higher.
4. :option:`--hdr` can be used to ensure that max-cll and max-fall values are \ 
always signaled (even if 0,0).

Bug fixes
---------
1. Fixed incorrect HW thread counting on MacOS platform.
2. Fixed scaling lists support for 4:4:4 videos.
3. Inconsistent output fix for :option:`--opt-qp-pss` by removing last slice's \ 
QP from cost calculation.
4. VTune profiling (enabled using ENABLE_VTUNE CMake option) now also works with \ 
2017 VTune builds.
   2017-02-13 14:39:55 by Filip Hajny | Files touched by this commit (2)
Log message:
Add support for the Sun linker. Fixes joyent/pkgsrc/issues/455 on SunOS.
Based on jcea's pull request.
   2017-01-19 19:52:30 by Alistair G. Crooks | Files touched by this commit (352)
Log message:
Convert all occurrences (353 by my count) of

	MASTER_SITES= 	site1 \
			site2

style continuation lines to be simple repeated

	MASTER_SITES+= site1
	MASTER_SITES+= site2

lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
   2017-01-01 17:31:44 by Adam Ciarcinski | Files touched by this commit (3)
Log message:
Version 2.2

Encoder enhancements
--------------------
1. Enhancements to TU selection algorithm with early-outs for improved speed; \ 
use :option:`--limit-tu` to exercise.
2. New motion search method SEA (Successive Elimination Algorithm) supported now \ 
as :option: `--me` 4
3. Bit-stream optimizations to improve fields in PPS and SPS for bit-rate \ 
savings through :option:`--[no-]opt-qp-pps`, \ 
:option:`--[no-]opt-ref-list-length-pps`, and \ 
:option:`--[no-]multi-pass-opt-rps`.
4. Enabled using VBV constraints when encoding without WPP.
5. All param options dumped in SEI packet in bitstream when info selected.
6. x265 now supports POWERPC-based systems. Several key functions also have \ 
optimized ALTIVEC kernels.