Lines Matching refs:den
59 static int read_number(const AVOption *o, const void *dst, double *num, int *den, int64_t *intnum)
93 *den = ((AVRational *)dst)->den;
102 static int write_number(void *obj, const AVOption *o, void *dst, double num, int den, int64_t intnum)
105 (!den || o->max * den < num * intnum || o->min * den > num * intnum)) {
106 num = den ? num * intnum / den : (num && intnum ? INFINITY : NAN);
112 double d = num*intnum/den;
116 num*intnum/den, o->name);
123 *(enum AVPixelFormat *)dst = llrint(num / den) * intnum;
126 *(enum AVSampleFormat *)dst = llrint(num / den) * intnum;
131 *(int *)dst = llrint(num / den) * intnum;
140 double d = num / den;
147 double d = num / den;
161 *(float *)dst = num * intnum / den;
164 *(double *)dst = num * intnum / den;
169 *(AVRational *)dst = (AVRational) { num *intnum, den };
171 *(AVRational *)dst = av_d2q(num * intnum / den, 1 << 24);
243 int num, den;
245 if (sscanf(val, "%d%*1[:/]%d%c", &num, &den, &c) == 2) {
246 if ((ret = write_number(obj, o, dst, 1, den, num)) >= 0)
535 return write_number(obj, o, dst, 1, tmp.den, tmp.num);
608 static int set_number(void *obj, const char *name, double num, int den, int64_t intnum,
621 return write_number(obj, o, dst, num, den, intnum);
636 return set_number(obj, name, val.num, val.den, 1, search_flags);
703 if (val.num <= 0 || val.den <= 0)
705 return set_number(obj, name, val.num, val.den, 1, search_flags);
878 ret = snprintf(buf, sizeof(buf), "%d/%d", ((AVRational *)dst)->num, ((AVRational *)dst)->den);
958 static int get_number(void *obj, const char *name, const AVOption **o_out, double *num, int *den, int64_t *intnum,
970 return read_number(o, dst, num, den, intnum);
973 *den =
982 int ret, den = 1;
984 if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
986 if (num == den)
989 *out_val = num * intnum / den;
997 int ret, den = 1;
999 if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
1001 *out_val = num * intnum / den;
1009 int ret, den = 1;
1011 if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
1015 *out_val = (AVRational){intnum, den};
1017 *out_val = av_d2q(num*intnum/den, 1<<24);
1043 int ret, den = 1;
1045 if ((ret = get_number(obj, name, NULL, &num, &den, &intnum, search_flags)) < 0)
1049 *out_val = (AVRational) { intnum, den };
1051 *out_val = av_d2q(num * intnum / den, 1 << 24);
1413 av_log(av_log_obj, AV_LOG_INFO, "%d/%d", q.num, q.den); }
1504 write_number(s, opt, dst, 1, val.den, val.num);