[FFmpeg-devel] [PATCH 02/13] lavc/h264_parser: stop accessing H264Context
James Almer
jamrial at gmail.com
Mon Jan 24 19:06:13 EET 2022
On 1/24/2022 2:00 PM, Anton Khirnov wrote:
> Parsers should not mess with decoder private data. It is also completely
> unnecessary here.
> ---
> libavcodec/h264_parser.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
> index e3a11702c5..816b04845e 100644
> --- a/libavcodec/h264_parser.c
> +++ b/libavcodec/h264_parser.c
> @@ -247,7 +247,6 @@ static inline int parse_nal_units(AVCodecParserContext *s,
> const uint8_t * const buf, int buf_size)
> {
> H264ParseContext *p = s->priv_data;
> - H264Context *h = avctx->priv_data;
> H2645RBSP rbsp = { NULL };
> H2645NAL nal = { NULL };
> int buf_index, next_avc;
> @@ -553,11 +552,10 @@ static inline int parse_nal_units(AVCodecParserContext *s,
> p->last_picture_structure = s->picture_structure;
> p->last_frame_num = p->poc.frame_num;
> }
> - if (h && sps->timing_info_present_flag) {
> + if (sps->timing_info_present_flag) {
> int64_t den = sps->time_scale;
> - if (p->sei.unregistered.x264_build >= 0)
> - h->x264_build = p->sei.unregistered.x264_build;
> - if (h->x264_build < 44U)
> + if (p->sei.unregistered.x264_build >= 0 &&
I don't think this check is needed. < 44U should in theory ensure the
default of -1 is converted to unsigned and the check will evaluate to false.
See my patch (I don't mind if you amend yours and push this with your
authorship).
> + p->sei.unregistered.x264_build < 44U)
> den *= 2;
> av_reduce(&avctx->framerate.den, &avctx->framerate.num,
> sps->num_units_in_tick * avctx->ticks_per_frame, den, 1 << 30);
More information about the ffmpeg-devel
mailing list