Username:
B
I
U
S
"
url
img
#
code
sup
sub
font
size
color
smiley
embarassed
thumbsup
happy
Huh?
Angry
Roll Eyes
Undecided
Lips Sealed
Kiss
Cry
Grin
Wink
Tongue
Shocked
Cheesy
Smiley
Sad
<- 1  -   of 69 ->
--
--
List results:
Search options:
Use \ before commas in usernames
Edit history:
ballofsnow: 2009-09-19 01:30:34 pm
Quote from nate:
also we need to allow people to add commentary to old runs since this seems like a popular thing to do now.

Need to figure out a way to strip the statID from a video and re-append a statID that declares the ac track without doing a complete re-encode. Can you think of a feasible way of doing this?

Some ideas:

1 - Manually add keyframes at the beginning/end of the statid to allow for precise splitting. Not sure how audio is affected. Downside, iirc, is that the scene change algorithm either doesn't work properly or is disabled altogether. Possible audio desync because of AAC+AAC+AAC.

2 - Encode the statID separately, then append later. This should have the same effect as the above but without the scene change thing. Downside is possible audio desync because of AAC+AAC+AAC.

3 - Above idea, except the statID contains no audio. When appending, set a positive 5 second delay to the main AAC track. Downside, break compatibility with media players, hardware devices????


Quote:
snow, is there anything i need to know about making the installer?

Nah, it's basically a file extractor other than installing Lagarith and initiating the AviSynth installer.
we have lift off
Quote:
Need to figure out a way to strip the statID from a video and re-append a statID that declares the ac track without doing a complete re-encode. Can you think of a feasible way of doing this?


I am no expert at encoding, however, I have got pretty good at it while sorting my segmented run out (spending horrible amounts of time). I left the statid until right at the end so I did it via the second method you suggested. There is no audio desync because I used vegas (my saviour!) again to match the blank audio track to the statid video track. I had to mux in two audio tracks for the statid so that it fitted together with the 2 audio tracks of the run file. I still have the statid files for all 3 qualities though that is using 1 audio track at 48000hz and another at 44100hz to match my audio tracks. I also have both of the audio track files that I muxed into the video of the statid. I don't know if it would be any help to give you these files but basically maybe you can just my audio tracks which don't have any desync to create template statid files which you can then use? Hope that is of some help.
yeah, i thought about the statid thing, but decided it was too difficult. people usually know when they submit whether they are adding commentary, so it's only a problem with old stuff, anyway.
Bah. Just tested idea #3 on my PS3. It doesn't recognize the delay. VLC and Quicktime is ok though.
Duno if this has already been noticed. If HQ has a lower-than-target bitrate, IQ will be skipped even if it has a higher resolution such as 800x600.
Quote from ballofsnow:
1 - Manually add keyframes at the beginning/end of the statid to allow for precise splitting. Not sure how audio is affected. Downside, iirc, is that the scene change algorithm either doesn't work properly or is disabled altogether. Possible audio desync because of AAC+AAC+AAC.


Not sure if it's still relevant but x264 has an option just for that: --qpfile

To force frames 75 and 1666 to be keyframes, use --qpfile bah.txt where bah.txt contains:
75 I -1
1666 I -1

I haven't been following SDA's latest developments but from what I see from downloaded videos the options seem to be a little bit obsolete/suboptimal. For example qpmin 17/19 is an old relic that actually hurts quite a bit since AQ was introduced ages ago (it causes smooth dark areas to be rather murky). subme=6 + trellis=2 doesn't make much sense (subme=6 is very low, trellis=2 is overkill in comparison). And then there's the issue with using very old x264 builds...

Recently x264 introduced very sensible default values and a preset system (--preset whatever), you might want to take a look at what options it picks to have a starting point (the only option I'd maybe suggest changing from the default presets would be qcomp, raising it a little if you want more constant quality). Of course feel free to experiment. If you want to check out what the presets do manually, just check out x264.c. And a word of warning: they do set bframes and refs, so if you want these bound you'd have to specify them manually for maximum safety (--preset veryslow -r 3 -b 5 for example).
yeah, going with a much newer x264 with anri 4. i already use it so you may have seen it pop up here and there. thanks for the input on the other options. i guess we'll have to overhaul the qualities before the final release of anri 4. it ain't 2006 anymore after all.
So I'm running Windows 7 Pro x64 now, fired up the Anri 3b4 installer and found a bug with NMF and lagarith.ini.

First the code:
Code:
REM Set lagarith to yv12
IF DEFINED LOCALAPPDATA (
  REM Vista
  ECHO [settings] > "%LOCALAPPDATA%\VirtualStore\Windows\lagarith.ini"
  ECHO lossy_option=3 >> "%LOCALAPPDATA%\VirtualStore\Windows\lagarith.ini"
) ELSE (
  ECHO [settings] > %WINDIR%\lagarith.ini
  ECHO lossy_option=3 >> %WINDIR%\lagarith.ini
)


The path is the same as in Vista, however something I didn't catch when I wrote above code is that the windows folder may not exist. I caught it now because I did zero video editing until now, and the windows folder was not created.

Easy fix.. just check if the windows folder exists, if it doesn't, create it.
Some widescreen code in Anri3b4. Not sure if it breaks any hardware.

http://speeddemosarchive.com/w/index.php?title=Anri-chan/Source/anri.bat&curid=1498&diff=4156&oldid=4155
do you think that's ready for a 3b5 release? if so i say we (you ;-[) do it ...
Edit history:
ballofsnow: 2009-11-01 02:24:14 pm
It'd be nice to add the widescreen/audio commentary features and a couple bug fixes. We'll see..

Any reason to still ask if the user wants to encode xvid? Do people still use it?


edit - How close are you to the first release of Anri 4? I probably won't bother with audio commentary. I mainly want to fix a few bugs and update the x264 args.
Edit history:
RadxxRyan: 2009-11-01 06:42:39 pm
Hello. I'm about 3/4 of the way through my glitched run of Tomb Raider 3. I decided to try out anri-chan and encode the first level of my run. I'm playing on the US Playstation version (NTSC). And using a DVD recorder. I ripped the DVD to anri-chan, created new project, and encoded all qualities (low, normal, high). Then I went to review the qualities in the 'finished' folder and while the picture is clear, it is quite dark. Tomb Raider on the PS is fairly dark as it is, but I always make sure brightness/contrast on my TV is set properly. Should I just use v-dub on the encoded files and simply increase the brightness? That's what I do when I upload to Youtube.

Here's a sample of the xvid normal quality:
http://www.yousendit.com/transfer.php?action=download&ufid=YkxKSmJ6aytCTW5IRGc9PQ

EDIT: And I somehow missed the section about video cables and SDA preferring the S-Video cable. I only have the yellow/white/red cable. I don't know if that makes a difference with the darkness.
it may. thing is though anri doesn't do anything to the brightness/cont by default so you'll have to add a filter for that if you want it to do that. to do that, open up c:\program files\anrichan_3b4\nate.avs in notepad, replace this:

Code:
function nate_vhs_head_change_erase(last) {
croppy=10
Crop(0,0,0,last.height-croppy).AddBorders(0,0,0,croppy)
}


with this:

Code:
function nate_vhs_head_change_erase(last) {
tweak(bright=20, cont=1.2)
}


save, close, and make a new project and encode again, this time saying "yes" to the vhs question. instead of processing for vhs it will increase the brightness. you can play with the values - http://avisynth.org/oldwiki/index.php?page=Tweak has a little tutorial. i just put in there what made that chinese picture look good. if you don't want it to do the filter you can just say "no" to the vhs question.

btw we no longer accept divx avi, just fyi.
Quote from ballofsnow:
It'd be nice to add the widescreen/audio commentary features and a couple bug fixes. We'll see..

Any reason to still ask if the user wants to encode xvid? Do people still use it?


edit - How close are you to the first release of Anri 4? I probably won't bother with audio commentary. I mainly want to fix a few bugs and update the x264 args.


the xvid thing has been on my mind for a long time. thing is we can't remove features. we can potentially hide features but anri is just so clunky that it's hard to see how we would do that while making it easy to reenable. the best thing i can think of is the underused config file ... dunno what you think about doing it that way.

i want to get anri 4 alpha 1 out by the end of the month. if this means leaving planned features out then so be it. though now that you've written widescreen code i can just port that to anri 4 and it will be easier than trying to decide for myself how to do it. the core of anri 4 is just your exact same ideas and algos reimplemented in perl so this will be no different (except that i'm approximately 433289328238x better at writing perl now than i was when i was writing anri 4 originally over a year ago).

updating x264 args is very good. if there are compatibility problems with anri 4 then we want people to be able to update to an anri 3 that is somewhat less archaeological in nature.
Quote from nate:
it may. thing is though anri doesn't do anything to the brightness/cont by default so you'll have to add a filter for that if you want it to do that. to do that, open up c:\program files\anrichan_3b4\nate.avs in notepad, replace this:

Code:
function nate_vhs_head_change_erase(last) {
croppy=10
Crop(0,0,0,last.height-croppy).AddBorders(0,0,0,croppy)
}


with this:

Code:
function nate_vhs_head_change_erase(last) {
tweak(bright=20, cont=1.2)
}


save, close, and make a new project and encode again, this time saying "yes" to the vhs question. instead of processing for vhs it will increase the brightness. you can play with the values - http://avisynth.org/oldwiki/index.php?page=Tweak has a little tutorial. i just put in there what made that chinese picture look good. if you don't want it to do the filter you can just say "no" to the vhs question.

btw we no longer accept divx avi, just fyi.


Thanks. Ewil told me about the tweak code. And told me to increase brightness to 4 and I'll see how that looks. I actually did read about no longer accepting divx I just wanted to show a quick sample, should I just encode all other qualities except for divx?
correct.
Edit history:
ballofsnow: 2009-11-08 05:33:41 pm
I downloaded a recent version of x264 (core:78 r1318 fe83a90) and came up with some command lines. I took a shortcut and copied the command lines from MeGUI's ipod and ps3/xbox360 profiles, then made some minor changes based on some info I read from the following pages:

http://speeddemosarchive.com/forum/index.php/topic,10512.0.html
http://mewiki.project357.com/wiki/X264_Settings
x264.exe --fullhelp
Code:
x264 core:78 r1318 fe83a90
Syntax: x264 [options] -o outfile infile [widthxheight]

Infile can be raw YUV 4:2:0 (in which case resolution is required),
  or YUV4MPEG 4:2:0 (*.y4m),
  or AVI or Avisynth if compiled with AVIS support (yes).
Outfile type is selected by filename:
 .264 -> Raw bytestream
 .mkv -> Matroska
 .mp4 -> MP4 if compiled with GPAC support (yes)

Options:

  -h, --help                  List basic options
      --longhelp              List more options
      --fullhelp              List all options

Example usage:

      Constant quality mode:
            x264 --crf 24 -o output input

      Two-pass with a bitrate of 1000kbps:
            x264 --pass 1 --bitrate 1000 -o output input
            x264 --pass 2 --bitrate 1000 -o output input

      Lossless:
            x264 --crf 0 -o output input

      Maximum PSNR at the cost of speed and visual quality:
            x264 --preset placebo --tune psnr -o output input

      Constant bitrate at 1000kbps with a 2 second-buffer:
            x264 --vbv-bufsize 2000 --bitrate 1000 -o output input

Presets:

      --profile               Force H.264 profile [high]
                                  Overrides all settings
                                  - baseline,main,high
      --preset                Use a preset to select encoding settings [medium]
                                  Overridden by user settings
                                  - ultrafast,veryfast,faster,fast,medium
                                  - slow,slower,veryslow,placebo
      --tune                  Tune the settings for a particular type of source
                                  Overridden by user settings
                                  - film,animation,grain,psnr,ssim
                                  - fastdecode,touhou
      --slow-firstpass        Don't use faster settings with --pass 1

Frame-type options:

  -I, --keyint <integer>      Maximum GOP size [250]
  -i, --min-keyint <integer>  Minimum GOP size [25]
      --no-scenecut           Disable adaptive I-frame decision
      --scenecut <integer>    How aggressively to insert extra I-frames [40]
  -b, --bframes <integer>     Number of B-frames between I and P [3]
      --b-adapt               Adaptive B-frame decision method [1]
                                  Higher values may lower threading efficiency.
                                  - 0: Disabled
                                  - 1: Fast
                                  - 2: Optimal (slow with high --bframes)
      --b-bias <integer>      Influences how often B-frames are used [0]
      --b-pyramid <string>    Keep some B-frames as references [none]
                                  - none: Disabled
                                  - strict: Strictly hierarchical pyramid
                                  - normal: Non-strict (not Blu-ray compatible)
      --no-cabac              Disable CABAC
  -r, --ref <integer>         Number of reference frames [3]
      --no-deblock            Disable loop filter
  -f, --deblock <alpha:beta>  Loop filter parameters [0:0]
      --slices <integer>      Number of slices per frame; forces rectangular
                              slices and is overridden by other slicing options
      --slice-max-size <integer> Limit the size of each slice in bytes
      --slice-max-mbs <integer> Limit the size of each slice in macroblocks
      --interlaced            Enable pure-interlaced mode
      --constrained-intra     Enable constrained intra prediction.

Ratecontrol:

  -q, --qp <integer>          Force constant QP (0-51, 0=lossless)
  -B, --bitrate <integer>     Set bitrate (kbit/s)
      --crf <float>           Quality-based VBR (0-51, 0=lossless) [23.0]
      --rc-lookahead <integer> Number of frames for frametype lookahead [40]
      --vbv-maxrate <integer> Max local bitrate (kbit/s) [0]
      --vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0]
      --vbv-init <float>      Initial VBV buffer occupancy [0.9]
      --qpmin <integer>       Set min QP [10]
      --qpmax <integer>       Set max QP [51]
      --qpstep <integer>      Set max QP step [4]
      --ratetol <float>       Tolerance of ABR ratecontrol and VBV [1.0]
      --ipratio <float>       QP factor between I and P [1.40]
      --pbratio <float>       QP factor between P and B [1.30]
      --chroma-qp-offset <integer>  QP difference between chroma and luma [0]
      --aq-mode <integer>     AQ method [1]
                                  - 0: Disabled
                                  - 1: Variance AQ (complexity mask)
                                  - 2: Auto-variance AQ (experimental)
      --aq-strength <float>   Reduces blocking and blurring in flat and
                              textured areas. [1.0]

  -p, --pass <1|2|3>          Enable multipass ratecontrol
                                  - 1: First pass, creates stats file
                                  - 2: Last pass, does not overwrite stats file
                                  - 3: Nth pass, overwrites stats file
      --stats <string>        Filename for 2 pass stats ["x264_2pass.log"]
      --no-mbtree             Disable mb-tree ratecontrol.
      --qcomp <float>         QP curve compression [0.60]
      --cplxblur <float>      Reduce fluctuations in QP (before curve compression) [20.0]
      --qblur <float>         Reduce fluctuations in QP (after curve compression) [0.5]
      --zones <zone0>/<zone1>/...  Tweak the bitrate of regions of the video
                              Each zone is of the form
                                  <start frame>,<end frame>,<option>
                                  where <option> is either
                                      q=<integer> (force QP)
                                  or  b=<float> (bitrate multiplier)
      --qpfile <string>       Force frametypes and QPs for some or all frames
                              Format of each line: framenumber frametype QP
                              QP of -1 lets x264 choose. Frametypes: I,i,P,B,b.
                              QPs are restricted by qpmin/qpmax.

Analysis:

  -A, --partitions <string>   Partitions to consider ["p8x8,b8x8,i8x8,i4x4"]
                                  - p8x8, p4x4, b8x8, i8x8, i4x4
                                  - none, all
                                  (p4x4 requires p8x8. i8x8 requires --8x8dct.)
      --direct <string>       Direct MV prediction mode ["spatial"]
                                  - none, spatial, temporal, auto
      --no-weightb            Disable weighted prediction for B-frames
      --me <string>           Integer pixel motion estimation method ["hex"]
                                  - dia: diamond search, radius 1 (fast)
                                  - hex: hexagonal search, radius 2
                                  - umh: uneven multi-hexagon search
                                  - esa: exhaustive search
                                  - tesa: hadamard exhaustive search (slow)
      --merange <integer>     Maximum motion vector search range [16]
      --mvrange <integer>     Maximum motion vector length [-1 (auto)]
      --mvrange-thread <int>  Minimum buffer between threads [-1 (auto)]
  -m, --subme <integer>       Subpixel motion estimation and mode decision [7]
                                  - 0: fullpel only (not recommended)
                                  - 1: SAD mode decision, one qpel iteration
                                  - 2: SATD mode decision
                                  - 3-5: Progressively more qpel
                                  - 6: RD mode decision for I/P-frames
                                  - 7: RD mode decision for all frames
                                  - 8: RD refinement for I/P-frames
                                  - 9: RD refinement for all frames
                                  - 10: QP-RD - requires trellis=2, aq-mode>0
      --psy-rd                Strength of psychovisual optimization ["1.0:0.0"]
                                  #1: RD (requires subme>=6)
                                  #2: Trellis (requires trellis, experimental)
      --no-psy                Disable all visual optimizations that worsen
                              both PSNR and SSIM.
      --no-mixed-refs         Don't decide references on a per partition basis
      --no-chroma-me          Ignore chroma in motion estimation
      --no-8x8dct             Disable adaptive spatial transform size
  -t, --trellis <integer>     Trellis RD quantization. Requires CABAC. [1]
                                  - 0: disabled
                                  - 1: enabled only on the final encode of a MB
                                  - 2: enabled on all mode decisions
      --no-fast-pskip         Disables early SKIP detection on P-frames
      --no-dct-decimate       Disables coefficient thresholding on P-frames
      --nr <integer>          Noise reduction [0]

      --deadzone-inter <int>  Set the size of the inter luma quantization deadzone [21]
      --deadzone-intra <int>  Set the size of the intra luma quantization deadzone [11]
                                  Deadzones should be in the range 0 - 32.
      --cqm <string>          Preset quant matrices ["flat"]
                                  - jvt, flat
      --cqmfile <string>      Read custom quant matrices from a JM-compatible file
                                  Overrides any other --cqm* options.
      --cqm4 <list>           Set all 4x4 quant matrices
                                  Takes a comma-separated list of 16 integers.
      --cqm8 <list>           Set all 8x8 quant matrices
                                  Takes a comma-separated list of 64 integers.
      --cqm4i, --cqm4p, --cqm8i, --cqm8p
                              Set both luma and chroma quant matrices
      --cqm4iy, --cqm4ic, --cqm4py, --cqm4pc
                              Set individual quant matrices

Video Usability Info (Annex E):
The VUI settings are not used by the encoder but are merely suggestions to
the playback equipment. See doc/vui.txt for details. Use at your own risk.

      --overscan <string>     Specify crop overscan setting ["undef"]
                                  - undef, show, crop
      --videoformat <string>  Specify video format ["undef"]
                                  - component, pal, ntsc, secam, mac, undef
      --fullrange <string>    Specify full range samples setting ["off"]
                                  - off, on
      --colorprim <string>    Specify color primaries ["undef"]
                                  - undef, bt709, bt470m, bt470bg
                                    smpte170m, smpte240m, film
      --transfer <string>     Specify transfer characteristics ["undef"]
                                  - undef, bt709, bt470m, bt470bg, linear,
                                    log100, log316, smpte170m, smpte240m
      --colormatrix <string>  Specify color matrix setting ["undef"]
                                  - undef, bt709, fcc, bt470bg
                                    smpte170m, smpte240m, GBR, YCgCo
      --chromaloc <integer>   Specify chroma sample location (0 to 5) [0]

Input/Output:

  -o, --output                Specify output file
      --sar width:height      Specify Sample Aspect Ratio
      --fps <float|rational>  Specify framerate
      --seek <integer>        First frame to encode
      --frames <integer>      Maximum number of frames to encode
      --level <string>        Specify level (as defined by Annex A)

  -v, --verbose               Print stats for each frame
      --no-progress           Don't show the progress indicator while encoding
      --quiet                 Quiet Mode
      --psnr                  Enable PSNR computation
      --ssim                  Enable SSIM computation
      --threads <integer>     Force a specific number of threads
      --thread-input          Run Avisynth in its own thread
      --sync-lookahead <integer> Number of buffer frames for threaded lookahead
      --non-deterministic     Slightly improve quality of SMP, at the cost of repeatability
      --asm <integer>         Override CPU detection
      --no-asm                Disable all CPU optimizations
      --visualize             Show MB types overlayed on the encoded video
      --dump-yuv <string>     Save reconstructed frames
      --sps-id <integer>      Set SPS and PPS id numbers [0]
      --aud                   Use access unit delimiters


I tried to leave out arguments that were of default values.

Code:
:2pass
"%anri_dir%x264.exe" --profile high     --level 4.1 --pass 1 --bitrate %3 --stats "%2.stats" --thread-input            --b-adapt 2 --direct auto         --qpmin %5 --vbv-bufsize 24000 --vbv-maxrate 24000 --no-mbtree                                                                   --no-mixed-refs --output blablabla
"%anri_dir%x264.exe" --profile high     --level 4.1 --pass 2 --bitrate %3 --stats "%2.stats" --thread-input            --b-adapt 2 --direct auto         --qpmin %5 --vbv-bufsize 24000 --vbv-maxrate 24000 --no-mbtree --me umh                                              --trellis 2                 --output blablabla

:ipod
"%anri_dir%x264.exe" --profile baseline --level 1.3 --pass 1 --bitrate %3 --stats "%2.stats" --thread-input --no-cabac                                   --qpmin %5 --vbv-bufsize 768   --vbv-maxrate 768   --no-mbtree                                                                   --no-mixed-refs --output blablabla
"%anri_dir%x264.exe" --profile baseline --level 1.3 --pass 2 --bitrate %3 --stats "%2.stats" --thread-input --no-cabac                           --ref 1 --qpmin %5 --vbv-bufsize 768   --vbv-maxrate 768   --no-mbtree --me umh --partitions p8x8,b8x8,i4x4,p4x4 --no-8x8dct --trellis 0 --no-mixed-refs --output blablabla


Going to test this out, see if it breaks anything... edit- seems fine on my ps3.

Nate, any thoughts?



Quote from ballofsnow:
Some widescreen code in Anri3b4. Not sure if it breaks any hardware.

fyi, I tested on my ipod nano 3rd gen; PAR on the container as well as PAR on the video stream both work. Code is currently set for PAR on the container since you wouldn't have to re-encode the whole thing if it needs to be changed.
i don't see anything that jumps out at me. a good way to test this would be to post links to a test video encoded in all five qualities using the new settings in the sda forum or gaming or wherever people will see it and ask "can you play this?" if we get any negatives we can back off - otherwise it will be time to integrate into both anris and my encoding system (which is still pre-anri, legacy of your batch files).

that's a great wiki page btw.
Fucking Weeaboo
Quote from ballofsnow:
It'd be nice to add the widescreen/audio commentary features and a couple bug fixes. We'll see..

Any reason to still ask if the user wants to encode xvid? Do people still use it?


On the rare occassion that I need to do subtitles, yes I do.  Given the fact that VirtualDub refuses to open MP4...
nate, good idea for x264 test.


Added a note in anri about xvid:

very nice.
vdub's RunNullVideoPass is useful.

Added a movie source verification section. It loads a 1 frame avs into nullvideopass and checks the errorlevel. Will also be used to extract media info using avisynth writefile function.



Can you think of anything else to add to possible causes?
cool ... can't think of anything else off the top of my head.
What do you think of assimilating (loosely) the SDTV/HDTV standard into HQ/IQ/XQ? HQ would stay the same, but IQ would be maximum 720p and XQ maximum 1080p. We could leave XQ as native res, but it might not be future proof.
i don't have a problem with that. max height of iq would be easy to remember and seem logical to people using the software. i agree about xq not having a maximum resolution though.