summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2018-10-16 22:01:27 +0100
committerMark Thompson <sw@jkqxz.net>2018-10-22 23:01:30 +0100
commite5fda1ff289692ffb538e04abb66a9b550750596 (patch)
tree6e2a5773c8c6d7f374af59f23c39c7220c8be405 /libavcodec
parent3143fe34f622ae61ca75a65feba3a8f1a497567e (diff)
cbs_h264: Fix SPS used for pic_timing timestamp
It should be the same as the one used for the rest of the pic_timing structure.
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/cbs_h264_syntax_template.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/libavcodec/cbs_h264_syntax_template.c b/libavcodec/cbs_h264_syntax_template.c
index 1a9fb9cfeb..7d0ce5918a 100644
--- a/libavcodec/cbs_h264_syntax_template.c
+++ b/libavcodec/cbs_h264_syntax_template.c
@@ -551,10 +551,9 @@ static int FUNC(sei_buffering_period)(CodedBitstreamContext *ctx, RWContext *rw,
}
static int FUNC(sei_pic_timestamp)(CodedBitstreamContext *ctx, RWContext *rw,
- H264RawSEIPicTimestamp *current)
+ H264RawSEIPicTimestamp *current,
+ const H264RawSPS *sps)
{
- CodedBitstreamH264Context *h264 = ctx->priv_data;
- const H264RawSPS *sps;
uint8_t time_offset_length;
int err;
@@ -583,13 +582,6 @@ static int FUNC(sei_pic_timestamp)(CodedBitstreamContext *ctx, RWContext *rw,
}
}
- sps = h264->active_sps;
- if (!sps) {
- av_log(ctx->log_ctx, AV_LOG_ERROR,
- "No active SPS for pic_timestamp.\n");
- return AVERROR_INVALIDDATA;
- }
-
if (sps->vui.nal_hrd_parameters_present_flag)
time_offset_length = sps->vui.nal_hrd_parameters.time_offset_length;
else if (sps->vui.vcl_hrd_parameters_present_flag)
@@ -669,7 +661,8 @@ static int FUNC(sei_pic_timing)(CodedBitstreamContext *ctx, RWContext *rw,
for (i = 0; i < num_clock_ts[current->pic_struct]; i++) {
flags(clock_timestamp_flag[i], 1, i);
if (current->clock_timestamp_flag[i])
- CHECK(FUNC(sei_pic_timestamp)(ctx, rw, &current->timestamp[i]));
+ CHECK(FUNC(sei_pic_timestamp)(ctx, rw,
+ &current->timestamp[i], sps));
}
}