mbox series

[0/2] media: cedrus: fix HEVC decoding

Message ID 20220615204436.137377-1-jernej.skrabec@gmail.com (mailing list archive)
Headers show
Series media: cedrus: fix HEVC decoding | expand

Message

Jernej Škrabec June 15, 2022, 8:44 p.m. UTC
After detailed comparison of register names to vendor library I noticed
that one register has completely different name. After some testing I
discovered that it was misnamed and used incorrectly. This patch series
fixes it. With that, 3 more reference bitstreams are now correctly
decoded. It is also possible that this fixes instability issue I had
after decoding such bitstreams. Running Fluster test suite very often
locked up my board, but after applying this fix, I never experienced it
again. It might still be completely coincidental, but I doubt this is
the case.

Note: Patch 2 clashes with HEVC uAPI destaging. In current form, it can
be easily backported. However, there are few users of Cedrus HEVC and
skipping this fix wouldn't be that bad.

Please let me know which way to go:
1) wait for destaging, send rebased v2 and not care about backporting
2) merge before destaging, but v9 of HEVC uAPI destaging would need to
   be rebased.
3) something else?

Best regards,
Jernej

Jernej Skrabec (2):
  media: cedrus: h265: Fix flag name
  media: cedrus: h265: Fix logic for not low delay flag

 .../staging/media/sunxi/cedrus/cedrus_h265.c  | 29 ++++++++++++++++++-
 .../staging/media/sunxi/cedrus/cedrus_regs.h  |  3 +-
 2 files changed, 29 insertions(+), 3 deletions(-)

Comments

Hans Verkuil June 16, 2022, 7:14 a.m. UTC | #1
On 6/15/22 22:44, Jernej Skrabec wrote:
> After detailed comparison of register names to vendor library I noticed
> that one register has completely different name. After some testing I
> discovered that it was misnamed and used incorrectly. This patch series
> fixes it. With that, 3 more reference bitstreams are now correctly
> decoded. It is also possible that this fixes instability issue I had
> after decoding such bitstreams. Running Fluster test suite very often
> locked up my board, but after applying this fix, I never experienced it
> again. It might still be completely coincidental, but I doubt this is
> the case.
> 
> Note: Patch 2 clashes with HEVC uAPI destaging. In current form, it can
> be easily backported. However, there are few users of Cedrus HEVC and
> skipping this fix wouldn't be that bad.
> 
> Please let me know which way to go:
> 1) wait for destaging, send rebased v2 and not care about backporting

Let's go with 1. There is not much point in backporting since destaging
the HEVC API will also change it, so userspace will need to adapt. It's
a staging driver anyway (although hopefully not for long).

If you post a v2 on top of the latest series from Benjamin, then that
should almost certainly work fine when Benjamin posts what will hopefully
be the final version of his series. When it is all OK, then I put both in
the same PR.

Regards,

	Hans

> 2) merge before destaging, but v9 of HEVC uAPI destaging would need to
>    be rebased.
> 3) something else?
> 
> Best regards,
> Jernej
> 
> Jernej Skrabec (2):
>   media: cedrus: h265: Fix flag name
>   media: cedrus: h265: Fix logic for not low delay flag
> 
>  .../staging/media/sunxi/cedrus/cedrus_h265.c  | 29 ++++++++++++++++++-
>  .../staging/media/sunxi/cedrus/cedrus_regs.h  |  3 +-
>  2 files changed, 29 insertions(+), 3 deletions(-)
>
Jernej Škrabec June 16, 2022, 9:46 p.m. UTC | #2
Dne četrtek, 16. junij 2022 ob 09:14:05 CEST je Hans Verkuil napisal(a):
> On 6/15/22 22:44, Jernej Skrabec wrote:
> > After detailed comparison of register names to vendor library I noticed
> > that one register has completely different name. After some testing I
> > discovered that it was misnamed and used incorrectly. This patch series
> > fixes it. With that, 3 more reference bitstreams are now correctly
> > decoded. It is also possible that this fixes instability issue I had
> > after decoding such bitstreams. Running Fluster test suite very often
> > locked up my board, but after applying this fix, I never experienced it
> > again. It might still be completely coincidental, but I doubt this is
> > the case.
> > 
> > Note: Patch 2 clashes with HEVC uAPI destaging. In current form, it can
> > be easily backported. However, there are few users of Cedrus HEVC and
> > skipping this fix wouldn't be that bad.
> > 
> > Please let me know which way to go:
> > 1) wait for destaging, send rebased v2 and not care about backporting
> 
> Let's go with 1. There is not much point in backporting since destaging
> the HEVC API will also change it, so userspace will need to adapt. It's
> a staging driver anyway (although hopefully not for long).
> 
> If you post a v2 on top of the latest series from Benjamin, then that
> should almost certainly work fine when Benjamin posts what will hopefully
> be the final version of his series. When it is all OK, then I put both in
> the same PR.

I actually have several patches for Cedrus HEVC which I plan to send soon. 
They would apply on top of series from Benjamin and would implement all 
missing decoding features, except maybe 10-bit support. I'll include these two 
patches in that series.

Best regards,
Jernej

> 
> Regards,
> 
> 	Hans
> 
> > 2) merge before destaging, but v9 of HEVC uAPI destaging would need to
> > 
> >    be rebased.
> > 
> > 3) something else?
> > 
> > Best regards,
> > Jernej
> > 
> > Jernej Skrabec (2):
> >   media: cedrus: h265: Fix flag name
> >   media: cedrus: h265: Fix logic for not low delay flag
> >  
> >  .../staging/media/sunxi/cedrus/cedrus_h265.c  | 29 ++++++++++++++++++-
> >  .../staging/media/sunxi/cedrus/cedrus_regs.h  |  3 +-
> >  2 files changed, 29 insertions(+), 3 deletions(-)