• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavcodec/

Lines Matching defs:cell

73     int16_t         xpos;       ///< cell coordinates in 4x4 blocks
75 int16_t width; ///< cell width in 4x4 blocks
76 int16_t height; ///< cell height in 4x4 blocks
218 * Copy pixels of the cell(x + mv_x, y + mv_y) from the previous frame into
219 * the cell(x, y) in the current frame.
223 * @param cell pointer to the cell descriptor
225 static int copy_cell(Indeo3DecodeContext *ctx, Plane *plane, Cell *cell)
231 offset_dst = (cell->ypos << 2) * plane->pitch + (cell->xpos << 2);
233 mv_y = cell->mv_ptr[0];
234 mv_x = cell->mv_ptr[1];
237 if ((cell->ypos << 2) + mv_y < -1 || (cell->xpos << 2) + mv_x < 0 ||
238 ((cell->ypos + cell->height) << 2) + mv_y > plane->height ||
239 ((cell->xpos + cell->width) << 2) + mv_x > plane->width) {
248 h = cell->height << 2;
250 for (w = cell->width; w > 0;) {
252 if (!((cell->xpos << 2) & 15) && w >= 4) {
258 if (!((cell->xpos << 2) & 7) && w >= 2) {
321 /* Error codes for cell decoding. */
337 if (cell->mv_ptr || !skip_flag) \
342 if (is_first_row) {/* special prediction case: top line of a cell */\
367 if (is_top_of_cell && !cell->ypos) {\
388 /* first line of the cell on the top of image? - replicate */\
390 if (is_top_of_cell && !cell->ypos) {\
418 static int decode_cell_data(Cell *cell, uint8_t *block, uint8_t *ref_block,
433 blk_row_offset = (row_offset << (2 + v_zoom)) - (cell->width << 2);
436 if (cell->height & v_zoom || cell->width & h_zoom)
439 for (y = 0; y < cell->height; is_first_row = 0, y += 1 + v_zoom) {
440 for (x = 0; x < cell->width; x += 1 + h_zoom) {
447 } else if (mode == 10 && !cell->mv_ptr) {
480 } else if (mode == 10 && !cell->mv_ptr) {
501 } else if (mode == 10 && !cell->mv_ptr) {
513 if (mode >= 10 || (cell->mv_ptr || !skip_flag)) {
516 } else if (mode == 10 && !cell->mv_ptr) {
529 if (cell->mv_ptr) {
532 } else if (mode == 10 && !cell->mv_ptr) {
562 * Decode a vector-quantized cell.
564 * with which a cell can be encoded.
569 * @param cell pointer to the cell descriptor
575 Plane *plane, Cell *cell, const uint8_t *data_ptr,
591 offset = (cell->ypos << 2) * plane->pitch + (cell->xpos << 2);
593 if (!cell->mv_ptr) {
597 /* for mode 10 and 11 INTER first copy the predicted cell into the current one */
599 int ret = copy_cell(ctx, plane, cell);
604 mv_y = cell->mv_ptr[0];
605 mv_x = cell->mv_ptr[1];
608 if ((cell->ypos << 2) + mv_y < -1 || (cell->xpos << 2) + mv_x < 0 ||
609 ((cell->ypos + cell->height) << 2) + mv_y > plane->height ||
610 ((cell->xpos + cell->width) << 2) + mv_x > plane->width) {
643 /* requantize the prediction if VQ index of this cell differs from VQ index */
644 /* of the predicted cell in order to avoid overflows. */
646 for (x = 0; x < cell->width << 2; x++)
657 if (mode >= 3 && cell->mv_ptr) {
658 av_log(avctx, AV_LOG_ERROR, "Attempt to apply Mode 3/4 to an INTER cell!\n");
663 error = decode_cell_data(cell, block, ref_block, plane->pitch, 0, zoom_fac,
668 if (mode == 10 && !cell->mv_ptr) { /* MODE 10 INTRA processing */
669 error = decode_cell_data(cell, block, ref_block, plane->pitch, 1, 1,
672 if (mode == 11 && !cell->mv_ptr) {
673 av_log(avctx, AV_LOG_ERROR, "Attempt to use Mode 11 for an INTRA cell!\n");
678 error = decode_cell_data(cell, block, ref_block, plane->pitch,
736 av_log(avctx, AV_LOG_ERROR, "Invalid cell: x=%d, y=%d, w=%d, h=%d\n", \
754 curr_cell = *ref_cell; // clone parent cell
866 /* initialize the 1st cell and set its dimensions to whole plane */
871 curr_cell.mv_ptr = 0; // no motion vector = INTRA cell