[Ffmpeg-cvslog] CVS: ffmpeg/libavcodec dsputil.c, 1.123, 1.124 dsputil.h, 1.117, 1.118 h264.c, 1.136, 1.137

Måns Rullgård mru
Sat Jun 18 04:13:43 CEST 2005


Loren Merritt <lorenm at u.washington.edu> writes:

> On Fri, 17 Jun 2005, [iso-8859-1] M?ns Rullg?rd wrote:
>> Loren Merritt <lorenm at u.washington.edu> writes:
>>> On Fri, 17 Jun 2005, [iso-8859-1] M?ns Rullg?rd wrote:
>>>>
>>>> OK.  Have I understood correctly that the dequant[48]_coeff arrays
>>>> should be moved to the SPS/PPS, and calculated from the scaling lists?
>>>> The custom matrixes are different for intra/inter blocks and
>>>> luma/chroma.  Do you have any ideas/opinions on how to best represent
>>>> that?
>>>
>>> There should be 8 pointers in each SPS and PPS, which may be populated
>>> from the stream or from the default matrices (with a bunch of
>>> inheritance rules). Decoding always uses the pointers from the current
>>> PPS; the SPS ones are just there in case you have multiple PPSs
>>> referencing the same SPS.
>>
>> What's in the current dequant[48]_coeff?  It looks like precomputed
>> scaling values for all QP with the default scaling matrix (all 16).
>> Correct?
>
> yes
>
>>> luma and chroma are already decoded in different places, just hardcode
>>> which CQM pointer you need at each one. For intra/inter and U/V, it
>>> just takes one more index into the list of CQM pointers.
>>
>> So basically it's just a matter of replacing h->dequant4_coeff with
>> h->pps.dequant4_coeff[foo]?
>
> yes

I've made some progress, but it still doesn't look quite right.
Could you take a look at the pictures in
http://inprovide.com/~mru/h264_scaling/, and see if you have any idea
what the problem might be?

-- 
M?ns Rullg?rd
mru at inprovide.com





More information about the ffmpeg-cvslog mailing list