[x265-commits] [x265] correct register number in pixel-a.asm
Min Chen
chenm003 at 163.com
Thu Apr 24 23:28:03 CEST 2014
details: http://hg.videolan.org/x265/rev/791790391fb6
branches:
changeset: 6765:791790391fb6
user: Min Chen <chenm003 at 163.com>
date: Thu Apr 24 15:54:54 2014 +0800
description:
correct register number in pixel-a.asm
Subject: [x265] intrapred: stack-check asm intra primitives
details: http://hg.videolan.org/x265/rev/a332c6667dc9
branches:
changeset: 6766:a332c6667dc9
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 12:02:36 2014 -0500
description:
intrapred: stack-check asm intra primitives
prune some extra memsets that were used during development
Subject: [x265] ipfilter: stack-check asm filter primitives
details: http://hg.videolan.org/x265/rev/a61ceb6f80c2
branches:
changeset: 6767:a61ceb6f80c2
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 12:11:21 2014 -0500
description:
ipfilter: stack-check asm filter primitives
Subject: [x265] ipfilter: remove utterly useless comments
details: http://hg.videolan.org/x265/rev/17dd496b46ee
branches:
changeset: 6768:17dd496b46ee
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 12:15:49 2014 -0500
description:
ipfilter: remove utterly useless comments
Subject: [x265] dct: stack-check asm transform/quant primitives
details: http://hg.videolan.org/x265/rev/06be236c9ece
branches:
changeset: 6769:06be236c9ece
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 12:24:02 2014 -0500
description:
dct: stack-check asm transform/quant primitives
Subject: [x265] rest: move --hash into bitream options section, document error-recovery aspects
details: http://hg.videolan.org/x265/rev/1662240073e2
branches:
changeset: 6770:1662240073e2
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 13:49:13 2014 -0500
description:
rest: move --hash into bitream options section, document error-recovery aspects
Subject: [x265] rest: loop filters, plural
details: http://hg.videolan.org/x265/rev/6f259296bfe1
branches:
changeset: 6771:6f259296bfe1
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 13:49:26 2014 -0500
description:
rest: loop filters, plural
Subject: [x265] rest: move --repeat-headers to bitstream options section
details: http://hg.videolan.org/x265/rev/afec492ea679
branches:
changeset: 6772:afec492ea679
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 13:51:19 2014 -0500
description:
rest: move --repeat-headers to bitstream options section
Subject: [x265] rest: move quality metrics section up higher
details: http://hg.videolan.org/x265/rev/fcad3bb9943d
branches:
changeset: 6773:fcad3bb9943d
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 14:00:29 2014 -0500
description:
rest: move quality metrics section up higher
Subject: [x265] primitives: pass bool value as int to assembly
details: http://hg.videolan.org/x265/rev/cdbcd835b849
branches:
changeset: 6774:cdbcd835b849
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 15:44:13 2014 -0500
description:
primitives: pass bool value as int to assembly
bool type is too ambiguous
Subject: [x265] dct: fix MSVC warnings
details: http://hg.videolan.org/x265/rev/10de7b0a228c
branches:
changeset: 6775:10de7b0a228c
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 15:44:25 2014 -0500
description:
dct: fix MSVC warnings
Subject: [x265] ipfilter: fix register stack allocation in luma horizontal filter
details: http://hg.videolan.org/x265/rev/4a91c42d2a72
branches:
changeset: 6776:4a91c42d2a72
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 15:49:27 2014 -0500
description:
ipfilter: fix register stack allocation in luma horizontal filter
Subject: [x265] pixelharness: stack-check ssim_end4_t, this seems to expose an argument read bug
details: http://hg.videolan.org/x265/rev/c630b0b393ee
branches:
changeset: 6777:c630b0b393ee
user: Steve Borho <steve at borho.org>
date: Thu Apr 24 15:59:05 2014 -0500
description:
pixelharness: stack-check ssim_end4_t, this seems to expose an argument read bug
diffstat:
doc/reST/cli.rst | 71 +++++++++----------
source/common/intrapred.cpp | 2 +-
source/common/primitives.h | 2 +-
source/common/x86/intrapred.h | 8 +-
source/common/x86/ipfilter8.asm | 2 +-
source/common/x86/pixel-a.asm | 122 +++++++++++++++++++++-----------
source/test/intrapredharness.cpp | 86 ++++++++++-------------
source/test/ipfilterharness.cpp | 141 +++++++++++++++++++++++---------------
source/test/mbdstharness.cpp | 74 ++++++-------------
source/test/mbdstharness.h | 8 +-
source/test/pixelharness.cpp | 4 +-
11 files changed, 277 insertions(+), 243 deletions(-)
diffs (truncated from 1530 to 300 lines):
diff -r e9f64036fbee -r c630b0b393ee doc/reST/cli.rst
--- a/doc/reST/cli.rst Thu Apr 24 01:15:51 2014 -0500
+++ b/doc/reST/cli.rst Thu Apr 24 15:59:05 2014 -0500
@@ -130,6 +130,23 @@ Standalone Executable Options
**CLI ONLY**
+Quality reporting metrics
+=========================
+
+.. option:: --ssim, --no-ssim
+
+ Calculate and report Structural Similarity values. It is
+ recommended to use :option:`--tune` ssim if you are measuring ssim,
+ else the results should not be used for comparison purposes.
+ Default disabled
+
+.. option:: --psnr, --no-psnr
+
+ Calculate and report Peak Signal to Noise Ratio. It is recommended
+ to use :option:`--tune` psnr if you are measuring PSNR, else the
+ results should not be used for comparison purposes. Default
+ disabled
+
Input Options
=============
@@ -582,8 +599,8 @@ Quality, rate control and rate distortio
Hide sign bit of one coeff per TU (rdo). Default enabled
-Loop filter
-===========
+Loop filters
+============
.. option:: --lft, --no-lft
@@ -608,23 +625,6 @@ Loop filter
effectively causes :option:`--frame-threads` 1)
1. SAO LCU-based optimization **(default)**
-Quality reporting metrics
-=========================
-
-.. option:: --ssim, --no-ssim
-
- Calculate and report Structural Similarity values. It is
- recommended to use :option:`--tune` ssim if you are measuring ssim,
- else the results should not be used for comparison purposes.
- Default disabled
-
-.. option:: --psnr, --no-psnr
-
- Calculate and report Peak Signal to Noise Ratio. It is recommended
- to use :option:`--tune` psnr if you are measuring PSNR, else the
- results should not be used for comparison purposes. Default
- disabled
-
VUI (Video Usability Information) options
=========================================
@@ -747,6 +747,15 @@ VUI fields must be manually specified.
Bitstream options
=================
+.. option:: --repeat-headers
+
+ If enabled, x265 will emit VPS, SPS, and PPS headers with every
+ keyframe. This is intended for use when you do not have a container
+ to keep the stream headers for you and you want keyframes to be
+ random access points.
+
+ **API ONLY**
+
.. option:: --aud, --no-aud
Emit an access unit delimiter NAL at the start of each slice access
@@ -755,17 +764,19 @@ Bitstream options
the very first AUD will be skipped since it cannot be placed at the
start of the access unit, where it belongs. Default disabled
-Debugging options
-=================
-
.. option:: --hash <integer>
- Emit decoded picture hash SEI, to validate encoder state. Default None
+ Emit decoded picture hash SEI, so the decoder may validate the
+ reconstructed pictures and detect data loss. Also useful as a
+ debug feature to validate the encoder state. Default None
1. MD5
2. CRC
3. Checksum
+Debugging options
+=================
+
.. option:: --recon, -r <filename>
Output file containing reconstructed images in display order. If the
@@ -782,18 +793,4 @@ Debugging options
**CLI ONLY**
-API-only Options
-================
-
-These options are not exposed in the CLI because they are only useful to
-applications which use libx265 as a shared library. These are available
-via x265_param_parse()
-
-.. option:: --repeat-headers
-
- If enabled, x265 will emit VPS, SPS, and PPS headers with every
- keyframe. This is intended for use when you do not have a container
- to keep the stream headers for you and you want keyframes to be
- random access points.
-
.. vim: noet
diff -r e9f64036fbee -r c630b0b393ee source/common/intrapred.cpp
--- a/source/common/intrapred.cpp Thu Apr 24 01:15:51 2014 -0500
+++ b/source/common/intrapred.cpp Thu Apr 24 15:59:05 2014 -0500
@@ -258,7 +258,7 @@ void intra_pred_ang_c(pixel* dst, intptr
}
template<int size>
-void all_angs_pred_c(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma)
+void all_angs_pred_c(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, int bLuma)
{
for (int mode = 2; mode <= 34; mode++)
{
diff -r e9f64036fbee -r c630b0b393ee source/common/primitives.h
--- a/source/common/primitives.h Thu Apr 24 01:15:51 2014 -0500
+++ b/source/common/primitives.h Thu Apr 24 15:59:05 2014 -0500
@@ -128,7 +128,7 @@ typedef void (*blockfill_s_t)(int16_t *d
typedef void (*intra_planar_t)(pixel* above, pixel* left, pixel* dst, intptr_t dstStride);
typedef void (*intra_pred_t)(pixel* dst, intptr_t dstStride, pixel *refLeft, pixel *refAbove, int dirMode, int bFilter);
-typedef void (*intra_allangs_t)(pixel *dst, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma);
+typedef void (*intra_allangs_t)(pixel *dst, pixel *above0, pixel *left0, pixel *above1, pixel *left1, int bLuma);
typedef void (*cvt16to32_shl_t)(int32_t *dst, int16_t *src, intptr_t, int, int);
typedef void (*cvt32to16_shr_t)(int16_t *dst, int32_t *src, intptr_t, int, int);
diff -r e9f64036fbee -r c630b0b393ee source/common/x86/intrapred.h
--- a/source/common/x86/intrapred.h Thu Apr 24 01:15:51 2014 -0500
+++ b/source/common/x86/intrapred.h Thu Apr 24 15:59:05 2014 -0500
@@ -157,8 +157,8 @@ DECL_ANG(32, 32, sse4);
DECL_ANG(32, 33, sse4);
#undef DECL_ANG
-void x265_all_angs_pred_4x4_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma);
-void x265_all_angs_pred_8x8_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma);
-void x265_all_angs_pred_16x16_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma);
-void x265_all_angs_pred_32x32_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, bool bLuma);
+void x265_all_angs_pred_4x4_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, int bLuma);
+void x265_all_angs_pred_8x8_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, int bLuma);
+void x265_all_angs_pred_16x16_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, int bLuma);
+void x265_all_angs_pred_32x32_sse4(pixel *dest, pixel *above0, pixel *left0, pixel *above1, pixel *left1, int bLuma);
#endif // ifndef X265_INTRAPRED_H
diff -r e9f64036fbee -r c630b0b393ee source/common/x86/ipfilter8.asm
--- a/source/common/x86/ipfilter8.asm Thu Apr 24 01:15:51 2014 -0500
+++ b/source/common/x86/ipfilter8.asm Thu Apr 24 15:59:05 2014 -0500
@@ -613,7 +613,7 @@ IPFILTER_CHROMA_W 32, 32
;----------------------------------------------------------------------------------------------------------------------------
%macro IPFILTER_LUMA 3
INIT_XMM sse4
-cglobal interp_8tap_horiz_%3_%1x%2, 4,7,6
+cglobal interp_8tap_horiz_%3_%1x%2, 4,7,8
mov r4d, r4m
diff -r e9f64036fbee -r c630b0b393ee source/common/x86/pixel-a.asm
--- a/source/common/x86/pixel-a.asm Thu Apr 24 01:15:51 2014 -0500
+++ b/source/common/x86/pixel-a.asm Thu Apr 24 15:59:05 2014 -0500
@@ -666,7 +666,7 @@ cglobal pixel_satd_16x4_internal2
SATD_8x4_1_SSE 0, 4, 8, 5, 9, 6, 3, 10, 12, 13
ret
-cglobal pixel_satd_16x4, 4,6,12
+cglobal pixel_satd_16x4, 4,6,14
SATD_START_SSE2 m10, m7
%if vertical
mova m7, [pw_00ff]
@@ -680,14 +680,14 @@ cglobal pixel_satd_16x4, 4,6,12
movd eax, m10
RET
-cglobal pixel_satd_16x8, 4,6,12
+cglobal pixel_satd_16x8, 4,6,14
SATD_START_SSE2 m10, m7
%if vertical
mova m7, [pw_00ff]
%endif
jmp %%pixel_satd_16x8_internal
-cglobal pixel_satd_16x12, 4,6,12
+cglobal pixel_satd_16x12, 4,6,14
SATD_START_SSE2 m10, m7
%if vertical
mova m7, [pw_00ff]
@@ -695,7 +695,7 @@ cglobal pixel_satd_16x12, 4,6,12
call pixel_satd_16x4_internal2
jmp %%pixel_satd_16x8_internal
-cglobal pixel_satd_16x32, 4,6,12
+cglobal pixel_satd_16x32, 4,6,14
SATD_START_SSE2 m10, m7
%if vertical
mova m7, [pw_00ff]
@@ -708,7 +708,7 @@ cglobal pixel_satd_16x32, 4,6,12
call pixel_satd_16x4_internal2
jmp %%pixel_satd_16x8_internal
-cglobal pixel_satd_16x64, 4,6,12
+cglobal pixel_satd_16x64, 4,6,14
SATD_START_SSE2 m10, m7
%if vertical
mova m7, [pw_00ff]
@@ -729,7 +729,7 @@ cglobal pixel_satd_16x64, 4,6,12
call pixel_satd_16x4_internal2
jmp %%pixel_satd_16x8_internal
-cglobal pixel_satd_16x16, 4,6,12
+cglobal pixel_satd_16x16, 4,6,14
SATD_START_SSE2 m10, m7
%if vertical
mova m7, [pw_00ff]
@@ -747,7 +747,7 @@ cglobal pixel_satd_16x16, 4,6,12
movd eax, m10
RET
-cglobal pixel_satd_32x8, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_32x8, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -768,7 +768,7 @@ cglobal pixel_satd_32x8, 4,8,11 ;if W
movd eax, m10
RET
-cglobal pixel_satd_32x16, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_32x16, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -793,7 +793,7 @@ cglobal pixel_satd_32x16, 4,8,11 ;if
movd eax, m10
RET
-cglobal pixel_satd_32x24, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_32x24, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -822,7 +822,7 @@ cglobal pixel_satd_32x24, 4,8,11 ;if
movd eax, m10
RET
-cglobal pixel_satd_32x32, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_32x32, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -855,7 +855,7 @@ cglobal pixel_satd_32x32, 4,8,11 ;if
movd eax, m10
RET
-cglobal pixel_satd_32x64, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_32x64, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -904,7 +904,7 @@ cglobal pixel_satd_32x64, 4,8,11 ;if
movd eax, m10
RET
-cglobal pixel_satd_48x64, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_48x64, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -971,7 +971,7 @@ cglobal pixel_satd_48x64, 4,8,11 ;if
movd eax, m10
RET
-cglobal pixel_satd_64x16, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_64x16, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
mov r7, r2
@@ -1008,7 +1008,7 @@ cglobal pixel_satd_64x16, 4,8,11 ;if
movd eax, m10
RET
-cglobal pixel_satd_64x32, 4,8,11 ;if WIN64 && notcpuflag(avx)
+cglobal pixel_satd_64x32, 4,8,14 ;if WIN64 && notcpuflag(avx)
SATD_START_SSE2 m10, m7
mov r6, r0
More information about the x265-commits
mailing list