| 1496 | } |
| 1497 | |
| 1498 | static void process_frame(hb_filter_private_t *pv) |
| 1499 | { |
| 1500 | int combed = comb_segmenter(pv); |
| 1501 | |
| 1502 | switch (combed) |
| 1503 | { |
| 1504 | case HB_COMB_HEAVY: |
| 1505 | pv->comb_heavy++; |
| 1506 | break; |
| 1507 | |
| 1508 | case HB_COMB_LIGHT: |
| 1509 | pv->comb_light++; |
| 1510 | break; |
| 1511 | |
| 1512 | case HB_COMB_NONE: |
| 1513 | default: |
| 1514 | pv->comb_none++; |
| 1515 | break; |
| 1516 | } |
| 1517 | pv->frames++; |
| 1518 | if (((pv->mode & MODE_MASK) || (pv->mode & MODE_COMPOSITE)) && combed) |
| 1519 | { |
| 1520 | hb_buffer_t *out; |
| 1521 | out = hb_buffer_shallow_dup(pv->ref[1]); |
| 1522 | pv->apply_mask(pv, out); |
| 1523 | out->s.combed = combed; |
| 1524 | hb_buffer_list_append(&pv->out_list, out); |
| 1525 | } |
| 1526 | else |
| 1527 | { |
| 1528 | pv->ref_used[1] = 1; |
| 1529 | pv->ref[1]->s.combed = combed; |
| 1530 | hb_buffer_list_append(&pv->out_list, pv->ref[1]); |
| 1531 | } |
| 1532 | |
| 1533 | pv->force_exaustive_check = 0; |
| 1534 | } |
| 1535 | |
| 1536 | static int comb_detect_work(hb_filter_object_t *filter, |
| 1537 | hb_buffer_t **buf_in, |
no test coverage detected