Miscellaneous cleanup for lookahead queue
The only real change is the removal of the
aom_free_frame_buffer(&ctx->buf[i].img) call in av1_lookahead_init(). At
that point, the ctx->buf[] array has just been allocated with calloc(),
so ctx->buf[i].img is zero-initialized. One can verify that
aom_free_frame_buffer() is a no-op in that case.
Remove comments for the deleted active_map parameter of
av1_lookahead_destroy().
Declare local variables where they are first used. This is allowed in
C99.
Change-Id: I737a121d5077bbc573535fa1b2ff179739ca44e9
diff --git a/av1/encoder/lookahead.c b/av1/encoder/lookahead.c
index 78e2e08..4f28e6c 100644
--- a/av1/encoder/lookahead.c
+++ b/av1/encoder/lookahead.c
@@ -46,7 +46,6 @@
unsigned int width, unsigned int height, unsigned int subsampling_x,
unsigned int subsampling_y, int use_highbitdepth, unsigned int depth,
const int border_in_pixels, int byte_alignment, int num_lap_buffers) {
- struct lookahead_ctx *ctx = NULL;
int lag_in_frames = AOMMAX(1, depth);
// Add the lags to depth and clamp
@@ -57,7 +56,7 @@
depth += MAX_PRE_FRAMES;
// Allocate the lookahead structures
- ctx = calloc(1, sizeof(*ctx));
+ struct lookahead_ctx *ctx = calloc(1, sizeof(*ctx));
if (ctx) {
unsigned int i;
ctx->max_sz = depth;
@@ -71,7 +70,6 @@
ctx->buf = calloc(depth, sizeof(*ctx->buf));
if (!ctx->buf) goto fail;
for (i = 0; i < depth; i++) {
- aom_free_frame_buffer(&ctx->buf[i].img);
if (aom_realloc_frame_buffer(&ctx->buf[i].img, width, height,
subsampling_x, subsampling_y,
use_highbitdepth, border_in_pixels,
@@ -88,7 +86,6 @@
int av1_lookahead_push(struct lookahead_ctx *ctx, const YV12_BUFFER_CONFIG *src,
int64_t ts_start, int64_t ts_end, int use_highbitdepth,
aom_enc_frame_flags_t flags) {
- struct lookahead_entry *buf;
int width = src->y_crop_width;
int height = src->y_crop_height;
int uv_width = src->uv_crop_width;
@@ -104,7 +101,7 @@
if (ctx->read_ctxs[LAP_STAGE].valid) {
ctx->read_ctxs[LAP_STAGE].sz++;
}
- buf = pop(ctx, &ctx->write_idx);
+ struct lookahead_entry *buf = pop(ctx, &ctx->write_idx);
new_dimensions = width != buf->img.y_crop_width ||
height != buf->img.y_crop_height ||
@@ -162,12 +159,11 @@
struct lookahead_entry *av1_lookahead_peek(struct lookahead_ctx *ctx, int index,
COMPRESSOR_STAGE stage) {
struct lookahead_entry *buf = NULL;
- struct read_ctx *read_ctx = NULL;
if (ctx == NULL) {
return buf;
}
- read_ctx = &ctx->read_ctxs[stage];
+ struct read_ctx *read_ctx = &ctx->read_ctxs[stage];
assert(read_ctx->valid == 1);
if (index >= 0) {
// Forward peek
@@ -190,19 +186,17 @@
unsigned int av1_lookahead_depth(struct lookahead_ctx *ctx,
COMPRESSOR_STAGE stage) {
- struct read_ctx *read_ctx = NULL;
assert(ctx != NULL);
- read_ctx = &ctx->read_ctxs[stage];
+ struct read_ctx *read_ctx = &ctx->read_ctxs[stage];
assert(read_ctx->valid == 1);
return read_ctx->sz;
}
int av1_lookahead_pop_sz(struct lookahead_ctx *ctx, COMPRESSOR_STAGE stage) {
- struct read_ctx *read_ctx = NULL;
assert(ctx != NULL);
- read_ctx = &ctx->read_ctxs[stage];
+ struct read_ctx *read_ctx = &ctx->read_ctxs[stage];
assert(read_ctx->valid == 1);
return read_ctx->pop_sz;
}
diff --git a/av1/encoder/lookahead.h b/av1/encoder/lookahead.h
index 635857f..05b9fa3 100644
--- a/av1/encoder/lookahead.h
+++ b/av1/encoder/lookahead.h
@@ -53,7 +53,7 @@
int write_idx; /* Write index */
struct read_ctx read_ctxs[MAX_STAGES]; /* Read context */
struct lookahead_entry *buf; /* Buffer list */
- int push_frame_count; /* Number of frames has been pushed in the queue*/
+ int push_frame_count; /* Number of frames that have been pushed in the queue*/
};
/*!\endcond */
@@ -76,9 +76,6 @@
* This function will copy the source image into a new framebuffer with
* the expected stride/border.
*
- * If active_map is non-NULL and there is only one frame in the queue, then copy
- * only active macroblocks.
- *
* \param[in] ctx Pointer to the lookahead context
* \param[in] src Pointer to the image to enqueue
* \param[in] ts_start Timestamp for the start of this frame