|
|
|
@@ -1295,9 +1295,19 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, |
|
|
|
fb(id_len, display_frame_id); |
|
|
|
|
|
|
|
infer(frame_type, frame->frame_type); |
|
|
|
if (current->frame_type == AV1_FRAME_KEY) |
|
|
|
if (current->frame_type == AV1_FRAME_KEY) { |
|
|
|
infer(refresh_frame_flags, all_frames); |
|
|
|
else |
|
|
|
|
|
|
|
// Section 7.21 |
|
|
|
infer(current_frame_id, frame->frame_id); |
|
|
|
priv->upscaled_width = frame->upscaled_width; |
|
|
|
priv->frame_width = frame->frame_width; |
|
|
|
priv->frame_height = frame->frame_height; |
|
|
|
priv->render_width = frame->render_width; |
|
|
|
priv->render_height = frame->render_height; |
|
|
|
priv->bit_depth = frame->bit_depth; |
|
|
|
priv->order_hint = frame->order_hint; |
|
|
|
} else |
|
|
|
infer(refresh_frame_flags, 0); |
|
|
|
|
|
|
|
infer(frame_width_minus_1, frame->upscaled_width - 1); |
|
|
|
@@ -1305,13 +1315,8 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, |
|
|
|
infer(render_width_minus_1, frame->render_width - 1); |
|
|
|
infer(render_height_minus_1, frame->render_height - 1); |
|
|
|
|
|
|
|
priv->upscaled_width = frame->upscaled_width; |
|
|
|
priv->frame_width = frame->frame_width; |
|
|
|
priv->frame_height = frame->frame_height; |
|
|
|
priv->render_width = frame->render_width; |
|
|
|
priv->render_height = frame->render_height; |
|
|
|
|
|
|
|
return 0; |
|
|
|
// Section 7.20 |
|
|
|
goto update_refs; |
|
|
|
} |
|
|
|
|
|
|
|
fb(2, frame_type); |
|
|
|
@@ -1573,6 +1578,16 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, |
|
|
|
|
|
|
|
CHECK(FUNC(film_grain_params)(ctx, rw, current)); |
|
|
|
|
|
|
|
av_log(ctx->log_ctx, AV_LOG_DEBUG, "Frame %d: size %dx%d " |
|
|
|
"upscaled %d render %dx%d subsample %dx%d " |
|
|
|
"bitdepth %d tiles %dx%d.\n", priv->order_hint, |
|
|
|
priv->frame_width, priv->frame_height, priv->upscaled_width, |
|
|
|
priv->render_width, priv->render_height, |
|
|
|
seq->color_config.subsampling_x + 1, |
|
|
|
seq->color_config.subsampling_y + 1, priv->bit_depth, |
|
|
|
priv->tile_rows, priv->tile_cols); |
|
|
|
|
|
|
|
update_refs: |
|
|
|
for (i = 0; i < AV1_NUM_REF_FRAMES; i++) { |
|
|
|
if (current->refresh_frame_flags & (1 << i)) { |
|
|
|
priv->ref[i] = (AV1ReferenceFrameState) { |
|
|
|
@@ -1592,15 +1607,6 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
av_log(ctx->log_ctx, AV_LOG_DEBUG, "Frame %d: size %dx%d " |
|
|
|
"upscaled %d render %dx%d subsample %dx%d " |
|
|
|
"bitdepth %d tiles %dx%d.\n", priv->order_hint, |
|
|
|
priv->frame_width, priv->frame_height, priv->upscaled_width, |
|
|
|
priv->render_width, priv->render_height, |
|
|
|
seq->color_config.subsampling_x + 1, |
|
|
|
seq->color_config.subsampling_y + 1, priv->bit_depth, |
|
|
|
priv->tile_rows, priv->tile_cols); |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
|