Commit graph

25 commits

Author SHA1 Message Date
fhajny
93fb5d13c3 multimedia/x265: Fix build on SunOS. 2018-02-21 12:33:46 +00:00
adam
b97c78d9b0 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-11-30 07:38:55 +00:00
adam
06d54399ad 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-07-14 07:56:57 +00:00
adam
906d651c1f 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-04-25 18:29:57 +00:00
adam
3cbfd6fb45 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-25 08:32:18 +00:00
fhajny
fd3aab3207 Add support for the Sun linker. Fixes joyent/pkgsrc/issues/455 on SunOS.
Based on jcea's pull request.
2017-02-13 13:39:55 +00:00
agc
30b55df38e 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-19 18:52:01 +00:00
adam
bd9efa5c91 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.
2017-01-01 16:31:44 +00:00
adam
38a46811d1 Distfile has been changed 2016-10-10 17:13:42 +00:00
adam
2cfea88447 Changes 2.1:
Unknown
2016-10-03 12:29:15 +00:00
adam
8f2574742f Version 2.0:
Bug fixes.
2016-08-21 11:42:02 +00:00
adam
b5b4adb67c Changes 1.9:
Bug fixes.
2016-02-09 12:04:56 +00:00
agc
efd9ad4549 Remove duplicate SHA512 digests that crept in. 2015-11-04 17:41:15 +00:00
agc
95c9a6891d Add SHA512 digests for distfiles for multimedia category
Problems found locating distfiles:
        Package adobe-flash-plugin11: missing distfile flash-plugin-11.2.202.540-release.i386.rpm
        Package gmplayer: missing distfile mplayer/AlienMind-1.2.tar.bz2
        Package gmplayer: missing distfile mplayer/BlueHeart-1.5.tar.bz2
        Package gmplayer: missing distfile mplayer/CornerMP-aqua-1.4.tar.bz2
        Package gmplayer: missing distfile mplayer/MPlayer-1.1.1.tar.xz
        Package gmplayer: missing distfile mplayer/WMP6-2.2.tar.bz2
        Package gmplayer: missing distfile mplayer/gnome-1.1.tar.bz2
        Package gmplayer: missing distfile mplayer/hwswskin-1.3.tar.bz2
        Package gmplayer: missing distfile mplayer/neutron-1.6.tar.bz2
        Package gmplayer: missing distfile mplayer/plastic-1.3.tar.bz2
        Package gmplayer: missing distfile mplayer/slim-1.3.tar.bz2
        Package gmplayer: missing distfile mplayer/xine-lcd-1.2.tar.bz2
        Package handbrake: missing distfile handbrake/HandBrake-0.9.3.tar.gz
        Package handbrake: missing distfile handbrake/bzip2-1.0.5.tar.gz
        Package handbrake: missing distfile handbrake/faad2-2.6.1.tar.gz
        Package handbrake: missing distfile handbrake/lame-3.98.tar.gz
        Package handbrake: missing distfile handbrake/libdvdread-0.9.7.tar.gz
        Package handbrake: missing distfile handbrake/libmp4v2-r45.tar.gz
        Package handbrake: missing distfile handbrake/libquicktime-0.9.10.tar.gz
        Package handbrake: missing distfile handbrake/libtheora-1.0.tar.gz
        Package handbrake: missing distfile handbrake/mpeg2dec-0.5.1.tar.gz
        Package handbrake: missing distfile handbrake/x264-r1028-83baa7f.tar.gz
        Package handbrake: missing distfile handbrake/zlib-1.2.3.tar.gz
        Package libdvdcss: missing distfile libdvdcss-1.3.99.tar.bz2
        Package mplayer-share: missing distfile mplayer/MPlayer-1.1.1.tar.xz
        Package mpv: missing distfile mpv-0.12.0.tar.gz
        Package realplayer-codecs: missing distfile rp8codecs-20040626.tar.bz2
        Package realplayer-codecs: missing distfile rp8codecs-alpha-20050115.tar.bz2
        Package win32-codecs: missing distfile rp9codecs-win32-20050115.tar.bz2
        Package xanim: missing distfile xa2.0_cvid_netbsd386.o.gz
        Package xanim: missing distfile xa2.0_iv32_netbsd386.o.gz
        Package xanim: missing distfile xa1.0_cyuv_netbsd68k.o.gz
        Package xanim: missing distfile xa2.0_cvid_linuxELF.o.gz
        Package xanim: missing distfile xa2.0_iv32_linuxELF.o.gz
        Package xanim: missing distfile xa1.0_cyuv_sparcAOUT.o.gz
        Package xanim: missing distfile xa2.0_cvid_sparcELF.o.gz
        Package xanim: missing distfile xa2.0_iv32_sparcELF.o.gz
        Package xanim: missing distfile xa1.0_cyuv_linuxPPC.o.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 23:54:22 +00:00
adam
2c34f534ff Changes 1.8:
* Bug fixes
2015-10-25 13:51:09 +00:00
adam
5985ef78fb Changes 1.7:
Bug fixes.
2015-05-29 12:03:06 +00:00
adam
f63a59f5c1 x265 1.6 has been released. The changes from the 1.5 release are mostly
performance oriented, with heavy improvements for AVX2 capable platforms
(Haswell and later Intel CPUs) and work efficiency improvements for
multiple-socket machines.
2015-04-06 20:58:35 +00:00
joerg
4839cbf91f Always build PIC. Bump revision. 2015-02-28 23:45:29 +00:00
adam
1e28fb7654 Changes 1.5:
search: use chroma reconQt buffer instead of recon picture (not yet updated)
This fixes non-determinism when psy-rd is enabled
2015-02-12 09:02:42 +00:00
adam
5dc173d864 Changes 1.4:
* encoder: emit an Active Parameter Sets SEI in stream headers if interlaced
* encoder: give more warnings when features are automatically disabled
* api: allow --psy-rdoq values up to 50; it can be beneficial for film grain
* docs: improve --pmode documentation, the feature is fully functional
* analysis: do not allow top-skip and depth earlyout in --pmode with --rd 5/6
* asm: correct wrong index name
* docs: update preset table and various command line options
* fix rd=0,1
* analysis: fix for --rd 0, do not assume a CU is only inter or intra
* analysis: rect cost compare typo fix for pmode
* search: ensure RDOQ entropy state is always initialized for chroma intra
2014-11-29 21:27:06 +00:00
wiz
cda18437be Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles. 2014-10-09 14:05:50 +00:00
wiz
3c76595f12 Remove file from PLIST that is not installed (see PR 49173). 2014-09-08 08:52:06 +00:00
adam
ba8e69b14e Changes 1.3:
encoder: disable --cu-lossless until coding errors can be fixed
2014-08-27 05:51:39 +00:00
adam
1eae03cd69 Changes 1.2:
* TEncCU: bug fix
* Remove the xCheckBestMode call, add in a ccontext save.
2014-07-15 16:48:55 +00:00
adam
76e80e3c6b x265 is an open-source project and free application library for encoding video
streams into the H.265/High Efficiency Video Coding (HEVC) format.
2014-07-02 11:46:21 +00:00