Hi All

I am writing a video filter that implements a scoreboard.

I have a number of bitmap files that act as scoreboard background and different numbers for the scoreboard.

All the bitmap files are read by the filter init function and stored in the filter private data as AVFrames.

The idea is to insert the scoreboard background on the current frame and also insert the relevant parts of the scoreboard giving a frame that holds a scoreboard with game time and game score.

The frames representing the scoreboard will be inserted in the current frame in the filter draw_slice function.

My problem is that I don’t know how to traverse the data element of the AVFrames in order to insert the parts of the scoreboard on the current frame.

This is illustrated below:


// Called once for each frame the filter handles.
static int draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
{
AVFilterContext *ctx = link->dst;
scoreboardContext *scoreboard = ctx->priv;
int bitmap = 123;
AVFrame *frame = scoreboard->pFrameInserts[bitmap];

av_log(NULL, AV_LOG_INFO, "draw_slice() canvas: %dx%d %s -.\n", link->w, link->h, av_get_pix_fmt_name(link->format));

/*
*
* Code to insert an AVFrame in the frame that the filter currently handles.
*
*/

return ff_draw_slice(link->dst->outputs[0], y, h, slice_dir);
}


Any help would be appreciated.

Thanks

Thomas S
_______________________________________________
Libav-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/libav-user

Reply via email to