[FFmpeg-devel] [PATCH v3] libavcodec/vp9: fix ref-frame size judging method

Ronald S. Bultje rsbultje at gmail.com
Wed Jul 10 16:56:39 EEST 2019


Hi,

On Tue, Jul 9, 2019 at 7:22 AM Ronald S. Bultje <rsbultje at gmail.com> wrote:

> Hi,
>
> On Mon, Jul 8, 2019 at 6:23 PM Yan Cen <mryancen at gmail.com> wrote:
>
>> From: yancen <cenx.yan at intel.com>
>>
>> There is no need all reference frame demension is valid in libvpx.
>>
>
> Haven't we discussed this before? Anyway, it seems you're really eager to
> get this in, so I'll drop my objection. (I still think this could cause
> issues in HW decoders.)
>

I want to take this discussion one step further though. So, obviously, the
central goal of this patch is to allow streams that can be decoded with
libvpx to be decoded with ffvp9, specifically these that have frame size
vs. ref size discrepancies that go beyond the limits formally allowed. We
used to say that all refs have to comply with the limits, and you're
changing it so that only one ref has to comply with the limits. I
understand that so far.

Now, what does libvpx do with the "invalid" refs? And what do hardware
decoders do? What does the spec formally require? Is this mandated? Or
optional? I can imagine several things happening in libvpx:
- it just allows using invalid references like this;
- it conceals as if the ref were missing and uses another one;
- something else??

What does libvpx do, and what are we formally mandated to do, if anything?
Are these streams considered proper? If so, isn't this an hardware exploit?
Else, why have ref size limits at all?

Ronald


More information about the ffmpeg-devel mailing list