Skip to content

Commit 0773149

Browse files
authored
Merge pull request #180 from fawdlstty/master
add simple chinese version
2 parents 8406ade + 8186bf4 commit 0773149

6 files changed

Lines changed: 212 additions & 2 deletions

File tree

Build.cn.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
2+
# 如何建立NVEnc
3+
by rigaya
4+
5+
## 0. 环境需求
6+
要构建NVEnc,需要以下组件。
7+
8+
- Visual Studio 2015 + CUDA 8.0 (x86)
9+
- Visual Studio 2015/2017/2019 + CUDA 10.2 (x64)
10+
- yasm
11+
- Avisynth SDK
12+
- VapourSynth SDK
13+
14+
请将yasm设置为您的环境路径。
15+
16+
使用sdk安装Avisynth+和VapourSynth。
17+
18+
然后,Avisynth+ SDK 的 "avisynth_c.h" 和VapourSynth SDK 的 "VapourSynth.h" 应被添加到 Visual Studio 的包含路径中。
19+
20+
这些包括路径可以通过环境变量“AVISYNTH_SDK”和“VAPOURSYNTH_SDK”来传递。
21+
22+
使用默认安装,环境变量可以设置如下。
23+
```Batchfile
24+
setx AVISYNTH_SDK "C:\Program Files (x86)\AviSynth+\FilterSDK"
25+
setx VAPOURSYNTH_SDK "C:\Program Files (x86)\VapourSynth\sdk"
26+
```
27+
28+
您还需要Caption2Ass_PCR的源代码。
29+
30+
```Batchfile
31+
git clone https://github.com/maki-rxrz/Caption2Ass_PCR <path-to-clone>
32+
setx CAPTION2ASS_SRC Caption2Ass_PCR <path-to-clone>/src
33+
```
34+
35+
## 1. 下载源代码
36+
37+
```Batchfile
38+
git clone https://github.com/rigaya/NVEnc --recursive
39+
```
40+
41+
## 2. 构建 NVEncC.exe / NVEnc.auo
42+
43+
最后,打开 NVEnc.sln,然后开始使用 Visual Studio 构建 NVEnc。
44+
45+
| | For Debug build | For Release build |
46+
|:---------------------|:------|:--------|
47+
|NVEncC(64).exe | DebugStatic | RelStatic |
48+
|NVEnc.auo (win32 only) | Debug | Release |
49+
|cufilters.auf (win32 only) | DebugFilters | RelFilters |

Build.en.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ by rigaya
66
To build NVEnc, components below are required.
77

88
- Visual Studio 2015 + CUDA 8.0 (x86)
9-
- Visual Studio 2015/2017/2019 + CUDA 10.1 (x64)
9+
- Visual Studio 2015/2017/2019 + CUDA 10.2 (x64)
1010
- yasm
1111
- Avisynth SDK
1212
- VapourSynth SDK

Build.ja.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ by rigaya
66
ビルドには、下記のものが必要です。
77

88
- Visual Studio 2015 + CUDA 8.0 (x86)
9-
- Visual Studio 2015/2017/2019 + CUDA 10.1 (x64)
9+
- Visual Studio 2015/2017/2019 + CUDA 10.2 (x64)
1010
- yasm
1111
- Avisynth+ SDK
1212
- VapourSynth SDK

Readme.cn.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,153 @@
1+
2+
# NVEnc
3+
by rigaya
4+
5+
**[日本語版はこちら>>](./Readme.ja.md)**
6+
7+
[![Build status](https://ci.appveyor.com/api/projects/status/dmlkxw4rbrby0oi9/branch/master?svg=true)](https://ci.appveyor.com/project/rigaya/nvenc/branch/master)
8+
9+
本软件旨在研究NVIDIA的HW编码器(NVENC)的性能和图像质量。
10+
所开发的软件有两种类型,一种是独立运行的命令行版本,另一种是输出插件 [Aviutl](http://spring-fragrance.mints.ne.jp/aviutl/).
11+
12+
- NVEncC.exe ... 支持代码转换的命令行版本。
13+
- NVEnc.auo ... [Aviutl](http://spring-fragrance.mints.ne.jp/aviutl/) 的输出插件。
14+
15+
## 下载 & update history
16+
[rigayaの日記兼メモ帳>>](http://rigaya34589.blog135.fc2.com/blog-category-17.html)
17+
18+
## 系统需求
19+
Windows 7, 8, 8.1, 10 (x86 / x64)
20+
Aviutl 0.99g4 or later (NVEnc.auo)
21+
支持NVENC的硬件
22+
NVIDIA GPU GeForce Kepler gen或更新(GT / GTX 6xx或更新)
23+
※ 由于GT 63x, 62x等是费米代的重命名,他们不能运行NVEnc。
24+
25+
| NVEnc | 所需图形驱动程序版本 |
26+
|:-------------- |:--------------------------------- |
27+
| NVEnc 0.00 or later | NVIDIA graphics driver 334.89 or later |
28+
| NVEnc 1.00 or later | NVIDIA graphics driver 347.09 or later |
29+
| NVEnc 2.00 or later | NVIDIA graphics driver 358 or later |
30+
| NVEnc 2.08 or later | NVIDIA graphics driver 368.69 or later |
31+
| NVEnc 3.02 or later | NVIDIA graphics driver 369.30 or later |
32+
| NVEnc 3.08 or later | NVIDIA graphics driver 378.66 or later |
33+
| NVEnc 4.00 or later | NVIDIA graphics driver 390.77 or later |
34+
| NVEnc 4.31 or later | NVIDIA graphics driver 418.81 or later |
35+
| NVEnc 4.51 or later | NVIDIA graphics driver 436.15 or later |
36+
37+
## NVEncC的使用和选项
38+
[选项列表和详细的NVEncC](./NVEncC_Options.en.md)
39+
40+
## 支持的编码特性的示例
41+
check-features的结果,驱动程序返回的功能列表。可能取决于驱动程序版本。
42+
43+
| GPU Gen | GPU Name |
44+
|:---|:---|
45+
| Kepler | [GTX660Ti](./GPUFeatures/gtx660ti.txt) |
46+
| Maxwell | [GTX970](./GPUFeatures/gtx970.txt) |
47+
| Pascal | [GTX1080](./GPUFeatures/gtx1080.txt), [GTX1070](./GPUFeatures/gtx1070.txt), [GTX1060](./GPUFeatures/gtx1060.txt) |
48+
| Volta | [GTX1650](./GPUFeatures/gtx1650.txt) |
49+
| Turing | [RTX2070](./GPUFeatures/rtx2070.txt), [RTX2060](./GPUFeatures/rtx2060.txt), [GTX1660Ti](./GPUFeatures/gtx1660ti.txt) |
50+
51+
## 使用NVEnc的注意事项
52+
本软件是“按原样”提供的,没有任何形式的保证。
53+
54+
NVEnc的输出可能不包括max_dec_frame_buffering字段,
55+
这可能会在某些回放环境中引起问题。
56+
57+
## Main usable functions
58+
### Common to NVEnc / NVEncC
59+
- Encoding using NVENC
60+
- H.264 / AVC
61+
- YUV420 / YUV444
62+
- H.265 / HEVC (2nd Gen Maxwell or later)
63+
- YUV420 / YUV444
64+
- 10 bits
65+
- Each encode mode of NVENC
66+
- CQP (fixed quantization)
67+
- CBR (Constant bitrate)
68+
- CBRHQ (Constant bitrate, high quality)
69+
- VBR (Variable bitrate)
70+
- VBRHQ (Variable bitrate, high quality)
71+
- Interlaced encoding (by PAFF)
72+
- Lossless output (YUV 420 / YUV 444)
73+
- supports setting of codec profile & level, SAR, colormatrix, maxbitrate, GOP len, etc...
74+
75+
### NVEncC
76+
- Supports cuvid decoding
77+
- MPEG1
78+
- MPEG2
79+
- H.264 / AVC
80+
- HEVC (10 bit / 12bitdepth with YUV444 support)
81+
- VP9
82+
- Supports various formats such as avs, vpy, y4m, and raw
83+
- Supports demux/muxing using libavformat
84+
- Supports decode using libavcodec
85+
- High performance filtering (VPP, Video Pre-Processing)
86+
- cuvid built-in hw processing
87+
- resize
88+
- deinterlace (normal / bob)
89+
- GPU filtering by CUDA
90+
- rff (apply rff flag)
91+
- deinterlacer
92+
- afs (Automatic field shift)
93+
- nnedi
94+
- yadif
95+
- colorspace conversion (x64 version only)
96+
- hdr2sdr
97+
- delogo
98+
- subburn
99+
- resize
100+
- bilinear
101+
- spline16, spline36, spline64
102+
- lanczos2, lanczos3, lanczos4
103+
- various algorithms by npp library are available (x64 version only)
104+
- padding
105+
- select-every
106+
- deband
107+
- noise reduction
108+
- knn (K-nearest neighbor)
109+
- pmd (modified pmd method)
110+
- gauss (npp library, x64 version only)
111+
- edge / detail enhancement
112+
- unsharp
113+
- edgelevel (edge ​​level adjustment)
114+
115+
### NVEnc.auo (Aviutl plugin)
116+
- Audio encoding
117+
- Mux audio and chapter
118+
- afs (Automatic field shift) support
119+
120+
### cufilters.auf (Aviutl plugin)
121+
- supported filters
122+
- nnedi
123+
- resize
124+
- noise reduction
125+
- knn (K-nearest neighbor)
126+
- pmd (modified pmd method)
127+
- edge / detail enhancement
128+
- unsharp
129+
- edgelevel (edge ​​level adjustment)
130+
- deband
131+
132+
### NVEnc 源码
133+
- MIT license.
134+
- 这个程序是基于NVIDA CUDA样本,包括样本代码。
135+
本软件包含NVIDIA公司提供的源代码。
136+
- 这个软件依赖于
137+
[jitify](https://github.com/NVIDIA/jitify),
138+
[ffmpeg](https://ffmpeg.org/),
139+
[tinyxml2](http://www.grinninglizard.com/tinyxml2/),
140+
[dtl](https://github.com/cubicdaiya/dtl),
141+
[libass](https://github.com/libass/libass),
142+
[ttmath](http://www.ttmath.org/) &
143+
[Caption2Ass](https://github.com/maki-rxrz/Caption2Ass_PCR).
144+
对于这些许可证,请参阅相应源代码的标题部分和NVEnc_license.txt。
145+
146+
- [如何构建](./Build.cn.md)
147+
148+
### 关于源代码
149+
Windows ... VC build
150+
151+
Character code: UTF-8-BOM
152+
Line feed: CRLF
153+
Indent: blank x4

Readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
by rigaya
44

55
**[日本語版はこちら>>](./Readme.ja.md)**
6+
**[简体中文版本>>](./Readme.cn.md)**
67

78
[![Build status](https://ci.appveyor.com/api/projects/status/dmlkxw4rbrby0oi9/branch/master?svg=true)](https://ci.appveyor.com/project/rigaya/nvenc/branch/master)
89

cudaver.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,13 @@
4343
<CUDA_CODE_GEN>compute_30,compute_30;compute_50,compute_50;compute_75,compute_75</CUDA_CODE_GEN>
4444
<NVRTC_DLL_NAME>nvrtc64_101_0.dll</NVRTC_DLL_NAME>
4545
</PropertyGroup>
46+
<PropertyGroup Label="UserMacros" Condition="'$(CUDA_PATH)' == '$(CUDA_PATH_V10_2)'" >
47+
<CUDA_MAJOR_VER>10</CUDA_MAJOR_VER>
48+
<CUDA_MINOR_VER>2</CUDA_MINOR_VER>
49+
<CUDA_VER>$(CUDA_MAJOR_VER).$(CUDA_MINOR_VER)</CUDA_VER>
50+
<CUDA_CODE_GEN>compute_30,compute_30;compute_50,compute_50;compute_75,compute_75</CUDA_CODE_GEN>
51+
<NVRTC_DLL_NAME>nvrtc64_102_0.dll</NVRTC_DLL_NAME>
52+
</PropertyGroup>
4653
<ImportGroup Label="ExtensionSettings">
4754
<Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA $(CUDA_VER).props" />
4855
</ImportGroup>

0 commit comments

Comments
 (0)