Mercurial > libavcodec.hg
comparison mpegvideo.c @ 2534:0420f228ebb6 libavcodec
vismb: display 4x4 partition boundaries in H.264
author | lorenm |
---|---|
date | Thu, 03 Mar 2005 06:57:17 +0000 |
parents | 673d048d48dc |
children | 14fef0f3f532 |
comparison
equal
deleted
inserted
replaced
2533:06985f4138e3 | 2534:0420f228ebb6 |
---|---|
1919 *(uint64_t*)(pict->data[0] + 16*mb_x + 8 + (16*mb_y + 8)*pict->linesize[0])^= 0x8080808080808080ULL; | 1919 *(uint64_t*)(pict->data[0] + 16*mb_x + 8 + (16*mb_y + 8)*pict->linesize[0])^= 0x8080808080808080ULL; |
1920 } | 1920 } |
1921 if(IS_8X8(mb_type) || IS_8X16(mb_type)){ | 1921 if(IS_8X8(mb_type) || IS_8X16(mb_type)){ |
1922 for(y=0; y<16; y++) | 1922 for(y=0; y<16; y++) |
1923 pict->data[0][16*mb_x + 8 + (16*mb_y + y)*pict->linesize[0]]^= 0x80; | 1923 pict->data[0][16*mb_x + 8 + (16*mb_y + y)*pict->linesize[0]]^= 0x80; |
1924 } | |
1925 if(IS_8X8(mb_type) && mv_sample_log2 >= 2){ | |
1926 int dm= 1 << (mv_sample_log2-2); | |
1927 for(i=0; i<4; i++){ | |
1928 int sx= mb_x*16 + 8*(i&1); | |
1929 int sy= mb_y*16 + 8*(i>>1); | |
1930 int xy= (mb_x*2 + (i&1) + (mb_y*2 + (i>>1))*mv_stride) << (mv_sample_log2-1); | |
1931 //FIXME bidir | |
1932 int32_t *mv = (int32_t*)&pict->motion_val[0][xy]; | |
1933 if(mv[0] != mv[dm] || mv[dm*mv_stride] != mv[dm*(mv_stride+1)]) | |
1934 for(y=0; y<8; y++) | |
1935 pict->data[0][sx + 4 + (sy + y)*pict->linesize[0]]^= 0x80; | |
1936 if(mv[0] != mv[dm*mv_stride] || mv[dm] != mv[dm*(mv_stride+1)]) | |
1937 *(uint64_t*)(pict->data[0] + sx + (sy + 4)*pict->linesize[0])^= 0x8080808080808080ULL; | |
1938 } | |
1924 } | 1939 } |
1925 | 1940 |
1926 if(IS_INTERLACED(mb_type) && s->codec_id == CODEC_ID_H264){ | 1941 if(IS_INTERLACED(mb_type) && s->codec_id == CODEC_ID_H264){ |
1927 // hmm | 1942 // hmm |
1928 } | 1943 } |