[FFmpeg-devel] [PATCH] avfilter/vf_thumbnail: use the name 's' for the pointer to the private context

Ganesh Ajjanagadde gajjanagadde at gmail.com
Fri Sep 4 17:20:53 CEST 2015


Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
---
 libavfilter/vf_thumbnail.c | 58 +++++++++++++++++++++++-----------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/libavfilter/vf_thumbnail.c b/libavfilter/vf_thumbnail.c
index d70d063..c378791 100644
--- a/libavfilter/vf_thumbnail.c
+++ b/libavfilter/vf_thumbnail.c
@@ -58,15 +58,15 @@ AVFILTER_DEFINE_CLASS(thumbnail);
 
 static av_cold int init(AVFilterContext *ctx)
 {
-    ThumbContext *thumb = ctx->priv;
+    ThumbContext *s = ctx->priv;
 
-    thumb->frames = av_calloc(thumb->n_frames, sizeof(*thumb->frames));
-    if (!thumb->frames) {
+    s->frames = av_calloc(s->n_frames, sizeof(*s->frames));
+    if (!s->frames) {
         av_log(ctx, AV_LOG_ERROR,
                "Allocation failure, try to lower the number of frames\n");
         return AVERROR(ENOMEM);
     }
-    av_log(ctx, AV_LOG_VERBOSE, "batch size: %d frames\n", thumb->n_frames);
+    av_log(ctx, AV_LOG_VERBOSE, "batch size: %d frames\n", s->n_frames);
     return 0;
 }
 
@@ -91,39 +91,39 @@ static double frame_sum_square_err(const int *hist, const double *median)
 static AVFrame *get_best_frame(AVFilterContext *ctx)
 {
     AVFrame *picref;
-    ThumbContext *thumb = ctx->priv;
+    ThumbContext *s = ctx->priv;
     int i, j, best_frame_idx = 0;
-    int nb_frames = thumb->n;
+    int nb_frames = s->n;
     double avg_hist[HIST_SIZE] = {0}, sq_err, min_sq_err = -1;
 
     // average histogram of the N frames
     for (j = 0; j < FF_ARRAY_ELEMS(avg_hist); j++) {
         for (i = 0; i < nb_frames; i++)
-            avg_hist[j] += (double)thumb->frames[i].histogram[j];
+            avg_hist[j] += (double)s->frames[i].histogram[j];
         avg_hist[j] /= nb_frames;
     }
 
     // find the frame closer to the average using the sum of squared errors
     for (i = 0; i < nb_frames; i++) {
-        sq_err = frame_sum_square_err(thumb->frames[i].histogram, avg_hist);
+        sq_err = frame_sum_square_err(s->frames[i].histogram, avg_hist);
         if (i == 0 || sq_err < min_sq_err)
             best_frame_idx = i, min_sq_err = sq_err;
     }
 
     // free and reset everything (except the best frame buffer)
     for (i = 0; i < nb_frames; i++) {
-        memset(thumb->frames[i].histogram, 0, sizeof(thumb->frames[i].histogram));
+        memset(s->frames[i].histogram, 0, sizeof(s->frames[i].histogram));
         if (i != best_frame_idx)
-            av_frame_free(&thumb->frames[i].buf);
+            av_frame_free(&s->frames[i].buf);
     }
-    thumb->n = 0;
+    s->n = 0;
 
     // raise the chosen one
-    picref = thumb->frames[best_frame_idx].buf;
+    picref = s->frames[best_frame_idx].buf;
     av_log(ctx, AV_LOG_INFO, "frame id #%d (pts_time=%f) selected "
            "from a set of %d images\n", best_frame_idx,
-           picref->pts * av_q2d(thumb->tb), nb_frames);
-    thumb->frames[best_frame_idx].buf = NULL;
+           picref->pts * av_q2d(s->tb), nb_frames);
+    s->frames[best_frame_idx].buf = NULL;
 
     return picref;
 }
@@ -132,13 +132,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 {
     int i, j;
     AVFilterContext *ctx  = inlink->dst;
-    ThumbContext *thumb   = ctx->priv;
+    ThumbContext *s   = ctx->priv;
     AVFilterLink *outlink = ctx->outputs[0];
-    int *hist = thumb->frames[thumb->n].histogram;
+    int *hist = s->frames[s->n].histogram;
     const uint8_t *p = frame->data[0];
 
     // keep a reference of each frame
-    thumb->frames[thumb->n].buf = frame;
+    s->frames[s->n].buf = frame;
 
     // update current frame RGB histogram
     for (j = 0; j < inlink->h; j++) {
@@ -151,8 +151,8 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
     }
 
     // no selection until the buffer of N frames is filled up
-    thumb->n++;
-    if (thumb->n < thumb->n_frames)
+    s->n++;
+    if (s->n < s->n_frames)
         return 0;
 
     return ff_filter_frame(outlink, get_best_frame(ctx));
@@ -161,22 +161,22 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
 static av_cold void uninit(AVFilterContext *ctx)
 {
     int i;
-    ThumbContext *thumb = ctx->priv;
-    for (i = 0; i < thumb->n_frames && thumb->frames[i].buf; i++)
-        av_frame_free(&thumb->frames[i].buf);
-    av_freep(&thumb->frames);
+    ThumbContext *s = ctx->priv;
+    for (i = 0; i < s->n_frames && s->frames[i].buf; i++)
+        av_frame_free(&s->frames[i].buf);
+    av_freep(&s->frames);
 }
 
 static int request_frame(AVFilterLink *link)
 {
     AVFilterContext *ctx = link->src;
-    ThumbContext *thumb = ctx->priv;
+    ThumbContext *s = ctx->priv;
 
     /* loop until a frame thumbnail is available (when a frame is queued,
-     * thumb->n is reset to zero) */
+     * s->n is reset to zero) */
     do {
         int ret = ff_request_frame(ctx->inputs[0]);
-        if (ret == AVERROR_EOF && thumb->n) {
+        if (ret == AVERROR_EOF && s->n) {
             ret = ff_filter_frame(link, get_best_frame(ctx));
             if (ret < 0)
                 return ret;
@@ -184,16 +184,16 @@ static int request_frame(AVFilterLink *link)
         }
         if (ret < 0)
             return ret;
-    } while (thumb->n);
+    } while (s->n);
     return 0;
 }
 
 static int config_props(AVFilterLink *inlink)
 {
     AVFilterContext *ctx = inlink->dst;
-    ThumbContext *thumb = ctx->priv;
+    ThumbContext *s = ctx->priv;
 
-    thumb->tb = inlink->time_base;
+    s->tb = inlink->time_base;
     return 0;
 }
 
-- 
2.5.1



More information about the ffmpeg-devel mailing list