- assert(mb);
-
- if(mb->cbp)
- stream = buffer->start + buffer->num_not_empty++;
- else
- stream = buffer->end - ++buffer->num_empty;
-
- stream->pos.x = mb->mbx;
- stream->pos.y = mb->mby;
-
- for ( i = 0; i < 3; ++i)
- for ( j = 0; j < 2; ++j)
- for ( k = 0; k < 2; ++k)
- stream->eb[i][j][k] = !(mb->cbp & (*empty_block_mask)[i][j][k]);
-
- stream->dct_type_field = mb->dct_type == PIPE_MPEG12_DCT_TYPE_FIELD;
- stream->mo_type_frame = mb->mo_type == PIPE_MPEG12_MOTION_TYPE_FRAME;
- stream->mb_type_intra = mb->mb_type != PIPE_MPEG12_MACROBLOCK_TYPE_INTRA;
- switch (mb->mb_type) {
- case PIPE_MPEG12_MACROBLOCK_TYPE_FWD:
- stream->mv_wheights = 0;
- break;
-
- case PIPE_MPEG12_MACROBLOCK_TYPE_BI:
- stream->mv_wheights = 1;
- break;
-
- case PIPE_MPEG12_MACROBLOCK_TYPE_BKWD:
- stream->mv_wheights = 2;
- break;
-
- default:
- stream->mv_wheights = 0;
- }