summaryrefslogtreecommitdiffstats
path: root/video/decode/vd_lavc.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/decode/vd_lavc.c')
-rw-r--r--video/decode/vd_lavc.c43
1 files changed, 20 insertions, 23 deletions
diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c
index 76f2b46e3e..14f1343d6f 100644
--- a/video/decode/vd_lavc.c
+++ b/video/decode/vd_lavc.c
@@ -99,32 +99,29 @@ static const struct m_opt_choice_alternatives discard_names[] = {
{"all", AVDISCARD_ALL},
{0}
};
-#define OPT_DISCARD(name, field, flags) \
- OPT_GENERAL(int, name, field, flags, .type = CONF_TYPE_CHOICE, \
- .priv = (void *)discard_names)
+#define OPT_DISCARD(field) OPT_CHOICE_C(field, discard_names)
const struct m_sub_options vd_lavc_conf = {
.opts = (const m_option_t[]){
- OPT_FLAG("vd-lavc-fast", fast, 0),
- OPT_FLAG("vd-lavc-show-all", show_all, 0),
- OPT_DISCARD("vd-lavc-skiploopfilter", skip_loop_filter, 0),
- OPT_DISCARD("vd-lavc-skipidct", skip_idct, 0),
- OPT_DISCARD("vd-lavc-skipframe", skip_frame, 0),
- OPT_DISCARD("vd-lavc-framedrop", framedrop, 0),
- OPT_INT("vd-lavc-threads", threads, 0, .min = 0, .max = DBL_MAX),
- OPT_FLAG("vd-lavc-bitexact", bitexact, 0),
- OPT_FLAG("vd-lavc-assume-old-x264", old_x264, 0),
- OPT_FLAG("vd-lavc-check-hw-profile", check_hw_profile, 0),
- OPT_CHOICE_OR_INT("vd-lavc-software-fallback", software_fallback,
- 0, 1, INT_MAX, ({"no", INT_MAX}, {"yes", 1})),
- OPT_KEYVALUELIST("vd-lavc-o", avopts, 0),
- OPT_FLAG("vd-lavc-dr", dr, 0),
- OPT_STRING_VALIDATE("hwdec", hwdec_api,
- M_OPT_OPTIONAL_PARAM | UPDATE_HWDEC,
- hwdec_validate_opt),
- OPT_STRING("hwdec-codecs", hwdec_codecs, 0),
- OPT_IMAGEFORMAT("hwdec-image-format", hwdec_image_format, 0, .min = -1),
- OPT_INTRANGE("hwdec-extra-frames", hwdec_extra_frames, 0, 0, 256),
+ {"vd-lavc-fast", OPT_FLAG(fast)},
+ {"vd-lavc-show-all", OPT_FLAG(show_all)},
+ {"vd-lavc-skiploopfilter", OPT_DISCARD(skip_loop_filter)},
+ {"vd-lavc-skipidct", OPT_DISCARD(skip_idct)},
+ {"vd-lavc-skipframe", OPT_DISCARD(skip_frame)},
+ {"vd-lavc-framedrop", OPT_DISCARD(framedrop)},
+ {"vd-lavc-threads", OPT_INT(threads), M_RANGE(0, DBL_MAX)},
+ {"vd-lavc-bitexact", OPT_FLAG(bitexact)},
+ {"vd-lavc-assume-old-x264", OPT_FLAG(old_x264)},
+ {"vd-lavc-check-hw-profile", OPT_FLAG(check_hw_profile)},
+ {"vd-lavc-software-fallback", OPT_CHOICE(software_fallback,
+ {"no", INT_MAX}, {"yes", 1}), M_RANGE(1, INT_MAX)},
+ {"vd-lavc-o", OPT_KEYVALUELIST(avopts)},
+ {"vd-lavc-dr", OPT_FLAG(dr)},
+ {"hwdec", OPT_STRING_VALIDATE(hwdec_api, hwdec_validate_opt),
+ .flags = M_OPT_OPTIONAL_PARAM | UPDATE_HWDEC},
+ {"hwdec-codecs", OPT_STRING(hwdec_codecs)},
+ {"hwdec-image-format", OPT_IMAGEFORMAT(hwdec_image_format), .min = -1},
+ {"hwdec-extra-frames", OPT_INT(hwdec_extra_frames), M_RANGE(0, 256)},
{0}
},
.size = sizeof(struct vd_lavc_params),