On 1/12/2021 11:34 PM, James Almer wrote:
+ if (err < 0)
+ return err;
+ }
+ break;
+
+ case VVC_TRAIL_NUT:
+ case VVC_STSA_NUT:
+ case VVC_RADL_NUT:
+ case VVC_RASL_NUT:
+ case VVC_IDR_W_RADL:
+ case VVC_IDR_N_LP:
+ case VVC_CRA_NUT:
+ case VVC_GDR_NUT:
+ {
+ H266RawSlice *slice = unit->content;
+ int pos, len;
+
+ err = cbs_h266_read_slice_header(ctx, &gbc, &slice->header);
+ if (err < 0)
+ return err;
Add a call to cbs_h266_replace_ph() here when
slice->header.sh_picture_header_in_slice_header_flag is true, and pass a
pointer to slice->header.sh_picture_header to it.
Actually no, this wouldn't work as is in the cases where
ff_cbs_make_unit_refcounted() makes it refcounted. Neither slice or the
pointer passed to cbs_h266_replace_ph() would be valid.
You'd have ensure the slice variable points the new unit->content after
a successful call to cbs_h266_replace_ph() (Which you can leave
untouched), and then make priv->ph point to the H266RawPH struct within
slice.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".