IPB

Welcome Guest ( Log In | Register )

Testing for HF Boost in uncoupled stereo
QuantumKnot
post Feb 3 2004, 03:48
Post #1





Group: Developer
Posts: 1245
Joined: 16-December 02
From: Australia
Member No.: 4097



I need some people to test out this special compile of oggenc where q 2 to 10 now all use uncoupled stereo. There is a theory that point stereo is causing high frequency reverberations to concentrate toward the centre, leading to a distinct 'boost.

Download the oggenc at http://www.hydrogenaudio.org/forums/index....ndpost&p=179808

Test it on samples where you can distinctly hear the infamous high frequency boost in Vorbis, starting from q 2 and above, and compare with the official 1.0.1. Report your results here, describing:

- whether the HF boost is still there or not
- whether it has changed in nature, behaviour, etc.
- is it higher or lower?
- any other types of noise?
etc.

Please note that this oggenc is purely for testing only and the vendor tag has the word 'uncoupled'.

This post has been edited by QuantumKnot: Feb 3 2004, 03:52
Go to the top of the page
+Quote Post
 
Start new topic
Replies
QuantumKnot
post Feb 14 2004, 03:46
Post #2





Group: Developer
Posts: 1245
Joined: 16-December 02
From: Australia
Member No.: 4097



I've made a different modification to force lossless stereo coupling.

In psy.c, we have (line 1116)

QUOTE
if(l<sliding_lowpass){
  if((l>=limit && fabs(rM[l])<postpoint && fabs(rA[l])<postpoint) ||
        (fabs(rM[l])<prepoint && fabs(rA[l])<prepoint)){


    precomputed_couple_point(mag_memo[i][l],
        floorM[l],floorA[l],
        qM+l,qA+l);

    if(rint(qM[l])==0.f)acc+=qM[l]*qM[l];
  }else{
      couple_lossless(rM[l],rA[l],qM+l,qA+l);
  }


Essentially this is a mix of lossless and pont stereo where if the first condition is true, it uses the point coupling function, which at first glance, seems to set the angle to 0 (no diffuse information)

QUOTE
static void precomputed_couple_point(float premag,
      int floorA,int floorB,
      float *mag, float *ang){
 
  int test=(floorA>floorB)-1;
  int offset=31-abs(floorA-floorB);
  float floormag=hypot_lookup[((offset<0)-1)&offset]+1.f;

  floormag*=FLOOR1_fromdB_INV_LOOKUP[(floorB&test)|(floorA&(~test))];

  *mag=premag*floormag;
  *ang=0.f;
}


Anyway, what I've done in the first code snippet is comment out everything except the couple_lossless() function, so it should use lossless coupling every time. smile.gif

I've uploaded a binary at http://www.hydrogenaudio.org/forums/index....ndpost&p=184474

Not much noticeable change compared to my first modification. Compared with the uncoupled/dual stereo version that nyaochi made, it seems (just from coding a few examples) lossless coupling only produces lower average bitrate than uncoupled at q > 4 but below 4, uncoupled stereo produces smaller files. I guess lossless coupling isn't always the best for all q.

Anyway, the uncoupled and lossless vorbis binaries will be useful for the video people who want to preserve Dolby Prologic information. Nyaochi's uncoupled vorbis seems to be the most scalable as my lossless version dies at q 0 and 1 for very obvious reasons (ie. other things I need to modify) smile.gif

This post has been edited by QuantumKnot: Feb 14 2004, 03:49
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 29th December 2014 - 05:54