[libav-devel] [RFC] Cineform HD questions

Kieran Kunhya kierank at obe.tv
Thu Dec 31 18:14:18 CET 2015


On 31 December 2015 at 06:17, Kostya Shishkov <kostya.shishkov at gmail.com> wrote:
> On Thu, Dec 31, 2015 at 04:13:50AM +0000, Kieran Kunhya wrote:
>>
>> This patch is the first attempt at getting a working Cineform HD decoder into avcodec
>> It supports YUV422P10 files which are the majority of files in the wild
>> There are some files not supported such as those from film scanners and some older files which do something unusual with chroma and the transform.
>> Also files which are cut awkwardly will infinite loop in the coefficient decoding because of a lack of escape symbol.
>
> A simple condition for checking if you exceeded number of coefficients will be
> added anyway (probably by you too).

I thought perhaps there was a clever way to get that info from the
checked bitstream writer but perhaps not.

>> The big question is how to organise the coefficients - at the moment all the buffers are hardcoded.
>> If anyone has any suggestions about the best way to do this, that would be appreciated.
>
> 1) find somebody who can convert transform into lifting scheme so you can do
> it inplace (yes, very realistic)
> 2) have one temporary buffer for merging and store all bands in the same
> plane:
>
>    (coeffs)             (tmp)        (coeffs again)
> LL0 | LH0 |  LH1       L0           band0   |  LH1
> ----+-----+            ---                  |
> HL0 | HH0 |        =>  H0     =>            |
> ----+-----+------                   --------+------
>    HL1    |  HH1                    HL1     |  HH1
>
> So you'll have the same stride for input high and low coeffs too.

Ok, 2) makes sense, might try 1) another day.

Kieran


More information about the libav-devel mailing list