forked from sometimes-archives-things/archived-things
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEncoding-BluRays-(2016).html
More file actions
executable file
·555 lines (536 loc) · 47.8 KB
/
Encoding-BluRays-(2016).html
File metadata and controls
executable file
·555 lines (536 loc) · 47.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
<!DOCTYPE html>
<!-- saved from url=(0056)https://passthepopcorn.me/wiki.php?action=article&id=231 -->
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1;IE=edge">
<meta name="referrer" content="no-referrer">
<meta name="referrer" content="same-origin">
<meta name="robots" content="noindex">
<title>Encoding BluRays (2016) :: PassThePopcorn</title>
<link rel="shortcut icon" href="https://ptp.me/favicon.ico">
<link rel="apple-touch-icon" href="https://ptp.me/static/common/touch-icon-iphone.png?v=1514440441">
<link rel="apple-touch-icon" sizes="72x72" href="https://ptp.me/static/common/touch-icon-ipad.png?v=1514440441">
<link rel="apple-touch-icon" sizes="114x114" href="https://ptp.me/static/common/touch-icon-iphone-retina.png?v=1514440441">
<link rel="search" type="application/opensearchdescription+xml" title="PassThePopcorn" href="https://ptp.me/static/opensearch.xml">
<link href="./Encoding-BluRays-(2016)_files/marcel.css" rel="stylesheet" type="text/css" media="screen">
<script src="./Encoding-BluRays-(2016)_files/script_start.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/class_ajax.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/global.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/jquery.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/autocomplete.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/wiki.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/bbcode.js.download" type="text/javascript"></script>
<script src="./Encoding-BluRays-(2016)_files/mousetrap.min.js.download" type="text/javascript"></script>
</head>
<body id="wiki" data-anticsrftoken="9001" style="">
<div id="wrapper">
<div id="header" class="header">
<div class="site-logo"><a class="site-logo__link" href="https://ptp.me/index.php"></a></div>
<div class="main-menu">
<ul class="main-menu__list">
<li class="main-menu__item" id="nav_index"><a class="main-menu__link" href="https://ptp.me/index.php">Home</a></li>
<li class="main-menu__item" id="nav_torrents"><a class="main-menu__link" href="https://ptp.me/torrents.php">Movies</a></li>
<li class="main-menu__item" id="nav_collages"><a class="main-menu__link" href="https://ptp.me/collages.php">Collections</a></li>
<li class="main-menu__item" id="nav_requests"><a class="main-menu__link" href="https://ptp.me/requests.php">Requests</a></li>
<li class="main-menu__item" id="nav_forums"><a class="main-menu__link" href="https://ptp.me/forums.php">Forums</a></li>
<li class="main-menu__item" id="nav_irc"><a class="main-menu__link" href="https://ptp.me/wiki.php?action=article&id=95">Chat</a></li>
<li class="main-menu__item" id="nav_top10"><a class="main-menu__link" href="https://ptp.me/top10.php">Top 10</a></li>
<li class="main-menu__item" id="nav_rules"><a class="main-menu__link" href="https://ptp.me/rules.php">Rules</a></li>
<li class="main-menu__item" id="nav_wiki"><a class="main-menu__link" href="https://ptp.me/wiki.php">Wiki</a></li>
<li class="main-menu__item" id="nav_staff"><a class="main-menu__link" href="https://ptp.me/staff.php">Staff</a></li>
</ul>
</div>
<div class="search-bar">
<ul class="search-bar__list">
<li id="searchbar_torrents" class="search-bar__search-field">
<form action="https://passthepopcorn.me/torrents.php" method="get" class="search-bar__search-field__form">
<input type="hidden" name="order_by" value="relevance">
<input id="torrentssearch" class="search-bar__search-field__input" onkeyup="autocomp.keyup(event);" onkeydown="autocomp.keydown(event);" accesskey="m" spellcheck="false" autocomplete="off" onfocus="autocomp.start('torrents');" onblur="" placeholder="Movies" type="text" name="searchstr" size="17">
<ul id="torrentscomplete" class="search-bar__results hidden"></ul>
</form>
</li>
<li id="searchbar_people" class="search-bar__search-field">
<form action="https://passthepopcorn.me/artist.php" method="get" class="search-bar__search-field__form">
<input id="artistsearch" class="search-bar__search-field__input" onkeyup="autocomp.keyup(event);" onkeydown="autocomp.keydown(event);" accesskey="p" spellcheck="false" autocomplete="off" onfocus="autocomp.start('artist');" placeholder="People" type="text" name="artistname" size="17">
<ul id="artistcomplete" class="search-bar__results hidden"></ul>
</form>
</li>
<li id="searchbar_collections" class="search-bar__search-field">
<form action="https://passthepopcorn.me/collages.php" method="get" class="search-bar__search-field__form">
<input class="search-bar__search-field__input" accesskey="c" spellcheck="false" id="collectionsearch" placeholder="Collections" type="text" name="search" size="17">
</form>
</li>
<li id="searchbar_requests" class="search-bar__search-field">
<form action="https://passthepopcorn.me/requests.php" method="get" class="search-bar__search-field__form">
<input class="search-bar__search-field__input" accesskey="r" spellcheck="false" placeholder="Requests" type="text" name="search" size="17">
</form>
</li>
<li id="searchbar_forums" class="search-bar__search-field">
<form action="https://passthepopcorn.me/forums.php" method="get" class="search-bar__search-field__form">
<input value="search" type="hidden" name="action">
<input class="search-bar__search-field__input" accesskey="f" spellcheck="false" placeholder="Forums" type="text" name="search" size="17">
</form>
</li>
<li id="searchbar_log" class="search-bar__search-field">
<form action="https://passthepopcorn.me/log.php" method="get" class="search-bar__search-field__form">
<input class="search-bar__search-field__input" accesskey="l" spellcheck="false" placeholder="Log" type="text" name="search" size="17">
</form>
</li>
<li id="searchbar_users" class="search-bar__search-field">
<form action="https://passthepopcorn.me/user.php" method="get" class="search-bar__search-field__form">
<input type="hidden" name="action" value="search">
<input class="search-bar__search-field__input" accesskey="u" spellcheck="false" placeholder="Users" type="text" name="search" size="17">
</form>
</li>
</ul>
</div>
</div>
<div id="content" class="page__main-content">
<div class="thin">
<h2 class="page__title">Encoding BluRays (2016)</h2>
<div class="linkbox">
<a class="linkbox__link" href="https://ptp.me/wiki.php?action=create">[Create]</a>
<a class="linkbox__link" href="https://ptp.me/wiki.php?action=edit&id=231">[Contribute]</a>
<a class="linkbox__link" href="https://ptp.me/wiki.php?action=revisions&id=231">[History]</a>
</div>
<div class="sidebar">
<div class="panel">
<div class="panel__body">
<form action="https://passthepopcorn.me/wiki.php" method="get">
<input type="hidden" name="action" value="search">
<input placeholder="Search articles" type="text" name="search" size="20">
<input value="Search" type="submit" class="hidden">
</form>
<br>
<a href="https://ptp.me/wiki.php?action=search&type=Title&order=Title&way=Ascending">List all articles</a>
</div>
</div>
<div class="panel">
<div class="panel__body">
<ul class="list list--unstyled">
<li>
<strong>Protection:</strong>
<ul class="list--bulleted list--small-padding">
<li>Read: Abuser</li>
<li>Edit: Power User</li>
</ul>
</li>
<li>
<strong>Details:</strong>
<ul class="list--bulleted list--small-padding">
<li>Version: 48</li>
<li>Last edited by: <a class="username" href="https://ptp.me/user.php?id=78162">OFWGKTA</a></li>
<li>Last updated: <span class="time" title="Feb 01 2020, 07:01">[ Feb 01 2020, 07:01 ]</span></li>
</ul>
</li>
<li>
<strong>Aliases:</strong>
<ul class="list--bulleted list--small-padding">
<li id="alias_encodingblurays2015">
<a href="https://ptp.me/wiki.php?action=article&name=encodingblurays2015">encodingblurays2015</a>
</li>
<li id="alias_encodingblurays2016">
<a href="https://ptp.me/wiki.php?action=article&name=encodingblurays2016">encodingblurays2016</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="panel">
<div class="panel__body">
<form action="https://passthepopcorn.me/wiki.php" method="post">
<input type="hidden" name="AntiCsrfToken" value="9001"> <input type="hidden" name="action" value="add_alias">
<input type="hidden" name="article" value="231">
<input placeholder="Add alias" type="text" name="alias" size="20">
<input type="submit" value="+">
</form>
</div>
</div>
</div>
<div class="main-column">
<div class="panel">
<div class="panel__body"><em>The aim of this article is to consolidate and update echo's, parent's and HD x264 encoding guides. It is intended to provide straightforward instructions which will result in a decent encode, with links and additional resources in hide tags for people interested in more advanced topics.</em><br>
<br>
This guide assumes you are starting with a m2ts image or a remux. If you are still holding a physical disc, follow <a href="https://ptp.me/wiki.php?action=article&id=245" title="Wiki Article">Wiki > How to rip a BluRay (2016)</a> first.<br>
<br>
<span class="bbcode-size-6">Required software</span> <br>
<blockquote><a rel="noreferrer" target="_blank" href="https://sourceforge.net/projects/avisynth2/files/AviSynth%202.6/AviSynth%202.6.0/AviSynth_260.exe/download">Avisynth v.2.6.0</a><br>
<a rel="noreferrer" target="_blank" href="https://mega.nz/file/TxUzySzS#adC8Um2XeEPHI5ycUUMOPyM7vbD8KuzTzvacprdqQyg">Plugin Bundle</a> (Updated)<br>
<a rel="noreferrer" target="_blank" href="https://github.com/AvsPmod/AvsPmod/releases">AvsPmod</a><br>
<a rel="noreferrer" target="_blank" href="https://github.com/lordmulder/Simple-x264-Launcher/releases">Simple x264 Launcher</a><br>
<a rel="noreferrer" target="_blank" href="https://mkvtoolnix.download/windows/releases/0.8.3/mkvtoolnix-0.8.3.rar">MKVToolNix v8.3</a> + <a rel="noreferrer" target="_blank" href="https://sourceforge.net/projects/mkvextractgui-2/files/MKVExtractGUI-2.2.2.9.zip/download">MkvExtractGUI</a><br>
<a rel="noreferrer" target="_blank" href="https://mega.nz/file/blVBWKib#swKP5_RU3wvDS83bFQ5eKycs7DgSwyishd6hHZfZBkY">DTS-HD Master Audio Suite 2.60.22</a><br>
<a rel="noreferrer" target="_blank" href="https://forum.doom9.org/showthread.php?t=125966">eac3to</a> + <a rel="noreferrer" target="_blank" href="http://haali.su/mkv/MatroskaSplitter.exe">Haali Media Splitter</a><br>
<a rel="noreferrer" target="_blank" href="http://exar.ch/suprip/">SupRip</a><br>
<a rel="noreferrer" target="_blank" href="https://github.com/SubtitleEdit/subtitleedit/releases">SubtitleEdit</a></blockquote><br>
<span class="bbcode-size-6">Overview</span><br>
<br>
A typical workflow would look like this:<br>
<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/GcW5vhG/z75sfq.png" src="./Encoding-BluRays-(2016)_files/z75sfq.png"><br>
<br>
The numbers in the yellow bubbles correspond to the chapters of this guide.<br>
<br>
<span class="bbcode-size-6">1. Demux your source with eac3to</span><br>
<br>
<span class="bbcode-size-4">Extract BDMV/m2ts</span> <strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler">1. Open a command line (Win+R, cmd.exe) and navigate to the eac3to folder<br>
<br>
<code>cd c:\tools\eac3to</code><br>
<br>
2. Point eac3to to your BDMV folder to list the available titles<br>
<br>
<pre class="preformatted-text--scrolled">eac3to.exe e:\example\BDMV\<br>
1) 01000.mpls, 00000.m2ts, 1:46:31<br>
- Chapters, 24 chapters<br>
- h264/AVC, 1080p24 /1.001 (16:9)<br>
- RAW/PCM, English, stereo, 48kHz<br>
- RAW/PCM, Japanese, stereo, 48kHz<br>
- AC3, Japanese, stereo, 48kHz<br>
<br>
2) 01011.mpls, 00011.m2ts, 0:38:03<br>
- Chapters, 19 chapters<br>
- h264/AVC, 1080p24 /1.001 (16:9)</pre><br>
3. Select the playlist you want to extract (in our example 01000.mpls) and the destination<br>
<br>
<code>eac3to.exe e:\example\BDMV\ 1) e:\example\source\demux.mkv</code><br>
<br>
eac3to will extract audio, chapters and subtitles and place individual files in the destination directory alongside demux.mkv containing the video track. Lossless audio tracks will be converted to FLAC by default, lossy audio will be extracted intact. <br>
<br>
If there are dozens of similar entries it is possible the disc was deliberately obfuscated. See <a href="https://ptp.me/forums.php?action=viewthread&threadid=23170&gotolastread=1#post793539" title="Forum Link">Ripping Obfuscated Blu-ray Discs</a> for details.<br>
</blockquote><br>
<br>
<span class="bbcode-size-4">Extract a specific track</span><strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> You may want to extract tracks one-by-one, which is especially useful for converting audio, but can be used for any single track. For example, to extract only the English subtitle track enter its number followed by a colon (<code>5:</code>) and the format of the output file you want (<code>eng.sup</code>):<br>
<pre class="preformatted-text--scrolled">eac3to.exe 1) 5: eng.sup<br>
<br>
M2TS, 1 video track, 3 audio tracks, 2 subtitle tracks, 0:06:46, 24p /1.001<br>
1: h264/AVC, 1080p24 /1.001 (16:9)<br>
2: RAW/PCM, Japanese, 2.0 channels, 24 bits, 48kHz<br>
3: DTS Master Audio, Japanese, 5.1 channels, 24 bits, 48kHz<br>
(core: DTS, 5.1 channels, 1509kbps, 48kHz)<br>
4: AC3, English, 2.0 channels, 192kbps, 48kHz<br>
5: Subtitle (PGS), English<br>
6: Subtitle (PGS), Russian<br>
s05 Extracting subtitle track number 5...<br>
s05 Creating file "eng.sup"... </pre><br>
<br>
For another example, see Transcoding DTS-HD MA to DTS in chapter 5 of this guide.</blockquote><br>
<br>
<span class="bbcode-size-4">Extract a remux</span> <strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler">Unfortunately eac3to cannot extact compressed PGS subtitles from mkv files. For that reason it is recommended to first extract the video track using eac3to and then demux the PGS subtitles using MKVExtractGUI. You can use either eac3to or MKVExtractGUI to demux the audio tracks, whichever better fits your workflow. <br>
<br>
1. Open a command line (Win+R, cmd.exe) and navigate to the eac3to folder<br>
<br>
<code>cd c:\tools\eac3to</code><br>
<br>
2. Point eac3to to the remux file and demux the video track<br>
<code>eac3to.exe e:\example\Remux.mkv 1: e:\example\source\video.mkv</code><br>
<br>
3. Place MKVExtractGUI2.exe in the folder where you installed mkvtoolnix<br>
4. Launch MKVExtractGUI2.exe <br>
5. Select the input file, output destination, and the tracks you want to extract. Click Extract<br>
<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/yFctx56/5a740z.png" src="./Encoding-BluRays-(2016)_files/5a740z.png"><br>
<br>
MKVExtract will extract the selected tracks (audio, subtitles, chapters etc) and place the individual files in the destination directory.</blockquote><br>
<br>
<span class="bbcode-size-6">2. Crop, filter & resize with AvsPmod</span><br>
<br>
Open a new tab in avspmod and load your demuxed video file<br>
<pre class="preformatted-text--scrolled"><br>
ffvideosource("C:\workshop\Movie\demux.mkv")<br>
</pre><br>
Press F5 and wait a few minutes for the video to be indexed and loaded.<br>
<br>
<span class="bbcode-size-4">Crop</span><br>
<br>
If your picture is surrounded by black bars, you need to crop them out. <br>
<br>
1. Open Crop Editor from the Video menu. <br>
2. Adjust the cropping so that you remove all the black bars. You can only crop in multiples of 2 pixels. Leave one black line in if you can't crop it to an even number, we'll fix it in the filtering stage.<br>
3. Select 'Insert Crop() command at script end' and click Apply<br>
<br>
<span class="bbcode-size-4">Filter</span><br>
<br>
Each filtering step is optional, and depends entirely on the quality of the source. Incorrect filtering can easily do more harm than good, feel free to ask for help in <a href="https://ptp.me/forums.php?action=viewthread&threadid=9197" title="Forum Link">Encoding Workshop... ***Get Encoding Help Here***</a> and <a href="https://ptp.me/wiki.php?action=article&id=95">#ptp-encoding</a> if you have any doubts.<br>
<br>
<span class="bbcode-size-3">Fix dirty lines</span><strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> If cropping left a single black line by any edge, you can fix it with <a rel="noreferrer" target="_blank" href="http://avisynth.nl/index.php/FillMargins">FillMargins</a>(left,top,right,bottom). For example, to overwrite one black line on top use <code>FillMargins(0,1,0,0)</code>. <br>
<br>
Generally, you should not use FillMargins on more than one line.<br>
<br>
If the borders of your frame are not black but "dirty" and do not match the rest of the image in brightness, you can fix them using <br>
<code>BalanceBorders(top,bottom,left,right,threshold,blur)</code>. Note that the order of parameters is different from FillMargins. The threshold parameter determines the maximum difference in values that will be corrected, and can often be lowered. Lowering the "blur" parameter will increase the strength of the filter, but will result in artifacts if multiple lines needs fixing so it is best to keep it at default if possible. <br>
<br>
You can still use BalanceBorders after replacing a black line with FillMargins, for example:<br>
<pre class="preformatted-text--scrolled"><br>
FillMargins(0,1,0,0)<br>
BalanceBorders(2,2,1,1,32,999)<br>
</pre><br>
In more difficult cases multiple lines may be dirty and alternate in brightness which tends to confuse BalanceBorders. <br>
<br>
For example, in the following frame six top and bottom rows are dirty:<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="//:0#https://whatimg.com/i/ydhdF4.png" src="https://:0/#https://whatimg.com/i/ydhdF4.png"><br>
<br>
Here is a zoomed fragment of the frame:<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="//:0#https://whatimg.com/i/k4ysxm.png" src="https://:0/#https://whatimg.com/i/k4ysxm.png"><br>
<br>
You can see that the first row is much too dark, second row is too bright, third and fourth a little too dark, fifth a little too bright and sixth again a little too dark. You can try to correct these with FixRowBrightness(row,16,255,16,255).<br>
<br>
To make a row brighter, decrease the third parameter. To make it darker, decrease the fifth one. You need to find the optimal values experimentally. In our example:<br>
<pre class="preformatted-text--scrolled"><br>
fixrowbrightness(0,16,216,16,255) #this is the first row since we start counting at 0<br>
fixrowbrightness(1,16,255,16,237)<br>
fixrowbrightness(2,16,246,16,255)<br>
fixrowbrightness(3,16,252,16,255)<br>
fixrowbrightness(4,16,255,16,253)<br>
fixrowbrightness(5,16,254,16,255)</pre><br>
That will give you the following result:<br>
<strong>Source, Filtered</strong>: <a href="https://ptp.me/wiki.php?action=article&id=231#" onclick="BBCode.ScreenshotComparisonToggleShow( this, ["Source"," Filtered"], ["\/\/:0#https:\/\/whatimg.com\/i\/ydhdF4.png","\/\/:0#https:\/\/whatimg.com\/i\/dD7oFe.png"] ); return false;">Show comparison</a><br>
<br>
Now repeat the same process for the bottom six rows (798, 799, 800, 801, 802 and 803).<br>
<br>
If the dirty lines are vertical, use FixColumnBrightness(row,16,255,16,255) instead.<br>
</blockquote><br>
<br>
<span class="bbcode-size-3">Fix banding</span><strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> <strong>Source, Filtered</strong>: <a href="https://ptp.me/wiki.php?action=article&id=231#" onclick="BBCode.ScreenshotComparisonToggleShow( this, ["Source"," Filtered"], ["\/\/:0#https:\/\/whatimg.com\/i\/mrGu6L.png","\/\/:0#https:\/\/whatimg.com\/i\/Y8aZAk.png"] ); return false;">Show comparison</a><br>
<br>
In this example, banding was fixed with <a rel="noreferrer" target="_blank" href="http://avisynth.nl/index.php/Dither_tools#GradFun3">GradFun3() filter</a>. Another popular one is <a rel="noreferrer" target="_blank" href="https://forum.doom9.org/showthread.php?t=161411">f3kdb()</a>. Since debanding filters are fairly aggressive and increase bitrate due to the added dither, you typically want to apply them only to selected scenes. You can selectively deband and join multiple scenes in the following fashion:<br>
<pre class="preformatted-text--scrolled"><br>
a=f3kdb()<br>
trim(a,0,7854)+trim(7855,8092)+trim(a,8093,8288)+trim(8289,8864)+trim(a,8865,194400)</pre><br>
Read the documentation of each filter and experiment with the parameters to find a suitable setting. <br>
<br>
Note that it is very easy to reintroduce banding if your x264 encoding settings are incorrect. Raising aq-strength and optimizing other parameters might help.<br>
<br>
<strong>Hint:</strong> Debanding with f3kdb should be done as the last step of your script. That means that if you are making a 720p/SD encode, it should be done <em>after </em> resizing (see the next section). If you are debanding with GradFun3, you might want to consider debanding and resizing in 16 bit, then dithering to 8 bit. For example:<br>
<br>
<pre class="preformatted-text--scrolled">Dither_convert_8_to_16()<br>
gradfun3(mode=-1,smode=2,lsb_in=true, lsb=true) #disable dithering at this point with -1<br>
dither_resize16(1280,536,0,0,0,0,kernel="spline36")<br>
ditherpost(mode=6,ampn=0.4) #dither after resizing </pre><br>
</blockquote><br>
<br>
<span class="bbcode-size-3">Fix edge enhancement artifacts</span><strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> <strong>Source, Filtered</strong>: <a href="https://ptp.me/wiki.php?action=article&id=231#" onclick="BBCode.ScreenshotComparisonToggleShow( this, ["Source"," Filtered"], ["\/\/:0#https:\/\/whatimg.com\/i\/PgCZWF.png","\/\/:0#https:\/\/whatimg.com\/i\/KagwWn.png"] ); return false;">Show comparison</a><br>
<br>
In this example, the source displays heavy edge enhancement artifacts in the form of ringing around the edges of objects. Here, it has been improved with <a rel="noreferrer" target="_blank" href="http://avisynth.nl/index.php/HQDering">HQDering()</a>, but other filters worth considering include <a rel="noreferrer" target="_blank" href="http://avisynth.nl/index.php/EdgeCleaner">EdgeCleaner()</a> and <a rel="noreferrer" target="_blank" href="http://avisynth.nl/index.php/HQDering_mod">hqderingmod()</a>. Note that much like with debanding, deringing filters can be fairly strong and should be used with extra care. </blockquote><br>
<br>
<span class="bbcode-size-3">Fix double levels compression</span><strong> </strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> <strong>Source, Filtered</strong>: <a href="https://ptp.me/wiki.php?action=article&id=231#" onclick="BBCode.ScreenshotComparisonToggleShow( this, ["Source"," Filtered"], ["https:\/\/i1.someimage.com\/5nEHJlk.png","https:\/\/i1.someimage.com\/eF4J4vK.png","https:\/\/i1.someimage.com\/hSJ02zd.png","https:\/\/i1.someimage.com\/xihAUFI.png"] ); return false;">Show comparison</a><br>
<br>
In this example, incorrect levels compression was fixed with <a rel="noreferrer" target="_blank" href="https://forum.doom9.org/showthread.php?t=154971">SmoothLevels</a>(preset="tv2pc",chroma=0).smoothtweak(sat=1.1384) This happens if the source was incorrectly mastered with level range compression applied twice. If blacks don't appear to be black, this is the filtering option worth investigating. Make sure to apply this filter only when needed, as the way a movie looks could have been a deliberate decision in post-production rather than a technical mistake.</blockquote><br>
<br>
<span class="bbcode-size-4">Resize</span> <br>
<br>
If you are encoding 1080p, skip this part -- you are not doing any resizing, even if the cropped image is smaller than 1920x1080 (never upscale!).<br>
If you are making a 720p or SD encode, you need to resize it accordingly:<br>
<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/CPCC9R2/sue885.png" src="./Encoding-BluRays-(2016)_files/sue885.png"><br>
<br>
1. Open Resize calculator from the Tools menu.<br>
2. Click configure<br>
3. Set Resize block constraints to 2x2 and change 'Avisynth resize' to 'Spline36ResizeMod(%width%, %height%)', click OK<br>
4. Drag the slider until both the width and height of your scaled picture is either equal or smaller than the maximum dimensions in the table above. Example: 1920x1008 source will scale to 1280x672 but 1410x1080 will scale to 940x720. In other words, it must "fit inside" the maximum size for a given format in the table above.<br>
5. Click Apply<br>
<br>
If you duplicated a single line using FillMargins, you can omit it during scaling. For example, to omit one line on left and one on right side use the following:<br>
<code>Spline36ResizeMod(1278, 720,1,0,-1,0)</code><br>
<br>
You cannot directly remove a single black line this way, as it would still be sampled during resizing and 'dirty up' the adjacent line. That is why in the filtering stage we used FillMargins to get rid of it.<br>
<br>
<strong>Hint: Avisynth chroma resize bug and what is Spline36ResizeMod</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> Avisynth does not correctly resize chroma. To fix that, Darky and Nonshatter came up with a drop-in replacement function for Spline36Resize which correctly scales the required offsets. It is included in the plugin bundle as SplineResizeMod.avsi<br>
</blockquote><br>
<br>
<span class="bbcode-size-6">3. Test video encodes with AvsPmod and Simple x264 Launcher</span><br>
<br>
Once you are happy with your filtering it is time to get started on making test encodes to optimize the x264 settings for your movie. There is no silver bullet here so you will need to evaluate a number of parameters (one at a time) as you compare your test encode to the filtered source.<br>
<br>
Let's start with making a single test encode. At the end of your avisynth script append <a rel="noreferrer" target="_blank" href="http://avisynth.nl/index.php/Select#SelectRangeEvery">SelectRangeEvery</a>(4000,100,10000)<br>
<br>
This will pick 100 continuous frames every 4000 frames omitting the first 10000 frames (opening credits etc). Adjust the first parameter (4000) to get around 3000 frames to work with which are representative of the whole movie. You will want static scenes, high-motion scenes, close-ups, dark scenes and brightly lit scenes. Once you are happy with your choice, save the .avs file, open Simple x264 launcher and select Job - Create job.<br>
<br>
Make sure that the drop down menus are selected as in the screenshot below (click the image to enlarge).<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/VpHXWDM/9jw7p7.png" src="./Encoding-BluRays-(2016)_files/9jw7p7.png"><br>
<br>
For the baseline encoding settings, paste the following line under Custom Encoder Parameters:<br>
<code>--level 41 --vbv-bufsize 78125 --vbv-maxrate 62500 --merange 32 --bframes 16 --deblock -3:-3 --no-fast-pskip --rc-lookahead 250 --qcomp 0.60 --psy-rd 1.00:0.00 --aq-mode 2 --aq-strength 1.00</code><br>
<br>
If you encode at a SD resolution, it is a good idea to append '<code>--colormatrix bt709</code>' to your custom parameters. This will ensure that compatible players will use the correct color matrix for BluRay sourced video. For more background information, check out <a href="https://ptp.me/wiki.php?action=article&id=235" title="Wiki Article">Wiki > How to correct color matrices during playback</a><br>
<br>
For now, let's make a single test encode and compare it to our source. Click Add Job and wait for the encode to finish.<br>
<br>
Once done, open a new tab in avspmod and paste the following:<br>
<pre class="preformatted-text--scrolled"><br>
a=import("E:\workshop\example\example.avs").subtitle("Source", align=8).ffinfo(cfrtime=false,vfrtime=false) #Filtered source<br>
b=ffvideosource("E:\workshop\example\18.mkv").subtitle("Encode crf18", align=8).ffinfo(cfrtime=false,vfrtime=false) # Test encode CRF18<br>
#c=ffvideosource("E:\workshop\example\17.mkv").subtitle("Encode crf17", align=8).ffinfo(cfrtime=false,vfrtime=false)<br>
interleave(a,b)<br>
</pre><br>
Hit F5. Avspmod will annotate the frames and display each frame from the source followed by the respective frame of the encode. You can use the keyboard arrow keys to step through the video one frame at a time. Your objective is to visually compare the quality of 'B-type' frames in the encode to 'P-type' frames in the source in order to find the best settings. <strong>And why's that?</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"><strong>Mael at TC wrote: </strong><blockquote>Well, if you take a particular I-frames of the encode and compare them with the corresponding source frames – you won’t learn a thing. That is because, I-frames are treated with great sanctity; and thus the encoder tries replicates these frames as faithfully w.r.t. the source as possible even when you use a relatively bad setting.<br>
<br>
A B-frame, on the other hand, takes advantage of compression techniques the most – so B-frames are the best indicators.<br>
<br>
When a frame that was P-frame in source [P-frames are space-heavier than B-frames]; but is encoded as a B-frame in encode – such a frame best indicates how much work [or damage] your encoder has done. When a frame that was P in source and B in encode resemble each other – that means that your encoder has created an encode that is very faithful to the source.</blockquote></blockquote><br>
<br>
Having issues with frames not matching between your source and encode (off by 1)? Try downgrading to an earlier version of ffms2 (i.e. 2.20 from <a rel="noreferrer" target="_blank" href="https://github.com/FFMS/ffms2/releases">here</a>).<br>
<br>
But we are going to need much more than one test encode to determine that!<br>
<br>
The first step is to find the optimal bitrate for your video. Make a series of encodes decreasing the CRF value by 1 until your test encode has subjectively the same quality as the source. Now make a series of encodes that increase CRF by 0.2 until you find the bitrate at which the quality begins to degrade. Look in the log of the last satisfactory test encode for the bitrate and note it down. <br>
<br>
The second step is to switch to 2-pass mode and optimize the individual parameters. Create a new job, change 'Mode' to '2-pass' and enter the target bitrate obtained in the previous step. Click Add job - this will be your first reference test encode.<br>
<br>
It is beyond the scope of this guide (and its author competency) to explain the theory behind each parameter that needs to be optimized. If you are interested, read <a href="https://ptp.me/user.php?id=104449">Mosc</a>'s <a rel="noreferrer" target="_blank" href="https://www.dropbox.com/s/hrxjr5xv4q27ipe/x264-guide.pdf">Guide to x264, Detail Loss & Desperation</a>. Meanwhile, the parameters need to be empirically tested anyway.<br>
<br>
Test --qcomp (0.60-0.80 by 0.05 increments), --aq-mode (1,2 or 3), --aq-strength (0.50-1.10 by 0.05 increments), --psy-rd (0.80:0.00-1.15:0.00 by 0.05 increments), and finally psy-trellis (0.00-0.15 by 0.05 increments) changing only one parameter at a time. Once you determine the optimal value for one parameter, keep it and move on to the next one. A well-tested encode will take dozens of tests.<br>
<br>
This is a very thorough approach that should give you a good result. There may be cases where other values outside these ranges may be necessary (e.g. psy-rd 0.35-0.80 for animation), but these are usually more than sufficient. You can test at 0.1 increments and then further at 0.05 increments to save time.<br>
<br>
In addition, test --no-mbtree and --no-dct-decimate. With --no-mbtree you might also want to lower --pbratio. Testing deblock -3-2, -2-2, -2-1 can be useful for SD sources.<br>
<br>
Once you've found the best values for these settings, switch back to CRF mode and test until you find the value which produces the same (or lower) bitrate as your 2 pass encode at the same quality.<br>
<br>
<strong>Hint: What to look for in image comparisons?</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler">This is a contentious issue, and each encoder with time develops his or her own notions of what amounts to transparency. As general guidelines, look for detail loss in highly complex objects (e.g. eyes and surrounding areas), hair, objects out of focus and backgrounds, in dark areas, and in the texture of skin and clothing. You also don't want to introduce banding (e.g. too low aq strength on gradients), ringing (e.g. too high psy-trellis), or soften the grain (e.g. too low psy-rd or incorrect filtering). You will learn to recognize these issues with experience, you are not expected to nail it with your first encode. </blockquote><br>
<br>
You may find that certain scenes require more bitrate, while others consume too much. In that case it is recommended to 'zone' them, that is, adjust the crf value just for selected scenes. In order to do that, add e.g. --zones a,b,crf=15/c,d,crf=16 to the parameters of your final encode, where a and b (or c and d) are the first and last frames of a scene for which you want to override the crf value used for the rest of the movie.<br>
<br>
<span class="bbcode-size-6">4. Final video encode with Simple x264 Launcher</span><br>
<br>
For the final encode, edit your .avs script to remove SelectRangeEvery(), save, and restart x264 Launcher using your optimized settings. The encoding process with the options suggested above will likely take several hours on a reasonably modern 4-core PC. If you have an exceptionally fast machine, or don't care about encoding time, you can add --me tesa --subme 11 to squeeze out the last tiny bit of improvement at the cost of likely doubling the encode time.<br>
<br>
<strong>Hint: What about ref or bframes?</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler">The number of reference frames is automatically determined through the combination of profile, preset and level 4.1 so it is not necessary to calculate it manually. I have not covered optimizing bframes, as x264 will only use as many bframes as it needs, and the time you actively waste making a long test encode trying to determine the optimal value will likely not be recuperated by the shorter encoding time of the final file. </blockquote><br>
<br>
<span class="bbcode-size-6">5. Encode audio with eac3to or DTS-HD Audio Suite</span><br>
<br>
You need to pick an appropriate audio codec for the resolution you want to encode. Refer to the table below:<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/Rc0gkvF/pz1514.png" src="./Encoding-BluRays-(2016)_files/pz1514.png"><br>
<br>
<strong>Note:</strong> 24-bit FLAC should be reduced to 16 bits. See <a href="https://ptp.me/wiki.php?action=article&id=243" title="Wiki Article">Wiki > Audio bit-depth reduction and sample rate conversion</a> for details. <br>
<br>
<span class="bbcode-size-4">Transcoding TrueHD/FLAC to DTS</span> <strong>Spoiler</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> 1. Decode TrueHD/FLAC to wavs<br>
<code>eac3to e:\example\source\input.flac e:\example\source\output.wavs</code><br>
This will create a separate .wav file for each channel. <br>
2. Open DTS-HD Master Audio Suite and select DVD<br>
3. Load the wavs in their respective channels, make sure the frame rate is correct and press Encode<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/hLScgy1/bxpg54.png" src="./Encoding-BluRays-(2016)_files/bxpg54.png"><br>
4. Change the extension of the resulting file to .dts<br>
<br>
<strong>Hint: Downmixing 7.1 to 5.1</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler">If your source is 7.1 and you want to include only 5.1 in your encode, pass '-down6' to eac3to when converting. Otherwise you may opt to include the original 7.1 audio track in your 1080p encode. </blockquote><br>
</blockquote><br>
<span class="bbcode-size-4">Transcoding DTS-HD MA to DTS</span> <strong>Spoiler</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"><br>
If the audio of your source is DTS-HD MA you can skip encoding with DTS-HD Master Audio Suite and simply extract the DTS core.<br>
Find out the number of the audio track, and extract it directly like this:<br>
<pre class="preformatted-text--scrolled"><br>
eac3to.exe e:\example\BDMV\PLAYLIST\01000.mpls <br>
M2TS, 2 video tracks, 3 audio tracks, 5 subtitle tracks, 1:42:55, 62.856p<br>
1: Chapters, 20 chapters<br>
2: h264/AVC, 1080p24 /1.001 (16:9)<br>
3: h264/AVC, 480p24 /1.001 (20:11)<br>
4: DTS Master Audio, English, 5.1 channels, 16 bits, 48kHz, -11ms<br>
(core: DTS, 5.1 channels, 1509kbps, 48kHz)</pre><br>
Here, the audio track we want is number 4.<br>
<code>eac3to e:\example\BDMV\PLAYLIST\01000.mpls 4: e:\example\source\output.dts -core</code><br>
</blockquote><br>
<span class="bbcode-size-4">Transcoding to AC3 </span> <strong>Spoiler</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler">For 720p/640kbps audio:<br>
<code>eac3to e:\example\source\input.flac e:\example\source\output.ac3 -640</code><br>
For SD/448kbps audio:<br>
<code>eac3to e:\example\source\input.flac e:\example\source\output.ac3 -448</code><br>
<br>
If you want to create higher quality AC3 files, check out <a href="https://ptp.me/wiki.php?action=article&id=242" title="Wiki Article">Wiki > How to encode AC3 with Sony Sound Forge</a><br>
</blockquote><br>
<span class="bbcode-size-4">Transcoding to AAC </span><strong>Spoiler</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"><code>eac3to e:\example\source\input.flac e:\example\source\output.aac -quality=1.0</code><br>
<br>
Commentary tracks require much lower bitrate and can be encoded at ~96kbps or less (approximately -quality=0.4 in eac3to). For better quality at lower bitrates, consider using qaac as described in <a href="https://ptp.me/wiki.php?action=article&id=240" title="Wiki Article">Wiki > How to encode AAC with qaac</a>.</blockquote><br>
<br>
<span class="bbcode-size-6">6. OCR subtitles with Suprip and SubtitleEdit</span><br>
<br>
Subtitles on a BluRay are saved in a bitmap format (PGS). They need to be OCR'd to a text file before you can include them in the final encode.<br>
<br>
1. Open Suprip. Click Open... and load your .sup file that was extracted with eac3to. <br>
2. Tick 'Automatically continue with next subtitle'<br>
3. Press Ctrl-O. SupRip will show you the first character it is unable to identify. Enter that character(s), into the box next to the OK button. Hit Enter to display the next character that SupRip can't identify. <br>
<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/dptHzrq/9z3x77.png" src="./Encoding-BluRays-(2016)_files/9z3x77.png"><br>
<br>
3. Repeat until you reach the end of the subtitles. Remember to make use of the Italic checkbox when necessary.<br>
4. When you are done, click the SRT tab and save your .srt file. <br>
5. Open your .srt file in SubtitleEdit.<br>
6. Go to Tools - Fix common errors and select the following options:<br>
<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/Lg6JCrQ/33dycc.png" src="./Encoding-BluRays-(2016)_files/33dycc.png"><br>
7. Click Next, select the errors you want to fix, and click Apply selected fixes.<br>
8. Go to Spell check - Spell check, select the correct language dictionary, and correct any remaining typos<br>
<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/2KKm0Kr/xvi167.png" src="./Encoding-BluRays-(2016)_files/xvi167.png"><br>
<br>
9. Save the corrected .srt file<br>
<br>
It is recommended to watch the movie with the ripped and corrected subtitles as some typos may slip through the process described above.<br>
<br>
Note that Suprip may crash on certain subtitles. As an alternative, consider using subextractor.<br>
<br>
<span class="bbcode-size-6">7. Prepare chapters</span><br>
<br>
You have obtained the chapter list when you extracted the source. The file will be called 'demux - Chapters.txt'. Open it to preview it.<br>
Likely, the chapters will lack proper titles and contain timecodes only. Your options here are rather limited.<br>
<br>
<ul><li>Check the BluRay menu using a commercial player or software. You might have some luck with VLC but it handles the menus poorly.</li><li>Check <a rel="noreferrer" target="_blank" href="http://chapterdb.org/browse">http://chapterdb.org/browse</a> to see if the chapters for your movie have been submitted.</li><li>Check other encodes & online listings to see if the chapter list is available elsewhere.</li></ul><br>
<br>
If you find the chapter titles, edit the text file accordingly and save it in UTF-8 encoding.<br>
<br>
<span class="bbcode-size-6">8. Mux it all together with mkvmerge GUI</span><br>
<br>
Time to put everything together using mkvmerge GUI.<br>
<br>
1. Open mkvmerge GUI<br>
2. Go to Muxing - Add command line options<br>
3. Paste the following line under 'Command line options' to ensure maximum compatibility with standalone players and older software:<br>
<code> --engage no_cue_duration,no_cue_relative_position,no_simpleblocks --clusters-in-meta-seek --disable-lacing</code><br>
4. Tick 'Save as default' and click OK<br>
5. Drag the encoded files (video, audio & subtitles) to Input files<br>
6. For each track set the correct language. <br>
7. If you have multiple audio tracks, set the main track to 'default: yes'<br>
8. If the default audio track is foreign, set English subtitles to 'default: yes' <strong>Hint: What about forced subs?</strong>: <a href="javascript:void(0);" onclick="BBCode.spoiler(this);">Show</a><blockquote class="hidden spoiler"> In movies that are predominantly in English but feature scenes with foreign languages, a special subtitle track called 'forced subs' for only those scenes can be included on the BluRay. For compatibility reasons don't use the forced flag in mkvmerge, set them to 'default: yes' instead. </blockquote><br>
9. Set Track names for special tracks as necessary (commentary audio, Atmos track, hard-of-hearing subtitles etc.)<br>
<img class="bbcode__image" onclick="lightbox.init(this,500);" alt="https://i.ibb.co/mtqsY3Q/4hk11g.png" src="./Encoding-BluRays-(2016)_files/4hk11g.png"><br>
10. Switch to 'Global' tab<br>
11. Load your chapters file and select the correct language and UTF-8 encoding<br>
12. Set the output file name to Movie.Year.Resolution.BluRay.x264.Audio.Channels.mkv and click Start Muxing<br>
<br>
At this point your encoding work is done, congratulations! Make final checks to ensure you didn't make a mistake somewhere -- watching the complete encode is always a good idea (if you are not sick of it yet). Once that's done, <a href="https://ptp.me/wiki.php?action=article&id=55">create a torrent</a> and <a href="https://ptp.me/wiki.php?action=article&id=56">upload it</a>!<br>
<br>
<span class="bbcode-size-6">Appendix 1: Special cases</span><br>
<br>
<em>Note:</em> Many tools mentioned in this section are not included in the plugin pack.<br>
<br>
<span class="bbcode-size-4">1. <em>"My source is interlaced."</em></span><br>
A vast majority of BluRays is progressive (1080p), however, you may happen across a 1080i file with a framerate of 50 or 60fps and visibly misaligned odd and even lines. If you want to encode it to 720p resolution it is recommed to deinterlace it at the beginning of your script:<br>
<code> QTGMC("medium")</code><br>
If you want to encode it to 1080p, you need to consider that <a rel="noreferrer" target="_blank" href="https://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Levels">Level 4.1</a> which is targeted on PTP for compatibility with hardware players allows for a maximum of 30 frames at 1080p. In this case, you may want to consider encoding 720p60/720p50, or decimating your deinterlaced source to 30/25fps for some loss of the temporal resolution:<br>
<code> QTGMC("medium").SelectEven()</code><br>
<br>
If you are having trouble seeking in the interlaced source with ffms2, consider using DGDecNV/DGAVCDecDi. <br>
<br>
<span class="bbcode-size-4">2. <em>"My source says it's interlaced, but it is not."</em></span><br>
The <a rel="noreferrer" target="_blank" href="https://en.wikipedia.org/wiki/Blu-ray#Video">Blu-ray standard</a> does not allow for 1080p25. Some Blu-rays may use what's called a 'fake interlace' where progressive content is tagged as interlaced. In that case, a Blu-ray may appear to be 1080i50, but in fact have duplicated progressive frames. Step through your video in avisynth to verify that. If that's the case, you can decimate the duplicated frames with SelectEven() and treat the source as progressive.<br>
<br>
<span class="bbcode-size-4">3. <em>"My source is encoded with VC-1."</em></span><br>
Make sure that the VC-1 source is your only option, as often VC-1 is inferior to AVC releases. If you need to encode a VC-1 source, you need to use a different decoder than ffms2.<br>
<br>
If you have a NVIDIA gpu, it's recommended to use DGDecNV. For an AMD card you can try DGAVCDecDI + DiAVC. If that fails, you can try to use dss2mod + ffdshow.<br>
<br>
<span class="bbcode-size-4">4. <em>"My source uses MBAFF."</em></span><br>
With MBAFF encoding, each macroblock can be either progressive or interlaced. It's recommended to use a decoder which plays nice with MBAFF/PAFF streams, to be on the safe side use DGDecNV/DGAVCDecDI. A correctly decoded source can be then deinterlaced with QTGMC.<br>
<br>
<em>With thanks to the creators of the original guides, <a class="username" href="https://ptp.me/user.php?id=47720">nonshatter</a>, <a class="username" href="https://ptp.me/user.php?id=100786">Darky</a>, <a class="username" href="https://ptp.me/user.php?id=104449">Mosc</a>, <a class="username" href="https://ptp.me/user.php?id=105029">F00D</a> and all the lurkers in #ptp-encoding.</em></div>
</div>
</div>
</div>
</div>
</div>
<div id="lightbox" class="lightbox hidden" tabindex="-1"></div>
<div id="lightbox__shroud" class="lightbox__shroud hidden"></div>
<!-- Extra divs, for stylesheet developers to add imagery -->
<div id="extra1"><span></span></div>
<div id="extra2"><span></span></div>
<div id="extra3"><span></span></div>
<div id="extra4"><span></span></div>
<div id="extra5"><span></span></div>
<div id="extra6"><span></span></div>
</body></html>