ffvvc / FFmpeg

VVC Decoder for ffmpeg
Other
50 stars 12 forks source link

Update refstruct #150

Closed Jamaika1 closed 11 months ago

Jamaika1 commented 11 months ago

https://github.com/FFmpeg/FFmpeg/commit/9281dcb8011f52f17379789edf67595fa15f8244

vvc_ps.c: In function 'decode_ps':
vvc_ps.c:562:22: error: 'CodedBitstreamH266Context' has no member named 'pps_ref'; did you mean 'ph_ref'?
  562 |     rpps_buf = h266->pps_ref[ph->ph_pic_parameter_set_id];
      |                      ^~~~~~~
      |                      ph_ref
vvc_ps.c:567:22: error: 'CodedBitstreamH266Context' has no member named 'sps_ref'; did you mean 'ph_ref'?
  567 |     rsps_buf = h266->sps_ref[rpps->pps_seq_parameter_set_id];
      |                      ^~~~~~~
      |                      ph_ref
vvc_ps.c: In function 'sh_slice_address':
vvc_ps.c:1167:36: error: 'H266RawSliceHeader' has no member named 'curr_subpic_idx'; did you mean 'sh_subpic_id'?
 1167 |         for (int j = 0; j < sh->r->curr_subpic_idx; j++)
      |                                    ^~~~~~~~~~~~~~~
      |                                    sh_subpic_id
nuomi2021 commented 11 months ago

Hi @Jamaika1 , Thank you for the patch. it's for lasted ffmpeg, right? The ffvvc main branch is not updated to the upstream latest yet. I will merge your patch after the next upstream sync.

Thank you.

nuomi2021 commented 11 months ago

vvc_ps.c:1167:36: error: 'H266RawSliceHeader' has no member named 'curr_subpic_idx'; did you mean 'sh_subpic_id'?

this will fixed by https://patchwork.ffmpeg.org/project/ffmpeg/patch/TYSPR06MB6433A801320ECA0D11A17135AAE8A@TYSPR06MB6433.apcprd06.prod.outlook.com/

nuomi2021 commented 11 months ago

all rref are not needed since we have ref_struct api

Jamaika1 commented 11 months ago

vvc_ps.c:1167:36: error: 'H266RawSliceHeader' has no member named 'curr_subpic_idx'; did you mean 'sh_subpic_id'?

this will fixed by https://patchwork.ffmpeg.org/project/ffmpeg/patch/TYSPR06MB6433A801320ECA0D11A17135AAE8A@TYSPR06MB6433.apcprd06.prod.outlook.com/

Thx. It works

Jamaika1 commented 11 months ago

all rref are not needed since we have ref_struct api

I followed hevc_ps and h264_ps. The creators are so aggressive in deleting the av_buffer_unref and av_buffer_allocz functions. https://github.com/FFmpeg/FFmpeg/commit/2db94a96c890be232e09fb79b49480fbc94610b5 https://github.com/FFmpeg/FFmpeg/commit/787351a68e9f3cbe46c3dcf6d0d9b001bcd139b3