Re: [FFmpeg-devel] [PATCH 02/13] lavc/h264_parser: stop accessing H264Context

2022-01-24 Thread James Almer




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(>framerate.den, >framerate.num,
sps->num_units_in_tick * avctx->ticks_per_frame, den, 1 
<< 30);

___
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".


[FFmpeg-devel] [PATCH 02/13] lavc/h264_parser: stop accessing H264Context

2022-01-24 Thread Anton Khirnov
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 &&
+p->sei.unregistered.x264_build < 44U)
 den *= 2;
 av_reduce(>framerate.den, >framerate.num,
   sps->num_units_in_tick * avctx->ticks_per_frame, 
den, 1 << 30);
-- 
2.34.1

___
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".