Message ID | 0f2441f8-e2d7-1a1b-0e56-4b5f0cd53556@jkqxz.net |
---|---|
State | Accepted |
Headers | show |
Series | [FFmpeg-devel] cbs_av1: Fix test for presence of buffer_removal_time element | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/configure | warning | Failed to apply patch |
On 8/23/2020 1:06 PM, Mark Thompson wrote: > The OBU must be in both the spatial and temporal layers for the > operating point, not just one of them. > --- > libavcodec/cbs_av1_syntax_template.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/libavcodec/cbs_av1_syntax_template.c > b/libavcodec/cbs_av1_syntax_template.c > index 2c976a9574..a281aba8ac 100644 > --- a/libavcodec/cbs_av1_syntax_template.c > +++ b/libavcodec/cbs_av1_syntax_template.c > @@ -1390,7 +1390,7 @@ static int > FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, > int in_temporal_layer = (op_pt_idc >> > priv->temporal_id ) & 1; > int in_spatial_layer = (op_pt_idc >> > (priv->spatial_id + 8)) & 1; > if (seq->operating_point_idc[i] == 0 || > - in_temporal_layer || in_spatial_layer) { > + (in_temporal_layer && in_spatial_layer)) { > > fbs(seq->decoder_model_info.buffer_removal_time_length_minus_1 + 1, > buffer_removal_time[i], 1, i); > } LGTM, can confirm this fixes parsing https://0x0.st/zF2s.ivf
On 23/08/2020 18:31, James Almer wrote: > On 8/23/2020 1:06 PM, Mark Thompson wrote: >> The OBU must be in both the spatial and temporal layers for the >> operating point, not just one of them. >> --- >> libavcodec/cbs_av1_syntax_template.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/libavcodec/cbs_av1_syntax_template.c >> b/libavcodec/cbs_av1_syntax_template.c >> index 2c976a9574..a281aba8ac 100644 >> --- a/libavcodec/cbs_av1_syntax_template.c >> +++ b/libavcodec/cbs_av1_syntax_template.c >> @@ -1390,7 +1390,7 @@ static int >> FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, >> int in_temporal_layer = (op_pt_idc >> >> priv->temporal_id ) & 1; >> int in_spatial_layer = (op_pt_idc >> >> (priv->spatial_id + 8)) & 1; >> if (seq->operating_point_idc[i] == 0 || >> - in_temporal_layer || in_spatial_layer) { >> + (in_temporal_layer && in_spatial_layer)) { >> >> fbs(seq->decoder_model_info.buffer_removal_time_length_minus_1 + 1, >> buffer_removal_time[i], 1, i); >> } > > LGTM, can confirm this fixes parsing https://0x0.st/zF2s.ivf Thank you for the sample! Applied. - Mark
diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c index 2c976a9574..a281aba8ac 100644 --- a/libavcodec/cbs_av1_syntax_template.c +++ b/libavcodec/cbs_av1_syntax_template.c @@ -1390,7 +1390,7 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, int in_temporal_layer = (op_pt_idc >> priv->temporal_id ) & 1; int in_spatial_layer = (op_pt_idc >> (priv->spatial_id + 8)) & 1; if (seq->operating_point_idc[i] == 0 || - in_temporal_layer || in_spatial_layer) { + (in_temporal_layer && in_spatial_layer)) { fbs(seq->decoder_model_info.buffer_removal_time_length_minus_1 + 1, buffer_removal_time[i], 1, i); }