* [FFmpeg-devel] [PATCH 00/14] avcodec/vvcdec: support subpicture
@ 2024-03-18 14:16 Nuo Mi
2024-03-19 10:18 ` Frank Plowman
0 siblings, 1 reply; 3+ messages in thread
From: Nuo Mi @ 2024-03-18 14:16 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Nuo Mi
see introductions here: https://dashif.org/docs/VVC%20HLS%20overview%20.pdf
Frank Plowman (1):
avcodec/vvcdec: support rectangular single-slice subpics
Nuo Mi (13):
avcodec/vvcdec: NoBackwardPredFlag, only check active pictures
avcodec/cbs_h266: fix sh_collocated_from_l0_flag and
sh_collocated_ref_idx infer
avcodec/vvcdec: derive subpic postion for PPS
avcodec/vvcdec: ff_vvc_decode_neighbour, support subpicture
avcodec/vvcdec: misc, rename x_ctb, y_ctb, ctu_x, ctu_y to rx, ry to
avoid misleading
avcodec/vvcdec: refact out deblock_is_boundary
avcodec/vvcdec: deblock, support subpicture
avcodec/vvcdec: refact, movie the lc->sc assignment to task_run_stage
to simplify the code
avcodec/vvcdec: sao, refact out tile_edge arrays
avcodec/vvcdec: sao, support subpicture
avcodec/vvcdec: alf, support subpicture
avcodec/vvcdec: mvs, support subpicture
avcodec/vvcdec: inter prediction, support subpicture
libavcodec/cbs_h266_syntax_template.c | 37 ++--
libavcodec/vvc/vvc_ctu.c | 12 +-
libavcodec/vvc/vvc_ctu.h | 6 +-
libavcodec/vvc/vvc_filter.c | 233 +++++++++++++-------------
libavcodec/vvc/vvc_filter.h | 6 +-
libavcodec/vvc/vvc_inter.c | 79 ++++++---
libavcodec/vvc/vvc_mvs.c | 35 ++--
libavcodec/vvc/vvc_ps.c | 150 ++++++++++++++---
libavcodec/vvc/vvc_ps.h | 4 +
libavcodec/vvc/vvc_thread.c | 66 ++------
10 files changed, 384 insertions(+), 244 deletions(-)
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH 00/14] avcodec/vvcdec: support subpicture
2024-03-18 14:16 [FFmpeg-devel] [PATCH 00/14] avcodec/vvcdec: support subpicture Nuo Mi
@ 2024-03-19 10:18 ` Frank Plowman
2024-03-19 14:22 ` Nuo Mi
0 siblings, 1 reply; 3+ messages in thread
From: Frank Plowman @ 2024-03-19 10:18 UTC (permalink / raw)
To: ffmpeg-devel
On 18/03/2024 14:16, Nuo Mi wrote:
> see introductions here: https://dashif.org/docs/VVC%20HLS%20overview%20.pdf
>
> Frank Plowman (1):
> avcodec/vvcdec: support rectangular single-slice subpics
>
> Nuo Mi (13):
> avcodec/vvcdec: NoBackwardPredFlag, only check active pictures
> avcodec/cbs_h266: fix sh_collocated_from_l0_flag and
> sh_collocated_ref_idx infer
> avcodec/vvcdec: derive subpic postion for PPS
> avcodec/vvcdec: ff_vvc_decode_neighbour, support subpicture
> avcodec/vvcdec: misc, rename x_ctb, y_ctb, ctu_x, ctu_y to rx, ry to
> avoid misleading
> avcodec/vvcdec: refact out deblock_is_boundary
> avcodec/vvcdec: deblock, support subpicture
> avcodec/vvcdec: refact, movie the lc->sc assignment to task_run_stage
> to simplify the code
> avcodec/vvcdec: sao, refact out tile_edge arrays
> avcodec/vvcdec: sao, support subpicture
> avcodec/vvcdec: alf, support subpicture
> avcodec/vvcdec: mvs, support subpicture
> avcodec/vvcdec: inter prediction, support subpicture
>
> libavcodec/cbs_h266_syntax_template.c | 37 ++--
> libavcodec/vvc/vvc_ctu.c | 12 +-
> libavcodec/vvc/vvc_ctu.h | 6 +-
> libavcodec/vvc/vvc_filter.c | 233 +++++++++++++-------------
> libavcodec/vvc/vvc_filter.h | 6 +-
> libavcodec/vvc/vvc_inter.c | 79 ++++++---
> libavcodec/vvc/vvc_mvs.c | 35 ++--
> libavcodec/vvc/vvc_ps.c | 150 ++++++++++++++---
> libavcodec/vvc/vvc_ps.h | 4 +
> libavcodec/vvc/vvc_thread.c | 66 ++------
> 10 files changed, 384 insertions(+), 244 deletions(-)
>
> --
> 2.25.1
Thank you.
When compiled without a sanitizer, all subpicture conformance bitstreams
decode correctly, however when compiled with UBSAN/ASAN this set causes
a lot of errors for me.
With UBSAN, I get errors similar to:
libavcodec/vvc/vvc_ctu.c:1553:13: runtime error: member access within
misaligned address 0xffffb52dbd6c for type 'av_alias64', which requires
8 byte alignment
0xffffb52dbd6c: note: pointer points here
f0 b3 9a 99 ff ff 00 00 00 be 2d b5 ff ff 00 00 c4 a6 fb d5 aa aa 00
00 c0 f8 2d b5 ff ff 00 00
on the following sequences:
* SUBPIC_B_HUAWEI
* SUBPIC_C_ERICSSON
* SUBPIC_E_MediaTek
* LMCS_B_Dolby
* CodingTools_E_Tencent
With ASAN, I get errors similar to:
=================================================================
==67289==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x60300000067a at pc 0xaaaad00d21a0 bp 0xfffffba438f0 sp 0xfffffba43908
READ of size 2 at 0x60300000067a thread T0
#0 0xaaaad00d219c in subpic_tiles
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:374:12
#1 0xaaaad00d1048 in pps_subpic_slice
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:406:5
#2 0xaaaad00cf2cc in pps_single_slice_per_subpic
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:419:13
#3 0xaaaad00ce8e0 in pps_rect_slice
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:464:9
#4 0xaaaad00cd4f8 in pps_slice_map
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:499:9
#5 0xaaaad00caf64 in pps_derive
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:543:11
#6 0xaaaad00cac00 in pps_alloc
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:576:11
#7 0xaaaad00c64f8 in decode_pps
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:598:11
#8 0xaaaad00c4444 in decode_ps
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:630:11
#9 0xaaaad00c3e70 in ff_vvc_decode_frame_ps
/home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:866:11
...
0x60300000067a is located 0 bytes after 10-byte region
[0x603000000670,0x60300000067a)
on the following sequences:
* SUBPIC_C_ERICSSON
* SUBPIC_D_ERICSSON
Note SUBPIC_D_ERICSSON has the ASAN error but no UBSAN error.
Cheers,
Frank
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [FFmpeg-devel] [PATCH 00/14] avcodec/vvcdec: support subpicture
2024-03-19 10:18 ` Frank Plowman
@ 2024-03-19 14:22 ` Nuo Mi
0 siblings, 0 replies; 3+ messages in thread
From: Nuo Mi @ 2024-03-19 14:22 UTC (permalink / raw)
To: FFmpeg development discussions and patches
On Tue, Mar 19, 2024 at 6:18 PM Frank Plowman <post@frankplowman.com> wrote:
> On 18/03/2024 14:16, Nuo Mi wrote:
> > see introductions here:
> https://dashif.org/docs/VVC%20HLS%20overview%20.pdf
> >
> > Frank Plowman (1):
> > avcodec/vvcdec: support rectangular single-slice subpics
> >
> > Nuo Mi (13):
> > avcodec/vvcdec: NoBackwardPredFlag, only check active pictures
> > avcodec/cbs_h266: fix sh_collocated_from_l0_flag and
> > sh_collocated_ref_idx infer
> > avcodec/vvcdec: derive subpic postion for PPS
> > avcodec/vvcdec: ff_vvc_decode_neighbour, support subpicture
> > avcodec/vvcdec: misc, rename x_ctb, y_ctb, ctu_x, ctu_y to rx, ry to
> > avoid misleading
> > avcodec/vvcdec: refact out deblock_is_boundary
> > avcodec/vvcdec: deblock, support subpicture
> > avcodec/vvcdec: refact, movie the lc->sc assignment to task_run_stage
> > to simplify the code
> > avcodec/vvcdec: sao, refact out tile_edge arrays
> > avcodec/vvcdec: sao, support subpicture
> > avcodec/vvcdec: alf, support subpicture
> > avcodec/vvcdec: mvs, support subpicture
> > avcodec/vvcdec: inter prediction, support subpicture
> >
> > libavcodec/cbs_h266_syntax_template.c | 37 ++--
> > libavcodec/vvc/vvc_ctu.c | 12 +-
> > libavcodec/vvc/vvc_ctu.h | 6 +-
> > libavcodec/vvc/vvc_filter.c | 233 +++++++++++++-------------
> > libavcodec/vvc/vvc_filter.h | 6 +-
> > libavcodec/vvc/vvc_inter.c | 79 ++++++---
> > libavcodec/vvc/vvc_mvs.c | 35 ++--
> > libavcodec/vvc/vvc_ps.c | 150 ++++++++++++++---
> > libavcodec/vvc/vvc_ps.h | 4 +
> > libavcodec/vvc/vvc_thread.c | 66 ++------
> > 10 files changed, 384 insertions(+), 244 deletions(-)
> >
> > --
> > 2.25.1
>
> Thank you.
>
> When compiled without a sanitizer, all subpicture conformance bitstreams
> decode correctly, however when compiled with UBSAN/ASAN this set causes
> a lot of errors for me.
>
👍, good catch.
Will check it.
>
> With UBSAN, I get errors similar to:
>
> libavcodec/vvc/vvc_ctu.c:1553:13: runtime error: member access within
> misaligned address 0xffffb52dbd6c for type 'av_alias64', which requires
> 8 byte alignment
> 0xffffb52dbd6c: note: pointer points here
> f0 b3 9a 99 ff ff 00 00 00 be 2d b5 ff ff 00 00 c4 a6 fb d5 aa aa 00
> 00 c0 f8 2d b5 ff ff 00 00
>
> on the following sequences:
> * SUBPIC_B_HUAWEI
> * SUBPIC_C_ERICSSON
> * SUBPIC_E_MediaTek
> * LMCS_B_Dolby
> * CodingTools_E_Tencent
>
> With ASAN, I get errors similar to:
>
> =================================================================
> ==67289==ERROR: AddressSanitizer: heap-buffer-overflow on address
> 0x60300000067a at pc 0xaaaad00d21a0 bp 0xfffffba438f0 sp 0xfffffba43908
> READ of size 2 at 0x60300000067a thread T0
> #0 0xaaaad00d219c in subpic_tiles
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:374:12
> #1 0xaaaad00d1048 in pps_subpic_slice
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:406:5
> #2 0xaaaad00cf2cc in pps_single_slice_per_subpic
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:419:13
> #3 0xaaaad00ce8e0 in pps_rect_slice
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:464:9
> #4 0xaaaad00cd4f8 in pps_slice_map
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:499:9
> #5 0xaaaad00caf64 in pps_derive
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:543:11
> #6 0xaaaad00cac00 in pps_alloc
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:576:11
> #7 0xaaaad00c64f8 in decode_pps
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:598:11
> #8 0xaaaad00c4444 in decode_ps
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:630:11
> #9 0xaaaad00c3e70 in ff_vvc_decode_frame_ps
> /home/frank/FFmpeg/libavcodec/vvc/vvc_ps.c:866:11
> ...
>
> 0x60300000067a is located 0 bytes after 10-byte region
> [0x603000000670,0x60300000067a)
>
> on the following sequences:
> * SUBPIC_C_ERICSSON
> * SUBPIC_D_ERICSSON
>
> Note SUBPIC_D_ERICSSON has the ASAN error but no UBSAN error.
>
> Cheers,
> Frank
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
>
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-03-19 14:23 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-18 14:16 [FFmpeg-devel] [PATCH 00/14] avcodec/vvcdec: support subpicture Nuo Mi
2024-03-19 10:18 ` Frank Plowman
2024-03-19 14:22 ` Nuo Mi
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git