static av_cold int init(AVFilterContext *ctx, const char *args0, void *opaque) { ABufferSourceContext *abuffer = ctx->priv; char *arg = NULL, *ptr, chlayout_str[16]; char *args = av_strdup(args0); int ret; arg = av_strtok(args, ":", &ptr); #define ADD_FORMAT(fmt_name) \ if (!arg) \ goto arg_fail; \ if ((ret = ff_parse_##fmt_name(&abuffer->fmt_name, arg, ctx)) < 0) { \ av_freep(&args); \ return ret; \ } \ if (*args) \ arg = av_strtok(NULL, ":", &ptr) ADD_FORMAT(sample_rate); ADD_FORMAT(sample_format); ADD_FORMAT(channel_layout); ADD_FORMAT(packing_format); abuffer->fifo = av_fifo_alloc(FIFO_SIZE*sizeof(AVFilterBufferRef*)); if (!abuffer->fifo) { av_log(ctx, AV_LOG_ERROR, "Failed to allocate fifo, filter init failed.\n"); return AVERROR(ENOMEM); } av_get_channel_layout_string(chlayout_str, sizeof(chlayout_str), -1, abuffer->channel_layout); av_log(ctx, AV_LOG_INFO, "format:%s layout:%s rate:%d\n", av_get_sample_fmt_name(abuffer->sample_format), chlayout_str, abuffer->sample_rate); av_freep(&args); return 0; arg_fail: av_log(ctx, AV_LOG_ERROR, "Invalid arguments, must be of the form " "sample_rate:sample_fmt:channel_layout:packing\n"); av_freep(&args); return AVERROR(EINVAL); }
int ff_add_channel_layout(AVFilterChannelLayouts **l, uint64_t channel_layout) { av_assert1(!(*l && (*l)->all_layouts)); ADD_FORMAT(l, channel_layout, uint64_t, channel_layouts, nb_channel_layouts); return 0; }
int ff_add_channel_layout(AVFilterChannelLayouts **l, uint64_t channel_layout) { ADD_FORMAT(l, channel_layout, uint64_t, channel_layouts, nb_channel_layouts); }
ThumbSettings::ThumbSettings() : VerticalConfigurationGroup() { setLabel(tr("Thumbnails")); HostComboBox *order = new HostComboBox("GalleryImageOrder"); order->setLabel(tr("Image Order")); order->setHelpText(tr("The order that pictures/videos are shown in thumbnail " "view and ordered slideshows.")); order->addSelection(tr("Filename (A-Z)"), QString::number(kSortByNameAsc)); order->addSelection(tr("Reverse Filename (Z-A)"), QString::number(kSortByNameDesc)); order->addSelection(tr("Exif Date (oldest first)"), QString::number(kSortByDateAsc)); order->addSelection(tr("Reverse Exif Date (newest first)"), QString::number(kSortByDateDesc)); order->addSelection(tr("File Modified Time (oldest first)"), QString::number(kSortByModTimeAsc)); order->addSelection(tr("Reverse File Modified Time (newest first)"), QString::number(kSortByModTimeDesc)); order->addSelection(tr("File Extension (A-Z)"), QString::number(kSortByExtAsc)); order->addSelection(tr("Reverse File Extension (Z-A)"), QString::number(kSortByExtDesc)); order->addSelection(tr("File Size (smallest first)"), QString::number(kSortBySizeAsc)); order->addSelection(tr("Reverse File Size (largest first)"), QString::number(kSortBySizeDesc)); addChild(order); HostComboBox *orderDir = new HostComboBox("GalleryDirOrder"); orderDir->setLabel(tr("Directory Order")); orderDir->setHelpText(tr("The order that dirctories are shown and traversed " "in recursive slideshows.")); orderDir->addSelection(tr("Filename (A-Z)"), QString::number(kSortByNameAsc)); orderDir->addSelection(tr("Reverse Filename (Z-A)"), QString::number(kSortByNameDesc)); orderDir->addSelection(tr("File Modified Time (oldest first)"), QString::number(kSortByModTimeAsc)); orderDir->addSelection(tr("Reverse File Modified Time (newest first)"), QString::number(kSortByModTimeDesc)); addChild(orderDir); HostComboBox *fmt = new HostComboBox("GalleryDateFormat"); fmt->setLabel(tr("Date Format")); QDateTime sampdate = MythDate::fromString("2002-05-03"); ADD_FORMAT(sampdate, "dd/MM/yy"); ADD_FORMAT(sampdate, "dd-MM-yy"); ADD_FORMAT(sampdate, "d/M/yy"); ADD_FORMAT(sampdate, "d-M-yy"); ADD_FORMAT(sampdate, "MM/dd/yy"); ADD_FORMAT(sampdate, "MM-dd-yy"); ADD_FORMAT(sampdate, "M/d/yy"); ADD_FORMAT(sampdate, "M-d-yy"); ADD_FORMAT(sampdate, "yyyy/MM/dd"); ADD_FORMAT(sampdate, "yyyy-MM-dd"); ADD_FORMAT(sampdate, QString("yyyy") % QChar(0x5E74) % "M" % QChar(0x6708) % "d" % QChar(0x65E5)); // yyyy年M月d日 fmt->setHelpText(tr("Date format of thumbnail captions. Other places use the system date format. " "Sample shows 3rd May 2002.")); addChild(fmt); }