From 369f8d0dc9fc8ee91a01c529aa38bd3324ff70c8 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Mon, 23 Jul 2012 12:26:30 +0200 Subject: [PATCH] qv4l2: remove offset checks. Always assume a 0 offset since the offset as returned by drivers is unreliable. A later patch will add checks to v4l2-compliance to verify whether the offset value as returned by the driver makes sense. Signed-off-by: Hans Verkuil --- utils/qv4l2/raw2sliced.cpp | 42 +----------------------------------------- utils/qv4l2/raw2sliced.h | 1 - 2 files changed, 1 insertion(+), 42 deletions(-) diff --git a/utils/qv4l2/raw2sliced.cpp b/utils/qv4l2/raw2sliced.cpp index 6edbc04..4db158a 100644 --- a/utils/qv4l2/raw2sliced.cpp +++ b/utils/qv4l2/raw2sliced.cpp @@ -161,8 +161,6 @@ static bool low_pass_bit_slicer_Y8(struct vbi_bit_slicer *bs, uint8_t *buffer, c unsigned char b1; /* previous bit */ unsigned int oversampling = 4; - raw += bs->skip; - thresh0 = bs->thresh; c = 0; @@ -261,7 +259,6 @@ static bool vbi_bit_slicer_prepare(struct vbi_bit_slicer *bs, const struct service *s, const struct v4l2_vbi_format *fmt) { - unsigned int sample_offset = 0; unsigned int c_mask; unsigned int f_mask; unsigned int min_samples_per_bit; @@ -270,8 +267,6 @@ static bool vbi_bit_slicer_prepare(struct vbi_bit_slicer *bs, unsigned int data_samples; unsigned int cri, cri_mask, frc; unsigned int cri_end; - unsigned int cri_samples; - unsigned int skip; assert (s->cri_bits <= 32); assert (s->frc_bits <= 32); @@ -299,7 +294,6 @@ static bool vbi_bit_slicer_prepare(struct vbi_bit_slicer *bs, f_mask = (s->frc_bits == 32) ? ~0U : (1U << s->frc_bits) - 1; oversampling = 4; - skip = 0; /* 0-1 threshold, start value. */ bs->thresh = 105 << DEF_THR_FRAC; @@ -311,49 +305,15 @@ static bool vbi_bit_slicer_prepare(struct vbi_bit_slicer *bs, bs->thresh_frac += LP_AVG - 2; } - bs->skip = sample_offset + skip; - bs->cri_mask = cri_mask & c_mask; bs->cri = cri & bs->cri_mask; - /* We stop searching for CRI when CRI, FRC and payload - cannot possibly fit anymore. Additionally this eliminates - a data end check in the payload loop. */ - cri_samples = (fmt->sampling_rate * (int64_t) s->cri_bits) / s->cri_rate; - data_bits = s->payload + s->frc_bits; data_samples = (fmt->sampling_rate * (int64_t) data_bits) / s->bit_rate; - if ((fmt->offset > fmt->samples_per_line) - || ((cri_samples + data_samples) - > (fmt->samples_per_line - fmt->offset))) { - /*fprintf(stderr, - "%u samples_per_line too small for " - "sample_offset %u + %u cri_bits (%u samples) " - "+ %u frc_bits and %u payload " - "(%u samples).\n", - fmt->samples_per_line, fmt->offset, - s->cri_bits, cri_samples, - s->frc_bits, s->payload, data_samples);*/ - } - if ((sample_offset > fmt->samples_per_line) - || ((cri_samples + data_samples) - > (fmt->samples_per_line - sample_offset))) { - /* - fprintf(stderr, - "%u samples_per_line too small for " - "sample_offset %u + %u cri_bits (%u samples) " - "+ %u frc_bits and %u payload " - "(%u samples).\n", - fmt->samples_per_line, sample_offset, - s->cri_bits, cri_samples, - s->frc_bits, s->payload, data_samples);*/ - return false; - } - cri_end = fmt->samples_per_line - data_samples; - bs->cri_samples = cri_end - sample_offset; + bs->cri_samples = cri_end; bs->cri_rate = s->cri_rate; bs->oversampling_rate = fmt->sampling_rate * oversampling; diff --git a/utils/qv4l2/raw2sliced.h b/utils/qv4l2/raw2sliced.h index bcc134c..d53725d 100644 --- a/utils/qv4l2/raw2sliced.h +++ b/utils/qv4l2/raw2sliced.h @@ -48,7 +48,6 @@ struct vbi_bit_slicer { unsigned int frc_bits; unsigned int payload; unsigned int endian; - unsigned int skip; }; struct vbi_handle { -- 2.7.4