44         for (j = 0; j < 2; j++) {
 
   80                 for (j = 0; j < 2; j++) {
 
   98                 for (j = 0; j < 2; j++) {
 
  114                     for (j = 0; j < 2; j++) {
 
  125                     for (j = 0; j < 2; j++) {
 
  215         block_cbp      = mb_cbp      >> (block_num * 4), bottom_cbp,
 
  217         block_is_intra = mb_is_intra >> block_num, bottom_is_intra;
 
  222         dst      = s->
dest[block_num - 3];
 
  224         dst      = s->
dest[0] + (block_num & 1) * 8 + ((block_num & 2) * 4 - 8) * linesize;
 
  231             bottom_cbp      = v->
cbp[s->
mb_x]      >> (block_num * 4);
 
  236             bottom_cbp      = (block_num < 2) ? (mb_cbp               >> ((block_num + 2) * 4))
 
  237                                               : (v->
cbp[s->
mb_x]      >> ((block_num - 2) * 4));
 
  238             bottom_is_intra = (block_num < 2) ? (mb_is_intra          >> (block_num + 2))
 
  244         if (bottom_is_intra & 1 || block_is_intra & 1 ||
 
  245             mv[0][0] != 
mv[mv_stride][0] || 
mv[0][1] != 
mv[mv_stride][1]) {
 
  248             idx = ((bottom_cbp >> 2) | block_cbp) & 3;
 
  263         idx = (block_cbp | (block_cbp >> 2)) & 3;
 
  279         block_cbp      = mb_cbp      >> (block_num * 4), right_cbp,
 
  281         block_is_intra = mb_is_intra >> block_num, right_is_intra;
 
  286         dst = s->
dest[block_num - 3] - 8 * linesize;
 
  288         dst = s->
dest[0] + (block_num & 1) * 8 + ((block_num & 2) * 4 - 16) * linesize - 8;
 
  299             right_cbp      = (block_num & 1) ? (v->
cbp[s->
mb_x - s->
mb_stride]      >> ((block_num - 1) * 4))
 
  300                                              : (mb_cbp                              >> ((block_num + 1) * 4));
 
  302                                              : (mb_is_intra                         >> (block_num + 1));
 
  305         if (block_is_intra & 1 || right_is_intra & 1 || 
mv[0][0] != 
mv[1][0] || 
mv[0][1] != 
mv[1][1]) {
 
  308             idx = ((right_cbp >> 1) | block_cbp) & 5; 
 
  323         idx = (block_cbp | (block_cbp >> 1)) & 5;
 
  341     for (i = 0; i < block_count; i++) {
 
  348         for (i = 0; i < block_count; i++) {
 
  354             for (i = 0; i < block_count; i++) {
 
void ff_vc1_apply_p_loop_filter(VC1Context *v)
int start_mb_y
start mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y) ...
int end_mb_y
end mb_y of this thread (so current thread should process start_mb_y <= row < end_mb_y) ...
void ff_vc1_loop_filter_iblk(VC1Context *v, int pq)
void(* vc1_v_loop_filter8)(uint8_t *src, int stride, int pq)
void(* vc1_v_loop_filter4)(uint8_t *src, int stride, int pq)
Picture current_picture
copy of the current picture structure. 
void(* vc1_h_loop_filter8)(uint8_t *src, int stride, int pq)
uint8_t * over_flags_plane
Overflags bitplane. 
static void ff_update_block_index(MpegEncContext *s)
static av_always_inline void vc1_apply_p_h_loop_filter(VC1Context *v, int block_num)
void(* vc1_v_loop_filter16)(uint8_t *src, int stride, int pq)
Libavcodec external API header. 
int16_t(*[2] motion_val)[2]
int block_index[6]
index to current MB in block based arrays with edges 
static const int8_t mv[256][2]
int first_slice_line
used in mpeg4 too to handle resync markers 
void(* vc1_h_loop_filter4)(uint8_t *src, int stride, int pq)
ptrdiff_t linesize
line size, in bytes, may be different from width 
static av_always_inline void vc1_apply_p_v_loop_filter(VC1Context *v, int block_num)
ptrdiff_t uvlinesize
line size, for chroma in bytes, may be different from width 
int b8_stride
2*mb_width+1 used for some 8x8 block arrays to allow simple addressing 
struct AVCodecContext * avctx
int mb_stride
mb_width+1 used for some arrays to allow simple addressing of left & top MBs without sig11 ...
#define CODEC_FLAG_GRAY
Only decode/encode grayscale. 
void ff_vc1_smooth_overlap_filter_iblk(VC1Context *v)
int * ttblk
Transform type at the block level. 
void(* vc1_v_s_overlap)(int16_t *top, int16_t *bottom)
void ff_vc1_loop_filter_iblk_delayed(VC1Context *v, int pq)
void(* vc1_h_s_overlap)(int16_t *left, int16_t *right)
void(* vc1_h_loop_filter16)(uint8_t *src, int stride, int pq)