OSDN Git Service

Merge commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b'
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 16 Mar 2013 15:38:11 +0000 (16:38 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 16 Mar 2013 15:38:11 +0000 (16:38 +0100)
* commit 'e4a7b2177d14678ae240edcabaacfe2b14619b7b':
  vf_showinfo: remove its useless init function
  AVOptions: fix using named constants with child contexts.

Conflicts:
libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavfilter/vf_showinfo.c
libavutil/opt.c

Simple merge
diff --cc libavutil/opt.c
@@@ -268,48 -224,7 +268,48 @@@ int av_opt_set(void *obj, const char *n
      case AV_OPT_TYPE_INT64:
      case AV_OPT_TYPE_FLOAT:
      case AV_OPT_TYPE_DOUBLE:
-     case AV_OPT_TYPE_RATIONAL: return set_string_number(obj, o, val, dst);
+     case AV_OPT_TYPE_RATIONAL: return set_string_number(obj, target_obj, o, val, dst);
 +    case AV_OPT_TYPE_IMAGE_SIZE:
 +        if (!val || !strcmp(val, "none")) {
 +            *(int *)dst = *((int *)dst + 1) = 0;
 +            return 0;
 +        }
 +        ret = av_parse_video_size(dst, ((int *)dst) + 1, val);
 +        if (ret < 0)
 +            av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as image size\n", val);
 +        return ret;
 +    case AV_OPT_TYPE_PIXEL_FMT:
 +        if (!val || !strcmp(val, "none")) {
 +            ret = AV_PIX_FMT_NONE;
 +        } else {
 +            ret = av_get_pix_fmt(val);
 +            if (ret == AV_PIX_FMT_NONE) {
 +                char *tail;
 +                ret = strtol(val, &tail, 0);
 +                if (*tail || (unsigned)ret >= AV_PIX_FMT_NB) {
 +                    av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as pixel format\n", val);
 +                    return AVERROR(EINVAL);
 +                }
 +            }
 +        }
 +        *(enum AVPixelFormat *)dst = ret;
 +        return 0;
 +    case AV_OPT_TYPE_SAMPLE_FMT:
 +        if (!val || !strcmp(val, "none")) {
 +            ret = AV_SAMPLE_FMT_NONE;
 +        } else {
 +            ret = av_get_sample_fmt(val);
 +            if (ret == AV_SAMPLE_FMT_NONE) {
 +                char *tail;
 +                ret = strtol(val, &tail, 0);
 +                if (*tail || (unsigned)ret >= AV_SAMPLE_FMT_NB) {
 +                    av_log(obj, AV_LOG_ERROR, "Unable to parse option value \"%s\" as sample format\n", val);
 +                    return AVERROR(EINVAL);
 +                }
 +            }
 +        }
 +        *(enum AVSampleFormat *)dst = ret;
 +        return 0;
      }
  
      av_log(obj, AV_LOG_ERROR, "Invalid option type.\n");