[FFmpeg-devel] Filter_mb_edge

Nicolas Derouineau nicolas.derouineau at vitec.com
Mon Sep 1 17:22:42 CEST 2014


Hello,
I would like to understand the prototype of this function:

filter_mb_edgeh(uint8_t *pix, int stride,
                                             const int16_t bS[4],
                                             unsigned int qp, int a, int b,
                                             H264Context *h, int intra)

Let's say I want to check the filtering condition on p0,1,2 and q0,1,2 . How am I supposed to read the pix buffer to get them ?

Correct me if I'm wrong:

On a 16x16 macroblock, considering abcd are the vertical boundaries, and efgh are the horizontal one:

/* Filtering a */
filter_mb_edgev( &img_y[4*0<<pixel_shift], linesize, bS3, qp, a, b, h, 0);
/* Filtering b */
filter_mb_edgev( &img_y[4*1<<pixel_shift], linesize, bS3, qp, a, b, h, 0);
/* Filtering c */
filter_mb_edgev( &img_y[4*2<<pixel_shift], linesize, bS3, qp, a, b, h, 0);


I guess img_y[0], img_y[stride] gives p0, p1, but how am I supposed to get q0 and q1 ?

Regards,

Nicolas DEROUINEAU





More information about the ffmpeg-devel mailing list