+ sps = av_mallocz(sizeof(SPS));
+ if (!sps)
+ return AVERROR(ENOMEM);
+
+ sps->data_size = h->gb.buffer_end - h->gb.buffer;
+ if (sps->data_size > sizeof(sps->data)) {
+ av_log(h->avctx, AV_LOG_WARNING, "Truncating likely oversized SPS\n");
+ sps->data_size = sizeof(sps->data);
+ }
+ memcpy(sps->data, h->gb.buffer, sps->data_size);
+