• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavcodec/

Lines Matching refs:cell

75     int16_t         xpos;       ///< cell coordinates in 4x4 blocks
77 int16_t width; ///< cell width in 4x4 blocks
78 int16_t height; ///< cell height in 4x4 blocks
225 * Copy pixels of the cell(x + mv_x, y + mv_y) from the previous frame into
226 * the cell(x, y) in the current frame.
230 * @param cell pointer to the cell descriptor
232 static int copy_cell(Indeo3DecodeContext *ctx, Plane *plane, Cell *cell)
238 offset_dst = (cell->ypos << 2) * plane->pitch + (cell->xpos << 2);
240 if(cell->mv_ptr){
241 mv_y = cell->mv_ptr[0];
242 mv_x = cell->mv_ptr[1];
247 if ((cell->ypos << 2) + mv_y < -1 || (cell->xpos << 2) + mv_x < 0 ||
248 ((cell->ypos + cell->height) << 2) + mv_y > plane->height ||
249 ((cell->xpos + cell->width) << 2) + mv_x > plane->width) {
258 h = cell->height << 2;
260 for (w = cell->width; w > 0;) {
262 if (!((cell->xpos << 2) & 15) && w >= 4) {
268 if (!((cell->xpos << 2) & 7) && w >= 2) {
329 /* Error codes for cell decoding. */
345 if (cell->mv_ptr || !skip_flag) \
350 if (is_first_row) {/* special prediction case: top line of a cell */\
375 if (is_top_of_cell && !cell->ypos) {\
396 /* first line of the cell on the top of image? - replicate */\
398 if (is_top_of_cell && !cell->ypos) {\
426 static int decode_cell_data(Indeo3DecodeContext *ctx, Cell *cell,
442 blk_row_offset = (row_offset << (2 + v_zoom)) - (cell->width << 2);
445 if (cell->height & v_zoom || cell->width & h_zoom)
448 for (y = 0; y < cell->height; is_first_row = 0, y += 1 + v_zoom) {
449 for (x = 0; x < cell->width; x += 1 + h_zoom) {
456 } else if (mode == 10 && !cell->mv_ptr) {
489 } else if (mode == 10 && !cell->mv_ptr) {
510 } else if (mode == 10 && !cell->mv_ptr) {
522 if (mode >= 10 || (cell->mv_ptr || !skip_flag)) {
525 } else if (mode == 10 && !cell->mv_ptr) {
538 if (cell->mv_ptr) {
541 } else if (mode == 10 && !cell->mv_ptr) {
571 * Decode a vector-quantized cell.
573 * with which a cell can be encoded.
578 * @param cell pointer to the cell descriptor
584 Plane *plane, Cell *cell, const uint8_t *data_ptr,
600 offset = (cell->ypos << 2) * plane->pitch + (cell->xpos << 2);
603 if (!cell->mv_ptr) {
607 /* for mode 10 and 11 INTER first copy the predicted cell into the current one */
609 int ret = copy_cell(ctx, plane, cell);
614 mv_y = cell->mv_ptr[0];
615 mv_x = cell->mv_ptr[1];
618 if ((cell->ypos << 2) + mv_y < -1 || (cell->xpos << 2) + mv_x < 0 ||
619 ((cell->ypos + cell->height) << 2) + mv_y > plane->height ||
620 ((cell->xpos + cell->width) << 2) + mv_x > plane->width) {
653 /* requantize the prediction if VQ index of this cell differs from VQ index */
654 /* of the predicted cell in order to avoid overflows. */
656 for (x = 0; x < cell->width << 2; x++)
667 if (mode >= 3 && cell->mv_ptr) {
668 av_log(avctx, AV_LOG_ERROR, "Attempt to apply Mode 3/4 to an INTER cell!\n");
673 error = decode_cell_data(ctx, cell, block, ref_block, plane->pitch,
679 if (mode == 10 && !cell->mv_ptr) { /* MODE 10 INTRA processing */
680 error = decode_cell_data(ctx, cell, block, ref_block, plane->pitch,
684 if (mode == 11 && !cell->mv_ptr) {
685 av_log(avctx, AV_LOG_ERROR, "Attempt to use Mode 11 for an INTRA cell!\n");
690 error = decode_cell_data(ctx, cell, block, ref_block, plane->pitch,
748 av_log(avctx, AV_LOG_ERROR, "Invalid cell: x=%d, y=%d, w=%d, h=%d\n", \
766 curr_cell = *ref_cell; // clone parent cell
883 /* initialize the 1st cell and set its dimensions to whole plane */
888 curr_cell.mv_ptr = 0; // no motion vector = INTRA cell