[MEncoder-users] CABAC and NoCABAC

Reimar Döffinger Reimar.Doeffinger at gmx.de
Fri Apr 8 00:59:23 CEST 2011


On Tue, Apr 05, 2011 at 02:36:03PM +0200, Grozdan wrote:
> On Tue, Apr 5, 2011 at 1:57 PM, Stjepan Brbot <stjepan.brbot at gmail.com> wrote:
> > On Tue, 2011-04-05 at 12:57 +0200, Grozdan wrote:
> >> On Tue, Apr 5, 2011 at 3:48 AM, Stjepan Brbot <stjepan.brbot at gmail.com> wrote:
> >> > I encoded the same movie twice; first time I had CABAC entropy coding
> >> > turned on and second time turned off. Although that resulted in
> >> > different file sizes, since entropy coding is lossless coding, I
> >> > expected the same PSNR for both encoded movies but psnr parameter
> >> > reported different figures!!! How's that possible?
> >>
> >> Wait, so you're complaining of having different PSNR but are comparing
> >> two different coding schemes yet expect the exact same results? Are
> >> you serious?
> >
> > No, you're wrong I'm talking about the same coding scheme. When video
> > compression coding is done then quantization coefficients, motion
> > vectors and reference indicies are coded in entropy coding using some of
> > lossless algorithms. This process of entropy coding is lossless and
> > taking different algorithms should affect only performance and
> > compression efficiency but all algorithms must keep the same entropy and
> > that should result in exactly the same input data for decoder.
> 
> Sorry, I misread...
> 
> what kind of options did you use? The differences between cabac and
> cavlc, afaik, are that both use different RDO and cabac has trellis
> turned on (although cavlc recently gained a trellis mode but it's not
> the same as the cabac one). So if only entropy coding would differ and
> wouldn't touch rdo/analysis/etc (which they do), both will produce the
> exact same outcome

Or the really short way to say it: Which values are cheap and which are
expensive to encode differ between CABAC and CAVLC, thus a good encoder
will take that into account and sometimes choose a different encoding
depending on whether CABAC or CAVLC follows.
Which also means that e.g. while transcoding a file from CAVLC to CABAC
would save some bits it generally won't be as good quality as if it
had been encoded with CABAC in the first place.


More information about the MEncoder-users mailing list