[FFmpeg-devel] [PATCH] avcodec: add bink2 video decoder

Paul B Mahol onemda at gmail.com
Sat Mar 21 11:26:53 EET 2020


I do not plan to remove any of this,

So please refrain from posting such "reviews".

On 3/21/20, Peter Ross <pross at xvid.org> wrote:
> On Fri, Mar 20, 2020 at 02:31:05PM +0100, Paul B Mahol wrote:
>> Signed-off-by: Paul B Mahol <onemda at gmail.com>
>> ---
>>  configure               |    1 +
>>  libavcodec/Makefile     |    1 +
>>  libavcodec/allcodecs.c  |    1 +
>>  libavcodec/avcodec.h    |    1 +
>>  libavcodec/bink2.c      |  869 ++++++++++++++++++++++++++++
>>  libavcodec/bink2f.c     | 1125 ++++++++++++++++++++++++++++++++++++
>>  libavcodec/bink2g.c     | 1197 +++++++++++++++++++++++++++++++++++++++
>>  libavcodec/codec_desc.c |    7 +
>>  libavformat/bink.c      |    3 +-
>>  9 files changed, 3203 insertions(+), 2 deletions(-)
>>  create mode 100644 libavcodec/bink2.c
>>  create mode 100644 libavcodec/bink2f.c
>>  create mode 100644 libavcodec/bink2g.c
>
>> --- /dev/null
>> +++ b/libavcodec/bink2.c
>> @@ -0,0 +1,869 @@
>> +/*
>> + * Bink video 2 decoder
>> + * Copyright (c) 2014 Konstantin Shishkov
>> + * Copyright (c) 2019 Paul B Mahol
>> + *
>> + * This file is part of FFmpeg.
>
> this is awesome guys!
>
>
>> +static const uint8_t luma_repos[] = {
>> +    0, 1, 4, 5, 2, 3, 6, 7, 8, 9, 12, 13, 10, 11, 14, 15,
>> +};
>
> identical to libavcodec/msvideo1enc.c: remap[16]
>
>
>> +static const int32_t bink2g_dc_pat[] = {
>> +    1024, 1218, 1448, 1722, 2048,
>> +    2435, 2896, 3444, 4096, 4871,
>> +    5793, 6889, 8192, 9742, 11585, 13777, 16384,
>> +    19484, 23170,  27555, 32768, 38968, 46341,
>> +    55109, 65536, 77936, 92682, 110218, 131072,
>> +    155872, 185364, 220436, 262144, 311744,
>> +    370728, 440872, 524288,
>> +};
>
> libavcodec/diractab.c: ff_dirac_qscale_tab[]
>
>
>> +static const uint8_t dq_patterns[8] = { 8, 0, 1, 0, 2, 0, 1, 0 };
>
> libavcodec/vble.c: LUT[256]
>
>
>> +static const uint8_t bink2f_next_skips[] = {
>> +    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
>> +};
>> +
>> +static const uint8_t bink2_next_skips[] = {
>> +    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0,
>>
>
> bink2f_next_skips and bink2_next_skips are identical. can you double check?
>
>
>> +static const uint8_t ones_count[16] = {
>> +    0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4
>> +};
>
> libavcodec/vc1_mc.c: popcount4[16]
>
>
> -- Peter
> (A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
>


More information about the ffmpeg-devel mailing list