diff options
author | James Almer <jamrial@gmail.com> | 2019-04-15 17:50:01 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2019-07-21 01:04:23 -0300 |
commit | a2132139852c57e71c731d10e5dc20e97342c289 (patch) | |
tree | aaff7fda6216c15ec4c139ec1141436c01c9d55b | |
parent | 94b1630b7ca34964aa873a59540ecd895a1bf9e6 (diff) | |
download | ffmpeg-a2132139852c57e71c731d10e5dc20e97342c289.tar.gz |
avcodec/cbs_h264: fix storage type for time_offset in Pic Timing SEI
The spec defines it as a signed value.
Reviewed-by: Mark Thompson <sw@jkqxz.net>
Signed-off-by: James Almer <jamrial@gmail.com>
(cherry picked from commit 9bf520d04d6137d0772e019356356614bbf7ca82)
-rw-r--r-- | libavcodec/cbs_h264.h | 2 | ||||
-rw-r--r-- | libavcodec/cbs_h264_syntax_template.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/libavcodec/cbs_h264.h b/libavcodec/cbs_h264.h index 92277e4750..b5eee7c370 100644 --- a/libavcodec/cbs_h264.h +++ b/libavcodec/cbs_h264.h @@ -253,7 +253,7 @@ typedef struct H264RawSEIPicTimestamp { uint8_t minutes_value; uint8_t hours_flag; uint8_t hours_value; - uint32_t time_offset; + int32_t time_offset; } H264RawSEIPicTimestamp; typedef struct H264RawSEIPicTiming { diff --git a/libavcodec/cbs_h264_syntax_template.c b/libavcodec/cbs_h264_syntax_template.c index 4da4c5da67..07b4cddb5e 100644 --- a/libavcodec/cbs_h264_syntax_template.c +++ b/libavcodec/cbs_h264_syntax_template.c @@ -592,8 +592,9 @@ static int FUNC(sei_pic_timestamp)(CodedBitstreamContext *ctx, RWContext *rw, time_offset_length = 24; if (time_offset_length > 0) - u(time_offset_length, time_offset, - 0, MAX_UINT_BITS(time_offset_length)); + i(time_offset_length, time_offset, + MIN_INT_BITS(time_offset_length), + MAX_INT_BITS(time_offset_length)); else infer(time_offset, 0); |