[FFmpeg-devel] [PATCH] lavc: remove libschroedinger encoding and decoding wrappers

Rostislav Pehlivanov atomnuker at gmail.com
Tue May 30 00:17:48 EEST 2017


On 29 May 2017 at 22:07, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:

>
>
> On 29 May 2017 at 21:46, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
>
>>
>>
>> On 28 May 2017 at 22:04, Rostislav Pehlivanov <atomnuker at gmail.com>
>> wrote:
>>
>>
>> Pushed, thanks for the review and suggestions.
>>
>
>
> Some emails didn't CC the ML
>

And erm encoding conversion for some reason made some substitutions, this
should be correct now

>On 5/29/17, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
>> On 29 May 2017 at 11:03, Paul B Mahol <onemda at gmail.com> wrote:
>>
>>> On 5/29/17, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
>>> > On 29 May 2017 at 10:45, Paul B Mahol <onemda at gmail.com> wrote:
>>> >
>>> >> On 5/29/17, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
>>> >> > On 28 May 2017 at 22:37, Paul B Mahol <onemda at gmail.com> wrote:
>>> >> >
>>> >> >> On 5/28/17, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
>>> >> >> > On 28 May 2017 at 22:22, Paul B Mahol <onemda at gmail.com> wrote:
>>> >> >> >
>>> >> >> >> On 5/28/17, Rostislav Pehlivanov <atomnuker at gmail.com> wrote:
>>> >> >> >> > The library has stopped being developed and Debian has
removed
>>> it
>>> >> >> >> > from its repositories citing security issues.
>>> >> >> >> > The native Dirac decoder supports everything the library has
>>> >> >> >> > and
>>> >> >> >> > encoding
>>> >> >> >> > support is still provided via the native vc2 (Dirac Pro)
>>> encoder.
>>> >> >> >> > Hence,
>>> >> >> >> > there's no reason to still support linking to the library
and
>>> >> >> >> > potentially
>>> >> >> >> > leading users into security issues.
>>> >> >> >> > ---
>>> >> >> >> >  MAINTAINERS                     |   1 -
>>> >> >> >> >  configure                       |   5 -
>>> >> >> >> >  doc/general.texi                |   2 +-
>>> >> >> >> >  doc/platform.texi               |   2 +-
>>> >> >> >> >  libavcodec/Makefile             |   5 -
>>> >> >> >> >  libavcodec/allcodecs.c          |   1 -
>>> >> >> >> >  libavcodec/libschroedinger.c    | 221 ------------------
>>> >> >> >> >  libavcodec/libschroedinger.h    | 133 -----------
>>> >> >> >> >  libavcodec/libschroedingerdec.c | 395
>>> >> >> >> > ------------------------------
>>> >> >> --
>>> >> >> >> >  libavcodec/libschroedingerenc.c | 485
>>> >> >> >> > ----------------------------------------
>>> >> >> >> >  10 files changed, 2 insertions(+), 1248 deletions(-)
>>> >> >> >> >  delete mode 100644 libavcodec/libschroedinger.c
>>> >> >> >> >  delete mode 100644 libavcodec/libschroedinger.h
>>> >> >> >> >  delete mode 100644 libavcodec/libschroedingerdec.c
>>> >> >> >> >  delete mode 100644 libavcodec/libschroedingerenc.c
>>> >> >> >> >
>>> >> >> >>
>>> >> >> >> The lossless mode decoding is not bitexact.
>>> >> >> >>
>>> >> >> >
>>> >> >> > 1.) It is if the bitrate is high enough (and I really mean
>>> massively
>>> >> >> high).
>>> >> >> > 2.) libschroedinger doesn't support it either
>>> >> >> >
>>> >> >>
>>> >> >> Really? Last time i tried it libschroedinger did decode
losslessly
>>> >> >> files encoded in lossless mode with libschroedinger.
>>> >> >> Native decoder had different checksum.
>>> >> >>
>>> >> >
>>> >> > ffmpeg -i out.y4m -c:a vc2 -strict -2 -b:v 10000M -y out.vc2
>>> >> > ffmpeg -i out.vc2 -i out.y4m -filter_complex ssim -f null -
>>> >> > [Parsed_ssim_0 @ 0x58e1580] SSIM Y:1.000000 (inf) U:1.000000 (inf)
>>> >> > V:1.000000 (inf) All:1.000000 (inf)
>>> >> >
>>> >> > ffmpeg -i out.y4m -f rawvideo outs_orig.raw
>>> >> > ffmpeg -i out.vc2 -f rawvideo outs_new.raw
>>> >> > md5sum outs*.raw
>>> >> > 0c6bd3c3d52761329f5cc0a7a6e7ade3  outs_orig.raw
>>> >> > 0c6bd3c3d52761329f5cc0a7a6e7ade3  outs_new.raw
>>> >> >
>>> >> > Looks pretty damn lossless to me.
>>> >> >
>>> >>
>>> >> I'm talking about lossless encodes with libschroedinger.
>>> >>
>>> >> And how native decoder decodes it.
>>> >>
>>> >
>>> > Not sure how you tried it, but I can't even make libschroedinger
encode
>>> > losslessly.
>>>
>>> -qscale 0
>>>
>>> > Can't reproduce, so I don't see a problem with our decoder yet (which
>>> > can
>>> > decode losslessly files encoded with our native encoder which follows
>>> > the
>>> > spec exactly).
>>> >
>>>
>>
>> Nope, still not lossless.
>> Decoding with both our native decoder and libschroedinger result in
>> absolutely identical files though. Lossless encoding isn't different
from
>> lossy encoding so I fail to see how it would fail, even if
libschroedinger
>> could encode lossless files.
>>
>
>OK then.


More information about the ffmpeg-devel mailing list