[XviD-devel] [CVS commits] decoder speedups and fixed cbr

Edouard Gomez ed.gomez at free.fr
Wed Aug 11 00:49:36 CEST 2004


heyhey

commited a few things sitting on my HD for long time (decoder
speedups from my tree) and Foxer's patch to CBR plugin that
should really fix all known oddities (doesn't reach bitrate
with bvops, bitrate bursts after still scene etc etc)

So feedback is welcome for:
 - decoding speed between 1.0.1 and HEAD CVS. Here i have an
   average 25% better performance, how is it doing on your
   box?
 - test CBR/ABR coding, just to make sure Foxer (and I, his
   tester) didn't miss something important.

PS: now the wpel code path is unified, PPC users will see a
speed drop because PPC uses a C code path. Don't worry,
Christoph naegeli is working on porting the required
functions, but he's kinda busy with real life stuff, so if you
have gcc PPC intrinsics knowledge, i'm sure he'll appreciate
some help from you !

------------------8<---------------------------------------
2004-08-10 22:30:09 GMT		patch-69

    Summary:
      Fixed CBR plugin.
    Revision:
      xvidcore--head--0.0--patch-69

    From Foxer:
     * Do not set the return quantizer to the frame's quantizer
       (caused the crazy quant choices)
     * Allow quant1 to influence the sequence quality
     * Allow more than +- 1 quantizer variation if the desired
       quantizer is much higher than the previous.
     * Clamp the overflow influence to 1 unit of buffer, that
       should help cases where still motion scenes are followed
       by normal motion scenes... old code was reaching amazing
       high bitrate, with this modification it should keep
       smaller bitrate.

    modified files:
     src/plugins/plugin_single.c


2004-08-01 15:23:49 GMT		patch-68

    Summary:
      error in dshow par array indexing
    Revision:
      xvidcore--head--0.0--patch-68

    error in dshow par array indexing
    

    modified files:
     dshow/src/CXvidDecoder.cpp


2004-08-01 13:38:36 GMT		patch-67

    Summary:
      Faster bframe decoding (qpel this time)
    Revision:
      xvidcore--head--0.0--patch-67

    From ed.gomez:
     * Used the same trick as for halfpel bvops, merge backward
       interpolation and dst averaging steps.
    
    NB: i'm currently not able to say if it's a real speedup or not
        because my linux kernel uses a process scheduler gives great
        variance to results... so far i'm sure this isn't a slowdown
        neither for C nor ia32 SIMD.

    modified files:
     src/decoder.c src/image/qpel.c src/image/qpel.h


2004-08-01 11:24:07 GMT		patch-66

    Summary:
      Unified qpel code path for all platforms
    Revision:
      xvidcore--head--0.0--patch-66

    From ed.gomez and skal:
     * Unified qpel code path for all platforms. Next step is
       to fully exploit this code path to speedup qpel bframe
       decoding
    
    NB: this makes also ports life easier as they would not port
        obsoleted function sets...

    modified files:
     src/decoder.c src/image/interpolate8x8.h src/image/qpel.c
     src/image/qpel.h src/motion/motion_comp.c


2004-07-31 15:08:19 GMT		patch-65

    Summary:
      Faster bframe decoding.
    Revision:
      xvidcore--head--0.0--patch-65

    From ed.gomez and skal:
     * Faster direct/interpolated bvop blocks decoding for halfpel
       sequences. The trick is to compute and average directly with
       destination during one of the forward/backward interpolations.
       At this moment, this patch covers only halfpel decoding, the
       same trick is expected to be hacked for qpel.

    modified files:
     src/decoder.c src/image/interpolate8x8.c
     src/image/interpolate8x8.h
     src/image/x86_asm/interpolate8x8_mmx.asm
     src/image/x86_asm/interpolate8x8_xmm.asm src/xvid.c
------------------8<---------------------------------------

-- 
Edouard Gomez


More information about the XviD-devel mailing list