semeru/code-code-DefectDetection
Dataset is imported from CodeXGLUE and pre-processed using their script. Where to find in Semeru: The dataset can be found at /nfs/semeru/semeru_datasets/code_xglue/code-to-code/Defect-detection in Semeru CodeXGLUE -- Defect Detection Task Definition Given a source code, the task is to identify whether it is an insecure code that may attack software systems, such as resource leaks, use-after-free vulnerabilities and DoS attack. We… See the full description on the dataset page: https://huggingface.co/datasets/semeru/code-code-DefectDetection.
282
1{"project": "FFmpeg", "commit_id": "32bf6550cb9cc9f487a6722fe2bfc272a93c1065", "target": 0, "func": "int ff_get_wav_header(AVFormatContext *s, AVIOContext *pb,\n\n AVCodecContext *codec, int size, int big_endian)\n\n{\n\n int id;\n\n uint64_t bitrate;\n\n\n\n if (size < 14) {\n\n avpriv_request_sample(codec, \"wav header size < 14\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n codec->codec_type = AVMEDIA_TYPE_AUDIO;\n\n if (!big_endian) {\n\n id = avio_rl16(pb);\n\n if (id != 0x0165) {\n\n codec->channels = avio_rl16(pb);\n\n codec->sample_rate = avio_rl32(pb);\n\n bitrate = avio_rl32(pb) * 8LL;\n\n codec->block_align = avio_rl16(pb);\n\n }\n\n } else {\n\n id = avio_rb16(pb);\n\n codec->channels = avio_rb16(pb);\n\n codec->sample_rate = avio_rb32(pb);\n\n bitrate = avio_rb32(pb) * 8LL;\n\n codec->block_align = avio_rb16(pb);\n\n }\n\n if (size == 14) { /* We're dealing with plain vanilla WAVEFORMAT */\n\n codec->bits_per_coded_sample = 8;\n\n } else {\n\n if (!big_endian) {\n\n codec->bits_per_coded_sample = avio_rl16(pb);\n\n } else {\n\n codec->bits_per_coded_sample = avio_rb16(pb);\n\n }\n\n }\n\n if (id == 0xFFFE) {\n\n codec->codec_tag = 0;\n\n } else {\n\n codec->codec_tag = id;\n\n codec->codec_id = ff_wav_codec_get_id(id,\n\n codec->bits_per_coded_sample);\n\n }\n\n if (size >= 18 && id != 0x0165) { /* We're obviously dealing with WAVEFORMATEX */\n\n int cbSize = avio_rl16(pb); /* cbSize */\n\n if (big_endian) {\n\n avpriv_report_missing_feature(codec, \"WAVEFORMATEX support for RIFX files\\n\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n size -= 18;\n\n cbSize = FFMIN(size, cbSize);\n\n if (cbSize >= 22 && id == 0xfffe) { /* WAVEFORMATEXTENSIBLE */\n\n parse_waveformatex(pb, codec);\n\n cbSize -= 22;\n\n size -= 22;\n\n }\n\n if (cbSize > 0) {\n\n av_freep(&codec->extradata);\n\n if (ff_get_extradata(codec, pb, cbSize) < 0)\n\n return AVERROR(ENOMEM);\n\n size -= cbSize;\n\n }\n\n\n\n /* It is possible for the chunk to contain garbage at the end */\n\n if (size > 0)\n\n avio_skip(pb, size);\n\n } else if (id == 0x0165 && size >= 32) {\n\n int nb_streams, i;\n\n\n\n size -= 4;\n\n av_freep(&codec->extradata);\n\n if (ff_get_extradata(codec, pb, size) < 0)\n\n return AVERROR(ENOMEM);\n\n nb_streams = AV_RL16(codec->extradata + 4);\n\n codec->sample_rate = AV_RL32(codec->extradata + 12);\n\n codec->channels = 0;\n\n bitrate = 0;\n\n if (size < 8 + nb_streams * 20)\n\n return AVERROR_INVALIDDATA;\n\n for (i = 0; i < nb_streams; i++)\n\n codec->channels += codec->extradata[8 + i * 20 + 17];\n\n }\n\n\n\n if (bitrate > INT_MAX) {\n\n if (s->error_recognition & AV_EF_EXPLODE) {\n\n av_log(s, AV_LOG_ERROR,\n\n \"The bitrate %\"PRIu64\" is too large.\\n\",\n\n bitrate);\n\n return AVERROR_INVALIDDATA;\n\n } else {\n\n av_log(s, AV_LOG_WARNING,\n\n \"The bitrate %\"PRIu64\" is too large, resetting to 0.\",\n\n bitrate);\n\n codec->bit_rate = 0;\n\n }\n\n } else {\n\n codec->bit_rate = bitrate;\n\n }\n\n\n\n if (codec->sample_rate <= 0) {\n\n av_log(s, AV_LOG_ERROR,\n\n \"Invalid sample rate: %d\\n\", codec->sample_rate);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (codec->codec_id == AV_CODEC_ID_AAC_LATM) {\n\n /* Channels and sample_rate values are those prior to applying SBR\n\n * and/or PS. */\n\n codec->channels = 0;\n\n codec->sample_rate = 0;\n\n }\n\n /* override bits_per_coded_sample for G.726 */\n\n if (codec->codec_id == AV_CODEC_ID_ADPCM_G726 && codec->sample_rate)\n\n codec->bits_per_coded_sample = codec->bit_rate / codec->sample_rate;\n\n\n\n return 0;\n\n}\n", "idx": 3}2{"project": "qemu", "commit_id": "c0c24b95542bc1a4dc3fc6ea71475ae04fa69189", "target": 1, "func": "static int xen_9pfs_connect(struct XenDevice *xendev)\n\n{\n\n int i;\n\n Xen9pfsDev *xen_9pdev = container_of(xendev, Xen9pfsDev, xendev);\n\n V9fsState *s = &xen_9pdev->state;\n\n QemuOpts *fsdev;\n\n\n\n if (xenstore_read_fe_int(&xen_9pdev->xendev, \"num-rings\",\n\n &xen_9pdev->num_rings) == -1 ||\n\n xen_9pdev->num_rings > MAX_RINGS || xen_9pdev->num_rings < 1) {\n\n return -1;\n\n }\n\n\n\n xen_9pdev->rings = g_malloc0(xen_9pdev->num_rings * sizeof(Xen9pfsRing));\n\n for (i = 0; i < xen_9pdev->num_rings; i++) {\n\n char *str;\n\n int ring_order;\n\n\n\n xen_9pdev->rings[i].priv = xen_9pdev;\n\n xen_9pdev->rings[i].evtchn = -1;\n\n xen_9pdev->rings[i].local_port = -1;\n\n\n\n str = g_strdup_printf(\"ring-ref%u\", i);\n\n if (xenstore_read_fe_int(&xen_9pdev->xendev, str,\n\n &xen_9pdev->rings[i].ref) == -1) {\n\n\n goto out;\n\n }\n\n\n str = g_strdup_printf(\"event-channel-%u\", i);\n\n if (xenstore_read_fe_int(&xen_9pdev->xendev, str,\n\n &xen_9pdev->rings[i].evtchn) == -1) {\n\n\n goto out;\n\n }\n\n\n\n\n xen_9pdev->rings[i].intf = xengnttab_map_grant_ref(\n\n xen_9pdev->xendev.gnttabdev,\n\n xen_9pdev->xendev.dom,\n\n xen_9pdev->rings[i].ref,\n\n PROT_READ | PROT_WRITE);\n\n if (!xen_9pdev->rings[i].intf) {\n\n goto out;\n\n }\n\n ring_order = xen_9pdev->rings[i].intf->ring_order;\n\n if (ring_order > MAX_RING_ORDER) {\n\n goto out;\n\n }\n\n xen_9pdev->rings[i].ring_order = ring_order;\n\n xen_9pdev->rings[i].data = xengnttab_map_domain_grant_refs(\n\n xen_9pdev->xendev.gnttabdev,\n\n (1 << ring_order),\n\n xen_9pdev->xendev.dom,\n\n xen_9pdev->rings[i].intf->ref,\n\n PROT_READ | PROT_WRITE);\n\n if (!xen_9pdev->rings[i].data) {\n\n goto out;\n\n }\n\n xen_9pdev->rings[i].ring.in = xen_9pdev->rings[i].data;\n\n xen_9pdev->rings[i].ring.out = xen_9pdev->rings[i].data +\n\n XEN_FLEX_RING_SIZE(ring_order);\n\n\n\n xen_9pdev->rings[i].bh = qemu_bh_new(xen_9pfs_bh, &xen_9pdev->rings[i]);\n\n xen_9pdev->rings[i].out_cons = 0;\n\n xen_9pdev->rings[i].out_size = 0;\n\n xen_9pdev->rings[i].inprogress = false;\n\n\n\n\n\n xen_9pdev->rings[i].evtchndev = xenevtchn_open(NULL, 0);\n\n if (xen_9pdev->rings[i].evtchndev == NULL) {\n\n goto out;\n\n }\n\n fcntl(xenevtchn_fd(xen_9pdev->rings[i].evtchndev), F_SETFD, FD_CLOEXEC);\n\n xen_9pdev->rings[i].local_port = xenevtchn_bind_interdomain\n\n (xen_9pdev->rings[i].evtchndev,\n\n xendev->dom,\n\n xen_9pdev->rings[i].evtchn);\n\n if (xen_9pdev->rings[i].local_port == -1) {\n\n xen_pv_printf(xendev, 0,\n\n \"xenevtchn_bind_interdomain failed port=%d\\n\",\n\n xen_9pdev->rings[i].evtchn);\n\n goto out;\n\n }\n\n xen_pv_printf(xendev, 2, \"bind evtchn port %d\\n\", xendev->local_port);\n\n qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),\n\n xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);\n\n }\n\n\n\n xen_9pdev->security_model = xenstore_read_be_str(xendev, \"security_model\");\n\n xen_9pdev->path = xenstore_read_be_str(xendev, \"path\");\n\n xen_9pdev->id = s->fsconf.fsdev_id =\n\n g_strdup_printf(\"xen9p%d\", xendev->dev);\n\n xen_9pdev->tag = s->fsconf.tag = xenstore_read_fe_str(xendev, \"tag\");\n\n v9fs_register_transport(s, &xen_9p_transport);\n\n fsdev = qemu_opts_create(qemu_find_opts(\"fsdev\"),\n\n s->fsconf.tag,\n\n 1, NULL);\n\n qemu_opt_set(fsdev, \"fsdriver\", \"local\", NULL);\n\n qemu_opt_set(fsdev, \"path\", xen_9pdev->path, NULL);\n\n qemu_opt_set(fsdev, \"security_model\", xen_9pdev->security_model, NULL);\n\n qemu_opts_set_id(fsdev, s->fsconf.fsdev_id);\n\n qemu_fsdev_add(fsdev);\n\n v9fs_device_realize_common(s, NULL);\n\n\n\n return 0;\n\n\n\nout:\n\n xen_9pfs_free(xendev);\n\n return -1;\n\n}", "idx": 12}3{"project": "FFmpeg", "commit_id": "5ff998a233d759d0de83ea6f95c383d03d25d88e", "target": 1, "func": "static int subframe_count_exact(FlacEncodeContext *s, FlacSubframe *sub,\n\n int pred_order)\n\n{\n\n int p, porder, psize;\n\n int i, part_end;\n\n int count = 0;\n\n\n\n /* subframe header */\n\n count += 8;\n\n\n\n /* subframe */\n\n if (sub->type == FLAC_SUBFRAME_CONSTANT) {\n\n count += sub->obits;\n\n } else if (sub->type == FLAC_SUBFRAME_VERBATIM) {\n\n count += s->frame.blocksize * sub->obits;\n\n } else {\n\n /* warm-up samples */\n\n count += pred_order * sub->obits;\n\n\n\n /* LPC coefficients */\n\n if (sub->type == FLAC_SUBFRAME_LPC)\n\n count += 4 + 5 + pred_order * s->options.lpc_coeff_precision;\n\n\n\n /* rice-encoded block */\n\n count += 2;\n\n\n\n /* partition order */\n\n porder = sub->rc.porder;\n\n psize = s->frame.blocksize >> porder;\n\n count += 4;\n\n\n\n /* residual */\n\n i = pred_order;\n\n part_end = psize;\n\n for (p = 0; p < 1 << porder; p++) {\n\n int k = sub->rc.params[p];\n\n count += 4;\n\n count += rice_count_exact(&sub->residual[i], part_end - i, k);\n\n i = part_end;\n\n part_end = FFMIN(s->frame.blocksize, part_end + psize);\n\n }\n\n }\n\n\n\n return count;\n\n}\n", "idx": 35}4{"project": "qemu", "commit_id": "24408a7d2b459bed3697367b81ada76518ca96ef", "target": 0, "func": "static void ppc_spapr_init(QEMUMachineInitArgs *args)\n\n{\n\n ram_addr_t ram_size = args->ram_size;\n\n const char *cpu_model = args->cpu_model;\n\n const char *kernel_filename = args->kernel_filename;\n\n const char *kernel_cmdline = args->kernel_cmdline;\n\n const char *initrd_filename = args->initrd_filename;\n\n const char *boot_device = args->boot_order;\n\n PowerPCCPU *cpu;\n\n CPUPPCState *env;\n\n PCIHostState *phb;\n\n int i;\n\n MemoryRegion *sysmem = get_system_memory();\n\n MemoryRegion *ram = g_new(MemoryRegion, 1);\n\n hwaddr rma_alloc_size;\n\n uint32_t initrd_base = 0;\n\n long kernel_size = 0, initrd_size = 0;\n\n long load_limit, rtas_limit, fw_size;\n\n bool kernel_le = false;\n\n char *filename;\n\n\n\n msi_supported = true;\n\n\n\n spapr = g_malloc0(sizeof(*spapr));\n\n QLIST_INIT(&spapr->phbs);\n\n\n\n cpu_ppc_hypercall = emulate_spapr_hypercall;\n\n\n\n /* Allocate RMA if necessary */\n\n rma_alloc_size = kvmppc_alloc_rma(\"ppc_spapr.rma\", sysmem);\n\n\n\n if (rma_alloc_size == -1) {\n\n hw_error(\"qemu: Unable to create RMA\\n\");\n\n exit(1);\n\n }\n\n\n\n if (rma_alloc_size && (rma_alloc_size < ram_size)) {\n\n spapr->rma_size = rma_alloc_size;\n\n } else {\n\n spapr->rma_size = ram_size;\n\n\n\n /* With KVM, we don't actually know whether KVM supports an\n\n * unbounded RMA (PR KVM) or is limited by the hash table size\n\n * (HV KVM using VRMA), so we always assume the latter\n\n *\n\n * In that case, we also limit the initial allocations for RTAS\n\n * etc... to 256M since we have no way to know what the VRMA size\n\n * is going to be as it depends on the size of the hash table\n\n * isn't determined yet.\n\n */\n\n if (kvm_enabled()) {\n\n spapr->vrma_adjust = 1;\n\n spapr->rma_size = MIN(spapr->rma_size, 0x10000000);\n\n }\n\n }\n\n\n\n /* We place the device tree and RTAS just below either the top of the RMA,\n\n * or just below 2GB, whichever is lowere, so that it can be\n\n * processed with 32-bit real mode code if necessary */\n\n rtas_limit = MIN(spapr->rma_size, 0x80000000);\n\n spapr->rtas_addr = rtas_limit - RTAS_MAX_SIZE;\n\n spapr->fdt_addr = spapr->rtas_addr - FDT_MAX_SIZE;\n\n load_limit = spapr->fdt_addr - FW_OVERHEAD;\n\n\n\n /* We aim for a hash table of size 1/128 the size of RAM. The\n\n * normal rule of thumb is 1/64 the size of RAM, but that's much\n\n * more than needed for the Linux guests we support. */\n\n spapr->htab_shift = 18; /* Minimum architected size */\n\n while (spapr->htab_shift <= 46) {\n\n if ((1ULL << (spapr->htab_shift + 7)) >= ram_size) {\n\n break;\n\n }\n\n spapr->htab_shift++;\n\n }\n\n\n\n /* Set up Interrupt Controller before we create the VCPUs */\n\n spapr->icp = xics_system_init(smp_cpus * kvmppc_smt_threads() / smp_threads,\n\n XICS_IRQS);\n\n spapr->next_irq = XICS_IRQ_BASE;\n\n\n\n /* init CPUs */\n\n if (cpu_model == NULL) {\n\n cpu_model = kvm_enabled() ? \"host\" : \"POWER7\";\n\n }\n\n for (i = 0; i < smp_cpus; i++) {\n\n cpu = cpu_ppc_init(cpu_model);\n\n if (cpu == NULL) {\n\n fprintf(stderr, \"Unable to find PowerPC CPU definition\\n\");\n\n exit(1);\n\n }\n\n env = &cpu->env;\n\n\n\n xics_cpu_setup(spapr->icp, cpu);\n\n\n\n /* Set time-base frequency to 512 MHz */\n\n cpu_ppc_tb_init(env, TIMEBASE_FREQ);\n\n\n\n /* PAPR always has exception vectors in RAM not ROM. To ensure this,\n\n * MSR[IP] should never be set.\n\n */\n\n env->msr_mask &= ~(1 << 6);\n\n\n\n /* Tell KVM that we're in PAPR mode */\n\n if (kvm_enabled()) {\n\n kvmppc_set_papr(cpu);\n\n }\n\n\n\n qemu_register_reset(spapr_cpu_reset, cpu);\n\n }\n\n\n\n /* allocate RAM */\n\n spapr->ram_limit = ram_size;\n\n if (spapr->ram_limit > rma_alloc_size) {\n\n ram_addr_t nonrma_base = rma_alloc_size;\n\n ram_addr_t nonrma_size = spapr->ram_limit - rma_alloc_size;\n\n\n\n memory_region_init_ram(ram, NULL, \"ppc_spapr.ram\", nonrma_size);\n\n vmstate_register_ram_global(ram);\n\n memory_region_add_subregion(sysmem, nonrma_base, ram);\n\n }\n\n\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, \"spapr-rtas.bin\");\n\n spapr->rtas_size = load_image_targphys(filename, spapr->rtas_addr,\n\n rtas_limit - spapr->rtas_addr);\n\n if (spapr->rtas_size < 0) {\n\n hw_error(\"qemu: could not load LPAR rtas '%s'\\n\", filename);\n\n exit(1);\n\n }\n\n if (spapr->rtas_size > RTAS_MAX_SIZE) {\n\n hw_error(\"RTAS too big ! 0x%lx bytes (max is 0x%x)\\n\",\n\n spapr->rtas_size, RTAS_MAX_SIZE);\n\n exit(1);\n\n }\n\n g_free(filename);\n\n\n\n /* Set up EPOW events infrastructure */\n\n spapr_events_init(spapr);\n\n\n\n /* Set up VIO bus */\n\n spapr->vio_bus = spapr_vio_bus_init();\n\n\n\n for (i = 0; i < MAX_SERIAL_PORTS; i++) {\n\n if (serial_hds[i]) {\n\n spapr_vty_create(spapr->vio_bus, serial_hds[i]);\n\n }\n\n }\n\n\n\n /* We always have at least the nvram device on VIO */\n\n spapr_create_nvram(spapr);\n\n\n\n /* Set up PCI */\n\n spapr_pci_msi_init(spapr, SPAPR_PCI_MSI_WINDOW);\n\n spapr_pci_rtas_init();\n\n\n\n phb = spapr_create_phb(spapr, 0);\n\n\n\n for (i = 0; i < nb_nics; i++) {\n\n NICInfo *nd = &nd_table[i];\n\n\n\n if (!nd->model) {\n\n nd->model = g_strdup(\"ibmveth\");\n\n }\n\n\n\n if (strcmp(nd->model, \"ibmveth\") == 0) {\n\n spapr_vlan_create(spapr->vio_bus, nd);\n\n } else {\n\n pci_nic_init_nofail(&nd_table[i], phb->bus, nd->model, NULL);\n\n }\n\n }\n\n\n\n for (i = 0; i <= drive_get_max_bus(IF_SCSI); i++) {\n\n spapr_vscsi_create(spapr->vio_bus);\n\n }\n\n\n\n /* Graphics */\n\n if (spapr_vga_init(phb->bus)) {\n\n spapr->has_graphics = true;\n\n }\n\n\n\n if (usb_enabled(spapr->has_graphics)) {\n\n pci_create_simple(phb->bus, -1, \"pci-ohci\");\n\n if (spapr->has_graphics) {\n\n usbdevice_create(\"keyboard\");\n\n usbdevice_create(\"mouse\");\n\n }\n\n }\n\n\n\n if (spapr->rma_size < (MIN_RMA_SLOF << 20)) {\n\n fprintf(stderr, \"qemu: pSeries SLOF firmware requires >= \"\n\n \"%ldM guest RMA (Real Mode Area memory)\\n\", MIN_RMA_SLOF);\n\n exit(1);\n\n }\n\n\n\n if (kernel_filename) {\n\n uint64_t lowaddr = 0;\n\n\n\n kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL,\n\n NULL, &lowaddr, NULL, 1, ELF_MACHINE, 0);\n\n if (kernel_size < 0) {\n\n kernel_size = load_elf(kernel_filename,\n\n translate_kernel_address, NULL,\n\n NULL, &lowaddr, NULL, 0, ELF_MACHINE, 0);\n\n kernel_le = kernel_size > 0;\n\n }\n\n if (kernel_size < 0) {\n\n kernel_size = load_image_targphys(kernel_filename,\n\n KERNEL_LOAD_ADDR,\n\n load_limit - KERNEL_LOAD_ADDR);\n\n }\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\",\n\n kernel_filename);\n\n exit(1);\n\n }\n\n\n\n /* load initrd */\n\n if (initrd_filename) {\n\n /* Try to locate the initrd in the gap between the kernel\n\n * and the firmware. Add a bit of space just in case\n\n */\n\n initrd_base = (KERNEL_LOAD_ADDR + kernel_size + 0x1ffff) & ~0xffff;\n\n initrd_size = load_image_targphys(initrd_filename, initrd_base,\n\n load_limit - initrd_base);\n\n if (initrd_size < 0) {\n\n fprintf(stderr, \"qemu: could not load initial ram disk '%s'\\n\",\n\n initrd_filename);\n\n exit(1);\n\n }\n\n } else {\n\n initrd_base = 0;\n\n initrd_size = 0;\n\n }\n\n }\n\n\n\n if (bios_name == NULL) {\n\n bios_name = FW_FILE_NAME;\n\n }\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);\n\n fw_size = load_image_targphys(filename, 0, FW_MAX_SIZE);\n\n if (fw_size < 0) {\n\n hw_error(\"qemu: could not load LPAR rtas '%s'\\n\", filename);\n\n exit(1);\n\n }\n\n g_free(filename);\n\n\n\n spapr->entry_point = 0x100;\n\n\n\n vmstate_register(NULL, 0, &vmstate_spapr, spapr);\n\n register_savevm_live(NULL, \"spapr/htab\", -1, 1,\n\n &savevm_htab_handlers, spapr);\n\n\n\n /* Prepare the device tree */\n\n spapr->fdt_skel = spapr_create_fdt_skel(cpu_model,\n\n initrd_base, initrd_size,\n\n kernel_size, kernel_le,\n\n boot_device, kernel_cmdline,\n\n spapr->epow_irq);\n\n assert(spapr->fdt_skel != NULL);\n\n}\n", "idx": 43}5{"project": "FFmpeg", "commit_id": "68f593b48433842f3407586679fe07f3e5199ab9", "target": 0, "func": "static int mpeg1_decode_sequence(AVCodecContext *avctx, \n\n UINT8 *buf, int buf_size)\n\n{\n\n Mpeg1Context *s1 = avctx->priv_data;\n\n MpegEncContext *s = &s1->mpeg_enc_ctx;\n\n int width, height, i, v, j;\n\n float aspect;\n\n\n\n init_get_bits(&s->gb, buf, buf_size);\n\n\n\n width = get_bits(&s->gb, 12);\n\n height = get_bits(&s->gb, 12);\n\n s->aspect_ratio_info= get_bits(&s->gb, 4);\n\n if(!s->mpeg2){\n\n aspect= mpeg1_aspect[s->aspect_ratio_info];\n\n if(aspect!=0.0) avctx->aspect_ratio= width/(aspect*height);\n\n }\n\n\n\n s->frame_rate_index = get_bits(&s->gb, 4);\n\n if (s->frame_rate_index == 0)\n\n return -1;\n\n s->bit_rate = get_bits(&s->gb, 18) * 400;\n\n if (get_bits1(&s->gb) == 0) /* marker */\n\n return -1;\n\n if (width <= 0 || height <= 0 ||\n\n (width % 2) != 0 || (height % 2) != 0)\n\n return -1;\n\n if (width != s->width ||\n\n height != s->height) {\n\n /* start new mpeg1 context decoding */\n\n s->out_format = FMT_MPEG1;\n\n if (s1->mpeg_enc_ctx_allocated) {\n\n MPV_common_end(s);\n\n }\n\n s->width = width;\n\n s->height = height;\n\n avctx->has_b_frames= 1;\n\n s->avctx = avctx;\n\n avctx->width = width;\n\n avctx->height = height;\n\n if (s->frame_rate_index >= 9) {\n\n /* at least give a valid frame rate (some old mpeg1 have this) */\n\n avctx->frame_rate = 25 * FRAME_RATE_BASE;\n\n } else {\n\n avctx->frame_rate = frame_rate_tab[s->frame_rate_index];\n\n }\n\n s->frame_rate = avctx->frame_rate;\n\n avctx->bit_rate = s->bit_rate;\n\n \n\n if (MPV_common_init(s) < 0)\n\n return -1;\n\n s1->mpeg_enc_ctx_allocated = 1;\n\n }\n\n\n\n skip_bits(&s->gb, 10); /* vbv_buffer_size */\n\n skip_bits(&s->gb, 1);\n\n\n\n /* get matrix */\n\n if (get_bits1(&s->gb)) {\n\n for(i=0;i<64;i++) {\n\n v = get_bits(&s->gb, 8);\n\n j = s->intra_scantable.permutated[i];\n\n s->intra_matrix[j] = v;\n\n s->chroma_intra_matrix[j] = v;\n\n }\n\n#ifdef DEBUG\n\n dprintf(\"intra matrix present\\n\");\n\n for(i=0;i<64;i++)\n\n dprintf(\" %d\", s->intra_matrix[s->intra_scantable.permutated[i]]);\n\n printf(\"\\n\");\n\n#endif\n\n } else {\n\n for(i=0;i<64;i++) {\n\n int j= s->idct_permutation[i];\n\n v = ff_mpeg1_default_intra_matrix[i];\n\n s->intra_matrix[j] = v;\n\n s->chroma_intra_matrix[j] = v;\n\n }\n\n }\n\n if (get_bits1(&s->gb)) {\n\n for(i=0;i<64;i++) {\n\n v = get_bits(&s->gb, 8);\n\n j = s->intra_scantable.permutated[i];\n\n s->inter_matrix[j] = v;\n\n s->chroma_inter_matrix[j] = v;\n\n }\n\n#ifdef DEBUG\n\n dprintf(\"non intra matrix present\\n\");\n\n for(i=0;i<64;i++)\n\n dprintf(\" %d\", s->inter_matrix[s->intra_scantable.permutated[i]]);\n\n printf(\"\\n\");\n\n#endif\n\n } else {\n\n for(i=0;i<64;i++) {\n\n int j= s->idct_permutation[i];\n\n v = ff_mpeg1_default_non_intra_matrix[i];\n\n s->inter_matrix[j] = v;\n\n s->chroma_inter_matrix[j] = v;\n\n }\n\n }\n\n\n\n /* we set mpeg2 parameters so that it emulates mpeg1 */\n\n s->progressive_sequence = 1;\n\n s->progressive_frame = 1;\n\n s->picture_structure = PICT_FRAME;\n\n s->frame_pred_frame_dct = 1;\n\n s->mpeg2 = 0;\n\n avctx->sub_id = 1; /* indicates mpeg1 */\n\n return 0;\n\n}\n", "idx": 60}6{"project": "qemu", "commit_id": "f1c52354e5bdab6983d13a4c174759c585e834b3", "target": 0, "func": "static uint32_t drc_set_unusable(sPAPRDRConnector *drc)\n\n{\n\n drc->allocation_state = SPAPR_DR_ALLOCATION_STATE_UNUSABLE;\n\n if (drc->awaiting_release) {\n\n uint32_t drc_index = spapr_drc_index(drc);\n\n trace_spapr_drc_set_allocation_state_finalizing(drc_index);\n\n spapr_drc_detach(drc);\n\n }\n\n\n\n return RTAS_OUT_SUCCESS;\n\n}\n", "idx": 70}7{"project": "qemu", "commit_id": "5c6c0e513600ba57c3e73b7151d3c0664438f7b5", "target": 1, "func": "static void scsi_read_request(SCSIDiskReq *r)\n\n{\n\n SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev);\n\n uint32_t n;\n\n\n\n if (r->sector_count == (uint32_t)-1) {\n\n DPRINTF(\"Read buf_len=%zd\\n\", r->iov.iov_len);\n\n r->sector_count = 0;\n\n scsi_req_data(&r->req, r->iov.iov_len);\n\n return;\n\n }\n\n DPRINTF(\"Read sector_count=%d\\n\", r->sector_count);\n\n if (r->sector_count == 0) {\n\n scsi_command_complete(r, GOOD, NO_SENSE);\n\n return;\n\n }\n\n\n\n /* No data transfer may already be in progress */\n\n assert(r->req.aiocb == NULL);\n\n\n\n n = r->sector_count;\n\n if (n > SCSI_DMA_BUF_SIZE / 512)\n\n n = SCSI_DMA_BUF_SIZE / 512;\n\n\n\n r->iov.iov_len = n * 512;\n\n qemu_iovec_init_external(&r->qiov, &r->iov, 1);\n\n r->req.aiocb = bdrv_aio_readv(s->bs, r->sector, &r->qiov, n,\n\n scsi_read_complete, r);\n\n if (r->req.aiocb == NULL) {\n\n scsi_read_complete(r, -EIO);\n\n }\n\n}\n", "idx": 83}8{"project": "qemu", "commit_id": "4482e05cbbb7e50e476f6a9500cf0b38913bd939", "target": 1, "func": "static void lm32_evr_init(MachineState *machine)\n\n{\n\n const char *cpu_model = machine->cpu_model;\n\n const char *kernel_filename = machine->kernel_filename;\n\n LM32CPU *cpu;\n\n CPULM32State *env;\n\n DriveInfo *dinfo;\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n MemoryRegion *phys_ram = g_new(MemoryRegion, 1);\n\n qemu_irq irq[32];\n\n ResetInfo *reset_info;\n\n int i;\n\n\n\n /* memory map */\n\n hwaddr flash_base = 0x04000000;\n\n size_t flash_sector_size = 256 * 1024;\n\n size_t flash_size = 32 * 1024 * 1024;\n\n hwaddr ram_base = 0x08000000;\n\n size_t ram_size = 64 * 1024 * 1024;\n\n hwaddr timer0_base = 0x80002000;\n\n hwaddr uart0_base = 0x80006000;\n\n hwaddr timer1_base = 0x8000a000;\n\n int uart0_irq = 0;\n\n int timer0_irq = 1;\n\n int timer1_irq = 3;\n\n\n\n reset_info = g_malloc0(sizeof(ResetInfo));\n\n\n\n if (cpu_model == NULL) {\n\n cpu_model = \"lm32-full\";\n\n }\n\n cpu = LM32_CPU(cpu_generic_init(TYPE_LM32_CPU, cpu_model));\n\n if (cpu == NULL) {\n\n fprintf(stderr, \"qemu: unable to find CPU '%s'\\n\", cpu_model);\n\n exit(1);\n\n }\n\n\n\n env = &cpu->env;\n\n reset_info->cpu = cpu;\n\n\n\n reset_info->flash_base = flash_base;\n\n\n\n memory_region_allocate_system_memory(phys_ram, NULL, \"lm32_evr.sdram\",\n\n ram_size);\n\n memory_region_add_subregion(address_space_mem, ram_base, phys_ram);\n\n\n\n dinfo = drive_get(IF_PFLASH, 0, 0);\n\n /* Spansion S29NS128P */\n\n pflash_cfi02_register(flash_base, NULL, \"lm32_evr.flash\", flash_size,\n\n dinfo ? blk_by_legacy_dinfo(dinfo) : NULL,\n\n flash_sector_size, flash_size / flash_sector_size,\n\n 1, 2, 0x01, 0x7e, 0x43, 0x00, 0x555, 0x2aa, 1);\n\n\n\n /* create irq lines */\n\n env->pic_state = lm32_pic_init(qemu_allocate_irq(cpu_irq_handler, cpu, 0));\n\n for (i = 0; i < 32; i++) {\n\n irq[i] = qdev_get_gpio_in(env->pic_state, i);\n\n }\n\n\n\n lm32_uart_create(uart0_base, irq[uart0_irq], serial_hds[0]);\n\n sysbus_create_simple(\"lm32-timer\", timer0_base, irq[timer0_irq]);\n\n sysbus_create_simple(\"lm32-timer\", timer1_base, irq[timer1_irq]);\n\n\n\n /* make sure juart isn't the first chardev */\n\n env->juart_state = lm32_juart_init(serial_hds[1]);\n\n\n\n reset_info->bootstrap_pc = flash_base;\n\n\n\n if (kernel_filename) {\n\n uint64_t entry;\n\n int kernel_size;\n\n\n\n kernel_size = load_elf(kernel_filename, NULL, NULL, &entry, NULL, NULL,\n\n 1, EM_LATTICEMICO32, 0, 0);\n\n reset_info->bootstrap_pc = entry;\n\n\n\n if (kernel_size < 0) {\n\n kernel_size = load_image_targphys(kernel_filename, ram_base,\n\n ram_size);\n\n reset_info->bootstrap_pc = ram_base;\n\n }\n\n\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\",\n\n kernel_filename);\n\n exit(1);\n\n }\n\n }\n\n\n\n qemu_register_reset(main_cpu_reset, reset_info);\n\n}\n", "idx": 84}9{"project": "qemu", "commit_id": "cf57298af5336df2aece47ef16c290a3a81457dd", "target": 0, "func": "aio_write_f(int argc, char **argv)\n\n{\n\n\tchar *p;\n\n\tint count = 0;\n\n\tint nr_iov, i, c;\n\n\tint pattern = 0xcd;\n\n\tstruct aio_ctx *ctx = calloc(1, sizeof(struct aio_ctx));\n\n\tBlockDriverAIOCB *acb;\n\n\n\n\twhile ((c = getopt(argc, argv, \"CqP:\")) != EOF) {\n\n\t\tswitch (c) {\n\n\t\tcase 'C':\n\n\t\t\tctx->Cflag = 1;\n\n\t\t\tbreak;\n\n\t\tcase 'q':\n\n\t\t\tctx->qflag = 1;\n\n\t\t\tbreak;\n\n\t\tcase 'P':\n\n\t\t\tpattern = atoi(optarg);\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\treturn command_usage(&aio_write_cmd);\n\n\t\t}\n\n\t}\n\n\n\n\tif (optind > argc - 2)\n\n\t\treturn command_usage(&aio_write_cmd);\n\n\n\n\tctx->offset = cvtnum(argv[optind]);\n\n\tif (ctx->offset < 0) {\n\n\t\tprintf(\"non-numeric length argument -- %s\\n\", argv[optind]);\n\n\t\treturn 0;\n\n\t}\n\n\toptind++;\n\n\n\n\tif (ctx->offset & 0x1ff) {\n\n\t\tprintf(\"offset %lld is not sector aligned\\n\",\n\n\t\t\t(long long)ctx->offset);\n\n\t\treturn 0;\n\n\t}\n\n\n\n\tif (count & 0x1ff) {\n\n\t\tprintf(\"count %d is not sector aligned\\n\",\n\n\t\t\tcount);\n\n\t\treturn 0;\n\n\t}\n\n\n\n\tfor (i = optind; i < argc; i++) {\n\n\t size_t len;\n\n\n\n\t\tlen = cvtnum(argv[optind]);\n\n\t\tif (len < 0) {\n\n\t\t\tprintf(\"non-numeric length argument -- %s\\n\", argv[i]);\n\n\t\t\treturn 0;\n\n\t\t}\n\n\t\tcount += len;\n\n\t}\n\n\n\n\tnr_iov = argc - optind;\n\n\tqemu_iovec_init(&ctx->qiov, nr_iov);\n\n\tctx->buf = p = qemu_io_alloc(count, pattern);\n\n\tfor (i = 0; i < nr_iov; i++) {\n\n\t size_t len;\n\n\n\n\t\tlen = cvtnum(argv[optind]);\n\n\t\tif (len < 0) {\n\n\t\t\tprintf(\"non-numeric length argument -- %s\\n\",\n\n\t\t\t\targv[optind]);\n\n\t\t\treturn 0;\n\n\t\t}\n\n\n\n\t\tqemu_iovec_add(&ctx->qiov, p, len);\n\n\t\tp += len;\n\n\t\toptind++;\n\n\t}\n\n\n\n\tgettimeofday(&ctx->t1, NULL);\n\n\tacb = bdrv_aio_writev(bs, ctx->offset >> 9, &ctx->qiov,\n\n\t\t\t ctx->qiov.size >> 9, aio_write_done, ctx);\n\n\tif (!acb)\n\n\t\treturn -EIO;\n\n\n\n\treturn 0;\n\n}\n", "idx": 108}10{"project": "FFmpeg", "commit_id": "c23acbaed40101c677dfcfbbfe0d2c230a8e8f44", "target": 1, "func": "static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, DCTELEM *block)\n\n{\n\n int i;\n\n int dc = block[0];\n\n const uint8_t *cm;\n\n dc = (3 * dc + 1) >> 1;\n\n dc = (3 * dc + 16) >> 5;\n\n cm = ff_cropTbl + MAX_NEG_CROP + dc;\n\n for(i = 0; i < 8; i++){\n\n dest[0] = cm[dest[0]];\n\n dest[1] = cm[dest[1]];\n\n dest[2] = cm[dest[2]];\n\n dest[3] = cm[dest[3]];\n\n dest[4] = cm[dest[4]];\n\n dest[5] = cm[dest[5]];\n\n dest[6] = cm[dest[6]];\n\n dest[7] = cm[dest[7]];\n\n dest += linesize;\n\n }\n\n}\n", "idx": 121}11{"project": "qemu", "commit_id": "301c7d38a0c359b91526391d13617386f3d9bb29", "target": 1, "func": "static int vmdk_parse_extents(const char *desc, BlockDriverState *bs,\n\n const char *desc_file_path)\n\n{\n\n int ret;\n\n char access[11];\n\n char type[11];\n\n char fname[512];\n\n const char *p = desc;\n\n int64_t sectors = 0;\n\n int64_t flat_offset;\n\n char extent_path[PATH_MAX];\n\n BlockDriverState *extent_file;\n\n Error *local_err = NULL;\n\n\n\n while (*p) {\n\n /* parse extent line:\n\n * RW [size in sectors] FLAT \"file-name.vmdk\" OFFSET\n\n * or\n\n * RW [size in sectors] SPARSE \"file-name.vmdk\"\n\n */\n\n flat_offset = -1;\n\n ret = sscanf(p, \"%10s %\" SCNd64 \" %10s \\\"%511[^\\n\\r\\\"]\\\" %\" SCNd64,\n\n access, §ors, type, fname, &flat_offset);\n\n if (ret < 4 || strcmp(access, \"RW\")) {\n\n goto next_line;\n\n } else if (!strcmp(type, \"FLAT\")) {\n\n if (ret != 5 || flat_offset < 0) {\n\n return -EINVAL;\n\n }\n\n } else if (ret != 4) {\n\n return -EINVAL;\n\n }\n\n\n\n if (sectors <= 0 ||\n\n (strcmp(type, \"FLAT\") && strcmp(type, \"SPARSE\") &&\n\n strcmp(type, \"VMFS\") && strcmp(type, \"VMFSSPARSE\")) ||\n\n (strcmp(access, \"RW\"))) {\n\n goto next_line;\n\n }\n\n\n\n path_combine(extent_path, sizeof(extent_path),\n\n desc_file_path, fname);\n\n ret = bdrv_file_open(&extent_file, extent_path, NULL, bs->open_flags,\n\n &local_err);\n\n if (ret) {\n\n qerror_report_err(local_err);\n\n error_free(local_err);\n\n return ret;\n\n }\n\n\n\n /* save to extents array */\n\n if (!strcmp(type, \"FLAT\") || !strcmp(type, \"VMFS\")) {\n\n /* FLAT extent */\n\n VmdkExtent *extent;\n\n\n\n ret = vmdk_add_extent(bs, extent_file, true, sectors,\n\n 0, 0, 0, 0, sectors, &extent);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n extent->flat_start_offset = flat_offset << 9;\n\n } else if (!strcmp(type, \"SPARSE\") || !strcmp(type, \"VMFSSPARSE\")) {\n\n /* SPARSE extent and VMFSSPARSE extent are both \"COWD\" sparse file*/\n\n ret = vmdk_open_sparse(bs, extent_file, bs->open_flags);\n\n if (ret) {\n\n bdrv_unref(extent_file);\n\n return ret;\n\n }\n\n } else {\n\n fprintf(stderr,\n\n \"VMDK: Not supported extent type \\\"%s\\\"\"\".\\n\", type);\n\n return -ENOTSUP;\n\n }\n\nnext_line:\n\n /* move to next line */\n\n while (*p && *p != '\\n') {\n\n p++;\n\n }\n\n p++;\n\n }\n\n return 0;\n\n}\n", "idx": 122}12{"project": "FFmpeg", "commit_id": "323e6fead07c75f418e4b60704a4f437bb3483b2", "target": 1, "func": "static void compute_rematrixing_strategy(AC3EncodeContext *s)\n\n{\n\n int nb_coefs;\n\n int blk, bnd, i;\n\n AC3Block *block, *block0;\n\n\n\n s->num_rematrixing_bands = 4;\n\n\n\n if (s->rematrixing & AC3_REMATRIXING_IS_STATIC)\n\n return;\n\n\n\n nb_coefs = FFMIN(s->nb_coefs[0], s->nb_coefs[1]);\n\n\n\n for (blk = 0; blk < AC3_MAX_BLOCKS; blk++) {\n\n block = &s->blocks[blk];\n\n block->new_rematrixing_strategy = !blk;\n\n for (bnd = 0; bnd < s->num_rematrixing_bands; bnd++) {\n\n /* calculate calculate sum of squared coeffs for one band in one block */\n\n int start = ff_ac3_rematrix_band_tab[bnd];\n\n int end = FFMIN(nb_coefs, ff_ac3_rematrix_band_tab[bnd+1]);\n\n CoefSumType sum[4] = {0,};\n\n for (i = start; i < end; i++) {\n\n CoefType lt = block->mdct_coef[0][i];\n\n CoefType rt = block->mdct_coef[1][i];\n\n CoefType md = lt + rt;\n\n CoefType sd = lt - rt;\n\n sum[0] += lt * lt;\n\n sum[1] += rt * rt;\n\n sum[2] += md * md;\n\n sum[3] += sd * sd;\n\n }\n\n\n\n /* compare sums to determine if rematrixing will be used for this band */\n\n if (FFMIN(sum[2], sum[3]) < FFMIN(sum[0], sum[1]))\n\n block->rematrixing_flags[bnd] = 1;\n\n else\n\n block->rematrixing_flags[bnd] = 0;\n\n\n\n /* determine if new rematrixing flags will be sent */\n\n if (blk &&\n\n block->rematrixing_flags[bnd] != block0->rematrixing_flags[bnd]) {\n\n block->new_rematrixing_strategy = 1;\n\n }\n\n }\n\n block0 = block;\n\n }\n\n}\n", "idx": 149}13{"project": "qemu", "commit_id": "9bb234b3b170299c39c9e88cfe7da5434a92d99d", "target": 1, "func": "void OPPROTO op_udiv_T1_T0(void)\n{\n uint64_t x0;\n uint32_t x1;\n x0 = T0 | ((uint64_t) (env->y) << 32);\n x1 = T1;\n x0 = x0 / x1;\n if (x0 > 0xffffffff) {\n\tT0 = 0xffffffff;\n\tT1 = 1;\n } else {\n\tT0 = x0;\n\tT1 = 0;\n FORCE_RET();", "idx": 164}14{"project": "qemu", "commit_id": "1ac157da77c863b62b1d2f467626a440d57cf17d", "target": 0, "func": "void cpu_x86_init_mmu(CPUX86State *env)\n\n{\n\n a20_enabled = 1;\n\n a20_mask = 0xffffffff;\n\n\n\n last_pg_state = -1;\n\n cpu_x86_update_cr0(env);\n\n}\n", "idx": 176}15{"project": "qemu", "commit_id": "b7680cb6078bd7294a3dd86473d3f2fdee991dd0", "target": 0, "func": "int qemu_cpu_self(void *env)\n\n{\n\n return 1;\n\n}\n", "idx": 178}16{"project": "qemu", "commit_id": "b931bfbf042983f311b3b09894d8030b2755a638", "target": 0, "func": "static void net_vhost_link_down(VhostUserState *s, bool link_down)\n\n{\n\n s->nc.link_down = link_down;\n\n\n\n if (s->nc.peer) {\n\n s->nc.peer->link_down = link_down;\n\n }\n\n\n\n if (s->nc.info->link_status_changed) {\n\n s->nc.info->link_status_changed(&s->nc);\n\n }\n\n\n\n if (s->nc.peer && s->nc.peer->info->link_status_changed) {\n\n s->nc.peer->info->link_status_changed(s->nc.peer);\n\n }\n\n}\n", "idx": 179}17{"project": "FFmpeg", "commit_id": "3547f8e8f8418af0c578eba0de62ecba08e460c2", "target": 0, "func": "static int rv34_decode_mv(RV34DecContext *r, int block_type)\n\n{\n\n MpegEncContext *s = &r->s;\n\n GetBitContext *gb = &s->gb;\n\n int i, j, k, l;\n\n int mv_pos = s->mb_x * 2 + s->mb_y * 2 * s->b8_stride;\n\n int next_bt;\n\n\n\n memset(r->dmv, 0, sizeof(r->dmv));\n\n for(i = 0; i < num_mvs[block_type]; i++){\n\n r->dmv[i][0] = svq3_get_se_golomb(gb);\n\n r->dmv[i][1] = svq3_get_se_golomb(gb);\n\n }\n\n switch(block_type){\n\n case RV34_MB_TYPE_INTRA:\n\n case RV34_MB_TYPE_INTRA16x16:\n\n ZERO8x2(s->current_picture_ptr->f.motion_val[0][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], s->b8_stride);\n\n return 0;\n\n case RV34_MB_SKIP:\n\n if(s->pict_type == AV_PICTURE_TYPE_P){\n\n ZERO8x2(s->current_picture_ptr->f.motion_val[0][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], s->b8_stride);\n\n rv34_mc_1mv (r, block_type, 0, 0, 0, 2, 2, 0);\n\n break;\n\n }\n\n case RV34_MB_B_DIRECT:\n\n //surprisingly, it uses motion scheme from next reference frame\n\n /* wait for the current mb row to be finished */\n\n if (HAVE_THREADS && (s->avctx->active_thread_type & FF_THREAD_FRAME))\n\n ff_thread_await_progress(&s->next_picture_ptr->f, s->mb_y - 1, 0);\n\n\n\n next_bt = s->next_picture_ptr->f.mb_type[s->mb_x + s->mb_y * s->mb_stride];\n\n if(IS_INTRA(next_bt) || IS_SKIP(next_bt)){\n\n ZERO8x2(s->current_picture_ptr->f.motion_val[0][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], s->b8_stride);\n\n ZERO8x2(s->current_picture_ptr->f.motion_val[1][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], s->b8_stride);\n\n }else\n\n for(j = 0; j < 2; j++)\n\n for(i = 0; i < 2; i++)\n\n for(k = 0; k < 2; k++)\n\n for(l = 0; l < 2; l++)\n\n s->current_picture_ptr->f.motion_val[l][mv_pos + i + j*s->b8_stride][k] = calc_add_mv(r, l, s->next_picture_ptr->f.motion_val[0][mv_pos + i + j*s->b8_stride][k]);\n\n if(!(IS_16X8(next_bt) || IS_8X16(next_bt) || IS_8X8(next_bt))) //we can use whole macroblock MC\n\n rv34_mc_2mv(r, block_type);\n\n else\n\n rv34_mc_2mv_skip(r);\n\n ZERO8x2(s->current_picture_ptr->f.motion_val[0][s->mb_x * 2 + s->mb_y * 2 * s->b8_stride], s->b8_stride);\n\n break;\n\n case RV34_MB_P_16x16:\n\n case RV34_MB_P_MIX16x16:\n\n rv34_pred_mv(r, block_type, 0, 0);\n\n rv34_mc_1mv (r, block_type, 0, 0, 0, 2, 2, 0);\n\n break;\n\n case RV34_MB_B_FORWARD:\n\n case RV34_MB_B_BACKWARD:\n\n r->dmv[1][0] = r->dmv[0][0];\n\n r->dmv[1][1] = r->dmv[0][1];\n\n if(r->rv30)\n\n rv34_pred_mv_rv3(r, block_type, block_type == RV34_MB_B_BACKWARD);\n\n else\n\n rv34_pred_mv_b (r, block_type, block_type == RV34_MB_B_BACKWARD);\n\n rv34_mc_1mv (r, block_type, 0, 0, 0, 2, 2, block_type == RV34_MB_B_BACKWARD);\n\n break;\n\n case RV34_MB_P_16x8:\n\n case RV34_MB_P_8x16:\n\n rv34_pred_mv(r, block_type, 0, 0);\n\n rv34_pred_mv(r, block_type, 1 + (block_type == RV34_MB_P_16x8), 1);\n\n if(block_type == RV34_MB_P_16x8){\n\n rv34_mc_1mv(r, block_type, 0, 0, 0, 2, 1, 0);\n\n rv34_mc_1mv(r, block_type, 0, 8, s->b8_stride, 2, 1, 0);\n\n }\n\n if(block_type == RV34_MB_P_8x16){\n\n rv34_mc_1mv(r, block_type, 0, 0, 0, 1, 2, 0);\n\n rv34_mc_1mv(r, block_type, 8, 0, 1, 1, 2, 0);\n\n }\n\n break;\n\n case RV34_MB_B_BIDIR:\n\n rv34_pred_mv_b (r, block_type, 0);\n\n rv34_pred_mv_b (r, block_type, 1);\n\n rv34_mc_2mv (r, block_type);\n\n break;\n\n case RV34_MB_P_8x8:\n\n for(i=0;i< 4;i++){\n\n rv34_pred_mv(r, block_type, i, i);\n\n rv34_mc_1mv (r, block_type, (i&1)<<3, (i&2)<<2, (i&1)+(i>>1)*s->b8_stride, 1, 1, 0);\n\n }\n\n break;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 185}18{"project": "qemu", "commit_id": "40365552c2fceacc9800ec9a87b9ead516a9a6ce", "target": 1, "func": "static void mirror_start_job(BlockDriverState *bs, BlockDriverState *target,\n\n const char *replaces,\n\n int64_t speed, uint32_t granularity,\n\n int64_t buf_size,\n\n BlockdevOnError on_source_error,\n\n BlockdevOnError on_target_error,\n\n bool unmap,\n\n BlockCompletionFunc *cb,\n\n void *opaque, Error **errp,\n\n const BlockJobDriver *driver,\n\n bool is_none_mode, BlockDriverState *base)\n\n{\n\n MirrorBlockJob *s;\n\n\n\n\n if (granularity == 0) {\n\n granularity = bdrv_get_default_bitmap_granularity(target);\n\n }\n\n\n\n assert ((granularity & (granularity - 1)) == 0);\n\n\n\n if ((on_source_error == BLOCKDEV_ON_ERROR_STOP ||\n\n on_source_error == BLOCKDEV_ON_ERROR_ENOSPC) &&\n\n (!bs->blk || !blk_iostatus_is_enabled(bs->blk))) {\n\n error_setg(errp, QERR_INVALID_PARAMETER, \"on-source-error\");\n\n return;\n\n }\n\n\n\n if (buf_size < 0) {\n\n error_setg(errp, \"Invalid parameter 'buf-size'\");\n\n return;\n\n }\n\n\n\n if (buf_size == 0) {\n\n buf_size = DEFAULT_MIRROR_BUF_SIZE;\n\n }\n\n\n\n /* We can't support this case as long as the block layer can't handle\n\n * multiple BlockBackends per BlockDriverState. */\n\n if (replaces) {\n\n replaced_bs = bdrv_lookup_bs(replaces, replaces, errp);\n\n if (replaced_bs == NULL) {\n\n return;\n\n }\n\n } else {\n\n replaced_bs = bs;\n\n }\n\n if (replaced_bs->blk && target->blk) {\n\n error_setg(errp, \"Can't create node with two BlockBackends\");\n\n return;\n\n }\n\n\n\n s = block_job_create(driver, bs, speed, cb, opaque, errp);\n\n if (!s) {\n\n return;\n\n }\n\n\n\n s->replaces = g_strdup(replaces);\n\n s->on_source_error = on_source_error;\n\n s->on_target_error = on_target_error;\n\n s->target = target;\n\n s->is_none_mode = is_none_mode;\n\n s->base = base;\n\n s->granularity = granularity;\n\n s->buf_size = ROUND_UP(buf_size, granularity);\n\n s->unmap = unmap;\n\n\n\n s->dirty_bitmap = bdrv_create_dirty_bitmap(bs, granularity, NULL, errp);\n\n if (!s->dirty_bitmap) {\n\n g_free(s->replaces);\n\n block_job_unref(&s->common);\n\n return;\n\n }\n\n\n\n bdrv_op_block_all(s->target, s->common.blocker);\n\n\n\n bdrv_set_enable_write_cache(s->target, true);\n\n if (s->target->blk) {\n\n blk_set_on_error(s->target->blk, on_target_error, on_target_error);\n\n blk_iostatus_enable(s->target->blk);\n\n }\n\n s->common.co = qemu_coroutine_create(mirror_run);\n\n trace_mirror_start(bs, s, s->common.co, opaque);\n\n qemu_coroutine_enter(s->common.co, s);\n\n}", "idx": 200}19{"project": "qemu", "commit_id": "65cdadd2e2de76f7db3bf6b7d8dd8c67abff9659", "target": 0, "func": "START_TEST(qint_get_int_test)\n\n{\n\n QInt *qi;\n\n const int value = 123456;\n\n\n\n qi = qint_from_int(value);\n\n fail_unless(qint_get_int(qi) == value);\n\n\n\n QDECREF(qi);\n\n}\n", "idx": 218}20{"project": "FFmpeg", "commit_id": "2bfd0a97587d26c0c39413a6291ccc66e4a928d0", "target": 1, "func": "static int read_code_table(CLLCContext *ctx, GetBitContext *gb, VLC *vlc)\n{\n uint8_t symbols[256];\n uint8_t bits[256];\n uint16_t codes[256];\n int num_lens, num_codes, num_codes_sum, prefix;\n int i, j, count;\n prefix = 0;\n count = 0;\n num_codes_sum = 0;\n num_lens = get_bits(gb, 5);\n for (i = 0; i < num_lens; i++) {\n num_codes = get_bits(gb, 9);\n num_codes_sum += num_codes;\n if (num_codes_sum > 256) {\n av_log(ctx->avctx, AV_LOG_ERROR,\n \"Too many VLCs (%d) to be read.\\n\", num_codes_sum);\n for (j = 0; j < num_codes; j++) {\n symbols[count] = get_bits(gb, 8);\n bits[count] = i + 1;\n codes[count] = prefix++;\n count++;\n if (prefix > (65535 - 256)/2) {\n prefix <<= 1;\n return ff_init_vlc_sparse(vlc, VLC_BITS, count, bits, 1, 1,\n codes, 2, 2, symbols, 1, 1, 0);", "idx": 244}21{"project": "FFmpeg", "commit_id": "7bf3f380466eeff24916fd6218aca13e414c6240", "target": 1, "func": "static int cbs_h265_read_nal_unit(CodedBitstreamContext *ctx,\n\n CodedBitstreamUnit *unit)\n\n{\n\n BitstreamContext bc;\n\n int err;\n\n\n\n err = bitstream_init(&bc, unit->data, 8 * unit->data_size);\n\n if (err < 0)\n\n return err;\n\n\n\n switch (unit->type) {\n\n case HEVC_NAL_VPS:\n\n {\n\n H265RawVPS *vps;\n\n\n\n vps = av_mallocz(sizeof(*vps));\n\n if (!vps)\n\n return AVERROR(ENOMEM);\n\n err = cbs_h265_read_vps(ctx, &bc, vps);\n\n if (err >= 0)\n\n err = cbs_h265_replace_vps(ctx, vps);\n\n if (err < 0) {\n\n av_free(vps);\n\n return err;\n\n }\n\n\n\n unit->content = vps;\n\n }\n\n break;\n\n case HEVC_NAL_SPS:\n\n {\n\n H265RawSPS *sps;\n\n\n\n sps = av_mallocz(sizeof(*sps));\n\n if (!sps)\n\n return AVERROR(ENOMEM);\n\n err = cbs_h265_read_sps(ctx, &bc, sps);\n\n if (err >= 0)\n\n err = cbs_h265_replace_sps(ctx, sps);\n\n if (err < 0) {\n\n av_free(sps);\n\n return err;\n\n }\n\n\n\n unit->content = sps;\n\n }\n\n break;\n\n\n\n case HEVC_NAL_PPS:\n\n {\n\n H265RawPPS *pps;\n\n\n\n pps = av_mallocz(sizeof(*pps));\n\n if (!pps)\n\n return AVERROR(ENOMEM);\n\n err = cbs_h265_read_pps(ctx, &bc, pps);\n\n if (err >= 0)\n\n err = cbs_h265_replace_pps(ctx, pps);\n\n if (err < 0) {\n\n av_free(pps);\n\n return err;\n\n }\n\n\n\n unit->content = pps;\n\n }\n\n break;\n\n\n\n case HEVC_NAL_TRAIL_N:\n\n case HEVC_NAL_TRAIL_R:\n\n case HEVC_NAL_TSA_N:\n\n case HEVC_NAL_TSA_R:\n\n case HEVC_NAL_STSA_N:\n\n case HEVC_NAL_STSA_R:\n\n case HEVC_NAL_RADL_N:\n\n case HEVC_NAL_RADL_R:\n\n case HEVC_NAL_RASL_N:\n\n case HEVC_NAL_RASL_R:\n\n case HEVC_NAL_BLA_W_LP:\n\n case HEVC_NAL_BLA_W_RADL:\n\n case HEVC_NAL_BLA_N_LP:\n\n case HEVC_NAL_IDR_W_RADL:\n\n case HEVC_NAL_IDR_N_LP:\n\n case HEVC_NAL_CRA_NUT:\n\n {\n\n H265RawSlice *slice;\n\n int pos, len;\n\n\n\n slice = av_mallocz(sizeof(*slice));\n\n if (!slice)\n\n return AVERROR(ENOMEM);\n\n err = cbs_h265_read_slice_segment_header(ctx, &bc, &slice->header);\n\n if (err < 0) {\n\n av_free(slice);\n\n return err;\n\n }\n\n\n\n pos = bitstream_tell(&bc);\n\n len = unit->data_size;\n\n if (!unit->data[len - 1]) {\n\n int z;\n\n for (z = 0; z < len && !unit->data[len - z - 1]; z++);\n\n av_log(ctx->log_ctx, AV_LOG_DEBUG, \"Deleted %d trailing zeroes \"\n\n \"from slice data.\\n\", z);\n\n len -= z;\n\n }\n\n\n\n slice->data_size = len - pos / 8;\n\n slice->data = av_malloc(slice->data_size);\n\n if (!slice->data) {\n\n av_free(slice);\n\n return AVERROR(ENOMEM);\n\n }\n\n memcpy(slice->data,\n\n unit->data + pos / 8, slice->data_size);\n\n slice->data_bit_start = pos % 8;\n\n\n\n unit->content = slice;\n\n }\n\n break;\n\n\n\n case HEVC_NAL_AUD:\n\n {\n\n H265RawAUD *aud;\n\n\n\n aud = av_mallocz(sizeof(*aud));\n\n if (!aud)\n\n return AVERROR(ENOMEM);\n\n err = cbs_h265_read_aud(ctx, &bc, aud);\n\n if (err < 0) {\n\n av_free(aud);\n\n return err;\n\n }\n\n\n\n unit->content = aud;\n\n }\n\n break;\n\n\n\n default:\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 245}22{"project": "qemu", "commit_id": "ea9ebc2ce69198f7aca4b43652824c5d621ac978", "target": 1, "func": "static void qpa_audio_fini (void *opaque)\n\n{\n\n (void) opaque;\n\n}\n", "idx": 246}23{"project": "qemu", "commit_id": "4f4321c11ff6e98583846bfd6f0e81954924b003", "target": 1, "func": "static void usbredir_bulk_packet(void *priv, uint32_t id,\n\n struct usb_redir_bulk_packet_header *bulk_packet,\n\n uint8_t *data, int data_len)\n\n{\n\n USBRedirDevice *dev = priv;\n\n uint8_t ep = bulk_packet->endpoint;\n\n int len = bulk_packet->length;\n\n AsyncURB *aurb;\n\n\n\n DPRINTF(\"bulk-in status %d ep %02X len %d id %u\\n\", bulk_packet->status,\n\n ep, len, id);\n\n\n\n aurb = async_find(dev, id);\n\n if (!aurb) {\n\n free(data);\n\n return;\n\n }\n\n\n\n if (aurb->bulk_packet.endpoint != bulk_packet->endpoint ||\n\n aurb->bulk_packet.stream_id != bulk_packet->stream_id) {\n\n ERROR(\"return bulk packet mismatch, please report this!\\n\");\n\n len = USB_RET_NAK;\n\n }\n\n\n\n if (aurb->packet) {\n\n len = usbredir_handle_status(dev, bulk_packet->status, len);\n\n if (len > 0) {\n\n usbredir_log_data(dev, \"bulk data in:\", data, data_len);\n\n if (data_len <= aurb->packet->len) {\n\n memcpy(aurb->packet->data, data, data_len);\n\n } else {\n\n ERROR(\"bulk buffer too small (%d > %d)\\n\", data_len,\n\n aurb->packet->len);\n\n len = USB_RET_STALL;\n\n }\n\n }\n\n aurb->packet->len = len;\n\n usb_packet_complete(&dev->dev, aurb->packet);\n\n }\n\n async_free(dev, aurb);\n\n free(data);\n\n}\n", "idx": 248}24{"project": "FFmpeg", "commit_id": "964f07f68e1cc4e2d585615e2b1a1fade269afb0", "target": 1, "func": "static av_cold int hevc_init_context(AVCodecContext *avctx)\n{\n HEVCContext *s = avctx->priv_data;\n int i;\n s->avctx = avctx;\n s->HEVClc = av_mallocz(sizeof(HEVCLocalContext));\n if (!s->HEVClc)\n goto fail;\n s->HEVClcList[0] = s->HEVClc;\n s->sList[0] = s;\n s->cabac_state = av_malloc(HEVC_CONTEXTS);\n if (!s->cabac_state)\n goto fail;\n s->output_frame = av_frame_alloc();\n if (!s->output_frame)\n goto fail;\n for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) {\n s->DPB[i].frame = av_frame_alloc();\n if (!s->DPB[i].frame)\n goto fail;\n s->DPB[i].tf.f = s->DPB[i].frame;\n }\n s->max_ra = INT_MAX;\n s->md5_ctx = av_md5_alloc();\n if (!s->md5_ctx)\n goto fail;\n ff_bswapdsp_init(&s->bdsp);\n s->context_initialized = 1;\n s->eos = 0;\n return 0;\nfail:\n hevc_decode_free(avctx);\n return AVERROR(ENOMEM);\n}", "idx": 262}25{"project": "FFmpeg", "commit_id": "478f1c3d5e5463a284ea7efecfc62d47ba3be11a", "target": 1, "func": "static int decode_plte_chunk(AVCodecContext *avctx, PNGDecContext *s,\n\n uint32_t length)\n\n{\n\n int n, i, r, g, b;\n\n\n\n if ((length % 3) != 0 || length > 256 * 3)\n\n return AVERROR_INVALIDDATA;\n\n /* read the palette */\n\n n = length / 3;\n\n for (i = 0; i < n; i++) {\n\n r = bytestream2_get_byte(&s->gb);\n\n g = bytestream2_get_byte(&s->gb);\n\n b = bytestream2_get_byte(&s->gb);\n\n s->palette[i] = (0xFFU << 24) | (r << 16) | (g << 8) | b;\n\n }\n\n for (; i < 256; i++)\n\n s->palette[i] = (0xFFU << 24);\n\n s->state |= PNG_PLTE;\n\n bytestream2_skip(&s->gb, 4); /* crc */\n\n\n\n return 0;\n\n}\n", "idx": 265}26{"project": "qemu", "commit_id": "09cd058a2cf77bb7a3b10ff93c1f80ed88bca364", "target": 1, "func": "static MemTxResult vtd_mem_ir_write(void *opaque, hwaddr addr,\n\n uint64_t value, unsigned size,\n\n MemTxAttrs attrs)\n\n{\n\n int ret = 0;\n\n MSIMessage from = {0}, to = {0};\n\n\n\n from.address = (uint64_t) addr + VTD_INTERRUPT_ADDR_FIRST;\n\n from.data = (uint32_t) value;\n\n\n\n ret = vtd_interrupt_remap_msi(opaque, &from, &to);\n\n if (ret) {\n\n /* TODO: report error */\n\n VTD_DPRINTF(GENERAL, \"int remap fail for addr 0x%\"PRIx64\n\n \" data 0x%\"PRIx32, from.address, from.data);\n\n /* Drop this interrupt */\n\n return MEMTX_ERROR;\n\n }\n\n\n\n VTD_DPRINTF(IR, \"delivering MSI 0x%\"PRIx64\":0x%\"PRIx32\n\n \" for device sid 0x%04x\",\n\n to.address, to.data, sid);\n\n\n\n if (dma_memory_write(&address_space_memory, to.address,\n\n &to.data, size)) {\n\n VTD_DPRINTF(GENERAL, \"error: fail to write 0x%\"PRIx64\n\n \" value 0x%\"PRIx32, to.address, to.data);\n\n }\n\n\n\n return MEMTX_OK;\n\n}\n", "idx": 272}27{"project": "qemu", "commit_id": "0b5538c300a56c3cfb33022840fe0b4968147e7a", "target": 1, "func": "void st_flush_trace_buffer(void)\n\n{\n\n if (trace_file_enabled) {\n\n flush_trace_file();\n\n }\n\n\n\n /* Discard written trace records */\n\n trace_idx = 0;\n\n}\n", "idx": 280}28{"project": "qemu", "commit_id": "6a84cb1f2822e494839b93dd8c7f7f8fa6c261a9", "target": 0, "func": "VirtIODevice *virtio_blk_init(DeviceState *dev, BlockConf *conf,\n\n char **serial)\n\n{\n\n VirtIOBlock *s;\n\n int cylinders, heads, secs;\n\n static int virtio_blk_id;\n\n DriveInfo *dinfo;\n\n\n\n if (!conf->bs) {\n\n error_report(\"virtio-blk-pci: drive property not set\");\n\n return NULL;\n\n }\n\n if (!bdrv_is_inserted(conf->bs)) {\n\n error_report(\"Device needs media, but drive is empty\");\n\n return NULL;\n\n }\n\n\n\n if (!*serial) {\n\n /* try to fall back to value set with legacy -drive serial=... */\n\n dinfo = drive_get_by_blockdev(conf->bs);\n\n if (*dinfo->serial) {\n\n *serial = strdup(dinfo->serial);\n\n }\n\n }\n\n\n\n s = (VirtIOBlock *)virtio_common_init(\"virtio-blk\", VIRTIO_ID_BLOCK,\n\n sizeof(struct virtio_blk_config),\n\n sizeof(VirtIOBlock));\n\n\n\n s->vdev.get_config = virtio_blk_update_config;\n\n s->vdev.get_features = virtio_blk_get_features;\n\n s->vdev.reset = virtio_blk_reset;\n\n s->bs = conf->bs;\n\n s->conf = conf;\n\n s->serial = *serial;\n\n s->rq = NULL;\n\n s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;\n\n bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs);\n\n\n\n s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output);\n\n\n\n qemu_add_vm_change_state_handler(virtio_blk_dma_restart_cb, s);\n\n s->qdev = dev;\n\n register_savevm(dev, \"virtio-blk\", virtio_blk_id++, 2,\n\n virtio_blk_save, virtio_blk_load, s);\n\n bdrv_set_dev_ops(s->bs, &virtio_block_ops, s);\n\n bdrv_set_buffer_alignment(s->bs, conf->logical_block_size);\n\n\n\n bdrv_iostatus_enable(s->bs);\n\n add_boot_device_path(conf->bootindex, dev, \"/disk@0,0\");\n\n\n\n return &s->vdev;\n\n}\n", "idx": 289}29{"project": "qemu", "commit_id": "0647d47cc184da587c76743546b6af6dfdb8f1da", "target": 1, "func": "static size_t header_ext_add(char *buf, uint32_t magic, const void *s,\n\n size_t len, size_t buflen)\n\n{\n\n QCowExtension *ext_backing_fmt = (QCowExtension*) buf;\n\n size_t ext_len = sizeof(QCowExtension) + ((len + 7) & ~7);\n\n\n\n if (buflen < ext_len) {\n\n return -ENOSPC;\n\n }\n\n\n\n *ext_backing_fmt = (QCowExtension) {\n\n .magic = cpu_to_be32(magic),\n\n .len = cpu_to_be32(len),\n\n };\n\n memcpy(buf + sizeof(QCowExtension), s, len);\n\n\n\n return ext_len;\n\n}\n", "idx": 304}30{"project": "FFmpeg", "commit_id": "5c720657c23afd798ae0db7c7362eb859a89ab3d", "target": 1, "func": "static int mov_read_strf(MOVContext *c, AVIOContext *pb, MOVAtom atom)\n\n{\n\n AVStream *st;\n\n\n\n if (c->fc->nb_streams < 1)\n\n return 0;\n\n if (atom.size <= 40)\n\n return 0;\n\n st = c->fc->streams[c->fc->nb_streams-1];\n\n\n\n if ((uint64_t)atom.size > (1<<30))\n\n return AVERROR_INVALIDDATA;\n\n\n\n av_free(st->codec->extradata);\n\n st->codec->extradata = av_mallocz(atom.size - 40 + FF_INPUT_BUFFER_PADDING_SIZE);\n\n if (!st->codec->extradata)\n\n return AVERROR(ENOMEM);\n\n st->codec->extradata_size = atom.size - 40;\n\n avio_skip(pb, 40);\n\n avio_read(pb, st->codec->extradata, atom.size - 40);\n\n return 0;\n\n}\n", "idx": 305}31{"project": "qemu", "commit_id": "89ae337acbe4dba5b2481007aec1277252d2b86c", "target": 0, "func": "static void mem_begin(MemoryListener *listener)\n\n{\n\n AddressSpaceDispatch *d = container_of(listener, AddressSpaceDispatch, listener);\n\n\n\n d->phys_map.ptr = PHYS_MAP_NODE_NIL;\n\n}\n", "idx": 321}32{"project": "qemu", "commit_id": "245f7b51c0ea04fb2224b1127430a096c91aee70", "target": 0, "func": "static uint32_t tight_palette_buf2rgb(int bpp, const uint8_t *buf)\n\n{\n\n uint32_t rgb = 0;\n\n\n\n if (bpp == 32) {\n\n rgb |= ((buf[0] & ~1) | !((buf[4] >> 3) & 1)) << 24;\n\n rgb |= ((buf[1] & ~1) | !((buf[4] >> 2) & 1)) << 16;\n\n rgb |= ((buf[2] & ~1) | !((buf[4] >> 1) & 1)) << 8;\n\n rgb |= ((buf[3] & ~1) | !((buf[4] >> 0) & 1)) << 0;\n\n }\n\n if (bpp == 16) {\n\n rgb |= ((buf[0] & ~1) | !((buf[2] >> 1) & 1)) << 8;\n\n rgb |= ((buf[1] & ~1) | !((buf[2] >> 0) & 1)) << 0;\n\n }\n\n return rgb;\n\n}\n", "idx": 325}33{"project": "qemu", "commit_id": "fac7d7b1cdb21f921d7ac396365f5e920ef03096", "target": 1, "func": "int net_init_tap(const Netdev *netdev, const char *name,\n\n NetClientState *peer, Error **errp)\n\n{\n\n const NetdevTapOptions *tap;\n\n int fd, vnet_hdr = 0, i = 0, queues;\n\n /* for the no-fd, no-helper case */\n\n const char *script = NULL; /* suppress wrong \"uninit'd use\" gcc warning */\n\n const char *downscript = NULL;\n\n Error *err = NULL;\n\n const char *vhostfdname;\n\n char ifname[128];\n\n\n\n assert(netdev->type == NET_CLIENT_DRIVER_TAP);\n\n tap = &netdev->u.tap;\n\n queues = tap->has_queues ? tap->queues : 1;\n\n vhostfdname = tap->has_vhostfd ? tap->vhostfd : NULL;\n\n\n\n /* QEMU vlans does not support multiqueue tap, in this case peer is set.\n\n * For -netdev, peer is always NULL. */\n\n if (peer && (tap->has_queues || tap->has_fds || tap->has_vhostfds)) {\n\n error_setg(errp, \"Multiqueue tap cannot be used with QEMU vlans\");\n\n return -1;\n\n }\n\n\n\n if (tap->has_fd) {\n\n if (tap->has_ifname || tap->has_script || tap->has_downscript ||\n\n tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||\n\n tap->has_fds || tap->has_vhostfds) {\n\n error_setg(errp, \"ifname=, script=, downscript=, vnet_hdr=, \"\n\n \"helper=, queues=, fds=, and vhostfds= \"\n\n \"are invalid with fd=\");\n\n return -1;\n\n }\n\n\n\n fd = monitor_fd_param(cur_mon, tap->fd, &err);\n\n if (fd == -1) {\n\n error_propagate(errp, err);\n\n return -1;\n\n }\n\n\n\n fcntl(fd, F_SETFL, O_NONBLOCK);\n\n\n\n vnet_hdr = tap_probe_vnet_hdr(fd);\n\n\n\n net_init_tap_one(tap, peer, \"tap\", name, NULL,\n\n script, downscript,\n\n vhostfdname, vnet_hdr, fd, &err);\n\n if (err) {\n\n error_propagate(errp, err);\n\n return -1;\n\n }\n\n } else if (tap->has_fds) {\n\n char **fds = g_new0(char *, MAX_TAP_QUEUES);\n\n char **vhost_fds = g_new0(char *, MAX_TAP_QUEUES);\n\n int nfds, nvhosts;\n\n\n\n if (tap->has_ifname || tap->has_script || tap->has_downscript ||\n\n tap->has_vnet_hdr || tap->has_helper || tap->has_queues ||\n\n tap->has_vhostfd) {\n\n error_setg(errp, \"ifname=, script=, downscript=, vnet_hdr=, \"\n\n \"helper=, queues=, and vhostfd= \"\n\n \"are invalid with fds=\");\n\n return -1;\n\n }\n\n\n\n nfds = get_fds(tap->fds, fds, MAX_TAP_QUEUES);\n\n if (tap->has_vhostfds) {\n\n nvhosts = get_fds(tap->vhostfds, vhost_fds, MAX_TAP_QUEUES);\n\n if (nfds != nvhosts) {\n\n error_setg(errp, \"The number of fds passed does not match \"\n\n \"the number of vhostfds passed\");\n\n goto free_fail;\n\n }\n\n }\n\n\n\n for (i = 0; i < nfds; i++) {\n\n fd = monitor_fd_param(cur_mon, fds[i], &err);\n\n if (fd == -1) {\n\n error_propagate(errp, err);\n\n goto free_fail;\n\n }\n\n\n\n fcntl(fd, F_SETFL, O_NONBLOCK);\n\n\n\n if (i == 0) {\n\n vnet_hdr = tap_probe_vnet_hdr(fd);\n\n } else if (vnet_hdr != tap_probe_vnet_hdr(fd)) {\n\n error_setg(errp,\n\n \"vnet_hdr not consistent across given tap fds\");\n\n goto free_fail;\n\n }\n\n\n\n net_init_tap_one(tap, peer, \"tap\", name, ifname,\n\n script, downscript,\n\n tap->has_vhostfds ? vhost_fds[i] : NULL,\n\n vnet_hdr, fd, &err);\n\n if (err) {\n\n error_propagate(errp, err);\n\n goto free_fail;\n\n }\n\n }\n\n g_free(fds);\n\n g_free(vhost_fds);\n\n return 0;\n\n\n\nfree_fail:\n\n for (i = 0; i < nfds; i++) {\n\n g_free(fds[i]);\n\n g_free(vhost_fds[i]);\n\n }\n\n g_free(fds);\n\n g_free(vhost_fds);\n\n return -1;\n\n } else if (tap->has_helper) {\n\n if (tap->has_ifname || tap->has_script || tap->has_downscript ||\n\n tap->has_vnet_hdr || tap->has_queues || tap->has_vhostfds) {\n\n error_setg(errp, \"ifname=, script=, downscript=, vnet_hdr=, \"\n\n \"queues=, and vhostfds= are invalid with helper=\");\n\n return -1;\n\n }\n\n\n\n fd = net_bridge_run_helper(tap->helper,\n\n tap->has_br ?\n\n tap->br : DEFAULT_BRIDGE_INTERFACE,\n\n errp);\n\n if (fd == -1) {\n\n return -1;\n\n }\n\n\n\n fcntl(fd, F_SETFL, O_NONBLOCK);\n\n vnet_hdr = tap_probe_vnet_hdr(fd);\n\n\n\n net_init_tap_one(tap, peer, \"bridge\", name, ifname,\n\n script, downscript, vhostfdname,\n\n vnet_hdr, fd, &err);\n\n if (err) {\n\n error_propagate(errp, err);\n\n close(fd);\n\n return -1;\n\n }\n\n } else {\n\n if (tap->has_vhostfds) {\n\n error_setg(errp, \"vhostfds= is invalid if fds= wasn't specified\");\n\n return -1;\n\n }\n\n script = tap->has_script ? tap->script : DEFAULT_NETWORK_SCRIPT;\n\n downscript = tap->has_downscript ? tap->downscript :\n\n DEFAULT_NETWORK_DOWN_SCRIPT;\n\n\n\n if (tap->has_ifname) {\n\n pstrcpy(ifname, sizeof ifname, tap->ifname);\n\n } else {\n\n ifname[0] = '\\0';\n\n }\n\n\n\n for (i = 0; i < queues; i++) {\n\n fd = net_tap_init(tap, &vnet_hdr, i >= 1 ? \"no\" : script,\n\n ifname, sizeof ifname, queues > 1, errp);\n\n if (fd == -1) {\n\n return -1;\n\n }\n\n\n\n if (queues > 1 && i == 0 && !tap->has_ifname) {\n\n if (tap_fd_get_ifname(fd, ifname)) {\n\n error_setg(errp, \"Fail to get ifname\");\n\n close(fd);\n\n return -1;\n\n }\n\n }\n\n\n\n net_init_tap_one(tap, peer, \"tap\", name, ifname,\n\n i >= 1 ? \"no\" : script,\n\n i >= 1 ? \"no\" : downscript,\n\n vhostfdname, vnet_hdr, fd, &err);\n\n if (err) {\n\n error_propagate(errp, err);\n\n close(fd);\n\n return -1;\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 338}34{"project": "qemu", "commit_id": "0b8b8753e4d94901627b3e86431230f2319215c4", "target": 1, "func": "void stream_start(const char *job_id, BlockDriverState *bs,\n\n BlockDriverState *base, const char *backing_file_str,\n\n int64_t speed, BlockdevOnError on_error,\n\n BlockCompletionFunc *cb, void *opaque, Error **errp)\n\n{\n\n StreamBlockJob *s;\n\n\n\n s = block_job_create(job_id, &stream_job_driver, bs, speed,\n\n cb, opaque, errp);\n\n if (!s) {\n\n return;\n\n }\n\n\n\n s->base = base;\n\n s->backing_file_str = g_strdup(backing_file_str);\n\n\n\n s->on_error = on_error;\n\n s->common.co = qemu_coroutine_create(stream_run);\n\n trace_stream_start(bs, base, s, s->common.co, opaque);\n\n qemu_coroutine_enter(s->common.co, s);\n\n}\n", "idx": 369}35{"project": "FFmpeg", "commit_id": "1bc64c2814d409d3cc129c27c493ee915bebdc4a", "target": 1, "func": "int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,\n int *got_picture_ptr,\n AVPacket *avpkt)\n{\n int ret;\n *got_picture_ptr = 0;\n if ((avctx->coded_width || avctx->coded_height) && av_image_check_size(avctx->coded_width, avctx->coded_height, 0, avctx))\n return -1;\n avctx->pkt = avpkt;\n apply_param_change(avctx, avpkt);\n if ((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size || (avctx->active_thread_type & FF_THREAD_FRAME)) {\n if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME)\n ret = ff_thread_decode_frame(avctx, picture, got_picture_ptr,\n avpkt);\n else {\n ret = avctx->codec->decode(avctx, picture, got_picture_ptr,\n avpkt);\n picture->pkt_dts = avpkt->dts;\n picture->sample_aspect_ratio = avctx->sample_aspect_ratio;\n picture->width = avctx->width;\n picture->height = avctx->height;\n picture->format = avctx->pix_fmt;\n }\n emms_c(); //needed to avoid an emms_c() call before every return;\n if (*got_picture_ptr)\n avctx->frame_number++;\n } else\n ret = 0;\n /* many decoders assign whole AVFrames, thus overwriting extended_data;\n * make sure it's set correctly */\n picture->extended_data = picture->data;\n return ret;\n}", "idx": 372}36{"project": "qemu", "commit_id": "84a3a53cf61ef691478bd91afa455c801696053c", "target": 1, "func": "static int omap_gpio_init(SysBusDevice *sbd)\n\n{\n\n DeviceState *dev = DEVICE(sbd);\n\n struct omap_gpif_s *s = OMAP1_GPIO(dev);\n\n\n\n if (!s->clk) {\n\n hw_error(\"omap-gpio: clk not connected\\n\");\n\n }\n\n qdev_init_gpio_in(dev, omap_gpio_set, 16);\n\n qdev_init_gpio_out(dev, s->omap1.handler, 16);\n\n sysbus_init_irq(sbd, &s->omap1.irq);\n\n memory_region_init_io(&s->iomem, OBJECT(s), &omap_gpio_ops, &s->omap1,\n\n \"omap.gpio\", 0x1000);\n\n sysbus_init_mmio(sbd, &s->iomem);\n\n return 0;\n\n}\n", "idx": 373}37{"project": "qemu", "commit_id": "f3c7d0389fe8a2792fd4c1cf151b885de03c8f62", "target": 1, "func": "void omap_mcbsp_i2s_attach(struct omap_mcbsp_s *s, I2SCodec *slave)\n\n{\n\n s->codec = slave;\n\n slave->rx_swallow = qemu_allocate_irqs(omap_mcbsp_i2s_swallow, s, 1)[0];\n\n slave->tx_start = qemu_allocate_irqs(omap_mcbsp_i2s_start, s, 1)[0];\n\n}\n", "idx": 391}38{"project": "qemu", "commit_id": "d1eb8f2acba579830cf3798c3c15ce51be852c56", "target": 0, "func": "int floatx80_eq(floatx80 a, floatx80 b, float_status *status)\n\n{\n\n\n\n if ( ( ( extractFloatx80Exp( a ) == 0x7FFF )\n\n && (uint64_t) ( extractFloatx80Frac( a )<<1 ) )\n\n || ( ( extractFloatx80Exp( b ) == 0x7FFF )\n\n && (uint64_t) ( extractFloatx80Frac( b )<<1 ) )\n\n ) {\n\n float_raise(float_flag_invalid, status);\n\n return 0;\n\n }\n\n return\n\n ( a.low == b.low )\n\n && ( ( a.high == b.high )\n\n || ( ( a.low == 0 )\n\n && ( (uint16_t) ( ( a.high | b.high )<<1 ) == 0 ) )\n\n );\n\n\n\n}\n", "idx": 399}39{"project": "qemu", "commit_id": "d2ca7c0b0d876cf0e219ae7a92252626b0913a28", "target": 0, "func": "void json_lexer_init(JSONLexer *lexer, JSONLexerEmitter func)\n\n{\n\n lexer->emit = func;\n\n lexer->state = IN_START;\n\n lexer->token = qstring_new();\n\n lexer->x = lexer->y = 0;\n\n}\n", "idx": 402}40{"project": "qemu", "commit_id": "384acbf46b70edf0d2c1648aa1a92a90bcf7057d", "target": 0, "func": "BlockDriverAIOCB *paio_submit(BlockDriverState *bs, int fd,\n\n int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,\n\n BlockDriverCompletionFunc *cb, void *opaque, int type)\n\n{\n\n struct qemu_paiocb *acb;\n\n\n\n acb = qemu_aio_get(&raw_aio_pool, bs, cb, opaque);\n\n if (!acb)\n\n return NULL;\n\n acb->aio_type = type;\n\n acb->aio_fildes = fd;\n\n acb->ev_signo = SIGUSR2;\n\n acb->async_context_id = get_async_context_id();\n\n\n\n if (qiov) {\n\n acb->aio_iov = qiov->iov;\n\n acb->aio_niov = qiov->niov;\n\n }\n\n acb->aio_nbytes = nb_sectors * 512;\n\n acb->aio_offset = sector_num * 512;\n\n\n\n acb->next = posix_aio_state->first_aio;\n\n posix_aio_state->first_aio = acb;\n\n\n\n trace_paio_submit(acb, opaque, sector_num, nb_sectors, type);\n\n qemu_paio_submit(acb);\n\n return &acb->common;\n\n}\n", "idx": 404}41{"project": "FFmpeg", "commit_id": "c8d0d8bc767309d5e8d9ee64addc11117190338e", "target": 1, "func": "static int crypto_open(URLContext *h, const char *uri, int flags)\n\n{\n\n const char *nested_url;\n\n int ret;\n\n CryptoContext *c = h->priv_data;\n\n\n\n if (!av_strstart(uri, \"crypto+\", &nested_url) &&\n\n !av_strstart(uri, \"crypto:\", &nested_url)) {\n\n av_log(h, AV_LOG_ERROR, \"Unsupported url %s\\n\", uri);\n\n ret = AVERROR(EINVAL);\n\n goto err;\n\n }\n\n\n\n if (c->keylen < BLOCKSIZE || c->ivlen < BLOCKSIZE) {\n\n av_log(h, AV_LOG_ERROR, \"Key or IV not set\\n\");\n\n ret = AVERROR(EINVAL);\n\n goto err;\n\n }\n\n if (flags & AVIO_FLAG_WRITE) {\n\n av_log(h, AV_LOG_ERROR, \"Only decryption is supported currently\\n\");\n\n ret = AVERROR(ENOSYS);\n\n goto err;\n\n }\n\n if ((ret = ffurl_open(&c->hd, nested_url, AVIO_FLAG_READ)) < 0) {\n\n av_log(h, AV_LOG_ERROR, \"Unable to open input\\n\");\n\n goto err;\n\n }\n\n c->aes = av_mallocz(av_aes_size);\n\n if (!c->aes) {\n\n ret = AVERROR(ENOMEM);\n\n goto err;\n\n }\n\n\n\n av_aes_init(c->aes, c->key, 128, 1);\n\n\n\n h->is_streamed = 1;\n\n\n\n return 0;\n\nerr:\n\n av_free(c->key);\n\n av_free(c->iv);\n\n return ret;\n\n}\n", "idx": 436}42{"project": "FFmpeg", "commit_id": "72555f4a382744dd7f02edcb7fe6f8ed91f4dc3c", "target": 1, "func": "int ff_alloc_entries(AVCodecContext *avctx, int count)\n\n{\n\n int i;\n\n\n\n if (avctx->active_thread_type & FF_THREAD_SLICE) {\n\n SliceThreadContext *p = avctx->internal->thread_ctx;\n\n p->thread_count = avctx->thread_count;\n\n p->entries = av_mallocz_array(count, sizeof(int));\n\n\n\n if (!p->entries) {\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n p->entries_count = count;\n\n p->progress_mutex = av_malloc_array(p->thread_count, sizeof(pthread_mutex_t));\n\n p->progress_cond = av_malloc_array(p->thread_count, sizeof(pthread_cond_t));\n\n\n\n for (i = 0; i < p->thread_count; i++) {\n\n pthread_mutex_init(&p->progress_mutex[i], NULL);\n\n pthread_cond_init(&p->progress_cond[i], NULL);\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 439}43{"project": "qemu", "commit_id": "25d9747b6427de8253221d544b45e50888d4cef7", "target": 1, "func": "static int floppy_probe_device(const char *filename)\n\n{\n\n int fd, ret;\n\n int prio = 0;\n\n struct floppy_struct fdparam;\n\n struct stat st;\n\n\n\n if (strstart(filename, \"/dev/fd\", NULL) &&\n\n !strstart(filename, \"/dev/fdset/\", NULL)) {\n\n prio = 50;\n\n }\n\n\n\n fd = qemu_open(filename, O_RDONLY | O_NONBLOCK);\n\n if (fd < 0) {\n\n goto out;\n\n }\n\n ret = fstat(fd, &st);\n\n if (ret == -1 || !S_ISBLK(st.st_mode)) {\n\n goto outc;\n\n }\n\n\n\n /* Attempt to detect via a floppy specific ioctl */\n\n ret = ioctl(fd, FDGETPRM, &fdparam);\n\n if (ret >= 0)\n\n prio = 100;\n\n\n\noutc:\n\n qemu_close(fd);\n\nout:\n\n return prio;\n\n}\n", "idx": 444}44{"project": "qemu", "commit_id": "7d55273fcdc307399fc0e327a0c14c140cd439cf", "target": 0, "func": "static void sun4uv_init(ram_addr_t RAM_size,\n\n const char *boot_devices,\n\n const char *kernel_filename, const char *kernel_cmdline,\n\n const char *initrd_filename, const char *cpu_model,\n\n const struct hwdef *hwdef)\n\n{\n\n CPUState *env;\n\n char *filename;\n\n m48t59_t *nvram;\n\n int ret, linux_boot;\n\n unsigned int i;\n\n ram_addr_t ram_offset, prom_offset;\n\n long initrd_size, kernel_size;\n\n PCIBus *pci_bus, *pci_bus2, *pci_bus3;\n\n QEMUBH *bh;\n\n qemu_irq *irq;\n\n int drive_index;\n\n BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS];\n\n BlockDriverState *fd[MAX_FD];\n\n void *fw_cfg;\n\n ResetData *reset_info;\n\n\n\n linux_boot = (kernel_filename != NULL);\n\n\n\n /* init CPUs */\n\n if (!cpu_model)\n\n cpu_model = hwdef->default_cpu_model;\n\n\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"Unable to find Sparc CPU definition\\n\");\n\n exit(1);\n\n }\n\n bh = qemu_bh_new(tick_irq, env);\n\n env->tick = ptimer_init(bh);\n\n ptimer_set_period(env->tick, 1ULL);\n\n\n\n bh = qemu_bh_new(stick_irq, env);\n\n env->stick = ptimer_init(bh);\n\n ptimer_set_period(env->stick, 1ULL);\n\n\n\n bh = qemu_bh_new(hstick_irq, env);\n\n env->hstick = ptimer_init(bh);\n\n ptimer_set_period(env->hstick, 1ULL);\n\n\n\n reset_info = qemu_mallocz(sizeof(ResetData));\n\n reset_info->env = env;\n\n reset_info->reset_addr = hwdef->prom_addr + 0x40ULL;\n\n qemu_register_reset(main_cpu_reset, reset_info);\n\n main_cpu_reset(reset_info);\n\n // Override warm reset address with cold start address\n\n env->pc = hwdef->prom_addr + 0x20ULL;\n\n env->npc = env->pc + 4;\n\n\n\n /* allocate RAM */\n\n ram_offset = qemu_ram_alloc(RAM_size);\n\n cpu_register_physical_memory(0, RAM_size, ram_offset);\n\n\n\n prom_offset = qemu_ram_alloc(PROM_SIZE_MAX);\n\n cpu_register_physical_memory(hwdef->prom_addr,\n\n (PROM_SIZE_MAX + TARGET_PAGE_SIZE) &\n\n TARGET_PAGE_MASK,\n\n prom_offset | IO_MEM_ROM);\n\n\n\n if (bios_name == NULL)\n\n bios_name = PROM_FILENAME;\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);\n\n if (filename) {\n\n ret = load_elf(filename, hwdef->prom_addr - PROM_VADDR,\n\n NULL, NULL, NULL);\n\n if (ret < 0) {\n\n ret = load_image_targphys(filename, hwdef->prom_addr,\n\n (PROM_SIZE_MAX + TARGET_PAGE_SIZE) &\n\n TARGET_PAGE_MASK);\n\n }\n\n qemu_free(filename);\n\n } else {\n\n ret = -1;\n\n }\n\n if (ret < 0) {\n\n fprintf(stderr, \"qemu: could not load prom '%s'\\n\",\n\n bios_name);\n\n exit(1);\n\n }\n\n\n\n kernel_size = 0;\n\n initrd_size = 0;\n\n if (linux_boot) {\n\n /* XXX: put correct offset */\n\n kernel_size = load_elf(kernel_filename, 0, NULL, NULL, NULL);\n\n if (kernel_size < 0)\n\n kernel_size = load_aout(kernel_filename, KERNEL_LOAD_ADDR,\n\n ram_size - KERNEL_LOAD_ADDR);\n\n if (kernel_size < 0)\n\n kernel_size = load_image_targphys(kernel_filename,\n\n KERNEL_LOAD_ADDR,\n\n ram_size - KERNEL_LOAD_ADDR);\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\",\n\n kernel_filename);\n\n exit(1);\n\n }\n\n\n\n /* load initrd */\n\n if (initrd_filename) {\n\n initrd_size = load_image_targphys(initrd_filename,\n\n INITRD_LOAD_ADDR,\n\n ram_size - INITRD_LOAD_ADDR);\n\n if (initrd_size < 0) {\n\n fprintf(stderr, \"qemu: could not load initial ram disk '%s'\\n\",\n\n initrd_filename);\n\n exit(1);\n\n }\n\n }\n\n if (initrd_size > 0) {\n\n for (i = 0; i < 64 * TARGET_PAGE_SIZE; i += TARGET_PAGE_SIZE) {\n\n if (ldl_phys(KERNEL_LOAD_ADDR + i) == 0x48647253) { // HdrS\n\n stl_phys(KERNEL_LOAD_ADDR + i + 16, INITRD_LOAD_ADDR);\n\n stl_phys(KERNEL_LOAD_ADDR + i + 20, initrd_size);\n\n break;\n\n }\n\n }\n\n }\n\n }\n\n pci_bus = pci_apb_init(APB_SPECIAL_BASE, APB_MEM_BASE, NULL, &pci_bus2,\n\n &pci_bus3);\n\n isa_mem_base = VGA_BASE;\n\n pci_vga_init(pci_bus, 0, 0);\n\n\n\n // XXX Should be pci_bus3\n\n pci_ebus_init(pci_bus, -1);\n\n\n\n i = 0;\n\n if (hwdef->console_serial_base) {\n\n serial_mm_init(hwdef->console_serial_base, 0, NULL, 115200,\n\n serial_hds[i], 1);\n\n i++;\n\n }\n\n for(; i < MAX_SERIAL_PORTS; i++) {\n\n if (serial_hds[i]) {\n\n serial_init(serial_io[i], NULL/*serial_irq[i]*/, 115200,\n\n serial_hds[i]);\n\n }\n\n }\n\n\n\n for(i = 0; i < MAX_PARALLEL_PORTS; i++) {\n\n if (parallel_hds[i]) {\n\n parallel_init(parallel_io[i], NULL/*parallel_irq[i]*/,\n\n parallel_hds[i]);\n\n }\n\n }\n\n\n\n for(i = 0; i < nb_nics; i++)\n\n pci_nic_init(&nd_table[i], \"ne2k_pci\", NULL);\n\n\n\n irq = qemu_allocate_irqs(cpu_set_irq, env, MAX_PILS);\n\n if (drive_get_max_bus(IF_IDE) >= MAX_IDE_BUS) {\n\n fprintf(stderr, \"qemu: too many IDE bus\\n\");\n\n exit(1);\n\n }\n\n for(i = 0; i < MAX_IDE_BUS * MAX_IDE_DEVS; i++) {\n\n drive_index = drive_get_index(IF_IDE, i / MAX_IDE_DEVS,\n\n i % MAX_IDE_DEVS);\n\n if (drive_index != -1)\n\n hd[i] = drives_table[drive_index].bdrv;\n\n else\n\n hd[i] = NULL;\n\n }\n\n\n\n pci_cmd646_ide_init(pci_bus, hd, 1);\n\n\n\n /* FIXME: wire up interrupts. */\n\n i8042_init(NULL/*1*/, NULL/*12*/, 0x60);\n\n for(i = 0; i < MAX_FD; i++) {\n\n drive_index = drive_get_index(IF_FLOPPY, 0, i);\n\n if (drive_index != -1)\n\n fd[i] = drives_table[drive_index].bdrv;\n\n else\n\n fd[i] = NULL;\n\n }\n\n floppy_controller = fdctrl_init(NULL/*6*/, 2, 0, 0x3f0, fd);\n\n nvram = m48t59_init(NULL/*8*/, 0, 0x0074, NVRAM_SIZE, 59);\n\n sun4u_NVRAM_set_params(nvram, NVRAM_SIZE, \"Sun4u\", RAM_size, boot_devices,\n\n KERNEL_LOAD_ADDR, kernel_size,\n\n kernel_cmdline,\n\n INITRD_LOAD_ADDR, initrd_size,\n\n /* XXX: need an option to load a NVRAM image */\n\n 0,\n\n graphic_width, graphic_height, graphic_depth,\n\n (uint8_t *)&nd_table[0].macaddr);\n\n\n\n fw_cfg = fw_cfg_init(BIOS_CFG_IOPORT, BIOS_CFG_IOPORT + 1, 0, 0);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1);\n\n fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, KERNEL_LOAD_ADDR);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size);\n\n if (kernel_cmdline) {\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR);\n\n pstrcpy_targphys(CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline);\n\n } else {\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0);\n\n }\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, INITRD_LOAD_ADDR);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, boot_devices[0]);\n\n qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);\n\n}\n", "idx": 461}45{"project": "qemu", "commit_id": "932e71cd57bab4e6206e1355c6425290721bbe34", "target": 0, "func": "static void fpu_init (CPUMIPSState *env, const mips_def_t *def)\n\n{\n\n int i;\n\n\n\n for (i = 0; i < MIPS_FPU_MAX; i++)\n\n env->fpus[i].fcr0 = def->CP1_fcr0;\n\n\n\n memcpy(&env->active_fpu, &env->fpus[0], sizeof(env->active_fpu));\n\n if (env->user_mode_only) {\n\n if (env->CP0_Config1 & (1 << CP0C1_FP))\n\n env->hflags |= MIPS_HFLAG_FPU;\n\n#ifdef TARGET_MIPS64\n\n if (env->active_fpu.fcr0 & (1 << FCR0_F64))\n\n env->hflags |= MIPS_HFLAG_F64;\n\n#endif\n\n }\n\n}\n", "idx": 474}46{"project": "FFmpeg", "commit_id": "ccc27e2139336b66cdec3bb73a2cc7e60ef7e599", "target": 1, "func": "static int bfi_decode_frame(AVCodecContext *avctx, void *data,\n\n int *data_size, AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data, *buf_end = avpkt->data + avpkt->size;\n\n int buf_size = avpkt->size;\n\n BFIContext *bfi = avctx->priv_data;\n\n uint8_t *dst = bfi->dst;\n\n uint8_t *src, *dst_offset, colour1, colour2;\n\n uint8_t *frame_end = bfi->dst + avctx->width * avctx->height;\n\n uint32_t *pal;\n\n int i, j, height = avctx->height;\n\n\n\n if (bfi->frame.data[0])\n\n avctx->release_buffer(avctx, &bfi->frame);\n\n\n\n bfi->frame.reference = 1;\n\n\n\n if (avctx->get_buffer(avctx, &bfi->frame) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return -1;\n\n }\n\n\n\n /* Set frame parameters and palette, if necessary */\n\n if (!avctx->frame_number) {\n\n bfi->frame.pict_type = AV_PICTURE_TYPE_I;\n\n bfi->frame.key_frame = 1;\n\n /* Setting the palette */\n\n if (avctx->extradata_size > 768) {\n\n av_log(NULL, AV_LOG_ERROR, \"Palette is too large.\\n\");\n\n return -1;\n\n }\n\n pal = (uint32_t *)bfi->frame.data[1];\n\n for (i = 0; i < avctx->extradata_size / 3; i++) {\n\n int shift = 16;\n\n *pal = 0;\n\n for (j = 0; j < 3; j++, shift -= 8)\n\n *pal +=\n\n ((avctx->extradata[i * 3 + j] << 2) |\n\n (avctx->extradata[i * 3 + j] >> 4)) << shift;\n\n pal++;\n\n }\n\n bfi->frame.palette_has_changed = 1;\n\n } else {\n\n bfi->frame.pict_type = AV_PICTURE_TYPE_P;\n\n bfi->frame.key_frame = 0;\n\n }\n\n\n\n buf += 4; // Unpacked size, not required.\n\n\n\n while (dst != frame_end) {\n\n static const uint8_t lentab[4] = { 0, 2, 0, 1 };\n\n unsigned int byte = *buf++, av_uninit(offset);\n\n unsigned int code = byte >> 6;\n\n unsigned int length = byte & ~0xC0;\n\n\n\n if (buf >= buf_end) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Input resolution larger than actual frame.\\n\");\n\n return -1;\n\n }\n\n\n\n /* Get length and offset(if required) */\n\n if (length == 0) {\n\n if (code == 1) {\n\n length = bytestream_get_byte(&buf);\n\n offset = bytestream_get_le16(&buf);\n\n } else {\n\n length = bytestream_get_le16(&buf);\n\n if (code == 2 && length == 0)\n\n break;\n\n }\n\n } else {\n\n if (code == 1)\n\n offset = bytestream_get_byte(&buf);\n\n }\n\n\n\n /* Do boundary check */\n\n if (dst + (length << lentab[code]) > frame_end)\n\n break;\n\n\n\n switch (code) {\n\n\n\n case 0: //Normal Chain\n\n if (length >= buf_end - buf) {\n\n av_log(avctx, AV_LOG_ERROR, \"Frame larger than buffer.\\n\");\n\n return -1;\n\n }\n\n bytestream_get_buffer(&buf, dst, length);\n\n dst += length;\n\n break;\n\n\n\n case 1: //Back Chain\n\n dst_offset = dst - offset;\n\n length *= 4; //Convert dwords to bytes.\n\n if (dst_offset < bfi->dst)\n\n break;\n\n while (length--)\n\n *dst++ = *dst_offset++;\n\n break;\n\n\n\n case 2: //Skip Chain\n\n dst += length;\n\n break;\n\n\n\n case 3: //Fill Chain\n\n colour1 = bytestream_get_byte(&buf);\n\n colour2 = bytestream_get_byte(&buf);\n\n while (length--) {\n\n *dst++ = colour1;\n\n *dst++ = colour2;\n\n }\n\n break;\n\n\n\n }\n\n }\n\n\n\n src = bfi->dst;\n\n dst = bfi->frame.data[0];\n\n while (height--) {\n\n memcpy(dst, src, avctx->width);\n\n src += avctx->width;\n\n dst += bfi->frame.linesize[0];\n\n }\n\n *data_size = sizeof(AVFrame);\n\n *(AVFrame *)data = bfi->frame;\n\n return buf_size;\n\n}\n", "idx": 490}47{"project": "qemu", "commit_id": "7b0309490cb108d881a0c66d6b350b4db7b3b4ac", "target": 1, "func": "DeviceState *qdev_device_add(QemuOpts *opts)\n\n{\n\n ObjectClass *oc;\n\n DeviceClass *dc;\n\n const char *driver, *path, *id;\n\n DeviceState *dev;\n\n BusState *bus = NULL;\n\n Error *err = NULL;\n\n\n\n driver = qemu_opt_get(opts, \"driver\");\n\n if (!driver) {\n\n qerror_report(QERR_MISSING_PARAMETER, \"driver\");\n\n return NULL;\n\n }\n\n\n\n /* find driver */\n\n oc = object_class_by_name(driver);\n\n if (!oc) {\n\n const char *typename = find_typename_by_alias(driver);\n\n\n\n if (typename) {\n\n driver = typename;\n\n oc = object_class_by_name(driver);\n\n }\n\n }\n\n\n\n if (!object_class_dynamic_cast(oc, TYPE_DEVICE)) {\n\n qerror_report(ERROR_CLASS_GENERIC_ERROR,\n\n \"'%s' is not a valid device model name\", driver);\n\n return NULL;\n\n }\n\n\n\n if (object_class_is_abstract(oc)) {\n\n qerror_report(QERR_INVALID_PARAMETER_VALUE, \"driver\",\n\n \"non-abstract device type\");\n\n return NULL;\n\n }\n\n\n\n dc = DEVICE_CLASS(oc);\n\n if (dc->cannot_instantiate_with_device_add_yet) {\n\n qerror_report(QERR_INVALID_PARAMETER_VALUE, \"driver\",\n\n \"pluggable device type\");\n\n return NULL;\n\n }\n\n\n\n /* find bus */\n\n path = qemu_opt_get(opts, \"bus\");\n\n if (path != NULL) {\n\n bus = qbus_find(path);\n\n if (!bus) {\n\n return NULL;\n\n }\n\n if (!object_dynamic_cast(OBJECT(bus), dc->bus_type)) {\n\n qerror_report(QERR_BAD_BUS_FOR_DEVICE,\n\n driver, object_get_typename(OBJECT(bus)));\n\n return NULL;\n\n }\n\n } else if (dc->bus_type != NULL) {\n\n bus = qbus_find_recursive(sysbus_get_default(), NULL, dc->bus_type);\n\n if (!bus) {\n\n qerror_report(QERR_NO_BUS_FOR_DEVICE,\n\n dc->bus_type, driver);\n\n return NULL;\n\n }\n\n }\n\n if (qdev_hotplug && bus && !bus->allow_hotplug) {\n\n qerror_report(QERR_BUS_NO_HOTPLUG, bus->name);\n\n return NULL;\n\n }\n\n\n\n /* create device, set properties */\n\n dev = DEVICE(object_new(driver));\n\n\n\n if (bus) {\n\n qdev_set_parent_bus(dev, bus);\n\n }\n\n\n\n id = qemu_opts_id(opts);\n\n if (id) {\n\n dev->id = id;\n\n }\n\n if (qemu_opt_foreach(opts, set_property, dev, 1) != 0) {\n\n object_unparent(OBJECT(dev));\n\n object_unref(OBJECT(dev));\n\n return NULL;\n\n }\n\n if (dev->id) {\n\n object_property_add_child(qdev_get_peripheral(), dev->id,\n\n OBJECT(dev), NULL);\n\n } else {\n\n static int anon_count;\n\n gchar *name = g_strdup_printf(\"device[%d]\", anon_count++);\n\n object_property_add_child(qdev_get_peripheral_anon(), name,\n\n OBJECT(dev), NULL);\n\n g_free(name);\n\n }\n\n\n\n dev->opts = opts;\n\n object_property_set_bool(OBJECT(dev), true, \"realized\", &err);\n\n if (err != NULL) {\n\n qerror_report_err(err);\n\n error_free(err);\n\n dev->opts = NULL;\n\n object_unparent(OBJECT(dev));\n\n object_unref(OBJECT(dev));\n\n qerror_report(QERR_DEVICE_INIT_FAILED, driver);\n\n return NULL;\n\n }\n\n return dev;\n\n}\n", "idx": 491}48{"project": "qemu", "commit_id": "c4d9d19645a484298a67e9021060bc7c2b081d0f", "target": 0, "func": "void thread_pool_submit(ThreadPoolFunc *func, void *arg)\n\n{\n\n thread_pool_submit_aio(func, arg, NULL, NULL);\n\n}\n", "idx": 501}49{"project": "qemu", "commit_id": "a35faa94c8e8d851a1d07e17c98f4ab2202b8a38", "target": 0, "func": "static void pl061_register_devices(void)\n\n{\n\n sysbus_register_dev(\"pl061\", sizeof(pl061_state),\n\n pl061_init_arm);\n\n sysbus_register_dev(\"pl061_luminary\", sizeof(pl061_state),\n\n pl061_init_luminary);\n\n}\n", "idx": 510}50{"project": "qemu", "commit_id": "372579427a5040a26dfee78464b50e2bdf27ef26", "target": 1, "func": "int cpu_exec(CPUState *cpu)\n\n{\n\n CPUClass *cc = CPU_GET_CLASS(cpu);\n\n int ret;\n\n SyncClocks sc;\n\n\n\n /* replay_interrupt may need current_cpu */\n\n current_cpu = cpu;\n\n\n\n if (cpu_handle_halt(cpu)) {\n\n return EXCP_HALTED;\n\n }\n\n\n\n rcu_read_lock();\n\n\n\n cc->cpu_exec_enter(cpu);\n\n\n\n /* Calculate difference between guest clock and host clock.\n\n * This delay includes the delay of the last cycle, so\n\n * what we have to do is sleep until it is 0. As for the\n\n * advance/delay we gain here, we try to fix it next time.\n\n */\n\n init_delay_params(&sc, cpu);\n\n\n\n /* prepare setjmp context for exception handling */\n\n if (sigsetjmp(cpu->jmp_env, 0) != 0) {\n\n#if defined(__clang__) || !QEMU_GNUC_PREREQ(4, 6)\n\n /* Some compilers wrongly smash all local variables after\n\n * siglongjmp. There were bug reports for gcc 4.5.0 and clang.\n\n * Reload essential local variables here for those compilers.\n\n * Newer versions of gcc would complain about this code (-Wclobbered). */\n\n cpu = current_cpu;\n\n cc = CPU_GET_CLASS(cpu);\n\n#else /* buggy compiler */\n\n /* Assert that the compiler does not smash local variables. */\n\n g_assert(cpu == current_cpu);\n\n g_assert(cc == CPU_GET_CLASS(cpu));\n\n#endif /* buggy compiler */\n\n cpu->can_do_io = 1;\n\n tb_lock_reset();\n\n if (qemu_mutex_iothread_locked()) {\n\n qemu_mutex_unlock_iothread();\n\n }\n\n }\n\n\n\n /* if an exception is pending, we execute it here */\n\n while (!cpu_handle_exception(cpu, &ret)) {\n\n TranslationBlock *last_tb = NULL;\n\n int tb_exit = 0;\n\n\n\n while (!cpu_handle_interrupt(cpu, &last_tb)) {\n\n TranslationBlock *tb = tb_find(cpu, last_tb, tb_exit);\n\n cpu_loop_exec_tb(cpu, tb, &last_tb, &tb_exit, &sc);\n\n /* Try to align the host and virtual clocks\n\n if the guest is in advance */\n\n align_clocks(&sc, cpu);\n\n }\n\n }\n\n\n\n cc->cpu_exec_exit(cpu);\n\n rcu_read_unlock();\n\n\n\n /* fail safe : never use current_cpu outside cpu_exec() */\n\n current_cpu = NULL;\n\n\n\n return ret;\n\n}\n", "idx": 539}51{"project": "qemu", "commit_id": "b7b6348ab433519f16c1500e3ea04805428be91e", "target": 0, "func": "static void copy_irb_to_guest(IRB *dest, const IRB *src, PMCW *pmcw)\n\n{\n\n int i;\n\n uint16_t stctl = src->scsw.ctrl & SCSW_CTRL_MASK_STCTL;\n\n uint16_t actl = src->scsw.ctrl & SCSW_CTRL_MASK_ACTL;\n\n\n\n copy_scsw_to_guest(&dest->scsw, &src->scsw);\n\n\n\n for (i = 0; i < ARRAY_SIZE(dest->esw); i++) {\n\n dest->esw[i] = cpu_to_be32(src->esw[i]);\n\n }\n\n for (i = 0; i < ARRAY_SIZE(dest->ecw); i++) {\n\n dest->ecw[i] = cpu_to_be32(src->ecw[i]);\n\n }\n\n /* extended measurements enabled? */\n\n if ((src->scsw.flags & SCSW_FLAGS_MASK_ESWF) ||\n\n !(pmcw->flags & PMCW_FLAGS_MASK_TF) ||\n\n !(pmcw->chars & PMCW_CHARS_MASK_XMWME)) {\n\n return;\n\n }\n\n /* extended measurements pending? */\n\n if (!(stctl & SCSW_STCTL_STATUS_PEND)) {\n\n return;\n\n }\n\n if ((stctl & SCSW_STCTL_PRIMARY) ||\n\n (stctl == SCSW_STCTL_SECONDARY) ||\n\n ((stctl & SCSW_STCTL_INTERMEDIATE) && (actl & SCSW_ACTL_SUSP))) {\n\n for (i = 0; i < ARRAY_SIZE(dest->emw); i++) {\n\n dest->emw[i] = cpu_to_be32(src->emw[i]);\n\n }\n\n }\n\n}\n", "idx": 547}52{"project": "FFmpeg", "commit_id": "f929ab0569ff31ed5a59b0b0adb7ce09df3fca39", "target": 0, "func": "static int process_input_packet(InputStream *ist, const AVPacket *pkt)\n\n{\n\n int i;\n\n int got_output;\n\n AVPacket avpkt;\n\n\n\n if (ist->next_dts == AV_NOPTS_VALUE)\n\n ist->next_dts = ist->last_dts;\n\n\n\n if (pkt == NULL) {\n\n /* EOF handling */\n\n av_init_packet(&avpkt);\n\n avpkt.data = NULL;\n\n avpkt.size = 0;\n\n goto handle_eof;\n\n } else {\n\n avpkt = *pkt;\n\n }\n\n\n\n if (pkt->dts != AV_NOPTS_VALUE)\n\n ist->next_dts = ist->last_dts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);\n\n\n\n // while we have more to decode or while the decoder did output something on EOF\n\n while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) {\n\n int ret = 0;\n\n handle_eof:\n\n\n\n ist->last_dts = ist->next_dts;\n\n\n\n if (avpkt.size && avpkt.size != pkt->size &&\n\n !(ist->dec->capabilities & CODEC_CAP_SUBFRAMES)) {\n\n av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,\n\n \"Multiple frames in a packet from stream %d\\n\", pkt->stream_index);\n\n ist->showed_multi_packet_warning = 1;\n\n }\n\n\n\n switch (ist->dec_ctx->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n ret = decode_audio (ist, &avpkt, &got_output);\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n ret = decode_video (ist, &avpkt, &got_output);\n\n if (avpkt.duration)\n\n ist->next_dts += av_rescale_q(avpkt.duration, ist->st->time_base, AV_TIME_BASE_Q);\n\n else if (ist->st->avg_frame_rate.num)\n\n ist->next_dts += av_rescale_q(1, av_inv_q(ist->st->avg_frame_rate),\n\n AV_TIME_BASE_Q);\n\n else if (ist->dec_ctx->time_base.num != 0) {\n\n int ticks = ist->st->parser ? ist->st->parser->repeat_pict + 1 :\n\n ist->dec_ctx->ticks_per_frame;\n\n ist->next_dts += av_rescale_q(ticks, ist->dec_ctx->time_base, AV_TIME_BASE_Q);\n\n }\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n ret = transcode_subtitles(ist, &avpkt, &got_output);\n\n break;\n\n default:\n\n return -1;\n\n }\n\n\n\n if (ret < 0)\n\n return ret;\n\n // touch data and size only if not EOF\n\n if (pkt) {\n\n avpkt.data += ret;\n\n avpkt.size -= ret;\n\n }\n\n if (!got_output) {\n\n continue;\n\n }\n\n }\n\n\n\n /* handle stream copy */\n\n if (!ist->decoding_needed) {\n\n ist->last_dts = ist->next_dts;\n\n switch (ist->dec_ctx->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n ist->next_dts += ((int64_t)AV_TIME_BASE * ist->dec_ctx->frame_size) /\n\n ist->dec_ctx->sample_rate;\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n if (ist->dec_ctx->time_base.num != 0) {\n\n int ticks = ist->st->parser ? ist->st->parser->repeat_pict + 1 : ist->dec_ctx->ticks_per_frame;\n\n ist->next_dts += ((int64_t)AV_TIME_BASE *\n\n ist->dec_ctx->time_base.num * ticks) /\n\n ist->dec_ctx->time_base.den;\n\n }\n\n break;\n\n }\n\n }\n\n for (i = 0; pkt && i < nb_output_streams; i++) {\n\n OutputStream *ost = output_streams[i];\n\n\n\n if (!check_output_constraints(ist, ost) || ost->encoding_needed)\n\n continue;\n\n\n\n do_streamcopy(ist, ost, pkt);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 566}53{"project": "qemu", "commit_id": "c5a49c63fa26e8825ad101dfe86339ae4c216539", "target": 1, "func": "static target_ulong disas_insn(DisasContext *s, CPUState *cpu)\n\n{\n\n CPUX86State *env = cpu->env_ptr;\n\n int b, prefixes;\n\n int shift;\n\n TCGMemOp ot, aflag, dflag;\n\n int modrm, reg, rm, mod, op, opreg, val;\n\n target_ulong next_eip, tval;\n\n int rex_w, rex_r;\n\n target_ulong pc_start = s->base.pc_next;\n\n\n\n s->pc_start = s->pc = pc_start;\n\n prefixes = 0;\n\n s->override = -1;\n\n rex_w = -1;\n\n rex_r = 0;\n\n#ifdef TARGET_X86_64\n\n s->rex_x = 0;\n\n s->rex_b = 0;\n\n x86_64_hregs = 0;\n\n#endif\n\n s->rip_offset = 0; /* for relative ip address */\n\n s->vex_l = 0;\n\n s->vex_v = 0;\n\n if (sigsetjmp(s->jmpbuf, 0) != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n return s->pc;\n\n }\n\n\n\n next_byte:\n\n b = x86_ldub_code(env, s);\n\n /* Collect prefixes. */\n\n switch (b) {\n\n case 0xf3:\n\n prefixes |= PREFIX_REPZ;\n\n goto next_byte;\n\n case 0xf2:\n\n prefixes |= PREFIX_REPNZ;\n\n goto next_byte;\n\n case 0xf0:\n\n prefixes |= PREFIX_LOCK;\n\n goto next_byte;\n\n case 0x2e:\n\n s->override = R_CS;\n\n goto next_byte;\n\n case 0x36:\n\n s->override = R_SS;\n\n goto next_byte;\n\n case 0x3e:\n\n s->override = R_DS;\n\n goto next_byte;\n\n case 0x26:\n\n s->override = R_ES;\n\n goto next_byte;\n\n case 0x64:\n\n s->override = R_FS;\n\n goto next_byte;\n\n case 0x65:\n\n s->override = R_GS;\n\n goto next_byte;\n\n case 0x66:\n\n prefixes |= PREFIX_DATA;\n\n goto next_byte;\n\n case 0x67:\n\n prefixes |= PREFIX_ADR;\n\n goto next_byte;\n\n#ifdef TARGET_X86_64\n\n case 0x40 ... 0x4f:\n\n if (CODE64(s)) {\n\n /* REX prefix */\n\n rex_w = (b >> 3) & 1;\n\n rex_r = (b & 0x4) << 1;\n\n s->rex_x = (b & 0x2) << 2;\n\n REX_B(s) = (b & 0x1) << 3;\n\n x86_64_hregs = 1; /* select uniform byte register addressing */\n\n goto next_byte;\n\n }\n\n break;\n\n#endif\n\n case 0xc5: /* 2-byte VEX */\n\n case 0xc4: /* 3-byte VEX */\n\n /* VEX prefixes cannot be used except in 32-bit mode.\n\n Otherwise the instruction is LES or LDS. */\n\n if (s->code32 && !s->vm86) {\n\n static const int pp_prefix[4] = {\n\n 0, PREFIX_DATA, PREFIX_REPZ, PREFIX_REPNZ\n\n };\n\n int vex3, vex2 = x86_ldub_code(env, s);\n\n\n\n if (!CODE64(s) && (vex2 & 0xc0) != 0xc0) {\n\n /* 4.1.4.6: In 32-bit mode, bits [7:6] must be 11b,\n\n otherwise the instruction is LES or LDS. */\n\n break;\n\n }\n\n s->pc++;\n\n\n\n /* 4.1.1-4.1.3: No preceding lock, 66, f2, f3, or rex prefixes. */\n\n if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ\n\n | PREFIX_LOCK | PREFIX_DATA)) {\n\n goto illegal_op;\n\n }\n\n#ifdef TARGET_X86_64\n\n if (x86_64_hregs) {\n\n goto illegal_op;\n\n }\n\n#endif\n\n rex_r = (~vex2 >> 4) & 8;\n\n if (b == 0xc5) {\n\n vex3 = vex2;\n\n b = x86_ldub_code(env, s);\n\n } else {\n\n#ifdef TARGET_X86_64\n\n s->rex_x = (~vex2 >> 3) & 8;\n\n s->rex_b = (~vex2 >> 2) & 8;\n\n#endif\n\n vex3 = x86_ldub_code(env, s);\n\n rex_w = (vex3 >> 7) & 1;\n\n switch (vex2 & 0x1f) {\n\n case 0x01: /* Implied 0f leading opcode bytes. */\n\n b = x86_ldub_code(env, s) | 0x100;\n\n break;\n\n case 0x02: /* Implied 0f 38 leading opcode bytes. */\n\n b = 0x138;\n\n break;\n\n case 0x03: /* Implied 0f 3a leading opcode bytes. */\n\n b = 0x13a;\n\n break;\n\n default: /* Reserved for future use. */\n\n goto unknown_op;\n\n }\n\n }\n\n s->vex_v = (~vex3 >> 3) & 0xf;\n\n s->vex_l = (vex3 >> 2) & 1;\n\n prefixes |= pp_prefix[vex3 & 3] | PREFIX_VEX;\n\n }\n\n break;\n\n }\n\n\n\n /* Post-process prefixes. */\n\n if (CODE64(s)) {\n\n /* In 64-bit mode, the default data size is 32-bit. Select 64-bit\n\n data with rex_w, and 16-bit data with 0x66; rex_w takes precedence\n\n over 0x66 if both are present. */\n\n dflag = (rex_w > 0 ? MO_64 : prefixes & PREFIX_DATA ? MO_16 : MO_32);\n\n /* In 64-bit mode, 0x67 selects 32-bit addressing. */\n\n aflag = (prefixes & PREFIX_ADR ? MO_32 : MO_64);\n\n } else {\n\n /* In 16/32-bit mode, 0x66 selects the opposite data size. */\n\n if (s->code32 ^ ((prefixes & PREFIX_DATA) != 0)) {\n\n dflag = MO_32;\n\n } else {\n\n dflag = MO_16;\n\n }\n\n /* In 16/32-bit mode, 0x67 selects the opposite addressing. */\n\n if (s->code32 ^ ((prefixes & PREFIX_ADR) != 0)) {\n\n aflag = MO_32;\n\n } else {\n\n aflag = MO_16;\n\n }\n\n }\n\n\n\n s->prefix = prefixes;\n\n s->aflag = aflag;\n\n s->dflag = dflag;\n\n\n\n /* now check op code */\n\n reswitch:\n\n switch(b) {\n\n case 0x0f:\n\n /**************************/\n\n /* extended op code */\n\n b = x86_ldub_code(env, s) | 0x100;\n\n goto reswitch;\n\n\n\n /**************************/\n\n /* arith & logic */\n\n case 0x00 ... 0x05:\n\n case 0x08 ... 0x0d:\n\n case 0x10 ... 0x15:\n\n case 0x18 ... 0x1d:\n\n case 0x20 ... 0x25:\n\n case 0x28 ... 0x2d:\n\n case 0x30 ... 0x35:\n\n case 0x38 ... 0x3d:\n\n {\n\n int op, f, val;\n\n op = (b >> 3) & 7;\n\n f = (b >> 1) & 3;\n\n\n\n ot = mo_b_d(b, dflag);\n\n\n\n switch(f) {\n\n case 0: /* OP Ev, Gv */\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n if (mod != 3) {\n\n gen_lea_modrm(env, s, modrm);\n\n opreg = OR_TMP0;\n\n } else if (op == OP_XORL && rm == reg) {\n\n xor_zero:\n\n /* xor reg, reg optimisation */\n\n set_cc_op(s, CC_OP_CLR);\n\n tcg_gen_movi_tl(cpu_T0, 0);\n\n gen_op_mov_reg_v(ot, reg, cpu_T0);\n\n break;\n\n } else {\n\n opreg = rm;\n\n }\n\n gen_op_mov_v_reg(ot, cpu_T1, reg);\n\n gen_op(s, op, ot, opreg);\n\n break;\n\n case 1: /* OP Gv, Ev */\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n rm = (modrm & 7) | REX_B(s);\n\n if (mod != 3) {\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, ot, cpu_T1, cpu_A0);\n\n } else if (op == OP_XORL && rm == reg) {\n\n goto xor_zero;\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T1, rm);\n\n }\n\n gen_op(s, op, ot, reg);\n\n break;\n\n case 2: /* OP A, Iv */\n\n val = insn_get(env, s, ot);\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n gen_op(s, op, ot, OR_EAX);\n\n break;\n\n }\n\n }\n\n break;\n\n\n\n case 0x82:\n\n if (CODE64(s))\n\n goto illegal_op;\n\n case 0x80: /* GRP1 */\n\n case 0x81:\n\n case 0x83:\n\n {\n\n int val;\n\n\n\n ot = mo_b_d(b, dflag);\n\n\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n op = (modrm >> 3) & 7;\n\n\n\n if (mod != 3) {\n\n if (b == 0x83)\n\n s->rip_offset = 1;\n\n else\n\n s->rip_offset = insn_const_size(ot);\n\n gen_lea_modrm(env, s, modrm);\n\n opreg = OR_TMP0;\n\n } else {\n\n opreg = rm;\n\n }\n\n\n\n switch(b) {\n\n default:\n\n case 0x80:\n\n case 0x81:\n\n case 0x82:\n\n val = insn_get(env, s, ot);\n\n break;\n\n case 0x83:\n\n val = (int8_t)insn_get(env, s, MO_8);\n\n break;\n\n }\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n gen_op(s, op, ot, opreg);\n\n }\n\n break;\n\n\n\n /**************************/\n\n /* inc, dec, and other misc arith */\n\n case 0x40 ... 0x47: /* inc Gv */\n\n ot = dflag;\n\n gen_inc(s, ot, OR_EAX + (b & 7), 1);\n\n break;\n\n case 0x48 ... 0x4f: /* dec Gv */\n\n ot = dflag;\n\n gen_inc(s, ot, OR_EAX + (b & 7), -1);\n\n break;\n\n case 0xf6: /* GRP3 */\n\n case 0xf7:\n\n ot = mo_b_d(b, dflag);\n\n\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n op = (modrm >> 3) & 7;\n\n if (mod != 3) {\n\n if (op == 0) {\n\n s->rip_offset = insn_const_size(ot);\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n /* For those below that handle locked memory, don't load here. */\n\n if (!(s->prefix & PREFIX_LOCK)\n\n || op != 2) {\n\n gen_op_ld_v(s, ot, cpu_T0, cpu_A0);\n\n }\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n }\n\n\n\n switch(op) {\n\n case 0: /* test */\n\n val = insn_get(env, s, ot);\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n gen_op_testl_T0_T1_cc();\n\n set_cc_op(s, CC_OP_LOGICB + ot);\n\n break;\n\n case 2: /* not */\n\n if (s->prefix & PREFIX_LOCK) {\n\n if (mod == 3) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_movi_tl(cpu_T0, ~0);\n\n tcg_gen_atomic_xor_fetch_tl(cpu_T0, cpu_A0, cpu_T0,\n\n s->mem_index, ot | MO_LE);\n\n } else {\n\n tcg_gen_not_tl(cpu_T0, cpu_T0);\n\n if (mod != 3) {\n\n gen_op_st_v(s, ot, cpu_T0, cpu_A0);\n\n } else {\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n }\n\n }\n\n break;\n\n case 3: /* neg */\n\n if (s->prefix & PREFIX_LOCK) {\n\n TCGLabel *label1;\n\n TCGv a0, t0, t1, t2;\n\n\n\n if (mod == 3) {\n\n goto illegal_op;\n\n }\n\n a0 = tcg_temp_local_new();\n\n t0 = tcg_temp_local_new();\n\n label1 = gen_new_label();\n\n\n\n tcg_gen_mov_tl(a0, cpu_A0);\n\n tcg_gen_mov_tl(t0, cpu_T0);\n\n\n\n gen_set_label(label1);\n\n t1 = tcg_temp_new();\n\n t2 = tcg_temp_new();\n\n tcg_gen_mov_tl(t2, t0);\n\n tcg_gen_neg_tl(t1, t0);\n\n tcg_gen_atomic_cmpxchg_tl(t0, a0, t0, t1,\n\n s->mem_index, ot | MO_LE);\n\n tcg_temp_free(t1);\n\n tcg_gen_brcond_tl(TCG_COND_NE, t0, t2, label1);\n\n\n\n tcg_temp_free(t2);\n\n tcg_temp_free(a0);\n\n tcg_gen_mov_tl(cpu_T0, t0);\n\n tcg_temp_free(t0);\n\n } else {\n\n tcg_gen_neg_tl(cpu_T0, cpu_T0);\n\n if (mod != 3) {\n\n gen_op_st_v(s, ot, cpu_T0, cpu_A0);\n\n } else {\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n }\n\n }\n\n gen_op_update_neg_cc();\n\n set_cc_op(s, CC_OP_SUBB + ot);\n\n break;\n\n case 4: /* mul */\n\n switch(ot) {\n\n case MO_8:\n\n gen_op_mov_v_reg(MO_8, cpu_T1, R_EAX);\n\n tcg_gen_ext8u_tl(cpu_T0, cpu_T0);\n\n tcg_gen_ext8u_tl(cpu_T1, cpu_T1);\n\n /* XXX: use 32 bit mul which could be faster */\n\n tcg_gen_mul_tl(cpu_T0, cpu_T0, cpu_T1);\n\n gen_op_mov_reg_v(MO_16, R_EAX, cpu_T0);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_T0);\n\n tcg_gen_andi_tl(cpu_cc_src, cpu_T0, 0xff00);\n\n set_cc_op(s, CC_OP_MULB);\n\n break;\n\n case MO_16:\n\n gen_op_mov_v_reg(MO_16, cpu_T1, R_EAX);\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_T0);\n\n tcg_gen_ext16u_tl(cpu_T1, cpu_T1);\n\n /* XXX: use 32 bit mul which could be faster */\n\n tcg_gen_mul_tl(cpu_T0, cpu_T0, cpu_T1);\n\n gen_op_mov_reg_v(MO_16, R_EAX, cpu_T0);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_T0);\n\n tcg_gen_shri_tl(cpu_T0, cpu_T0, 16);\n\n gen_op_mov_reg_v(MO_16, R_EDX, cpu_T0);\n\n tcg_gen_mov_tl(cpu_cc_src, cpu_T0);\n\n set_cc_op(s, CC_OP_MULW);\n\n break;\n\n default:\n\n case MO_32:\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n tcg_gen_trunc_tl_i32(cpu_tmp3_i32, cpu_regs[R_EAX]);\n\n tcg_gen_mulu2_i32(cpu_tmp2_i32, cpu_tmp3_i32,\n\n cpu_tmp2_i32, cpu_tmp3_i32);\n\n tcg_gen_extu_i32_tl(cpu_regs[R_EAX], cpu_tmp2_i32);\n\n tcg_gen_extu_i32_tl(cpu_regs[R_EDX], cpu_tmp3_i32);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_regs[R_EAX]);\n\n tcg_gen_mov_tl(cpu_cc_src, cpu_regs[R_EDX]);\n\n set_cc_op(s, CC_OP_MULL);\n\n break;\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n tcg_gen_mulu2_i64(cpu_regs[R_EAX], cpu_regs[R_EDX],\n\n cpu_T0, cpu_regs[R_EAX]);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_regs[R_EAX]);\n\n tcg_gen_mov_tl(cpu_cc_src, cpu_regs[R_EDX]);\n\n set_cc_op(s, CC_OP_MULQ);\n\n break;\n\n#endif\n\n }\n\n break;\n\n case 5: /* imul */\n\n switch(ot) {\n\n case MO_8:\n\n gen_op_mov_v_reg(MO_8, cpu_T1, R_EAX);\n\n tcg_gen_ext8s_tl(cpu_T0, cpu_T0);\n\n tcg_gen_ext8s_tl(cpu_T1, cpu_T1);\n\n /* XXX: use 32 bit mul which could be faster */\n\n tcg_gen_mul_tl(cpu_T0, cpu_T0, cpu_T1);\n\n gen_op_mov_reg_v(MO_16, R_EAX, cpu_T0);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_T0);\n\n tcg_gen_ext8s_tl(cpu_tmp0, cpu_T0);\n\n tcg_gen_sub_tl(cpu_cc_src, cpu_T0, cpu_tmp0);\n\n set_cc_op(s, CC_OP_MULB);\n\n break;\n\n case MO_16:\n\n gen_op_mov_v_reg(MO_16, cpu_T1, R_EAX);\n\n tcg_gen_ext16s_tl(cpu_T0, cpu_T0);\n\n tcg_gen_ext16s_tl(cpu_T1, cpu_T1);\n\n /* XXX: use 32 bit mul which could be faster */\n\n tcg_gen_mul_tl(cpu_T0, cpu_T0, cpu_T1);\n\n gen_op_mov_reg_v(MO_16, R_EAX, cpu_T0);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_T0);\n\n tcg_gen_ext16s_tl(cpu_tmp0, cpu_T0);\n\n tcg_gen_sub_tl(cpu_cc_src, cpu_T0, cpu_tmp0);\n\n tcg_gen_shri_tl(cpu_T0, cpu_T0, 16);\n\n gen_op_mov_reg_v(MO_16, R_EDX, cpu_T0);\n\n set_cc_op(s, CC_OP_MULW);\n\n break;\n\n default:\n\n case MO_32:\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n tcg_gen_trunc_tl_i32(cpu_tmp3_i32, cpu_regs[R_EAX]);\n\n tcg_gen_muls2_i32(cpu_tmp2_i32, cpu_tmp3_i32,\n\n cpu_tmp2_i32, cpu_tmp3_i32);\n\n tcg_gen_extu_i32_tl(cpu_regs[R_EAX], cpu_tmp2_i32);\n\n tcg_gen_extu_i32_tl(cpu_regs[R_EDX], cpu_tmp3_i32);\n\n tcg_gen_sari_i32(cpu_tmp2_i32, cpu_tmp2_i32, 31);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_regs[R_EAX]);\n\n tcg_gen_sub_i32(cpu_tmp2_i32, cpu_tmp2_i32, cpu_tmp3_i32);\n\n tcg_gen_extu_i32_tl(cpu_cc_src, cpu_tmp2_i32);\n\n set_cc_op(s, CC_OP_MULL);\n\n break;\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n tcg_gen_muls2_i64(cpu_regs[R_EAX], cpu_regs[R_EDX],\n\n cpu_T0, cpu_regs[R_EAX]);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_regs[R_EAX]);\n\n tcg_gen_sari_tl(cpu_cc_src, cpu_regs[R_EAX], 63);\n\n tcg_gen_sub_tl(cpu_cc_src, cpu_cc_src, cpu_regs[R_EDX]);\n\n set_cc_op(s, CC_OP_MULQ);\n\n break;\n\n#endif\n\n }\n\n break;\n\n case 6: /* div */\n\n switch(ot) {\n\n case MO_8:\n\n gen_helper_divb_AL(cpu_env, cpu_T0);\n\n break;\n\n case MO_16:\n\n gen_helper_divw_AX(cpu_env, cpu_T0);\n\n break;\n\n default:\n\n case MO_32:\n\n gen_helper_divl_EAX(cpu_env, cpu_T0);\n\n break;\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n gen_helper_divq_EAX(cpu_env, cpu_T0);\n\n break;\n\n#endif\n\n }\n\n break;\n\n case 7: /* idiv */\n\n switch(ot) {\n\n case MO_8:\n\n gen_helper_idivb_AL(cpu_env, cpu_T0);\n\n break;\n\n case MO_16:\n\n gen_helper_idivw_AX(cpu_env, cpu_T0);\n\n break;\n\n default:\n\n case MO_32:\n\n gen_helper_idivl_EAX(cpu_env, cpu_T0);\n\n break;\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n gen_helper_idivq_EAX(cpu_env, cpu_T0);\n\n break;\n\n#endif\n\n }\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n\n\n case 0xfe: /* GRP4 */\n\n case 0xff: /* GRP5 */\n\n ot = mo_b_d(b, dflag);\n\n\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n op = (modrm >> 3) & 7;\n\n if (op >= 2 && b == 0xfe) {\n\n goto unknown_op;\n\n }\n\n if (CODE64(s)) {\n\n if (op == 2 || op == 4) {\n\n /* operand size for jumps is 64 bit */\n\n ot = MO_64;\n\n } else if (op == 3 || op == 5) {\n\n ot = dflag != MO_16 ? MO_32 + (rex_w == 1) : MO_16;\n\n } else if (op == 6) {\n\n /* default push size is 64 bit */\n\n ot = mo_pushpop(s, dflag);\n\n }\n\n }\n\n if (mod != 3) {\n\n gen_lea_modrm(env, s, modrm);\n\n if (op >= 2 && op != 3 && op != 5)\n\n gen_op_ld_v(s, ot, cpu_T0, cpu_A0);\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n }\n\n\n\n switch(op) {\n\n case 0: /* inc Ev */\n\n if (mod != 3)\n\n opreg = OR_TMP0;\n\n else\n\n opreg = rm;\n\n gen_inc(s, ot, opreg, 1);\n\n break;\n\n case 1: /* dec Ev */\n\n if (mod != 3)\n\n opreg = OR_TMP0;\n\n else\n\n opreg = rm;\n\n gen_inc(s, ot, opreg, -1);\n\n break;\n\n case 2: /* call Ev */\n\n /* XXX: optimize if memory (no 'and' is necessary) */\n\n if (dflag == MO_16) {\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_T0);\n\n }\n\n next_eip = s->pc - s->cs_base;\n\n tcg_gen_movi_tl(cpu_T1, next_eip);\n\n gen_push_v(s, cpu_T1);\n\n gen_op_jmp_v(cpu_T0);\n\n gen_bnd_jmp(s);\n\n gen_jr(s, cpu_T0);\n\n break;\n\n case 3: /* lcall Ev */\n\n gen_op_ld_v(s, ot, cpu_T1, cpu_A0);\n\n gen_add_A0_im(s, 1 << ot);\n\n gen_op_ld_v(s, MO_16, cpu_T0, cpu_A0);\n\n do_lcall:\n\n if (s->pe && !s->vm86) {\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n gen_helper_lcall_protected(cpu_env, cpu_tmp2_i32, cpu_T1,\n\n tcg_const_i32(dflag - 1),\n\n tcg_const_tl(s->pc - s->cs_base));\n\n } else {\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n gen_helper_lcall_real(cpu_env, cpu_tmp2_i32, cpu_T1,\n\n tcg_const_i32(dflag - 1),\n\n tcg_const_i32(s->pc - s->cs_base));\n\n }\n\n tcg_gen_ld_tl(cpu_tmp4, cpu_env, offsetof(CPUX86State, eip));\n\n gen_jr(s, cpu_tmp4);\n\n break;\n\n case 4: /* jmp Ev */\n\n if (dflag == MO_16) {\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_T0);\n\n }\n\n gen_op_jmp_v(cpu_T0);\n\n gen_bnd_jmp(s);\n\n gen_jr(s, cpu_T0);\n\n break;\n\n case 5: /* ljmp Ev */\n\n gen_op_ld_v(s, ot, cpu_T1, cpu_A0);\n\n gen_add_A0_im(s, 1 << ot);\n\n gen_op_ld_v(s, MO_16, cpu_T0, cpu_A0);\n\n do_ljmp:\n\n if (s->pe && !s->vm86) {\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n gen_helper_ljmp_protected(cpu_env, cpu_tmp2_i32, cpu_T1,\n\n tcg_const_tl(s->pc - s->cs_base));\n\n } else {\n\n gen_op_movl_seg_T0_vm(R_CS);\n\n gen_op_jmp_v(cpu_T1);\n\n }\n\n tcg_gen_ld_tl(cpu_tmp4, cpu_env, offsetof(CPUX86State, eip));\n\n gen_jr(s, cpu_tmp4);\n\n break;\n\n case 6: /* push Ev */\n\n gen_push_v(s, cpu_T0);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n\n\n case 0x84: /* test Ev, Gv */\n\n case 0x85:\n\n ot = mo_b_d(b, dflag);\n\n\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);\n\n gen_op_mov_v_reg(ot, cpu_T1, reg);\n\n gen_op_testl_T0_T1_cc();\n\n set_cc_op(s, CC_OP_LOGICB + ot);\n\n break;\n\n\n\n case 0xa8: /* test eAX, Iv */\n\n case 0xa9:\n\n ot = mo_b_d(b, dflag);\n\n val = insn_get(env, s, ot);\n\n\n\n gen_op_mov_v_reg(ot, cpu_T0, OR_EAX);\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n gen_op_testl_T0_T1_cc();\n\n set_cc_op(s, CC_OP_LOGICB + ot);\n\n break;\n\n\n\n case 0x98: /* CWDE/CBW */\n\n switch (dflag) {\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n gen_op_mov_v_reg(MO_32, cpu_T0, R_EAX);\n\n tcg_gen_ext32s_tl(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(MO_64, R_EAX, cpu_T0);\n\n break;\n\n#endif\n\n case MO_32:\n\n gen_op_mov_v_reg(MO_16, cpu_T0, R_EAX);\n\n tcg_gen_ext16s_tl(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(MO_32, R_EAX, cpu_T0);\n\n break;\n\n case MO_16:\n\n gen_op_mov_v_reg(MO_8, cpu_T0, R_EAX);\n\n tcg_gen_ext8s_tl(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(MO_16, R_EAX, cpu_T0);\n\n break;\n\n default:\n\n tcg_abort();\n\n }\n\n break;\n\n case 0x99: /* CDQ/CWD */\n\n switch (dflag) {\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n gen_op_mov_v_reg(MO_64, cpu_T0, R_EAX);\n\n tcg_gen_sari_tl(cpu_T0, cpu_T0, 63);\n\n gen_op_mov_reg_v(MO_64, R_EDX, cpu_T0);\n\n break;\n\n#endif\n\n case MO_32:\n\n gen_op_mov_v_reg(MO_32, cpu_T0, R_EAX);\n\n tcg_gen_ext32s_tl(cpu_T0, cpu_T0);\n\n tcg_gen_sari_tl(cpu_T0, cpu_T0, 31);\n\n gen_op_mov_reg_v(MO_32, R_EDX, cpu_T0);\n\n break;\n\n case MO_16:\n\n gen_op_mov_v_reg(MO_16, cpu_T0, R_EAX);\n\n tcg_gen_ext16s_tl(cpu_T0, cpu_T0);\n\n tcg_gen_sari_tl(cpu_T0, cpu_T0, 15);\n\n gen_op_mov_reg_v(MO_16, R_EDX, cpu_T0);\n\n break;\n\n default:\n\n tcg_abort();\n\n }\n\n break;\n\n case 0x1af: /* imul Gv, Ev */\n\n case 0x69: /* imul Gv, Ev, I */\n\n case 0x6b:\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n if (b == 0x69)\n\n s->rip_offset = insn_const_size(ot);\n\n else if (b == 0x6b)\n\n s->rip_offset = 1;\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);\n\n if (b == 0x69) {\n\n val = insn_get(env, s, ot);\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n } else if (b == 0x6b) {\n\n val = (int8_t)insn_get(env, s, MO_8);\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T1, reg);\n\n }\n\n switch (ot) {\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n tcg_gen_muls2_i64(cpu_regs[reg], cpu_T1, cpu_T0, cpu_T1);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_regs[reg]);\n\n tcg_gen_sari_tl(cpu_cc_src, cpu_cc_dst, 63);\n\n tcg_gen_sub_tl(cpu_cc_src, cpu_cc_src, cpu_T1);\n\n break;\n\n#endif\n\n case MO_32:\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n tcg_gen_trunc_tl_i32(cpu_tmp3_i32, cpu_T1);\n\n tcg_gen_muls2_i32(cpu_tmp2_i32, cpu_tmp3_i32,\n\n cpu_tmp2_i32, cpu_tmp3_i32);\n\n tcg_gen_extu_i32_tl(cpu_regs[reg], cpu_tmp2_i32);\n\n tcg_gen_sari_i32(cpu_tmp2_i32, cpu_tmp2_i32, 31);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_regs[reg]);\n\n tcg_gen_sub_i32(cpu_tmp2_i32, cpu_tmp2_i32, cpu_tmp3_i32);\n\n tcg_gen_extu_i32_tl(cpu_cc_src, cpu_tmp2_i32);\n\n break;\n\n default:\n\n tcg_gen_ext16s_tl(cpu_T0, cpu_T0);\n\n tcg_gen_ext16s_tl(cpu_T1, cpu_T1);\n\n /* XXX: use 32 bit mul which could be faster */\n\n tcg_gen_mul_tl(cpu_T0, cpu_T0, cpu_T1);\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_T0);\n\n tcg_gen_ext16s_tl(cpu_tmp0, cpu_T0);\n\n tcg_gen_sub_tl(cpu_cc_src, cpu_T0, cpu_tmp0);\n\n gen_op_mov_reg_v(ot, reg, cpu_T0);\n\n break;\n\n }\n\n set_cc_op(s, CC_OP_MULB + ot);\n\n break;\n\n case 0x1c0:\n\n case 0x1c1: /* xadd Ev, Gv */\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n gen_op_mov_v_reg(ot, cpu_T0, reg);\n\n if (mod == 3) {\n\n rm = (modrm & 7) | REX_B(s);\n\n gen_op_mov_v_reg(ot, cpu_T1, rm);\n\n tcg_gen_add_tl(cpu_T0, cpu_T0, cpu_T1);\n\n gen_op_mov_reg_v(ot, reg, cpu_T1);\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n if (s->prefix & PREFIX_LOCK) {\n\n tcg_gen_atomic_fetch_add_tl(cpu_T1, cpu_A0, cpu_T0,\n\n s->mem_index, ot | MO_LE);\n\n tcg_gen_add_tl(cpu_T0, cpu_T0, cpu_T1);\n\n } else {\n\n gen_op_ld_v(s, ot, cpu_T1, cpu_A0);\n\n tcg_gen_add_tl(cpu_T0, cpu_T0, cpu_T1);\n\n gen_op_st_v(s, ot, cpu_T0, cpu_A0);\n\n }\n\n gen_op_mov_reg_v(ot, reg, cpu_T1);\n\n }\n\n gen_op_update2_cc();\n\n set_cc_op(s, CC_OP_ADDB + ot);\n\n break;\n\n case 0x1b0:\n\n case 0x1b1: /* cmpxchg Ev, Gv */\n\n {\n\n TCGv oldv, newv, cmpv;\n\n\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n oldv = tcg_temp_new();\n\n newv = tcg_temp_new();\n\n cmpv = tcg_temp_new();\n\n gen_op_mov_v_reg(ot, newv, reg);\n\n tcg_gen_mov_tl(cmpv, cpu_regs[R_EAX]);\n\n\n\n if (s->prefix & PREFIX_LOCK) {\n\n if (mod == 3) {\n\n goto illegal_op;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_atomic_cmpxchg_tl(oldv, cpu_A0, cmpv, newv,\n\n s->mem_index, ot | MO_LE);\n\n gen_op_mov_reg_v(ot, R_EAX, oldv);\n\n } else {\n\n if (mod == 3) {\n\n rm = (modrm & 7) | REX_B(s);\n\n gen_op_mov_v_reg(ot, oldv, rm);\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, ot, oldv, cpu_A0);\n\n rm = 0; /* avoid warning */\n\n }\n\n gen_extu(ot, oldv);\n\n gen_extu(ot, cmpv);\n\n /* store value = (old == cmp ? new : old); */\n\n tcg_gen_movcond_tl(TCG_COND_EQ, newv, oldv, cmpv, newv, oldv);\n\n if (mod == 3) {\n\n gen_op_mov_reg_v(ot, R_EAX, oldv);\n\n gen_op_mov_reg_v(ot, rm, newv);\n\n } else {\n\n /* Perform an unconditional store cycle like physical cpu;\n\n must be before changing accumulator to ensure\n\n idempotency if the store faults and the instruction\n\n is restarted */\n\n gen_op_st_v(s, ot, newv, cpu_A0);\n\n gen_op_mov_reg_v(ot, R_EAX, oldv);\n\n }\n\n }\n\n tcg_gen_mov_tl(cpu_cc_src, oldv);\n\n tcg_gen_mov_tl(cpu_cc_srcT, cmpv);\n\n tcg_gen_sub_tl(cpu_cc_dst, cmpv, oldv);\n\n set_cc_op(s, CC_OP_SUBB + ot);\n\n tcg_temp_free(oldv);\n\n tcg_temp_free(newv);\n\n tcg_temp_free(cmpv);\n\n }\n\n break;\n\n case 0x1c7: /* cmpxchg8b */\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n if ((mod == 3) || ((modrm & 0x38) != 0x8))\n\n goto illegal_op;\n\n#ifdef TARGET_X86_64\n\n if (dflag == MO_64) {\n\n if (!(s->cpuid_ext_features & CPUID_EXT_CX16))\n\n goto illegal_op;\n\n gen_lea_modrm(env, s, modrm);\n\n if ((s->prefix & PREFIX_LOCK) && parallel_cpus) {\n\n gen_helper_cmpxchg16b(cpu_env, cpu_A0);\n\n } else {\n\n gen_helper_cmpxchg16b_unlocked(cpu_env, cpu_A0);\n\n }\n\n } else\n\n#endif \n\n {\n\n if (!(s->cpuid_features & CPUID_CX8))\n\n goto illegal_op;\n\n gen_lea_modrm(env, s, modrm);\n\n if ((s->prefix & PREFIX_LOCK) && parallel_cpus) {\n\n gen_helper_cmpxchg8b(cpu_env, cpu_A0);\n\n } else {\n\n gen_helper_cmpxchg8b_unlocked(cpu_env, cpu_A0);\n\n }\n\n }\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n\n\n /**************************/\n\n /* push/pop */\n\n case 0x50 ... 0x57: /* push */\n\n gen_op_mov_v_reg(MO_32, cpu_T0, (b & 7) | REX_B(s));\n\n gen_push_v(s, cpu_T0);\n\n break;\n\n case 0x58 ... 0x5f: /* pop */\n\n ot = gen_pop_T0(s);\n\n /* NOTE: order is important for pop %sp */\n\n gen_pop_update(s, ot);\n\n gen_op_mov_reg_v(ot, (b & 7) | REX_B(s), cpu_T0);\n\n break;\n\n case 0x60: /* pusha */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_pusha(s);\n\n break;\n\n case 0x61: /* popa */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_popa(s);\n\n break;\n\n case 0x68: /* push Iv */\n\n case 0x6a:\n\n ot = mo_pushpop(s, dflag);\n\n if (b == 0x68)\n\n val = insn_get(env, s, ot);\n\n else\n\n val = (int8_t)insn_get(env, s, MO_8);\n\n tcg_gen_movi_tl(cpu_T0, val);\n\n gen_push_v(s, cpu_T0);\n\n break;\n\n case 0x8f: /* pop Ev */\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n ot = gen_pop_T0(s);\n\n if (mod == 3) {\n\n /* NOTE: order is important for pop %sp */\n\n gen_pop_update(s, ot);\n\n rm = (modrm & 7) | REX_B(s);\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n } else {\n\n /* NOTE: order is important too for MMU exceptions */\n\n s->popl_esp_hack = 1 << ot;\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 1);\n\n s->popl_esp_hack = 0;\n\n gen_pop_update(s, ot);\n\n }\n\n break;\n\n case 0xc8: /* enter */\n\n {\n\n int level;\n\n val = x86_lduw_code(env, s);\n\n level = x86_ldub_code(env, s);\n\n gen_enter(s, val, level);\n\n }\n\n break;\n\n case 0xc9: /* leave */\n\n gen_leave(s);\n\n break;\n\n case 0x06: /* push es */\n\n case 0x0e: /* push cs */\n\n case 0x16: /* push ss */\n\n case 0x1e: /* push ds */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_op_movl_T0_seg(b >> 3);\n\n gen_push_v(s, cpu_T0);\n\n break;\n\n case 0x1a0: /* push fs */\n\n case 0x1a8: /* push gs */\n\n gen_op_movl_T0_seg((b >> 3) & 7);\n\n gen_push_v(s, cpu_T0);\n\n break;\n\n case 0x07: /* pop es */\n\n case 0x17: /* pop ss */\n\n case 0x1f: /* pop ds */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n reg = b >> 3;\n\n ot = gen_pop_T0(s);\n\n gen_movl_seg_T0(s, reg);\n\n gen_pop_update(s, ot);\n\n /* Note that reg == R_SS in gen_movl_seg_T0 always sets is_jmp. */\n\n if (s->base.is_jmp) {\n\n gen_jmp_im(s->pc - s->cs_base);\n\n if (reg == R_SS) {\n\n s->tf = 0;\n\n gen_eob_inhibit_irq(s, true);\n\n } else {\n\n gen_eob(s);\n\n }\n\n }\n\n break;\n\n case 0x1a1: /* pop fs */\n\n case 0x1a9: /* pop gs */\n\n ot = gen_pop_T0(s);\n\n gen_movl_seg_T0(s, (b >> 3) & 7);\n\n gen_pop_update(s, ot);\n\n if (s->base.is_jmp) {\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n }\n\n break;\n\n\n\n /**************************/\n\n /* mov */\n\n case 0x88:\n\n case 0x89: /* mov Gv, Ev */\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n\n\n /* generate a generic store */\n\n gen_ldst_modrm(env, s, modrm, ot, reg, 1);\n\n break;\n\n case 0xc6:\n\n case 0xc7: /* mov Ev, Iv */\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n if (mod != 3) {\n\n s->rip_offset = insn_const_size(ot);\n\n gen_lea_modrm(env, s, modrm);\n\n }\n\n val = insn_get(env, s, ot);\n\n tcg_gen_movi_tl(cpu_T0, val);\n\n if (mod != 3) {\n\n gen_op_st_v(s, ot, cpu_T0, cpu_A0);\n\n } else {\n\n gen_op_mov_reg_v(ot, (modrm & 7) | REX_B(s), cpu_T0);\n\n }\n\n break;\n\n case 0x8a:\n\n case 0x8b: /* mov Ev, Gv */\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);\n\n gen_op_mov_reg_v(ot, reg, cpu_T0);\n\n break;\n\n case 0x8e: /* mov seg, Gv */\n\n modrm = x86_ldub_code(env, s);\n\n reg = (modrm >> 3) & 7;\n\n if (reg >= 6 || reg == R_CS)\n\n goto illegal_op;\n\n gen_ldst_modrm(env, s, modrm, MO_16, OR_TMP0, 0);\n\n gen_movl_seg_T0(s, reg);\n\n /* Note that reg == R_SS in gen_movl_seg_T0 always sets is_jmp. */\n\n if (s->base.is_jmp) {\n\n gen_jmp_im(s->pc - s->cs_base);\n\n if (reg == R_SS) {\n\n s->tf = 0;\n\n gen_eob_inhibit_irq(s, true);\n\n } else {\n\n gen_eob(s);\n\n }\n\n }\n\n break;\n\n case 0x8c: /* mov Gv, seg */\n\n modrm = x86_ldub_code(env, s);\n\n reg = (modrm >> 3) & 7;\n\n mod = (modrm >> 6) & 3;\n\n if (reg >= 6)\n\n goto illegal_op;\n\n gen_op_movl_T0_seg(reg);\n\n ot = mod == 3 ? dflag : MO_16;\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 1);\n\n break;\n\n\n\n case 0x1b6: /* movzbS Gv, Eb */\n\n case 0x1b7: /* movzwS Gv, Eb */\n\n case 0x1be: /* movsbS Gv, Eb */\n\n case 0x1bf: /* movswS Gv, Eb */\n\n {\n\n TCGMemOp d_ot;\n\n TCGMemOp s_ot;\n\n\n\n /* d_ot is the size of destination */\n\n d_ot = dflag;\n\n /* ot is the size of source */\n\n ot = (b & 1) + MO_8;\n\n /* s_ot is the sign+size of source */\n\n s_ot = b & 8 ? MO_SIGN | ot : ot;\n\n\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n\n\n if (mod == 3) {\n\n if (s_ot == MO_SB && byte_reg_is_xH(rm)) {\n\n tcg_gen_sextract_tl(cpu_T0, cpu_regs[rm - 4], 8, 8);\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n switch (s_ot) {\n\n case MO_UB:\n\n tcg_gen_ext8u_tl(cpu_T0, cpu_T0);\n\n break;\n\n case MO_SB:\n\n tcg_gen_ext8s_tl(cpu_T0, cpu_T0);\n\n break;\n\n case MO_UW:\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_T0);\n\n break;\n\n default:\n\n case MO_SW:\n\n tcg_gen_ext16s_tl(cpu_T0, cpu_T0);\n\n break;\n\n }\n\n }\n\n gen_op_mov_reg_v(d_ot, reg, cpu_T0);\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, s_ot, cpu_T0, cpu_A0);\n\n gen_op_mov_reg_v(d_ot, reg, cpu_T0);\n\n }\n\n }\n\n break;\n\n\n\n case 0x8d: /* lea */\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n if (mod == 3)\n\n goto illegal_op;\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n {\n\n AddressParts a = gen_lea_modrm_0(env, s, modrm);\n\n TCGv ea = gen_lea_modrm_1(a);\n\n gen_lea_v_seg(s, s->aflag, ea, -1, -1);\n\n gen_op_mov_reg_v(dflag, reg, cpu_A0);\n\n }\n\n break;\n\n\n\n case 0xa0: /* mov EAX, Ov */\n\n case 0xa1:\n\n case 0xa2: /* mov Ov, EAX */\n\n case 0xa3:\n\n {\n\n target_ulong offset_addr;\n\n\n\n ot = mo_b_d(b, dflag);\n\n switch (s->aflag) {\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n offset_addr = x86_ldq_code(env, s);\n\n break;\n\n#endif\n\n default:\n\n offset_addr = insn_get(env, s, s->aflag);\n\n break;\n\n }\n\n tcg_gen_movi_tl(cpu_A0, offset_addr);\n\n gen_add_A0_ds_seg(s);\n\n if ((b & 2) == 0) {\n\n gen_op_ld_v(s, ot, cpu_T0, cpu_A0);\n\n gen_op_mov_reg_v(ot, R_EAX, cpu_T0);\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T0, R_EAX);\n\n gen_op_st_v(s, ot, cpu_T0, cpu_A0);\n\n }\n\n }\n\n break;\n\n case 0xd7: /* xlat */\n\n tcg_gen_mov_tl(cpu_A0, cpu_regs[R_EBX]);\n\n tcg_gen_ext8u_tl(cpu_T0, cpu_regs[R_EAX]);\n\n tcg_gen_add_tl(cpu_A0, cpu_A0, cpu_T0);\n\n gen_extu(s->aflag, cpu_A0);\n\n gen_add_A0_ds_seg(s);\n\n gen_op_ld_v(s, MO_8, cpu_T0, cpu_A0);\n\n gen_op_mov_reg_v(MO_8, R_EAX, cpu_T0);\n\n break;\n\n case 0xb0 ... 0xb7: /* mov R, Ib */\n\n val = insn_get(env, s, MO_8);\n\n tcg_gen_movi_tl(cpu_T0, val);\n\n gen_op_mov_reg_v(MO_8, (b & 7) | REX_B(s), cpu_T0);\n\n break;\n\n case 0xb8 ... 0xbf: /* mov R, Iv */\n\n#ifdef TARGET_X86_64\n\n if (dflag == MO_64) {\n\n uint64_t tmp;\n\n /* 64 bit case */\n\n tmp = x86_ldq_code(env, s);\n\n reg = (b & 7) | REX_B(s);\n\n tcg_gen_movi_tl(cpu_T0, tmp);\n\n gen_op_mov_reg_v(MO_64, reg, cpu_T0);\n\n } else\n\n#endif\n\n {\n\n ot = dflag;\n\n val = insn_get(env, s, ot);\n\n reg = (b & 7) | REX_B(s);\n\n tcg_gen_movi_tl(cpu_T0, val);\n\n gen_op_mov_reg_v(ot, reg, cpu_T0);\n\n }\n\n break;\n\n\n\n case 0x91 ... 0x97: /* xchg R, EAX */\n\n do_xchg_reg_eax:\n\n ot = dflag;\n\n reg = (b & 7) | REX_B(s);\n\n rm = R_EAX;\n\n goto do_xchg_reg;\n\n case 0x86:\n\n case 0x87: /* xchg Ev, Gv */\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n if (mod == 3) {\n\n rm = (modrm & 7) | REX_B(s);\n\n do_xchg_reg:\n\n gen_op_mov_v_reg(ot, cpu_T0, reg);\n\n gen_op_mov_v_reg(ot, cpu_T1, rm);\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n gen_op_mov_reg_v(ot, reg, cpu_T1);\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_mov_v_reg(ot, cpu_T0, reg);\n\n /* for xchg, lock is implicit */\n\n tcg_gen_atomic_xchg_tl(cpu_T1, cpu_A0, cpu_T0,\n\n s->mem_index, ot | MO_LE);\n\n gen_op_mov_reg_v(ot, reg, cpu_T1);\n\n }\n\n break;\n\n case 0xc4: /* les Gv */\n\n /* In CODE64 this is VEX3; see above. */\n\n op = R_ES;\n\n goto do_lxx;\n\n case 0xc5: /* lds Gv */\n\n /* In CODE64 this is VEX2; see above. */\n\n op = R_DS;\n\n goto do_lxx;\n\n case 0x1b2: /* lss Gv */\n\n op = R_SS;\n\n goto do_lxx;\n\n case 0x1b4: /* lfs Gv */\n\n op = R_FS;\n\n goto do_lxx;\n\n case 0x1b5: /* lgs Gv */\n\n op = R_GS;\n\n do_lxx:\n\n ot = dflag != MO_16 ? MO_32 : MO_16;\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n if (mod == 3)\n\n goto illegal_op;\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, ot, cpu_T1, cpu_A0);\n\n gen_add_A0_im(s, 1 << ot);\n\n /* load the segment first to handle exceptions properly */\n\n gen_op_ld_v(s, MO_16, cpu_T0, cpu_A0);\n\n gen_movl_seg_T0(s, op);\n\n /* then put the data */\n\n gen_op_mov_reg_v(ot, reg, cpu_T1);\n\n if (s->base.is_jmp) {\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n }\n\n break;\n\n\n\n /************************/\n\n /* shifts */\n\n case 0xc0:\n\n case 0xc1:\n\n /* shift Ev,Ib */\n\n shift = 2;\n\n grp2:\n\n {\n\n ot = mo_b_d(b, dflag);\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n op = (modrm >> 3) & 7;\n\n\n\n if (mod != 3) {\n\n if (shift == 2) {\n\n s->rip_offset = 1;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n opreg = OR_TMP0;\n\n } else {\n\n opreg = (modrm & 7) | REX_B(s);\n\n }\n\n\n\n /* simpler op */\n\n if (shift == 0) {\n\n gen_shift(s, op, ot, opreg, OR_ECX);\n\n } else {\n\n if (shift == 2) {\n\n shift = x86_ldub_code(env, s);\n\n }\n\n gen_shifti(s, op, ot, opreg, shift);\n\n }\n\n }\n\n break;\n\n case 0xd0:\n\n case 0xd1:\n\n /* shift Ev,1 */\n\n shift = 1;\n\n goto grp2;\n\n case 0xd2:\n\n case 0xd3:\n\n /* shift Ev,cl */\n\n shift = 0;\n\n goto grp2;\n\n\n\n case 0x1a4: /* shld imm */\n\n op = 0;\n\n shift = 1;\n\n goto do_shiftd;\n\n case 0x1a5: /* shld cl */\n\n op = 0;\n\n shift = 0;\n\n goto do_shiftd;\n\n case 0x1ac: /* shrd imm */\n\n op = 1;\n\n shift = 1;\n\n goto do_shiftd;\n\n case 0x1ad: /* shrd cl */\n\n op = 1;\n\n shift = 0;\n\n do_shiftd:\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n if (mod != 3) {\n\n gen_lea_modrm(env, s, modrm);\n\n opreg = OR_TMP0;\n\n } else {\n\n opreg = rm;\n\n }\n\n gen_op_mov_v_reg(ot, cpu_T1, reg);\n\n\n\n if (shift) {\n\n TCGv imm = tcg_const_tl(x86_ldub_code(env, s));\n\n gen_shiftd_rm_T1(s, ot, opreg, op, imm);\n\n tcg_temp_free(imm);\n\n } else {\n\n gen_shiftd_rm_T1(s, ot, opreg, op, cpu_regs[R_ECX]);\n\n }\n\n break;\n\n\n\n /************************/\n\n /* floats */\n\n case 0xd8 ... 0xdf:\n\n if (s->flags & (HF_EM_MASK | HF_TS_MASK)) {\n\n /* if CR0.EM or CR0.TS are set, generate an FPU exception */\n\n /* XXX: what to do if illegal op ? */\n\n gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);\n\n break;\n\n }\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n rm = modrm & 7;\n\n op = ((b & 7) << 3) | ((modrm >> 3) & 7);\n\n if (mod != 3) {\n\n /* memory op */\n\n gen_lea_modrm(env, s, modrm);\n\n switch(op) {\n\n case 0x00 ... 0x07: /* fxxxs */\n\n case 0x10 ... 0x17: /* fixxxl */\n\n case 0x20 ... 0x27: /* fxxxl */\n\n case 0x30 ... 0x37: /* fixxx */\n\n {\n\n int op1;\n\n op1 = op & 7;\n\n\n\n switch(op >> 4) {\n\n case 0:\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n gen_helper_flds_FT0(cpu_env, cpu_tmp2_i32);\n\n break;\n\n case 1:\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n gen_helper_fildl_FT0(cpu_env, cpu_tmp2_i32);\n\n break;\n\n case 2:\n\n tcg_gen_qemu_ld_i64(cpu_tmp1_i64, cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n gen_helper_fldl_FT0(cpu_env, cpu_tmp1_i64);\n\n break;\n\n case 3:\n\n default:\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LESW);\n\n gen_helper_fildl_FT0(cpu_env, cpu_tmp2_i32);\n\n break;\n\n }\n\n\n\n gen_helper_fp_arith_ST0_FT0(op1);\n\n if (op1 == 3) {\n\n /* fcomp needs pop */\n\n gen_helper_fpop(cpu_env);\n\n }\n\n }\n\n break;\n\n case 0x08: /* flds */\n\n case 0x0a: /* fsts */\n\n case 0x0b: /* fstps */\n\n case 0x18 ... 0x1b: /* fildl, fisttpl, fistl, fistpl */\n\n case 0x28 ... 0x2b: /* fldl, fisttpll, fstl, fstpl */\n\n case 0x38 ... 0x3b: /* filds, fisttps, fists, fistps */\n\n switch(op & 7) {\n\n case 0:\n\n switch(op >> 4) {\n\n case 0:\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n gen_helper_flds_ST0(cpu_env, cpu_tmp2_i32);\n\n break;\n\n case 1:\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n gen_helper_fildl_ST0(cpu_env, cpu_tmp2_i32);\n\n break;\n\n case 2:\n\n tcg_gen_qemu_ld_i64(cpu_tmp1_i64, cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n gen_helper_fldl_ST0(cpu_env, cpu_tmp1_i64);\n\n break;\n\n case 3:\n\n default:\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LESW);\n\n gen_helper_fildl_ST0(cpu_env, cpu_tmp2_i32);\n\n break;\n\n }\n\n break;\n\n case 1:\n\n /* XXX: the corresponding CPUID bit must be tested ! */\n\n switch(op >> 4) {\n\n case 1:\n\n gen_helper_fisttl_ST0(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n break;\n\n case 2:\n\n gen_helper_fisttll_ST0(cpu_tmp1_i64, cpu_env);\n\n tcg_gen_qemu_st_i64(cpu_tmp1_i64, cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n break;\n\n case 3:\n\n default:\n\n gen_helper_fistt_ST0(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUW);\n\n break;\n\n }\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n default:\n\n switch(op >> 4) {\n\n case 0:\n\n gen_helper_fsts_ST0(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n break;\n\n case 1:\n\n gen_helper_fistl_ST0(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n break;\n\n case 2:\n\n gen_helper_fstl_ST0(cpu_tmp1_i64, cpu_env);\n\n tcg_gen_qemu_st_i64(cpu_tmp1_i64, cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n break;\n\n case 3:\n\n default:\n\n gen_helper_fist_ST0(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUW);\n\n break;\n\n }\n\n if ((op & 7) == 3)\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n }\n\n break;\n\n case 0x0c: /* fldenv mem */\n\n gen_helper_fldenv(cpu_env, cpu_A0, tcg_const_i32(dflag - 1));\n\n break;\n\n case 0x0d: /* fldcw mem */\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUW);\n\n gen_helper_fldcw(cpu_env, cpu_tmp2_i32);\n\n break;\n\n case 0x0e: /* fnstenv mem */\n\n gen_helper_fstenv(cpu_env, cpu_A0, tcg_const_i32(dflag - 1));\n\n break;\n\n case 0x0f: /* fnstcw mem */\n\n gen_helper_fnstcw(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUW);\n\n break;\n\n case 0x1d: /* fldt mem */\n\n gen_helper_fldt_ST0(cpu_env, cpu_A0);\n\n break;\n\n case 0x1f: /* fstpt mem */\n\n gen_helper_fstt_ST0(cpu_env, cpu_A0);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n case 0x2c: /* frstor mem */\n\n gen_helper_frstor(cpu_env, cpu_A0, tcg_const_i32(dflag - 1));\n\n break;\n\n case 0x2e: /* fnsave mem */\n\n gen_helper_fsave(cpu_env, cpu_A0, tcg_const_i32(dflag - 1));\n\n break;\n\n case 0x2f: /* fnstsw mem */\n\n gen_helper_fnstsw(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_qemu_st_i32(cpu_tmp2_i32, cpu_A0,\n\n s->mem_index, MO_LEUW);\n\n break;\n\n case 0x3c: /* fbld */\n\n gen_helper_fbld_ST0(cpu_env, cpu_A0);\n\n break;\n\n case 0x3e: /* fbstp */\n\n gen_helper_fbst_ST0(cpu_env, cpu_A0);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n case 0x3d: /* fildll */\n\n tcg_gen_qemu_ld_i64(cpu_tmp1_i64, cpu_A0, s->mem_index, MO_LEQ);\n\n gen_helper_fildll_ST0(cpu_env, cpu_tmp1_i64);\n\n break;\n\n case 0x3f: /* fistpll */\n\n gen_helper_fistll_ST0(cpu_tmp1_i64, cpu_env);\n\n tcg_gen_qemu_st_i64(cpu_tmp1_i64, cpu_A0, s->mem_index, MO_LEQ);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n } else {\n\n /* register float ops */\n\n opreg = rm;\n\n\n\n switch(op) {\n\n case 0x08: /* fld sti */\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fmov_ST0_STN(cpu_env,\n\n tcg_const_i32((opreg + 1) & 7));\n\n break;\n\n case 0x09: /* fxchg sti */\n\n case 0x29: /* fxchg4 sti, undocumented op */\n\n case 0x39: /* fxchg7 sti, undocumented op */\n\n gen_helper_fxchg_ST0_STN(cpu_env, tcg_const_i32(opreg));\n\n break;\n\n case 0x0a: /* grp d9/2 */\n\n switch(rm) {\n\n case 0: /* fnop */\n\n /* check exceptions (FreeBSD FPU probe) */\n\n gen_helper_fwait(cpu_env);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n case 0x0c: /* grp d9/4 */\n\n switch(rm) {\n\n case 0: /* fchs */\n\n gen_helper_fchs_ST0(cpu_env);\n\n break;\n\n case 1: /* fabs */\n\n gen_helper_fabs_ST0(cpu_env);\n\n break;\n\n case 4: /* ftst */\n\n gen_helper_fldz_FT0(cpu_env);\n\n gen_helper_fcom_ST0_FT0(cpu_env);\n\n break;\n\n case 5: /* fxam */\n\n gen_helper_fxam_ST0(cpu_env);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n case 0x0d: /* grp d9/5 */\n\n {\n\n switch(rm) {\n\n case 0:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fld1_ST0(cpu_env);\n\n break;\n\n case 1:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fldl2t_ST0(cpu_env);\n\n break;\n\n case 2:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fldl2e_ST0(cpu_env);\n\n break;\n\n case 3:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fldpi_ST0(cpu_env);\n\n break;\n\n case 4:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fldlg2_ST0(cpu_env);\n\n break;\n\n case 5:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fldln2_ST0(cpu_env);\n\n break;\n\n case 6:\n\n gen_helper_fpush(cpu_env);\n\n gen_helper_fldz_ST0(cpu_env);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n }\n\n break;\n\n case 0x0e: /* grp d9/6 */\n\n switch(rm) {\n\n case 0: /* f2xm1 */\n\n gen_helper_f2xm1(cpu_env);\n\n break;\n\n case 1: /* fyl2x */\n\n gen_helper_fyl2x(cpu_env);\n\n break;\n\n case 2: /* fptan */\n\n gen_helper_fptan(cpu_env);\n\n break;\n\n case 3: /* fpatan */\n\n gen_helper_fpatan(cpu_env);\n\n break;\n\n case 4: /* fxtract */\n\n gen_helper_fxtract(cpu_env);\n\n break;\n\n case 5: /* fprem1 */\n\n gen_helper_fprem1(cpu_env);\n\n break;\n\n case 6: /* fdecstp */\n\n gen_helper_fdecstp(cpu_env);\n\n break;\n\n default:\n\n case 7: /* fincstp */\n\n gen_helper_fincstp(cpu_env);\n\n break;\n\n }\n\n break;\n\n case 0x0f: /* grp d9/7 */\n\n switch(rm) {\n\n case 0: /* fprem */\n\n gen_helper_fprem(cpu_env);\n\n break;\n\n case 1: /* fyl2xp1 */\n\n gen_helper_fyl2xp1(cpu_env);\n\n break;\n\n case 2: /* fsqrt */\n\n gen_helper_fsqrt(cpu_env);\n\n break;\n\n case 3: /* fsincos */\n\n gen_helper_fsincos(cpu_env);\n\n break;\n\n case 5: /* fscale */\n\n gen_helper_fscale(cpu_env);\n\n break;\n\n case 4: /* frndint */\n\n gen_helper_frndint(cpu_env);\n\n break;\n\n case 6: /* fsin */\n\n gen_helper_fsin(cpu_env);\n\n break;\n\n default:\n\n case 7: /* fcos */\n\n gen_helper_fcos(cpu_env);\n\n break;\n\n }\n\n break;\n\n case 0x00: case 0x01: case 0x04 ... 0x07: /* fxxx st, sti */\n\n case 0x20: case 0x21: case 0x24 ... 0x27: /* fxxx sti, st */\n\n case 0x30: case 0x31: case 0x34 ... 0x37: /* fxxxp sti, st */\n\n {\n\n int op1;\n\n\n\n op1 = op & 7;\n\n if (op >= 0x20) {\n\n gen_helper_fp_arith_STN_ST0(op1, opreg);\n\n if (op >= 0x30)\n\n gen_helper_fpop(cpu_env);\n\n } else {\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fp_arith_ST0_FT0(op1);\n\n }\n\n }\n\n break;\n\n case 0x02: /* fcom */\n\n case 0x22: /* fcom2, undocumented op */\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fcom_ST0_FT0(cpu_env);\n\n break;\n\n case 0x03: /* fcomp */\n\n case 0x23: /* fcomp3, undocumented op */\n\n case 0x32: /* fcomp5, undocumented op */\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fcom_ST0_FT0(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n case 0x15: /* da/5 */\n\n switch(rm) {\n\n case 1: /* fucompp */\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(1));\n\n gen_helper_fucom_ST0_FT0(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n case 0x1c:\n\n switch(rm) {\n\n case 0: /* feni (287 only, just do nop here) */\n\n break;\n\n case 1: /* fdisi (287 only, just do nop here) */\n\n break;\n\n case 2: /* fclex */\n\n gen_helper_fclex(cpu_env);\n\n break;\n\n case 3: /* fninit */\n\n gen_helper_fninit(cpu_env);\n\n break;\n\n case 4: /* fsetpm (287 only, just do nop here) */\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n case 0x1d: /* fucomi */\n\n if (!(s->cpuid_features & CPUID_CMOV)) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fucomi_ST0_FT0(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x1e: /* fcomi */\n\n if (!(s->cpuid_features & CPUID_CMOV)) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fcomi_ST0_FT0(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x28: /* ffree sti */\n\n gen_helper_ffree_STN(cpu_env, tcg_const_i32(opreg));\n\n break;\n\n case 0x2a: /* fst sti */\n\n gen_helper_fmov_STN_ST0(cpu_env, tcg_const_i32(opreg));\n\n break;\n\n case 0x2b: /* fstp sti */\n\n case 0x0b: /* fstp1 sti, undocumented op */\n\n case 0x3a: /* fstp8 sti, undocumented op */\n\n case 0x3b: /* fstp9 sti, undocumented op */\n\n gen_helper_fmov_STN_ST0(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n case 0x2c: /* fucom st(i) */\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fucom_ST0_FT0(cpu_env);\n\n break;\n\n case 0x2d: /* fucomp st(i) */\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fucom_ST0_FT0(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n case 0x33: /* de/3 */\n\n switch(rm) {\n\n case 1: /* fcompp */\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(1));\n\n gen_helper_fcom_ST0_FT0(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n case 0x38: /* ffreep sti, undocumented op */\n\n gen_helper_ffree_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fpop(cpu_env);\n\n break;\n\n case 0x3c: /* df/4 */\n\n switch(rm) {\n\n case 0:\n\n gen_helper_fnstsw(cpu_tmp2_i32, cpu_env);\n\n tcg_gen_extu_i32_tl(cpu_T0, cpu_tmp2_i32);\n\n gen_op_mov_reg_v(MO_16, R_EAX, cpu_T0);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n case 0x3d: /* fucomip */\n\n if (!(s->cpuid_features & CPUID_CMOV)) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fucomi_ST0_FT0(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x3e: /* fcomip */\n\n if (!(s->cpuid_features & CPUID_CMOV)) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_helper_fmov_FT0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_helper_fcomi_ST0_FT0(cpu_env);\n\n gen_helper_fpop(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x10 ... 0x13: /* fcmovxx */\n\n case 0x18 ... 0x1b:\n\n {\n\n int op1;\n\n TCGLabel *l1;\n\n static const uint8_t fcmov_cc[8] = {\n\n (JCC_B << 1),\n\n (JCC_Z << 1),\n\n (JCC_BE << 1),\n\n (JCC_P << 1),\n\n };\n\n\n\n if (!(s->cpuid_features & CPUID_CMOV)) {\n\n goto illegal_op;\n\n }\n\n op1 = fcmov_cc[op & 3] | (((op >> 3) & 1) ^ 1);\n\n l1 = gen_new_label();\n\n gen_jcc1_noeob(s, op1, l1);\n\n gen_helper_fmov_ST0_STN(cpu_env, tcg_const_i32(opreg));\n\n gen_set_label(l1);\n\n }\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n }\n\n break;\n\n /************************/\n\n /* string ops */\n\n\n\n case 0xa4: /* movsS */\n\n case 0xa5:\n\n ot = mo_b_d(b, dflag);\n\n if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ)) {\n\n gen_repz_movs(s, ot, pc_start - s->cs_base, s->pc - s->cs_base);\n\n } else {\n\n gen_movs(s, ot);\n\n }\n\n break;\n\n\n\n case 0xaa: /* stosS */\n\n case 0xab:\n\n ot = mo_b_d(b, dflag);\n\n if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ)) {\n\n gen_repz_stos(s, ot, pc_start - s->cs_base, s->pc - s->cs_base);\n\n } else {\n\n gen_stos(s, ot);\n\n }\n\n break;\n\n case 0xac: /* lodsS */\n\n case 0xad:\n\n ot = mo_b_d(b, dflag);\n\n if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ)) {\n\n gen_repz_lods(s, ot, pc_start - s->cs_base, s->pc - s->cs_base);\n\n } else {\n\n gen_lods(s, ot);\n\n }\n\n break;\n\n case 0xae: /* scasS */\n\n case 0xaf:\n\n ot = mo_b_d(b, dflag);\n\n if (prefixes & PREFIX_REPNZ) {\n\n gen_repz_scas(s, ot, pc_start - s->cs_base, s->pc - s->cs_base, 1);\n\n } else if (prefixes & PREFIX_REPZ) {\n\n gen_repz_scas(s, ot, pc_start - s->cs_base, s->pc - s->cs_base, 0);\n\n } else {\n\n gen_scas(s, ot);\n\n }\n\n break;\n\n\n\n case 0xa6: /* cmpsS */\n\n case 0xa7:\n\n ot = mo_b_d(b, dflag);\n\n if (prefixes & PREFIX_REPNZ) {\n\n gen_repz_cmps(s, ot, pc_start - s->cs_base, s->pc - s->cs_base, 1);\n\n } else if (prefixes & PREFIX_REPZ) {\n\n gen_repz_cmps(s, ot, pc_start - s->cs_base, s->pc - s->cs_base, 0);\n\n } else {\n\n gen_cmps(s, ot);\n\n }\n\n break;\n\n case 0x6c: /* insS */\n\n case 0x6d:\n\n ot = mo_b_d32(b, dflag);\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_regs[R_EDX]);\n\n gen_check_io(s, ot, pc_start - s->cs_base, \n\n SVM_IOIO_TYPE_MASK | svm_is_rep(prefixes) | 4);\n\n if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ)) {\n\n gen_repz_ins(s, ot, pc_start - s->cs_base, s->pc - s->cs_base);\n\n } else {\n\n gen_ins(s, ot);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n }\n\n break;\n\n case 0x6e: /* outsS */\n\n case 0x6f:\n\n ot = mo_b_d32(b, dflag);\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_regs[R_EDX]);\n\n gen_check_io(s, ot, pc_start - s->cs_base,\n\n svm_is_rep(prefixes) | 4);\n\n if (prefixes & (PREFIX_REPZ | PREFIX_REPNZ)) {\n\n gen_repz_outs(s, ot, pc_start - s->cs_base, s->pc - s->cs_base);\n\n } else {\n\n gen_outs(s, ot);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n }\n\n break;\n\n\n\n /************************/\n\n /* port I/O */\n\n\n\n case 0xe4:\n\n case 0xe5:\n\n ot = mo_b_d32(b, dflag);\n\n val = x86_ldub_code(env, s);\n\n tcg_gen_movi_tl(cpu_T0, val);\n\n gen_check_io(s, ot, pc_start - s->cs_base,\n\n SVM_IOIO_TYPE_MASK | svm_is_rep(prefixes));\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n\t}\n\n tcg_gen_movi_i32(cpu_tmp2_i32, val);\n\n gen_helper_in_func(ot, cpu_T1, cpu_tmp2_i32);\n\n gen_op_mov_reg_v(ot, R_EAX, cpu_T1);\n\n gen_bpt_io(s, cpu_tmp2_i32, ot);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n break;\n\n case 0xe6:\n\n case 0xe7:\n\n ot = mo_b_d32(b, dflag);\n\n val = x86_ldub_code(env, s);\n\n tcg_gen_movi_tl(cpu_T0, val);\n\n gen_check_io(s, ot, pc_start - s->cs_base,\n\n svm_is_rep(prefixes));\n\n gen_op_mov_v_reg(ot, cpu_T1, R_EAX);\n\n\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n\t}\n\n tcg_gen_movi_i32(cpu_tmp2_i32, val);\n\n tcg_gen_trunc_tl_i32(cpu_tmp3_i32, cpu_T1);\n\n gen_helper_out_func(ot, cpu_tmp2_i32, cpu_tmp3_i32);\n\n gen_bpt_io(s, cpu_tmp2_i32, ot);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n break;\n\n case 0xec:\n\n case 0xed:\n\n ot = mo_b_d32(b, dflag);\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_regs[R_EDX]);\n\n gen_check_io(s, ot, pc_start - s->cs_base,\n\n SVM_IOIO_TYPE_MASK | svm_is_rep(prefixes));\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n\t}\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n gen_helper_in_func(ot, cpu_T1, cpu_tmp2_i32);\n\n gen_op_mov_reg_v(ot, R_EAX, cpu_T1);\n\n gen_bpt_io(s, cpu_tmp2_i32, ot);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n break;\n\n case 0xee:\n\n case 0xef:\n\n ot = mo_b_d32(b, dflag);\n\n tcg_gen_ext16u_tl(cpu_T0, cpu_regs[R_EDX]);\n\n gen_check_io(s, ot, pc_start - s->cs_base,\n\n svm_is_rep(prefixes));\n\n gen_op_mov_v_reg(ot, cpu_T1, R_EAX);\n\n\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n\t}\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n tcg_gen_trunc_tl_i32(cpu_tmp3_i32, cpu_T1);\n\n gen_helper_out_func(ot, cpu_tmp2_i32, cpu_tmp3_i32);\n\n gen_bpt_io(s, cpu_tmp2_i32, ot);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n break;\n\n\n\n /************************/\n\n /* control */\n\n case 0xc2: /* ret im */\n\n val = x86_ldsw_code(env, s);\n\n ot = gen_pop_T0(s);\n\n gen_stack_update(s, val + (1 << ot));\n\n /* Note that gen_pop_T0 uses a zero-extending load. */\n\n gen_op_jmp_v(cpu_T0);\n\n gen_bnd_jmp(s);\n\n gen_jr(s, cpu_T0);\n\n break;\n\n case 0xc3: /* ret */\n\n ot = gen_pop_T0(s);\n\n gen_pop_update(s, ot);\n\n /* Note that gen_pop_T0 uses a zero-extending load. */\n\n gen_op_jmp_v(cpu_T0);\n\n gen_bnd_jmp(s);\n\n gen_jr(s, cpu_T0);\n\n break;\n\n case 0xca: /* lret im */\n\n val = x86_ldsw_code(env, s);\n\n do_lret:\n\n if (s->pe && !s->vm86) {\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_lret_protected(cpu_env, tcg_const_i32(dflag - 1),\n\n tcg_const_i32(val));\n\n } else {\n\n gen_stack_A0(s);\n\n /* pop offset */\n\n gen_op_ld_v(s, dflag, cpu_T0, cpu_A0);\n\n /* NOTE: keeping EIP updated is not a problem in case of\n\n exception */\n\n gen_op_jmp_v(cpu_T0);\n\n /* pop selector */\n\n gen_add_A0_im(s, 1 << dflag);\n\n gen_op_ld_v(s, dflag, cpu_T0, cpu_A0);\n\n gen_op_movl_seg_T0_vm(R_CS);\n\n /* add stack offset */\n\n gen_stack_update(s, val + (2 << dflag));\n\n }\n\n gen_eob(s);\n\n break;\n\n case 0xcb: /* lret */\n\n val = 0;\n\n goto do_lret;\n\n case 0xcf: /* iret */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_IRET);\n\n if (!s->pe) {\n\n /* real mode */\n\n gen_helper_iret_real(cpu_env, tcg_const_i32(dflag - 1));\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n } else if (s->vm86) {\n\n if (s->iopl != 3) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_helper_iret_real(cpu_env, tcg_const_i32(dflag - 1));\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n }\n\n } else {\n\n gen_helper_iret_protected(cpu_env, tcg_const_i32(dflag - 1),\n\n tcg_const_i32(s->pc - s->cs_base));\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n }\n\n gen_eob(s);\n\n break;\n\n case 0xe8: /* call im */\n\n {\n\n if (dflag != MO_16) {\n\n tval = (int32_t)insn_get(env, s, MO_32);\n\n } else {\n\n tval = (int16_t)insn_get(env, s, MO_16);\n\n }\n\n next_eip = s->pc - s->cs_base;\n\n tval += next_eip;\n\n if (dflag == MO_16) {\n\n tval &= 0xffff;\n\n } else if (!CODE64(s)) {\n\n tval &= 0xffffffff;\n\n }\n\n tcg_gen_movi_tl(cpu_T0, next_eip);\n\n gen_push_v(s, cpu_T0);\n\n gen_bnd_jmp(s);\n\n gen_jmp(s, tval);\n\n }\n\n break;\n\n case 0x9a: /* lcall im */\n\n {\n\n unsigned int selector, offset;\n\n\n\n if (CODE64(s))\n\n goto illegal_op;\n\n ot = dflag;\n\n offset = insn_get(env, s, ot);\n\n selector = insn_get(env, s, MO_16);\n\n\n\n tcg_gen_movi_tl(cpu_T0, selector);\n\n tcg_gen_movi_tl(cpu_T1, offset);\n\n }\n\n goto do_lcall;\n\n case 0xe9: /* jmp im */\n\n if (dflag != MO_16) {\n\n tval = (int32_t)insn_get(env, s, MO_32);\n\n } else {\n\n tval = (int16_t)insn_get(env, s, MO_16);\n\n }\n\n tval += s->pc - s->cs_base;\n\n if (dflag == MO_16) {\n\n tval &= 0xffff;\n\n } else if (!CODE64(s)) {\n\n tval &= 0xffffffff;\n\n }\n\n gen_bnd_jmp(s);\n\n gen_jmp(s, tval);\n\n break;\n\n case 0xea: /* ljmp im */\n\n {\n\n unsigned int selector, offset;\n\n\n\n if (CODE64(s))\n\n goto illegal_op;\n\n ot = dflag;\n\n offset = insn_get(env, s, ot);\n\n selector = insn_get(env, s, MO_16);\n\n\n\n tcg_gen_movi_tl(cpu_T0, selector);\n\n tcg_gen_movi_tl(cpu_T1, offset);\n\n }\n\n goto do_ljmp;\n\n case 0xeb: /* jmp Jb */\n\n tval = (int8_t)insn_get(env, s, MO_8);\n\n tval += s->pc - s->cs_base;\n\n if (dflag == MO_16) {\n\n tval &= 0xffff;\n\n }\n\n gen_jmp(s, tval);\n\n break;\n\n case 0x70 ... 0x7f: /* jcc Jb */\n\n tval = (int8_t)insn_get(env, s, MO_8);\n\n goto do_jcc;\n\n case 0x180 ... 0x18f: /* jcc Jv */\n\n if (dflag != MO_16) {\n\n tval = (int32_t)insn_get(env, s, MO_32);\n\n } else {\n\n tval = (int16_t)insn_get(env, s, MO_16);\n\n }\n\n do_jcc:\n\n next_eip = s->pc - s->cs_base;\n\n tval += next_eip;\n\n if (dflag == MO_16) {\n\n tval &= 0xffff;\n\n }\n\n gen_bnd_jmp(s);\n\n gen_jcc(s, b, tval, next_eip);\n\n break;\n\n\n\n case 0x190 ... 0x19f: /* setcc Gv */\n\n modrm = x86_ldub_code(env, s);\n\n gen_setcc1(s, b, cpu_T0);\n\n gen_ldst_modrm(env, s, modrm, MO_8, OR_TMP0, 1);\n\n break;\n\n case 0x140 ... 0x14f: /* cmov Gv, Ev */\n\n if (!(s->cpuid_features & CPUID_CMOV)) {\n\n goto illegal_op;\n\n }\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n gen_cmovcc1(env, s, ot, b, modrm, reg);\n\n break;\n\n\n\n /************************/\n\n /* flags */\n\n case 0x9c: /* pushf */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_PUSHF);\n\n if (s->vm86 && s->iopl != 3) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_update_cc_op(s);\n\n gen_helper_read_eflags(cpu_T0, cpu_env);\n\n gen_push_v(s, cpu_T0);\n\n }\n\n break;\n\n case 0x9d: /* popf */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_POPF);\n\n if (s->vm86 && s->iopl != 3) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n ot = gen_pop_T0(s);\n\n if (s->cpl == 0) {\n\n if (dflag != MO_16) {\n\n gen_helper_write_eflags(cpu_env, cpu_T0,\n\n tcg_const_i32((TF_MASK | AC_MASK |\n\n ID_MASK | NT_MASK |\n\n IF_MASK |\n\n IOPL_MASK)));\n\n } else {\n\n gen_helper_write_eflags(cpu_env, cpu_T0,\n\n tcg_const_i32((TF_MASK | AC_MASK |\n\n ID_MASK | NT_MASK |\n\n IF_MASK | IOPL_MASK)\n\n & 0xffff));\n\n }\n\n } else {\n\n if (s->cpl <= s->iopl) {\n\n if (dflag != MO_16) {\n\n gen_helper_write_eflags(cpu_env, cpu_T0,\n\n tcg_const_i32((TF_MASK |\n\n AC_MASK |\n\n ID_MASK |\n\n NT_MASK |\n\n IF_MASK)));\n\n } else {\n\n gen_helper_write_eflags(cpu_env, cpu_T0,\n\n tcg_const_i32((TF_MASK |\n\n AC_MASK |\n\n ID_MASK |\n\n NT_MASK |\n\n IF_MASK)\n\n & 0xffff));\n\n }\n\n } else {\n\n if (dflag != MO_16) {\n\n gen_helper_write_eflags(cpu_env, cpu_T0,\n\n tcg_const_i32((TF_MASK | AC_MASK |\n\n ID_MASK | NT_MASK)));\n\n } else {\n\n gen_helper_write_eflags(cpu_env, cpu_T0,\n\n tcg_const_i32((TF_MASK | AC_MASK |\n\n ID_MASK | NT_MASK)\n\n & 0xffff));\n\n }\n\n }\n\n }\n\n gen_pop_update(s, ot);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n /* abort translation because TF/AC flag may change */\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n }\n\n break;\n\n case 0x9e: /* sahf */\n\n if (CODE64(s) && !(s->cpuid_ext3_features & CPUID_EXT3_LAHF_LM))\n\n goto illegal_op;\n\n gen_op_mov_v_reg(MO_8, cpu_T0, R_AH);\n\n gen_compute_eflags(s);\n\n tcg_gen_andi_tl(cpu_cc_src, cpu_cc_src, CC_O);\n\n tcg_gen_andi_tl(cpu_T0, cpu_T0, CC_S | CC_Z | CC_A | CC_P | CC_C);\n\n tcg_gen_or_tl(cpu_cc_src, cpu_cc_src, cpu_T0);\n\n break;\n\n case 0x9f: /* lahf */\n\n if (CODE64(s) && !(s->cpuid_ext3_features & CPUID_EXT3_LAHF_LM))\n\n goto illegal_op;\n\n gen_compute_eflags(s);\n\n /* Note: gen_compute_eflags() only gives the condition codes */\n\n tcg_gen_ori_tl(cpu_T0, cpu_cc_src, 0x02);\n\n gen_op_mov_reg_v(MO_8, R_AH, cpu_T0);\n\n break;\n\n case 0xf5: /* cmc */\n\n gen_compute_eflags(s);\n\n tcg_gen_xori_tl(cpu_cc_src, cpu_cc_src, CC_C);\n\n break;\n\n case 0xf8: /* clc */\n\n gen_compute_eflags(s);\n\n tcg_gen_andi_tl(cpu_cc_src, cpu_cc_src, ~CC_C);\n\n break;\n\n case 0xf9: /* stc */\n\n gen_compute_eflags(s);\n\n tcg_gen_ori_tl(cpu_cc_src, cpu_cc_src, CC_C);\n\n break;\n\n case 0xfc: /* cld */\n\n tcg_gen_movi_i32(cpu_tmp2_i32, 1);\n\n tcg_gen_st_i32(cpu_tmp2_i32, cpu_env, offsetof(CPUX86State, df));\n\n break;\n\n case 0xfd: /* std */\n\n tcg_gen_movi_i32(cpu_tmp2_i32, -1);\n\n tcg_gen_st_i32(cpu_tmp2_i32, cpu_env, offsetof(CPUX86State, df));\n\n break;\n\n\n\n /************************/\n\n /* bit operations */\n\n case 0x1ba: /* bt/bts/btr/btc Gv, im */\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n op = (modrm >> 3) & 7;\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n if (mod != 3) {\n\n s->rip_offset = 1;\n\n gen_lea_modrm(env, s, modrm);\n\n if (!(s->prefix & PREFIX_LOCK)) {\n\n gen_op_ld_v(s, ot, cpu_T0, cpu_A0);\n\n }\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n }\n\n /* load shift */\n\n val = x86_ldub_code(env, s);\n\n tcg_gen_movi_tl(cpu_T1, val);\n\n if (op < 4)\n\n goto unknown_op;\n\n op -= 4;\n\n goto bt_op;\n\n case 0x1a3: /* bt Gv, Ev */\n\n op = 0;\n\n goto do_btx;\n\n case 0x1ab: /* bts */\n\n op = 1;\n\n goto do_btx;\n\n case 0x1b3: /* btr */\n\n op = 2;\n\n goto do_btx;\n\n case 0x1bb: /* btc */\n\n op = 3;\n\n do_btx:\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n gen_op_mov_v_reg(MO_32, cpu_T1, reg);\n\n if (mod != 3) {\n\n AddressParts a = gen_lea_modrm_0(env, s, modrm);\n\n /* specific case: we need to add a displacement */\n\n gen_exts(ot, cpu_T1);\n\n tcg_gen_sari_tl(cpu_tmp0, cpu_T1, 3 + ot);\n\n tcg_gen_shli_tl(cpu_tmp0, cpu_tmp0, ot);\n\n tcg_gen_add_tl(cpu_A0, gen_lea_modrm_1(a), cpu_tmp0);\n\n gen_lea_v_seg(s, s->aflag, cpu_A0, a.def_seg, s->override);\n\n if (!(s->prefix & PREFIX_LOCK)) {\n\n gen_op_ld_v(s, ot, cpu_T0, cpu_A0);\n\n }\n\n } else {\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n }\n\n bt_op:\n\n tcg_gen_andi_tl(cpu_T1, cpu_T1, (1 << (3 + ot)) - 1);\n\n tcg_gen_movi_tl(cpu_tmp0, 1);\n\n tcg_gen_shl_tl(cpu_tmp0, cpu_tmp0, cpu_T1);\n\n if (s->prefix & PREFIX_LOCK) {\n\n switch (op) {\n\n case 0: /* bt */\n\n /* Needs no atomic ops; we surpressed the normal\n\n memory load for LOCK above so do it now. */\n\n gen_op_ld_v(s, ot, cpu_T0, cpu_A0);\n\n break;\n\n case 1: /* bts */\n\n tcg_gen_atomic_fetch_or_tl(cpu_T0, cpu_A0, cpu_tmp0,\n\n s->mem_index, ot | MO_LE);\n\n break;\n\n case 2: /* btr */\n\n tcg_gen_not_tl(cpu_tmp0, cpu_tmp0);\n\n tcg_gen_atomic_fetch_and_tl(cpu_T0, cpu_A0, cpu_tmp0,\n\n s->mem_index, ot | MO_LE);\n\n break;\n\n default:\n\n case 3: /* btc */\n\n tcg_gen_atomic_fetch_xor_tl(cpu_T0, cpu_A0, cpu_tmp0,\n\n s->mem_index, ot | MO_LE);\n\n break;\n\n }\n\n tcg_gen_shr_tl(cpu_tmp4, cpu_T0, cpu_T1);\n\n } else {\n\n tcg_gen_shr_tl(cpu_tmp4, cpu_T0, cpu_T1);\n\n switch (op) {\n\n case 0: /* bt */\n\n /* Data already loaded; nothing to do. */\n\n break;\n\n case 1: /* bts */\n\n tcg_gen_or_tl(cpu_T0, cpu_T0, cpu_tmp0);\n\n break;\n\n case 2: /* btr */\n\n tcg_gen_andc_tl(cpu_T0, cpu_T0, cpu_tmp0);\n\n break;\n\n default:\n\n case 3: /* btc */\n\n tcg_gen_xor_tl(cpu_T0, cpu_T0, cpu_tmp0);\n\n break;\n\n }\n\n if (op != 0) {\n\n if (mod != 3) {\n\n gen_op_st_v(s, ot, cpu_T0, cpu_A0);\n\n } else {\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n }\n\n }\n\n }\n\n\n\n /* Delay all CC updates until after the store above. Note that\n\n C is the result of the test, Z is unchanged, and the others\n\n are all undefined. */\n\n switch (s->cc_op) {\n\n case CC_OP_MULB ... CC_OP_MULQ:\n\n case CC_OP_ADDB ... CC_OP_ADDQ:\n\n case CC_OP_ADCB ... CC_OP_ADCQ:\n\n case CC_OP_SUBB ... CC_OP_SUBQ:\n\n case CC_OP_SBBB ... CC_OP_SBBQ:\n\n case CC_OP_LOGICB ... CC_OP_LOGICQ:\n\n case CC_OP_INCB ... CC_OP_INCQ:\n\n case CC_OP_DECB ... CC_OP_DECQ:\n\n case CC_OP_SHLB ... CC_OP_SHLQ:\n\n case CC_OP_SARB ... CC_OP_SARQ:\n\n case CC_OP_BMILGB ... CC_OP_BMILGQ:\n\n /* Z was going to be computed from the non-zero status of CC_DST.\n\n We can get that same Z value (and the new C value) by leaving\n\n CC_DST alone, setting CC_SRC, and using a CC_OP_SAR of the\n\n same width. */\n\n tcg_gen_mov_tl(cpu_cc_src, cpu_tmp4);\n\n set_cc_op(s, ((s->cc_op - CC_OP_MULB) & 3) + CC_OP_SARB);\n\n break;\n\n default:\n\n /* Otherwise, generate EFLAGS and replace the C bit. */\n\n gen_compute_eflags(s);\n\n tcg_gen_deposit_tl(cpu_cc_src, cpu_cc_src, cpu_tmp4,\n\n ctz32(CC_C), 1);\n\n break;\n\n }\n\n break;\n\n case 0x1bc: /* bsf / tzcnt */\n\n case 0x1bd: /* bsr / lzcnt */\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);\n\n gen_extu(ot, cpu_T0);\n\n\n\n /* Note that lzcnt and tzcnt are in different extensions. */\n\n if ((prefixes & PREFIX_REPZ)\n\n && (b & 1\n\n ? s->cpuid_ext3_features & CPUID_EXT3_ABM\n\n : s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_BMI1)) {\n\n int size = 8 << ot;\n\n /* For lzcnt/tzcnt, C bit is defined related to the input. */\n\n tcg_gen_mov_tl(cpu_cc_src, cpu_T0);\n\n if (b & 1) {\n\n /* For lzcnt, reduce the target_ulong result by the\n\n number of zeros that we expect to find at the top. */\n\n tcg_gen_clzi_tl(cpu_T0, cpu_T0, TARGET_LONG_BITS);\n\n tcg_gen_subi_tl(cpu_T0, cpu_T0, TARGET_LONG_BITS - size);\n\n } else {\n\n /* For tzcnt, a zero input must return the operand size. */\n\n tcg_gen_ctzi_tl(cpu_T0, cpu_T0, size);\n\n }\n\n /* For lzcnt/tzcnt, Z bit is defined related to the result. */\n\n gen_op_update1_cc();\n\n set_cc_op(s, CC_OP_BMILGB + ot);\n\n } else {\n\n /* For bsr/bsf, only the Z bit is defined and it is related\n\n to the input and not the result. */\n\n tcg_gen_mov_tl(cpu_cc_dst, cpu_T0);\n\n set_cc_op(s, CC_OP_LOGICB + ot);\n\n\n\n /* ??? The manual says that the output is undefined when the\n\n input is zero, but real hardware leaves it unchanged, and\n\n real programs appear to depend on that. Accomplish this\n\n by passing the output as the value to return upon zero. */\n\n if (b & 1) {\n\n /* For bsr, return the bit index of the first 1 bit,\n\n not the count of leading zeros. */\n\n tcg_gen_xori_tl(cpu_T1, cpu_regs[reg], TARGET_LONG_BITS - 1);\n\n tcg_gen_clz_tl(cpu_T0, cpu_T0, cpu_T1);\n\n tcg_gen_xori_tl(cpu_T0, cpu_T0, TARGET_LONG_BITS - 1);\n\n } else {\n\n tcg_gen_ctz_tl(cpu_T0, cpu_T0, cpu_regs[reg]);\n\n }\n\n }\n\n gen_op_mov_reg_v(ot, reg, cpu_T0);\n\n break;\n\n /************************/\n\n /* bcd */\n\n case 0x27: /* daa */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_update_cc_op(s);\n\n gen_helper_daa(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x2f: /* das */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_update_cc_op(s);\n\n gen_helper_das(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x37: /* aaa */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_update_cc_op(s);\n\n gen_helper_aaa(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0x3f: /* aas */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_update_cc_op(s);\n\n gen_helper_aas(cpu_env);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n case 0xd4: /* aam */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n val = x86_ldub_code(env, s);\n\n if (val == 0) {\n\n gen_exception(s, EXCP00_DIVZ, pc_start - s->cs_base);\n\n } else {\n\n gen_helper_aam(cpu_env, tcg_const_i32(val));\n\n set_cc_op(s, CC_OP_LOGICB);\n\n }\n\n break;\n\n case 0xd5: /* aad */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n val = x86_ldub_code(env, s);\n\n gen_helper_aad(cpu_env, tcg_const_i32(val));\n\n set_cc_op(s, CC_OP_LOGICB);\n\n break;\n\n /************************/\n\n /* misc */\n\n case 0x90: /* nop */\n\n /* XXX: correct lock test for all insn */\n\n if (prefixes & PREFIX_LOCK) {\n\n goto illegal_op;\n\n }\n\n /* If REX_B is set, then this is xchg eax, r8d, not a nop. */\n\n if (REX_B(s)) {\n\n goto do_xchg_reg_eax;\n\n }\n\n if (prefixes & PREFIX_REPZ) {\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_pause(cpu_env, tcg_const_i32(s->pc - pc_start));\n\n s->base.is_jmp = DISAS_NORETURN;\n\n }\n\n break;\n\n case 0x9b: /* fwait */\n\n if ((s->flags & (HF_MP_MASK | HF_TS_MASK)) ==\n\n (HF_MP_MASK | HF_TS_MASK)) {\n\n gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);\n\n } else {\n\n gen_helper_fwait(cpu_env);\n\n }\n\n break;\n\n case 0xcc: /* int3 */\n\n gen_interrupt(s, EXCP03_INT3, pc_start - s->cs_base, s->pc - s->cs_base);\n\n break;\n\n case 0xcd: /* int N */\n\n val = x86_ldub_code(env, s);\n\n if (s->vm86 && s->iopl != 3) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_interrupt(s, val, pc_start - s->cs_base, s->pc - s->cs_base);\n\n }\n\n break;\n\n case 0xce: /* into */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_into(cpu_env, tcg_const_i32(s->pc - pc_start));\n\n break;\n\n#ifdef WANT_ICEBP\n\n case 0xf1: /* icebp (undocumented, exits to external debugger) */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_ICEBP);\n\n#if 1\n\n gen_debug(s, pc_start - s->cs_base);\n\n#else\n\n /* start debug */\n\n tb_flush(CPU(x86_env_get_cpu(env)));\n\n qemu_set_log(CPU_LOG_INT | CPU_LOG_TB_IN_ASM);\n\n#endif\n\n break;\n\n#endif\n\n case 0xfa: /* cli */\n\n if (!s->vm86) {\n\n if (s->cpl <= s->iopl) {\n\n gen_helper_cli(cpu_env);\n\n } else {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n }\n\n } else {\n\n if (s->iopl == 3) {\n\n gen_helper_cli(cpu_env);\n\n } else {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n }\n\n }\n\n break;\n\n case 0xfb: /* sti */\n\n if (s->vm86 ? s->iopl == 3 : s->cpl <= s->iopl) {\n\n gen_helper_sti(cpu_env);\n\n /* interruptions are enabled only the first insn after sti */\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob_inhibit_irq(s, true);\n\n } else {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n }\n\n break;\n\n case 0x62: /* bound */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n ot = dflag;\n\n modrm = x86_ldub_code(env, s);\n\n reg = (modrm >> 3) & 7;\n\n mod = (modrm >> 6) & 3;\n\n if (mod == 3)\n\n goto illegal_op;\n\n gen_op_mov_v_reg(ot, cpu_T0, reg);\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n if (ot == MO_16) {\n\n gen_helper_boundw(cpu_env, cpu_A0, cpu_tmp2_i32);\n\n } else {\n\n gen_helper_boundl(cpu_env, cpu_A0, cpu_tmp2_i32);\n\n }\n\n break;\n\n case 0x1c8 ... 0x1cf: /* bswap reg */\n\n reg = (b & 7) | REX_B(s);\n\n#ifdef TARGET_X86_64\n\n if (dflag == MO_64) {\n\n gen_op_mov_v_reg(MO_64, cpu_T0, reg);\n\n tcg_gen_bswap64_i64(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(MO_64, reg, cpu_T0);\n\n } else\n\n#endif\n\n {\n\n gen_op_mov_v_reg(MO_32, cpu_T0, reg);\n\n tcg_gen_ext32u_tl(cpu_T0, cpu_T0);\n\n tcg_gen_bswap32_tl(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(MO_32, reg, cpu_T0);\n\n }\n\n break;\n\n case 0xd6: /* salc */\n\n if (CODE64(s))\n\n goto illegal_op;\n\n gen_compute_eflags_c(s, cpu_T0);\n\n tcg_gen_neg_tl(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(MO_8, R_EAX, cpu_T0);\n\n break;\n\n case 0xe0: /* loopnz */\n\n case 0xe1: /* loopz */\n\n case 0xe2: /* loop */\n\n case 0xe3: /* jecxz */\n\n {\n\n TCGLabel *l1, *l2, *l3;\n\n\n\n tval = (int8_t)insn_get(env, s, MO_8);\n\n next_eip = s->pc - s->cs_base;\n\n tval += next_eip;\n\n if (dflag == MO_16) {\n\n tval &= 0xffff;\n\n }\n\n\n\n l1 = gen_new_label();\n\n l2 = gen_new_label();\n\n l3 = gen_new_label();\n\n b &= 3;\n\n switch(b) {\n\n case 0: /* loopnz */\n\n case 1: /* loopz */\n\n gen_op_add_reg_im(s->aflag, R_ECX, -1);\n\n gen_op_jz_ecx(s->aflag, l3);\n\n gen_jcc1(s, (JCC_Z << 1) | (b ^ 1), l1);\n\n break;\n\n case 2: /* loop */\n\n gen_op_add_reg_im(s->aflag, R_ECX, -1);\n\n gen_op_jnz_ecx(s->aflag, l1);\n\n break;\n\n default:\n\n case 3: /* jcxz */\n\n gen_op_jz_ecx(s->aflag, l1);\n\n break;\n\n }\n\n\n\n gen_set_label(l3);\n\n gen_jmp_im(next_eip);\n\n tcg_gen_br(l2);\n\n\n\n gen_set_label(l1);\n\n gen_jmp_im(tval);\n\n gen_set_label(l2);\n\n gen_eob(s);\n\n }\n\n break;\n\n case 0x130: /* wrmsr */\n\n case 0x132: /* rdmsr */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n if (b & 2) {\n\n gen_helper_rdmsr(cpu_env);\n\n } else {\n\n gen_helper_wrmsr(cpu_env);\n\n }\n\n }\n\n break;\n\n case 0x131: /* rdtsc */\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n\t}\n\n gen_helper_rdtsc(cpu_env);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n break;\n\n case 0x133: /* rdpmc */\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_rdpmc(cpu_env);\n\n break;\n\n case 0x134: /* sysenter */\n\n /* For Intel SYSENTER is valid on 64-bit */\n\n if (CODE64(s) && env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1)\n\n goto illegal_op;\n\n if (!s->pe) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_helper_sysenter(cpu_env);\n\n gen_eob(s);\n\n }\n\n break;\n\n case 0x135: /* sysexit */\n\n /* For Intel SYSEXIT is valid on 64-bit */\n\n if (CODE64(s) && env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1)\n\n goto illegal_op;\n\n if (!s->pe) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_helper_sysexit(cpu_env, tcg_const_i32(dflag - 1));\n\n gen_eob(s);\n\n }\n\n break;\n\n#ifdef TARGET_X86_64\n\n case 0x105: /* syscall */\n\n /* XXX: is it usable in real mode ? */\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_syscall(cpu_env, tcg_const_i32(s->pc - pc_start));\n\n /* TF handling for the syscall insn is different. The TF bit is checked\n\n after the syscall insn completes. This allows #DB to not be\n\n generated after one has entered CPL0 if TF is set in FMASK. */\n\n gen_eob_worker(s, false, true);\n\n break;\n\n case 0x107: /* sysret */\n\n if (!s->pe) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_helper_sysret(cpu_env, tcg_const_i32(dflag - 1));\n\n /* condition codes are modified only in long mode */\n\n if (s->lma) {\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n }\n\n /* TF handling for the sysret insn is different. The TF bit is\n\n checked after the sysret insn completes. This allows #DB to be\n\n generated \"as if\" the syscall insn in userspace has just\n\n completed. */\n\n gen_eob_worker(s, false, true);\n\n }\n\n break;\n\n#endif\n\n case 0x1a2: /* cpuid */\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_cpuid(cpu_env);\n\n break;\n\n case 0xf4: /* hlt */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_hlt(cpu_env, tcg_const_i32(s->pc - pc_start));\n\n s->base.is_jmp = DISAS_NORETURN;\n\n }\n\n break;\n\n case 0x100:\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n op = (modrm >> 3) & 7;\n\n switch(op) {\n\n case 0: /* sldt */\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_LDTR_READ);\n\n tcg_gen_ld32u_tl(cpu_T0, cpu_env,\n\n offsetof(CPUX86State, ldt.selector));\n\n ot = mod == 3 ? dflag : MO_16;\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 1);\n\n break;\n\n case 2: /* lldt */\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_LDTR_WRITE);\n\n gen_ldst_modrm(env, s, modrm, MO_16, OR_TMP0, 0);\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n gen_helper_lldt(cpu_env, cpu_tmp2_i32);\n\n }\n\n break;\n\n case 1: /* str */\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_TR_READ);\n\n tcg_gen_ld32u_tl(cpu_T0, cpu_env,\n\n offsetof(CPUX86State, tr.selector));\n\n ot = mod == 3 ? dflag : MO_16;\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 1);\n\n break;\n\n case 3: /* ltr */\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_TR_WRITE);\n\n gen_ldst_modrm(env, s, modrm, MO_16, OR_TMP0, 0);\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T0);\n\n gen_helper_ltr(cpu_env, cpu_tmp2_i32);\n\n }\n\n break;\n\n case 4: /* verr */\n\n case 5: /* verw */\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n gen_ldst_modrm(env, s, modrm, MO_16, OR_TMP0, 0);\n\n gen_update_cc_op(s);\n\n if (op == 4) {\n\n gen_helper_verr(cpu_env, cpu_T0);\n\n } else {\n\n gen_helper_verw(cpu_env, cpu_T0);\n\n }\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n\n\n case 0x101:\n\n modrm = x86_ldub_code(env, s);\n\n switch (modrm) {\n\n CASE_MODRM_MEM_OP(0): /* sgdt */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_GDTR_READ);\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_ld32u_tl(cpu_T0,\n\n cpu_env, offsetof(CPUX86State, gdt.limit));\n\n gen_op_st_v(s, MO_16, cpu_T0, cpu_A0);\n\n gen_add_A0_im(s, 2);\n\n tcg_gen_ld_tl(cpu_T0, cpu_env, offsetof(CPUX86State, gdt.base));\n\n if (dflag == MO_16) {\n\n tcg_gen_andi_tl(cpu_T0, cpu_T0, 0xffffff);\n\n }\n\n gen_op_st_v(s, CODE64(s) + MO_32, cpu_T0, cpu_A0);\n\n break;\n\n\n\n case 0xc8: /* monitor */\n\n if (!(s->cpuid_ext_features & CPUID_EXT_MONITOR) || s->cpl != 0) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n tcg_gen_mov_tl(cpu_A0, cpu_regs[R_EAX]);\n\n gen_extu(s->aflag, cpu_A0);\n\n gen_add_A0_ds_seg(s);\n\n gen_helper_monitor(cpu_env, cpu_A0);\n\n break;\n\n\n\n case 0xc9: /* mwait */\n\n if (!(s->cpuid_ext_features & CPUID_EXT_MONITOR) || s->cpl != 0) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_mwait(cpu_env, tcg_const_i32(s->pc - pc_start));\n\n gen_eob(s);\n\n break;\n\n\n\n case 0xca: /* clac */\n\n if (!(s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_SMAP)\n\n || s->cpl != 0) {\n\n goto illegal_op;\n\n }\n\n gen_helper_clac(cpu_env);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n break;\n\n\n\n case 0xcb: /* stac */\n\n if (!(s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_SMAP)\n\n || s->cpl != 0) {\n\n goto illegal_op;\n\n }\n\n gen_helper_stac(cpu_env);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(1): /* sidt */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_IDTR_READ);\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_ld32u_tl(cpu_T0, cpu_env, offsetof(CPUX86State, idt.limit));\n\n gen_op_st_v(s, MO_16, cpu_T0, cpu_A0);\n\n gen_add_A0_im(s, 2);\n\n tcg_gen_ld_tl(cpu_T0, cpu_env, offsetof(CPUX86State, idt.base));\n\n if (dflag == MO_16) {\n\n tcg_gen_andi_tl(cpu_T0, cpu_T0, 0xffffff);\n\n }\n\n gen_op_st_v(s, CODE64(s) + MO_32, cpu_T0, cpu_A0);\n\n break;\n\n\n\n case 0xd0: /* xgetbv */\n\n if ((s->cpuid_ext_features & CPUID_EXT_XSAVE) == 0\n\n || (s->prefix & (PREFIX_LOCK | PREFIX_DATA\n\n | PREFIX_REPZ | PREFIX_REPNZ))) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_regs[R_ECX]);\n\n gen_helper_xgetbv(cpu_tmp1_i64, cpu_env, cpu_tmp2_i32);\n\n tcg_gen_extr_i64_tl(cpu_regs[R_EAX], cpu_regs[R_EDX], cpu_tmp1_i64);\n\n break;\n\n\n\n case 0xd1: /* xsetbv */\n\n if ((s->cpuid_ext_features & CPUID_EXT_XSAVE) == 0\n\n || (s->prefix & (PREFIX_LOCK | PREFIX_DATA\n\n | PREFIX_REPZ | PREFIX_REPNZ))) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n tcg_gen_concat_tl_i64(cpu_tmp1_i64, cpu_regs[R_EAX],\n\n cpu_regs[R_EDX]);\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_regs[R_ECX]);\n\n gen_helper_xsetbv(cpu_env, cpu_tmp2_i32, cpu_tmp1_i64);\n\n /* End TB because translation flags may change. */\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n break;\n\n\n\n case 0xd8: /* VMRUN */\n\n if (!(s->flags & HF_SVME_MASK) || !s->pe) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_vmrun(cpu_env, tcg_const_i32(s->aflag - 1),\n\n tcg_const_i32(s->pc - pc_start));\n\n tcg_gen_exit_tb(0);\n\n s->base.is_jmp = DISAS_NORETURN;\n\n break;\n\n\n\n case 0xd9: /* VMMCALL */\n\n if (!(s->flags & HF_SVME_MASK)) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_vmmcall(cpu_env);\n\n break;\n\n\n\n case 0xda: /* VMLOAD */\n\n if (!(s->flags & HF_SVME_MASK) || !s->pe) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_vmload(cpu_env, tcg_const_i32(s->aflag - 1));\n\n break;\n\n\n\n case 0xdb: /* VMSAVE */\n\n if (!(s->flags & HF_SVME_MASK) || !s->pe) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_vmsave(cpu_env, tcg_const_i32(s->aflag - 1));\n\n break;\n\n\n\n case 0xdc: /* STGI */\n\n if ((!(s->flags & HF_SVME_MASK)\n\n && !(s->cpuid_ext3_features & CPUID_EXT3_SKINIT))\n\n || !s->pe) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_stgi(cpu_env);\n\n break;\n\n\n\n case 0xdd: /* CLGI */\n\n if (!(s->flags & HF_SVME_MASK) || !s->pe) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_clgi(cpu_env);\n\n break;\n\n\n\n case 0xde: /* SKINIT */\n\n if ((!(s->flags & HF_SVME_MASK)\n\n && !(s->cpuid_ext3_features & CPUID_EXT3_SKINIT))\n\n || !s->pe) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_skinit(cpu_env);\n\n break;\n\n\n\n case 0xdf: /* INVLPGA */\n\n if (!(s->flags & HF_SVME_MASK) || !s->pe) {\n\n goto illegal_op;\n\n }\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_helper_invlpga(cpu_env, tcg_const_i32(s->aflag - 1));\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(2): /* lgdt */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_GDTR_WRITE);\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, MO_16, cpu_T1, cpu_A0);\n\n gen_add_A0_im(s, 2);\n\n gen_op_ld_v(s, CODE64(s) + MO_32, cpu_T0, cpu_A0);\n\n if (dflag == MO_16) {\n\n tcg_gen_andi_tl(cpu_T0, cpu_T0, 0xffffff);\n\n }\n\n tcg_gen_st_tl(cpu_T0, cpu_env, offsetof(CPUX86State, gdt.base));\n\n tcg_gen_st32_tl(cpu_T1, cpu_env, offsetof(CPUX86State, gdt.limit));\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(3): /* lidt */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_IDTR_WRITE);\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, MO_16, cpu_T1, cpu_A0);\n\n gen_add_A0_im(s, 2);\n\n gen_op_ld_v(s, CODE64(s) + MO_32, cpu_T0, cpu_A0);\n\n if (dflag == MO_16) {\n\n tcg_gen_andi_tl(cpu_T0, cpu_T0, 0xffffff);\n\n }\n\n tcg_gen_st_tl(cpu_T0, cpu_env, offsetof(CPUX86State, idt.base));\n\n tcg_gen_st32_tl(cpu_T1, cpu_env, offsetof(CPUX86State, idt.limit));\n\n break;\n\n\n\n CASE_MODRM_OP(4): /* smsw */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_READ_CR0);\n\n tcg_gen_ld_tl(cpu_T0, cpu_env, offsetof(CPUX86State, cr[0]));\n\n if (CODE64(s)) {\n\n mod = (modrm >> 6) & 3;\n\n ot = (mod != 3 ? MO_16 : s->dflag);\n\n } else {\n\n ot = MO_16;\n\n }\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 1);\n\n break;\n\n case 0xee: /* rdpkru */\n\n if (prefixes & PREFIX_LOCK) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_regs[R_ECX]);\n\n gen_helper_rdpkru(cpu_tmp1_i64, cpu_env, cpu_tmp2_i32);\n\n tcg_gen_extr_i64_tl(cpu_regs[R_EAX], cpu_regs[R_EDX], cpu_tmp1_i64);\n\n break;\n\n case 0xef: /* wrpkru */\n\n if (prefixes & PREFIX_LOCK) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_concat_tl_i64(cpu_tmp1_i64, cpu_regs[R_EAX],\n\n cpu_regs[R_EDX]);\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_regs[R_ECX]);\n\n gen_helper_wrpkru(cpu_env, cpu_tmp2_i32, cpu_tmp1_i64);\n\n break;\n\n CASE_MODRM_OP(6): /* lmsw */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_WRITE_CR0);\n\n gen_ldst_modrm(env, s, modrm, MO_16, OR_TMP0, 0);\n\n gen_helper_lmsw(cpu_env, cpu_T0);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(7): /* invlpg */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n gen_lea_modrm(env, s, modrm);\n\n gen_helper_invlpg(cpu_env, cpu_A0);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n break;\n\n\n\n case 0xf8: /* swapgs */\n\n#ifdef TARGET_X86_64\n\n if (CODE64(s)) {\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n tcg_gen_mov_tl(cpu_T0, cpu_seg_base[R_GS]);\n\n tcg_gen_ld_tl(cpu_seg_base[R_GS], cpu_env,\n\n offsetof(CPUX86State, kernelgsbase));\n\n tcg_gen_st_tl(cpu_T0, cpu_env,\n\n offsetof(CPUX86State, kernelgsbase));\n\n }\n\n break;\n\n }\n\n#endif\n\n goto illegal_op;\n\n\n\n case 0xf9: /* rdtscp */\n\n if (!(s->cpuid_ext2_features & CPUID_EXT2_RDTSCP)) {\n\n goto illegal_op;\n\n }\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n }\n\n gen_helper_rdtscp(cpu_env);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n gen_jmp(s, s->pc - s->cs_base);\n\n }\n\n break;\n\n\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n\n\n case 0x108: /* invd */\n\n case 0x109: /* wbinvd */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_svm_check_intercept(s, pc_start, (b & 2) ? SVM_EXIT_INVD : SVM_EXIT_WBINVD);\n\n /* nothing to do */\n\n }\n\n break;\n\n case 0x63: /* arpl or movslS (x86_64) */\n\n#ifdef TARGET_X86_64\n\n if (CODE64(s)) {\n\n int d_ot;\n\n /* d_ot is the size of destination */\n\n d_ot = dflag;\n\n\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n mod = (modrm >> 6) & 3;\n\n rm = (modrm & 7) | REX_B(s);\n\n\n\n if (mod == 3) {\n\n gen_op_mov_v_reg(MO_32, cpu_T0, rm);\n\n /* sign extend */\n\n if (d_ot == MO_64) {\n\n tcg_gen_ext32s_tl(cpu_T0, cpu_T0);\n\n }\n\n gen_op_mov_reg_v(d_ot, reg, cpu_T0);\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, MO_32 | MO_SIGN, cpu_T0, cpu_A0);\n\n gen_op_mov_reg_v(d_ot, reg, cpu_T0);\n\n }\n\n } else\n\n#endif\n\n {\n\n TCGLabel *label1;\n\n TCGv t0, t1, t2, a0;\n\n\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n t0 = tcg_temp_local_new();\n\n t1 = tcg_temp_local_new();\n\n t2 = tcg_temp_local_new();\n\n ot = MO_16;\n\n modrm = x86_ldub_code(env, s);\n\n reg = (modrm >> 3) & 7;\n\n mod = (modrm >> 6) & 3;\n\n rm = modrm & 7;\n\n if (mod != 3) {\n\n gen_lea_modrm(env, s, modrm);\n\n gen_op_ld_v(s, ot, t0, cpu_A0);\n\n a0 = tcg_temp_local_new();\n\n tcg_gen_mov_tl(a0, cpu_A0);\n\n } else {\n\n gen_op_mov_v_reg(ot, t0, rm);\n\n TCGV_UNUSED(a0);\n\n }\n\n gen_op_mov_v_reg(ot, t1, reg);\n\n tcg_gen_andi_tl(cpu_tmp0, t0, 3);\n\n tcg_gen_andi_tl(t1, t1, 3);\n\n tcg_gen_movi_tl(t2, 0);\n\n label1 = gen_new_label();\n\n tcg_gen_brcond_tl(TCG_COND_GE, cpu_tmp0, t1, label1);\n\n tcg_gen_andi_tl(t0, t0, ~3);\n\n tcg_gen_or_tl(t0, t0, t1);\n\n tcg_gen_movi_tl(t2, CC_Z);\n\n gen_set_label(label1);\n\n if (mod != 3) {\n\n gen_op_st_v(s, ot, t0, a0);\n\n tcg_temp_free(a0);\n\n } else {\n\n gen_op_mov_reg_v(ot, rm, t0);\n\n }\n\n gen_compute_eflags(s);\n\n tcg_gen_andi_tl(cpu_cc_src, cpu_cc_src, ~CC_Z);\n\n tcg_gen_or_tl(cpu_cc_src, cpu_cc_src, t2);\n\n tcg_temp_free(t0);\n\n tcg_temp_free(t1);\n\n tcg_temp_free(t2);\n\n }\n\n break;\n\n case 0x102: /* lar */\n\n case 0x103: /* lsl */\n\n {\n\n TCGLabel *label1;\n\n TCGv t0;\n\n if (!s->pe || s->vm86)\n\n goto illegal_op;\n\n ot = dflag != MO_16 ? MO_32 : MO_16;\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n gen_ldst_modrm(env, s, modrm, MO_16, OR_TMP0, 0);\n\n t0 = tcg_temp_local_new();\n\n gen_update_cc_op(s);\n\n if (b == 0x102) {\n\n gen_helper_lar(t0, cpu_env, cpu_T0);\n\n } else {\n\n gen_helper_lsl(t0, cpu_env, cpu_T0);\n\n }\n\n tcg_gen_andi_tl(cpu_tmp0, cpu_cc_src, CC_Z);\n\n label1 = gen_new_label();\n\n tcg_gen_brcondi_tl(TCG_COND_EQ, cpu_tmp0, 0, label1);\n\n gen_op_mov_reg_v(ot, reg, t0);\n\n gen_set_label(label1);\n\n set_cc_op(s, CC_OP_EFLAGS);\n\n tcg_temp_free(t0);\n\n }\n\n break;\n\n case 0x118:\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n op = (modrm >> 3) & 7;\n\n switch(op) {\n\n case 0: /* prefetchnta */\n\n case 1: /* prefetchnt0 */\n\n case 2: /* prefetchnt0 */\n\n case 3: /* prefetchnt0 */\n\n if (mod == 3)\n\n goto illegal_op;\n\n gen_nop_modrm(env, s, modrm);\n\n /* nothing more to do */\n\n break;\n\n default: /* nop (multi byte) */\n\n gen_nop_modrm(env, s, modrm);\n\n break;\n\n }\n\n break;\n\n case 0x11a:\n\n modrm = x86_ldub_code(env, s);\n\n if (s->flags & HF_MPX_EN_MASK) {\n\n mod = (modrm >> 6) & 3;\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n if (prefixes & PREFIX_REPZ) {\n\n /* bndcl */\n\n if (reg >= 4\n\n || (prefixes & PREFIX_LOCK)\n\n || s->aflag == MO_16) {\n\n goto illegal_op;\n\n }\n\n gen_bndck(env, s, modrm, TCG_COND_LTU, cpu_bndl[reg]);\n\n } else if (prefixes & PREFIX_REPNZ) {\n\n /* bndcu */\n\n if (reg >= 4\n\n || (prefixes & PREFIX_LOCK)\n\n || s->aflag == MO_16) {\n\n goto illegal_op;\n\n }\n\n TCGv_i64 notu = tcg_temp_new_i64();\n\n tcg_gen_not_i64(notu, cpu_bndu[reg]);\n\n gen_bndck(env, s, modrm, TCG_COND_GTU, notu);\n\n tcg_temp_free_i64(notu);\n\n } else if (prefixes & PREFIX_DATA) {\n\n /* bndmov -- from reg/mem */\n\n if (reg >= 4 || s->aflag == MO_16) {\n\n goto illegal_op;\n\n }\n\n if (mod == 3) {\n\n int reg2 = (modrm & 7) | REX_B(s);\n\n if (reg2 >= 4 || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n if (s->flags & HF_MPX_IU_MASK) {\n\n tcg_gen_mov_i64(cpu_bndl[reg], cpu_bndl[reg2]);\n\n tcg_gen_mov_i64(cpu_bndu[reg], cpu_bndu[reg2]);\n\n }\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n if (CODE64(s)) {\n\n tcg_gen_qemu_ld_i64(cpu_bndl[reg], cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n tcg_gen_addi_tl(cpu_A0, cpu_A0, 8);\n\n tcg_gen_qemu_ld_i64(cpu_bndu[reg], cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n } else {\n\n tcg_gen_qemu_ld_i64(cpu_bndl[reg], cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n tcg_gen_addi_tl(cpu_A0, cpu_A0, 4);\n\n tcg_gen_qemu_ld_i64(cpu_bndu[reg], cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n }\n\n /* bnd registers are now in-use */\n\n gen_set_hflag(s, HF_MPX_IU_MASK);\n\n }\n\n } else if (mod != 3) {\n\n /* bndldx */\n\n AddressParts a = gen_lea_modrm_0(env, s, modrm);\n\n if (reg >= 4\n\n || (prefixes & PREFIX_LOCK)\n\n || s->aflag == MO_16\n\n || a.base < -1) {\n\n goto illegal_op;\n\n }\n\n if (a.base >= 0) {\n\n tcg_gen_addi_tl(cpu_A0, cpu_regs[a.base], a.disp);\n\n } else {\n\n tcg_gen_movi_tl(cpu_A0, 0);\n\n }\n\n gen_lea_v_seg(s, s->aflag, cpu_A0, a.def_seg, s->override);\n\n if (a.index >= 0) {\n\n tcg_gen_mov_tl(cpu_T0, cpu_regs[a.index]);\n\n } else {\n\n tcg_gen_movi_tl(cpu_T0, 0);\n\n }\n\n if (CODE64(s)) {\n\n gen_helper_bndldx64(cpu_bndl[reg], cpu_env, cpu_A0, cpu_T0);\n\n tcg_gen_ld_i64(cpu_bndu[reg], cpu_env,\n\n offsetof(CPUX86State, mmx_t0.MMX_Q(0)));\n\n } else {\n\n gen_helper_bndldx32(cpu_bndu[reg], cpu_env, cpu_A0, cpu_T0);\n\n tcg_gen_ext32u_i64(cpu_bndl[reg], cpu_bndu[reg]);\n\n tcg_gen_shri_i64(cpu_bndu[reg], cpu_bndu[reg], 32);\n\n }\n\n gen_set_hflag(s, HF_MPX_IU_MASK);\n\n }\n\n }\n\n gen_nop_modrm(env, s, modrm);\n\n break;\n\n case 0x11b:\n\n modrm = x86_ldub_code(env, s);\n\n if (s->flags & HF_MPX_EN_MASK) {\n\n mod = (modrm >> 6) & 3;\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n if (mod != 3 && (prefixes & PREFIX_REPZ)) {\n\n /* bndmk */\n\n if (reg >= 4\n\n || (prefixes & PREFIX_LOCK)\n\n || s->aflag == MO_16) {\n\n goto illegal_op;\n\n }\n\n AddressParts a = gen_lea_modrm_0(env, s, modrm);\n\n if (a.base >= 0) {\n\n tcg_gen_extu_tl_i64(cpu_bndl[reg], cpu_regs[a.base]);\n\n if (!CODE64(s)) {\n\n tcg_gen_ext32u_i64(cpu_bndl[reg], cpu_bndl[reg]);\n\n }\n\n } else if (a.base == -1) {\n\n /* no base register has lower bound of 0 */\n\n tcg_gen_movi_i64(cpu_bndl[reg], 0);\n\n } else {\n\n /* rip-relative generates #ud */\n\n goto illegal_op;\n\n }\n\n tcg_gen_not_tl(cpu_A0, gen_lea_modrm_1(a));\n\n if (!CODE64(s)) {\n\n tcg_gen_ext32u_tl(cpu_A0, cpu_A0);\n\n }\n\n tcg_gen_extu_tl_i64(cpu_bndu[reg], cpu_A0);\n\n /* bnd registers are now in-use */\n\n gen_set_hflag(s, HF_MPX_IU_MASK);\n\n break;\n\n } else if (prefixes & PREFIX_REPNZ) {\n\n /* bndcn */\n\n if (reg >= 4\n\n || (prefixes & PREFIX_LOCK)\n\n || s->aflag == MO_16) {\n\n goto illegal_op;\n\n }\n\n gen_bndck(env, s, modrm, TCG_COND_GTU, cpu_bndu[reg]);\n\n } else if (prefixes & PREFIX_DATA) {\n\n /* bndmov -- to reg/mem */\n\n if (reg >= 4 || s->aflag == MO_16) {\n\n goto illegal_op;\n\n }\n\n if (mod == 3) {\n\n int reg2 = (modrm & 7) | REX_B(s);\n\n if (reg2 >= 4 || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n if (s->flags & HF_MPX_IU_MASK) {\n\n tcg_gen_mov_i64(cpu_bndl[reg2], cpu_bndl[reg]);\n\n tcg_gen_mov_i64(cpu_bndu[reg2], cpu_bndu[reg]);\n\n }\n\n } else {\n\n gen_lea_modrm(env, s, modrm);\n\n if (CODE64(s)) {\n\n tcg_gen_qemu_st_i64(cpu_bndl[reg], cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n tcg_gen_addi_tl(cpu_A0, cpu_A0, 8);\n\n tcg_gen_qemu_st_i64(cpu_bndu[reg], cpu_A0,\n\n s->mem_index, MO_LEQ);\n\n } else {\n\n tcg_gen_qemu_st_i64(cpu_bndl[reg], cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n tcg_gen_addi_tl(cpu_A0, cpu_A0, 4);\n\n tcg_gen_qemu_st_i64(cpu_bndu[reg], cpu_A0,\n\n s->mem_index, MO_LEUL);\n\n }\n\n }\n\n } else if (mod != 3) {\n\n /* bndstx */\n\n AddressParts a = gen_lea_modrm_0(env, s, modrm);\n\n if (reg >= 4\n\n || (prefixes & PREFIX_LOCK)\n\n || s->aflag == MO_16\n\n || a.base < -1) {\n\n goto illegal_op;\n\n }\n\n if (a.base >= 0) {\n\n tcg_gen_addi_tl(cpu_A0, cpu_regs[a.base], a.disp);\n\n } else {\n\n tcg_gen_movi_tl(cpu_A0, 0);\n\n }\n\n gen_lea_v_seg(s, s->aflag, cpu_A0, a.def_seg, s->override);\n\n if (a.index >= 0) {\n\n tcg_gen_mov_tl(cpu_T0, cpu_regs[a.index]);\n\n } else {\n\n tcg_gen_movi_tl(cpu_T0, 0);\n\n }\n\n if (CODE64(s)) {\n\n gen_helper_bndstx64(cpu_env, cpu_A0, cpu_T0,\n\n cpu_bndl[reg], cpu_bndu[reg]);\n\n } else {\n\n gen_helper_bndstx32(cpu_env, cpu_A0, cpu_T0,\n\n cpu_bndl[reg], cpu_bndu[reg]);\n\n }\n\n }\n\n }\n\n gen_nop_modrm(env, s, modrm);\n\n break;\n\n case 0x119: case 0x11c ... 0x11f: /* nop (multi byte) */\n\n modrm = x86_ldub_code(env, s);\n\n gen_nop_modrm(env, s, modrm);\n\n break;\n\n case 0x120: /* mov reg, crN */\n\n case 0x122: /* mov crN, reg */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n modrm = x86_ldub_code(env, s);\n\n /* Ignore the mod bits (assume (modrm&0xc0)==0xc0).\n\n * AMD documentation (24594.pdf) and testing of\n\n * intel 386 and 486 processors all show that the mod bits\n\n * are assumed to be 1's, regardless of actual values.\n\n */\n\n rm = (modrm & 7) | REX_B(s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n if (CODE64(s))\n\n ot = MO_64;\n\n else\n\n ot = MO_32;\n\n if ((prefixes & PREFIX_LOCK) && (reg == 0) &&\n\n (s->cpuid_ext3_features & CPUID_EXT3_CR8LEG)) {\n\n reg = 8;\n\n }\n\n switch(reg) {\n\n case 0:\n\n case 2:\n\n case 3:\n\n case 4:\n\n case 8:\n\n gen_update_cc_op(s);\n\n gen_jmp_im(pc_start - s->cs_base);\n\n if (b & 2) {\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n }\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n gen_helper_write_crN(cpu_env, tcg_const_i32(reg),\n\n cpu_T0);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n }\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n } else {\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_start();\n\n }\n\n gen_helper_read_crN(cpu_T0, cpu_env, tcg_const_i32(reg));\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n if (s->base.tb->cflags & CF_USE_ICOUNT) {\n\n gen_io_end();\n\n }\n\n }\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n }\n\n break;\n\n case 0x121: /* mov reg, drN */\n\n case 0x123: /* mov drN, reg */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n modrm = x86_ldub_code(env, s);\n\n /* Ignore the mod bits (assume (modrm&0xc0)==0xc0).\n\n * AMD documentation (24594.pdf) and testing of\n\n * intel 386 and 486 processors all show that the mod bits\n\n * are assumed to be 1's, regardless of actual values.\n\n */\n\n rm = (modrm & 7) | REX_B(s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n if (CODE64(s))\n\n ot = MO_64;\n\n else\n\n ot = MO_32;\n\n if (reg >= 8) {\n\n goto illegal_op;\n\n }\n\n if (b & 2) {\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_WRITE_DR0 + reg);\n\n gen_op_mov_v_reg(ot, cpu_T0, rm);\n\n tcg_gen_movi_i32(cpu_tmp2_i32, reg);\n\n gen_helper_set_dr(cpu_env, cpu_tmp2_i32, cpu_T0);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n } else {\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_READ_DR0 + reg);\n\n tcg_gen_movi_i32(cpu_tmp2_i32, reg);\n\n gen_helper_get_dr(cpu_T0, cpu_env, cpu_tmp2_i32);\n\n gen_op_mov_reg_v(ot, rm, cpu_T0);\n\n }\n\n }\n\n break;\n\n case 0x106: /* clts */\n\n if (s->cpl != 0) {\n\n gen_exception(s, EXCP0D_GPF, pc_start - s->cs_base);\n\n } else {\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_WRITE_CR0);\n\n gen_helper_clts(cpu_env);\n\n /* abort block because static cpu state changed */\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n }\n\n break;\n\n /* MMX/3DNow!/SSE/SSE2/SSE3/SSSE3/SSE4 support */\n\n case 0x1c3: /* MOVNTI reg, mem */\n\n if (!(s->cpuid_features & CPUID_SSE2))\n\n goto illegal_op;\n\n ot = mo_64_32(dflag);\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n if (mod == 3)\n\n goto illegal_op;\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n /* generate a generic store */\n\n gen_ldst_modrm(env, s, modrm, ot, reg, 1);\n\n break;\n\n case 0x1ae:\n\n modrm = x86_ldub_code(env, s);\n\n switch (modrm) {\n\n CASE_MODRM_MEM_OP(0): /* fxsave */\n\n if (!(s->cpuid_features & CPUID_FXSR)\n\n || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n if ((s->flags & HF_EM_MASK) || (s->flags & HF_TS_MASK)) {\n\n gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n gen_helper_fxsave(cpu_env, cpu_A0);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(1): /* fxrstor */\n\n if (!(s->cpuid_features & CPUID_FXSR)\n\n || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n if ((s->flags & HF_EM_MASK) || (s->flags & HF_TS_MASK)) {\n\n gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n gen_helper_fxrstor(cpu_env, cpu_A0);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(2): /* ldmxcsr */\n\n if ((s->flags & HF_EM_MASK) || !(s->flags & HF_OSFXSR_MASK)) {\n\n goto illegal_op;\n\n }\n\n if (s->flags & HF_TS_MASK) {\n\n gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_qemu_ld_i32(cpu_tmp2_i32, cpu_A0, s->mem_index, MO_LEUL);\n\n gen_helper_ldmxcsr(cpu_env, cpu_tmp2_i32);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(3): /* stmxcsr */\n\n if ((s->flags & HF_EM_MASK) || !(s->flags & HF_OSFXSR_MASK)) {\n\n goto illegal_op;\n\n }\n\n if (s->flags & HF_TS_MASK) {\n\n gen_exception(s, EXCP07_PREX, pc_start - s->cs_base);\n\n break;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_ld32u_tl(cpu_T0, cpu_env, offsetof(CPUX86State, mxcsr));\n\n gen_op_st_v(s, MO_32, cpu_T0, cpu_A0);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(4): /* xsave */\n\n if ((s->cpuid_ext_features & CPUID_EXT_XSAVE) == 0\n\n || (prefixes & (PREFIX_LOCK | PREFIX_DATA\n\n | PREFIX_REPZ | PREFIX_REPNZ))) {\n\n goto illegal_op;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_concat_tl_i64(cpu_tmp1_i64, cpu_regs[R_EAX],\n\n cpu_regs[R_EDX]);\n\n gen_helper_xsave(cpu_env, cpu_A0, cpu_tmp1_i64);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(5): /* xrstor */\n\n if ((s->cpuid_ext_features & CPUID_EXT_XSAVE) == 0\n\n || (prefixes & (PREFIX_LOCK | PREFIX_DATA\n\n | PREFIX_REPZ | PREFIX_REPNZ))) {\n\n goto illegal_op;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_concat_tl_i64(cpu_tmp1_i64, cpu_regs[R_EAX],\n\n cpu_regs[R_EDX]);\n\n gen_helper_xrstor(cpu_env, cpu_A0, cpu_tmp1_i64);\n\n /* XRSTOR is how MPX is enabled, which changes how\n\n we translate. Thus we need to end the TB. */\n\n gen_update_cc_op(s);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_eob(s);\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(6): /* xsaveopt / clwb */\n\n if (prefixes & PREFIX_LOCK) {\n\n goto illegal_op;\n\n }\n\n if (prefixes & PREFIX_DATA) {\n\n /* clwb */\n\n if (!(s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_CLWB)) {\n\n goto illegal_op;\n\n }\n\n gen_nop_modrm(env, s, modrm);\n\n } else {\n\n /* xsaveopt */\n\n if ((s->cpuid_ext_features & CPUID_EXT_XSAVE) == 0\n\n || (s->cpuid_xsave_features & CPUID_XSAVE_XSAVEOPT) == 0\n\n || (prefixes & (PREFIX_REPZ | PREFIX_REPNZ))) {\n\n goto illegal_op;\n\n }\n\n gen_lea_modrm(env, s, modrm);\n\n tcg_gen_concat_tl_i64(cpu_tmp1_i64, cpu_regs[R_EAX],\n\n cpu_regs[R_EDX]);\n\n gen_helper_xsaveopt(cpu_env, cpu_A0, cpu_tmp1_i64);\n\n }\n\n break;\n\n\n\n CASE_MODRM_MEM_OP(7): /* clflush / clflushopt */\n\n if (prefixes & PREFIX_LOCK) {\n\n goto illegal_op;\n\n }\n\n if (prefixes & PREFIX_DATA) {\n\n /* clflushopt */\n\n if (!(s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_CLFLUSHOPT)) {\n\n goto illegal_op;\n\n }\n\n } else {\n\n /* clflush */\n\n if ((s->prefix & (PREFIX_REPZ | PREFIX_REPNZ))\n\n || !(s->cpuid_features & CPUID_CLFLUSH)) {\n\n goto illegal_op;\n\n }\n\n }\n\n gen_nop_modrm(env, s, modrm);\n\n break;\n\n\n\n case 0xc0 ... 0xc7: /* rdfsbase (f3 0f ae /0) */\n\n case 0xc8 ... 0xcf: /* rdgsbase (f3 0f ae /1) */\n\n case 0xd0 ... 0xd7: /* wrfsbase (f3 0f ae /2) */\n\n case 0xd8 ... 0xdf: /* wrgsbase (f3 0f ae /3) */\n\n if (CODE64(s)\n\n && (prefixes & PREFIX_REPZ)\n\n && !(prefixes & PREFIX_LOCK)\n\n && (s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_FSGSBASE)) {\n\n TCGv base, treg, src, dst;\n\n\n\n /* Preserve hflags bits by testing CR4 at runtime. */\n\n tcg_gen_movi_i32(cpu_tmp2_i32, CR4_FSGSBASE_MASK);\n\n gen_helper_cr4_testbit(cpu_env, cpu_tmp2_i32);\n\n\n\n base = cpu_seg_base[modrm & 8 ? R_GS : R_FS];\n\n treg = cpu_regs[(modrm & 7) | REX_B(s)];\n\n\n\n if (modrm & 0x10) {\n\n /* wr*base */\n\n dst = base, src = treg;\n\n } else {\n\n /* rd*base */\n\n dst = treg, src = base;\n\n }\n\n\n\n if (s->dflag == MO_32) {\n\n tcg_gen_ext32u_tl(dst, src);\n\n } else {\n\n tcg_gen_mov_tl(dst, src);\n\n }\n\n break;\n\n }\n\n goto unknown_op;\n\n\n\n case 0xf8: /* sfence / pcommit */\n\n if (prefixes & PREFIX_DATA) {\n\n /* pcommit */\n\n if (!(s->cpuid_7_0_ebx_features & CPUID_7_0_EBX_PCOMMIT)\n\n || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n break;\n\n }\n\n /* fallthru */\n\n case 0xf9 ... 0xff: /* sfence */\n\n if (!(s->cpuid_features & CPUID_SSE)\n\n || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_mb(TCG_MO_ST_ST | TCG_BAR_SC);\n\n break;\n\n case 0xe8 ... 0xef: /* lfence */\n\n if (!(s->cpuid_features & CPUID_SSE)\n\n || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_mb(TCG_MO_LD_LD | TCG_BAR_SC);\n\n break;\n\n case 0xf0 ... 0xf7: /* mfence */\n\n if (!(s->cpuid_features & CPUID_SSE2)\n\n || (prefixes & PREFIX_LOCK)) {\n\n goto illegal_op;\n\n }\n\n tcg_gen_mb(TCG_MO_ALL | TCG_BAR_SC);\n\n break;\n\n\n\n default:\n\n goto unknown_op;\n\n }\n\n break;\n\n\n\n case 0x10d: /* 3DNow! prefetch(w) */\n\n modrm = x86_ldub_code(env, s);\n\n mod = (modrm >> 6) & 3;\n\n if (mod == 3)\n\n goto illegal_op;\n\n gen_nop_modrm(env, s, modrm);\n\n break;\n\n case 0x1aa: /* rsm */\n\n gen_svm_check_intercept(s, pc_start, SVM_EXIT_RSM);\n\n if (!(s->flags & HF_SMM_MASK))\n\n goto illegal_op;\n\n gen_update_cc_op(s);\n\n gen_jmp_im(s->pc - s->cs_base);\n\n gen_helper_rsm(cpu_env);\n\n gen_eob(s);\n\n break;\n\n case 0x1b8: /* SSE4.2 popcnt */\n\n if ((prefixes & (PREFIX_REPZ | PREFIX_LOCK | PREFIX_REPNZ)) !=\n\n PREFIX_REPZ)\n\n goto illegal_op;\n\n if (!(s->cpuid_ext_features & CPUID_EXT_POPCNT))\n\n goto illegal_op;\n\n\n\n modrm = x86_ldub_code(env, s);\n\n reg = ((modrm >> 3) & 7) | rex_r;\n\n\n\n if (s->prefix & PREFIX_DATA) {\n\n ot = MO_16;\n\n } else {\n\n ot = mo_64_32(dflag);\n\n }\n\n\n\n gen_ldst_modrm(env, s, modrm, ot, OR_TMP0, 0);\n\n gen_extu(ot, cpu_T0);\n\n tcg_gen_mov_tl(cpu_cc_src, cpu_T0);\n\n tcg_gen_ctpop_tl(cpu_T0, cpu_T0);\n\n gen_op_mov_reg_v(ot, reg, cpu_T0);\n\n\n\n set_cc_op(s, CC_OP_POPCNT);\n\n break;\n\n case 0x10e ... 0x10f:\n\n /* 3DNow! instructions, ignore prefixes */\n\n s->prefix &= ~(PREFIX_REPZ | PREFIX_REPNZ | PREFIX_DATA);\n\n case 0x110 ... 0x117:\n\n case 0x128 ... 0x12f:\n\n case 0x138 ... 0x13a:\n\n case 0x150 ... 0x179:\n\n case 0x17c ... 0x17f:\n\n case 0x1c2:\n\n case 0x1c4 ... 0x1c6:\n\n case 0x1d0 ... 0x1fe:\n\n gen_sse(env, s, b, pc_start, rex_r);\n\n break;\n\n default:\n\n goto unknown_op;\n\n }\n\n return s->pc;\n\n illegal_op:\n\n gen_illegal_opcode(s);\n\n return s->pc;\n\n unknown_op:\n\n gen_unknown_opcode(env, s);\n\n return s->pc;\n\n}\n", "idx": 569}54{"project": "qemu", "commit_id": "b93c94f7ec74a577a0f74c724e8d251f01eaf65a", "target": 1, "func": "static int iscsi_open(BlockDriverState *bs, const char *filename, int flags)\n\n{\n\n IscsiLun *iscsilun = bs->opaque;\n\n struct iscsi_context *iscsi = NULL;\n\n struct iscsi_url *iscsi_url = NULL;\n\n struct IscsiTask task;\n\n char *initiator_name = NULL;\n\n int ret;\n\n\n\n if ((BDRV_SECTOR_SIZE % 512) != 0) {\n\n error_report(\"iSCSI: Invalid BDRV_SECTOR_SIZE. \"\n\n \"BDRV_SECTOR_SIZE(%lld) is not a multiple \"\n\n \"of 512\", BDRV_SECTOR_SIZE);\n\n return -EINVAL;\n\n }\n\n\n\n iscsi_url = iscsi_parse_full_url(iscsi, filename);\n\n if (iscsi_url == NULL) {\n\n error_report(\"Failed to parse URL : %s %s\", filename,\n\n iscsi_get_error(iscsi));\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n\n\n memset(iscsilun, 0, sizeof(IscsiLun));\n\n\n\n initiator_name = parse_initiator_name(iscsi_url->target);\n\n\n\n iscsi = iscsi_create_context(initiator_name);\n\n if (iscsi == NULL) {\n\n error_report(\"iSCSI: Failed to create iSCSI context.\");\n\n ret = -ENOMEM;\n\n goto failed;\n\n }\n\n\n\n if (iscsi_set_targetname(iscsi, iscsi_url->target)) {\n\n error_report(\"iSCSI: Failed to set target name.\");\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n\n\n if (iscsi_url->user != NULL) {\n\n ret = iscsi_set_initiator_username_pwd(iscsi, iscsi_url->user,\n\n iscsi_url->passwd);\n\n if (ret != 0) {\n\n error_report(\"Failed to set initiator username and password\");\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n }\n\n\n\n /* check if we got CHAP username/password via the options */\n\n if (parse_chap(iscsi, iscsi_url->target) != 0) {\n\n error_report(\"iSCSI: Failed to set CHAP user/password\");\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n\n\n if (iscsi_set_session_type(iscsi, ISCSI_SESSION_NORMAL) != 0) {\n\n error_report(\"iSCSI: Failed to set session type to normal.\");\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n\n\n iscsi_set_header_digest(iscsi, ISCSI_HEADER_DIGEST_NONE_CRC32C);\n\n\n\n /* check if we got HEADER_DIGEST via the options */\n\n parse_header_digest(iscsi, iscsi_url->target);\n\n\n\n task.iscsilun = iscsilun;\n\n task.status = 0;\n\n task.complete = 0;\n\n task.bs = bs;\n\n\n\n iscsilun->iscsi = iscsi;\n\n iscsilun->lun = iscsi_url->lun;\n\n\n\n if (iscsi_full_connect_async(iscsi, iscsi_url->portal, iscsi_url->lun,\n\n iscsi_connect_cb, &task)\n\n != 0) {\n\n error_report(\"iSCSI: Failed to start async connect.\");\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n\n\n while (!task.complete) {\n\n iscsi_set_events(iscsilun);\n\n qemu_aio_wait();\n\n }\n\n if (task.status != 0) {\n\n error_report(\"iSCSI: Failed to connect to LUN : %s\",\n\n iscsi_get_error(iscsi));\n\n ret = -EINVAL;\n\n goto failed;\n\n }\n\n\n\n if (iscsi_url != NULL) {\n\n iscsi_destroy_url(iscsi_url);\n\n }\n\n\n\n /* Medium changer or tape. We dont have any emulation for this so this must\n\n * be sg ioctl compatible. We force it to be sg, otherwise qemu will try\n\n * to read from the device to guess the image format.\n\n */\n\n if (iscsilun->type == TYPE_MEDIUM_CHANGER ||\n\n iscsilun->type == TYPE_TAPE) {\n\n bs->sg = 1;\n\n }\n\n\n\n return 0;\n\n\n\nfailed:\n\n if (initiator_name != NULL) {\n\n g_free(initiator_name);\n\n }\n\n if (iscsi_url != NULL) {\n\n iscsi_destroy_url(iscsi_url);\n\n }\n\n if (iscsi != NULL) {\n\n iscsi_destroy_context(iscsi);\n\n }\n\n memset(iscsilun, 0, sizeof(IscsiLun));\n\n return ret;\n\n}\n", "idx": 572}55{"project": "qemu", "commit_id": "b9f7c377df4f04e9119cb0e917438dd37ef34029", "target": 1, "func": "static void vmxnet3_rx_need_csum_calculate(struct VmxnetRxPkt *pkt,\n\n const void *pkt_data,\n\n size_t pkt_len)\n\n{\n\n struct virtio_net_hdr *vhdr;\n\n bool isip4, isip6, istcp, isudp;\n\n uint8_t *data;\n\n int len;\n\n\n\n if (!vmxnet_rx_pkt_has_virt_hdr(pkt)) {\n\n return;\n\n }\n\n\n\n vhdr = vmxnet_rx_pkt_get_vhdr(pkt);\n\n if (!VMXNET_FLAG_IS_SET(vhdr->flags, VIRTIO_NET_HDR_F_NEEDS_CSUM)) {\n\n return;\n\n }\n\n\n\n vmxnet_rx_pkt_get_protocols(pkt, &isip4, &isip6, &isudp, &istcp);\n\n if (!(isip4 || isip6) || !(istcp || isudp)) {\n\n return;\n\n }\n\n\n\n vmxnet3_dump_virt_hdr(vhdr);\n\n\n\n /* Validate packet len: csum_start + scum_offset + length of csum field */\n\n if (pkt_len < (vhdr->csum_start + vhdr->csum_offset + 2)) {\n\n VMW_PKPRN(\"packet len:%d < csum_start(%d) + csum_offset(%d) + 2, \"\n\n \"cannot calculate checksum\",\n\n len, vhdr->csum_start, vhdr->csum_offset);\n\n return;\n\n }\n\n\n\n data = (uint8_t *)pkt_data + vhdr->csum_start;\n\n len = pkt_len - vhdr->csum_start;\n\n /* Put the checksum obtained into the packet */\n\n stw_be_p(data + vhdr->csum_offset, net_raw_checksum(data, len));\n\n\n\n vhdr->flags &= ~VIRTIO_NET_HDR_F_NEEDS_CSUM;\n\n vhdr->flags |= VIRTIO_NET_HDR_F_DATA_VALID;\n\n}\n", "idx": 573}56{"project": "qemu", "commit_id": "635db18f68ded6abec11cd4cf64ebc15c1c6b190", "target": 1, "func": "CommandInfoList *qmp_query_commands(Error **errp)\n\n{\n\n CommandInfoList *list = NULL;\n\n\n\n qmp_for_each_command(&qmp_commands, query_commands_cb, &list);\n\n\n\n return list;\n\n}\n", "idx": 574}57{"project": "FFmpeg", "commit_id": "ca488ad480360dfafcb5766f7bfbb567a0638979", "target": 1, "func": "static int decode_blocks(ALSDecContext *ctx, unsigned int ra_frame,\n\n unsigned int c, const unsigned int *div_blocks,\n\n unsigned int *js_blocks)\n\n{\n\n ALSSpecificConfig *sconf = &ctx->sconf;\n\n unsigned int offset = 0;\n\n unsigned int b;\n\n ALSBlockData bd[2] = { { 0 } };\n\n\n\n bd[0].ra_block = ra_frame;\n\n bd[0].const_block = ctx->const_block;\n\n bd[0].shift_lsbs = ctx->shift_lsbs;\n\n bd[0].opt_order = ctx->opt_order;\n\n bd[0].store_prev_samples = ctx->store_prev_samples;\n\n bd[0].use_ltp = ctx->use_ltp;\n\n bd[0].ltp_lag = ctx->ltp_lag;\n\n bd[0].ltp_gain = ctx->ltp_gain[0];\n\n bd[0].quant_cof = ctx->quant_cof[0];\n\n bd[0].lpc_cof = ctx->lpc_cof[0];\n\n bd[0].prev_raw_samples = ctx->prev_raw_samples;\n\n bd[0].js_blocks = *js_blocks;\n\n\n\n bd[1].ra_block = ra_frame;\n\n bd[1].const_block = ctx->const_block;\n\n bd[1].shift_lsbs = ctx->shift_lsbs;\n\n bd[1].opt_order = ctx->opt_order;\n\n bd[1].store_prev_samples = ctx->store_prev_samples;\n\n bd[1].use_ltp = ctx->use_ltp;\n\n bd[1].ltp_lag = ctx->ltp_lag;\n\n bd[1].ltp_gain = ctx->ltp_gain[0];\n\n bd[1].quant_cof = ctx->quant_cof[0];\n\n bd[1].lpc_cof = ctx->lpc_cof[0];\n\n bd[1].prev_raw_samples = ctx->prev_raw_samples;\n\n bd[1].js_blocks = *(js_blocks + 1);\n\n\n\n // decode all blocks\n\n for (b = 0; b < ctx->num_blocks; b++) {\n\n unsigned int s;\n\n\n\n bd[0].block_length = div_blocks[b];\n\n bd[1].block_length = div_blocks[b];\n\n\n\n bd[0].raw_samples = ctx->raw_samples[c ] + offset;\n\n bd[1].raw_samples = ctx->raw_samples[c + 1] + offset;\n\n\n\n bd[0].raw_other = bd[1].raw_samples;\n\n bd[1].raw_other = bd[0].raw_samples;\n\n\n\n if(read_decode_block(ctx, &bd[0]) || read_decode_block(ctx, &bd[1])) {\n\n // damaged block, write zero for the rest of the frame\n\n zero_remaining(b, ctx->num_blocks, div_blocks, bd[0].raw_samples);\n\n zero_remaining(b, ctx->num_blocks, div_blocks, bd[1].raw_samples);\n\n return -1;\n\n }\n\n\n\n // reconstruct joint-stereo blocks\n\n if (bd[0].js_blocks) {\n\n if (bd[1].js_blocks)\n\n av_log(ctx->avctx, AV_LOG_WARNING, \"Invalid channel pair!\\n\");\n\n\n\n for (s = 0; s < div_blocks[b]; s++)\n\n bd[0].raw_samples[s] = bd[1].raw_samples[s] - bd[0].raw_samples[s];\n\n } else if (bd[1].js_blocks) {\n\n for (s = 0; s < div_blocks[b]; s++)\n\n bd[1].raw_samples[s] = bd[1].raw_samples[s] + bd[0].raw_samples[s];\n\n }\n\n\n\n offset += div_blocks[b];\n\n bd[0].ra_block = 0;\n\n bd[1].ra_block = 0;\n\n }\n\n\n\n // store carryover raw samples,\n\n // the others channel raw samples are stored by the calling function.\n\n memmove(ctx->raw_samples[c] - sconf->max_order,\n\n ctx->raw_samples[c] - sconf->max_order + sconf->frame_length,\n\n sizeof(*ctx->raw_samples[c]) * sconf->max_order);\n\n\n\n return 0;\n\n}\n", "idx": 585}58{"project": "qemu", "commit_id": "71b58b82dac1e1dc5e08a005a14bbcafecbd9e2a", "target": 0, "func": "static int write_f(int argc, char **argv)\n\n{\n\n struct timeval t1, t2;\n\n int Cflag = 0, pflag = 0, qflag = 0, bflag = 0;\n\n int c, cnt;\n\n char *buf;\n\n int64_t offset;\n\n int count;\n\n /* Some compilers get confused and warn if this is not initialized. */\n\n int total = 0;\n\n int pattern = 0xcd;\n\n\n\n while ((c = getopt(argc, argv, \"bCpP:q\")) != EOF) {\n\n switch (c) {\n\n case 'b':\n\n bflag = 1;\n\n break;\n\n case 'C':\n\n Cflag = 1;\n\n break;\n\n case 'p':\n\n pflag = 1;\n\n break;\n\n case 'P':\n\n pattern = parse_pattern(optarg);\n\n if (pattern < 0) {\n\n return 0;\n\n }\n\n break;\n\n case 'q':\n\n qflag = 1;\n\n break;\n\n default:\n\n return command_usage(&write_cmd);\n\n }\n\n }\n\n\n\n if (optind != argc - 2) {\n\n return command_usage(&write_cmd);\n\n }\n\n\n\n if (bflag && pflag) {\n\n printf(\"-b and -p cannot be specified at the same time\\n\");\n\n return 0;\n\n }\n\n\n\n offset = cvtnum(argv[optind]);\n\n if (offset < 0) {\n\n printf(\"non-numeric length argument -- %s\\n\", argv[optind]);\n\n return 0;\n\n }\n\n\n\n optind++;\n\n count = cvtnum(argv[optind]);\n\n if (count < 0) {\n\n printf(\"non-numeric length argument -- %s\\n\", argv[optind]);\n\n return 0;\n\n }\n\n\n\n if (!pflag) {\n\n if (offset & 0x1ff) {\n\n printf(\"offset %\" PRId64 \" is not sector aligned\\n\",\n\n offset);\n\n return 0;\n\n }\n\n\n\n if (count & 0x1ff) {\n\n printf(\"count %d is not sector aligned\\n\",\n\n count);\n\n return 0;\n\n }\n\n }\n\n\n\n buf = qemu_io_alloc(count, pattern);\n\n\n\n gettimeofday(&t1, NULL);\n\n if (pflag) {\n\n cnt = do_pwrite(buf, offset, count, &total);\n\n } else if (bflag) {\n\n cnt = do_save_vmstate(buf, offset, count, &total);\n\n } else {\n\n cnt = do_write(buf, offset, count, &total);\n\n }\n\n gettimeofday(&t2, NULL);\n\n\n\n if (cnt < 0) {\n\n printf(\"write failed: %s\\n\", strerror(-cnt));\n\n goto out;\n\n }\n\n\n\n if (qflag) {\n\n goto out;\n\n }\n\n\n\n /* Finally, report back -- -C gives a parsable format */\n\n t2 = tsub(t2, t1);\n\n print_report(\"wrote\", &t2, offset, count, total, cnt, Cflag);\n\n\n\nout:\n\n qemu_io_free(buf);\n\n\n\n return 0;\n\n}\n", "idx": 599}59{"project": "FFmpeg", "commit_id": "56706ac0d5723cb549fec2602e798ab1bf6004cd", "target": 1, "func": "static int libopenjpeg_copy_packed12(AVCodecContext *avctx, const AVFrame *frame, opj_image_t *image)\n\n{\n\n int compno;\n\n int x, y;\n\n int *image_line;\n\n int frame_index;\n\n const int numcomps = image->numcomps;\n\n uint16_t *frame_ptr = (uint16_t *)frame->data[0];\n\n\n\n for (compno = 0; compno < numcomps; ++compno) {\n\n if (image->comps[compno].w > frame->linesize[0] / numcomps) {\n\n av_log(avctx, AV_LOG_ERROR, \"Error: frame's linesize is too small for the image\\n\");\n\n return 0;\n\n }\n\n }\n\n\n\n for (compno = 0; compno < numcomps; ++compno) {\n\n for (y = 0; y < avctx->height; ++y) {\n\n image_line = image->comps[compno].data + y * image->comps[compno].w;\n\n frame_index = y * (frame->linesize[0] / 2) + compno;\n\n for (x = 0; x < avctx->width; ++x) {\n\n image_line[x] = frame_ptr[frame_index] >> 4;\n\n frame_index += numcomps;\n\n }\n\n for (; x < image->comps[compno].w; ++x) {\n\n image_line[x] = image_line[x - 1];\n\n }\n\n }\n\n for (; y < image->comps[compno].h; ++y) {\n\n image_line = image->comps[compno].data + y * image->comps[compno].w;\n\n for (x = 0; x < image->comps[compno].w; ++x) {\n\n image_line[x] = image_line[x - image->comps[compno].w];\n\n }\n\n }\n\n }\n\n\n\n return 1;\n\n}\n", "idx": 657}60{"project": "FFmpeg", "commit_id": "55815edca038997ec283569a192a3eca7f2143bc", "target": 0, "func": "static void build_feed_streams(void)\n\n{\n\n FFStream *stream, *feed;\n\n int i;\n\n\n\n /* gather all streams */\n\n for(stream = first_stream; stream != NULL; stream = stream->next) {\n\n feed = stream->feed;\n\n if (feed) {\n\n if (!stream->is_feed) {\n\n /* we handle a stream coming from a feed */\n\n for(i=0;i<stream->nb_streams;i++)\n\n stream->feed_streams[i] = add_av_stream(feed, stream->streams[i]);\n\n }\n\n }\n\n }\n\n\n\n /* gather all streams */\n\n for(stream = first_stream; stream != NULL; stream = stream->next) {\n\n feed = stream->feed;\n\n if (feed) {\n\n if (stream->is_feed) {\n\n for(i=0;i<stream->nb_streams;i++)\n\n stream->feed_streams[i] = i;\n\n }\n\n }\n\n }\n\n\n\n /* create feed files if needed */\n\n for(feed = first_feed; feed != NULL; feed = feed->next_feed) {\n\n int fd;\n\n\n\n if (url_exist(feed->feed_filename)) {\n\n /* See if it matches */\n\n AVFormatContext *s;\n\n int matches = 0;\n\n\n\n if (av_open_input_file(&s, feed->feed_filename, NULL, FFM_PACKET_SIZE, NULL) >= 0) {\n\n /* Now see if it matches */\n\n if (s->nb_streams == feed->nb_streams) {\n\n matches = 1;\n\n for(i=0;i<s->nb_streams;i++) {\n\n AVStream *sf, *ss;\n\n sf = feed->streams[i];\n\n ss = s->streams[i];\n\n\n\n if (sf->index != ss->index ||\n\n sf->id != ss->id) {\n\n http_log(\"Index & Id do not match for stream %d (%s)\\n\",\n\n i, feed->feed_filename);\n\n matches = 0;\n\n } else {\n\n AVCodecContext *ccf, *ccs;\n\n\n\n ccf = sf->codec;\n\n ccs = ss->codec;\n\n#define CHECK_CODEC(x) (ccf->x != ccs->x)\n\n\n\n if (CHECK_CODEC(codec_id) || CHECK_CODEC(codec_type)) {\n\n http_log(\"Codecs do not match for stream %d\\n\", i);\n\n matches = 0;\n\n } else if (CHECK_CODEC(bit_rate) || CHECK_CODEC(flags)) {\n\n http_log(\"Codec bitrates do not match for stream %d\\n\", i);\n\n matches = 0;\n\n } else if (ccf->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n if (CHECK_CODEC(time_base.den) ||\n\n CHECK_CODEC(time_base.num) ||\n\n CHECK_CODEC(width) ||\n\n CHECK_CODEC(height)) {\n\n http_log(\"Codec width, height and framerate do not match for stream %d\\n\", i);\n\n matches = 0;\n\n }\n\n } else if (ccf->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n if (CHECK_CODEC(sample_rate) ||\n\n CHECK_CODEC(channels) ||\n\n CHECK_CODEC(frame_size)) {\n\n http_log(\"Codec sample_rate, channels, frame_size do not match for stream %d\\n\", i);\n\n matches = 0;\n\n }\n\n } else {\n\n http_log(\"Unknown codec type\\n\");\n\n matches = 0;\n\n }\n\n }\n\n if (!matches)\n\n break;\n\n }\n\n } else\n\n http_log(\"Deleting feed file '%s' as stream counts differ (%d != %d)\\n\",\n\n feed->feed_filename, s->nb_streams, feed->nb_streams);\n\n\n\n av_close_input_file(s);\n\n } else\n\n http_log(\"Deleting feed file '%s' as it appears to be corrupt\\n\",\n\n feed->feed_filename);\n\n\n\n if (!matches) {\n\n if (feed->readonly) {\n\n http_log(\"Unable to delete feed file '%s' as it is marked readonly\\n\",\n\n feed->feed_filename);\n\n exit(1);\n\n }\n\n unlink(feed->feed_filename);\n\n }\n\n }\n\n if (!url_exist(feed->feed_filename)) {\n\n AVFormatContext s1 = {0}, *s = &s1;\n\n\n\n if (feed->readonly) {\n\n http_log(\"Unable to create feed file '%s' as it is marked readonly\\n\",\n\n feed->feed_filename);\n\n exit(1);\n\n }\n\n\n\n /* only write the header of the ffm file */\n\n if (avio_open(&s->pb, feed->feed_filename, AVIO_FLAG_WRITE) < 0) {\n\n http_log(\"Could not open output feed file '%s'\\n\",\n\n feed->feed_filename);\n\n exit(1);\n\n }\n\n s->oformat = feed->fmt;\n\n s->nb_streams = feed->nb_streams;\n\n for(i=0;i<s->nb_streams;i++) {\n\n AVStream *st;\n\n st = feed->streams[i];\n\n s->streams[i] = st;\n\n }\n\n av_set_parameters(s, NULL);\n\n if (av_write_header(s) < 0) {\n\n http_log(\"Container doesn't supports the required parameters\\n\");\n\n exit(1);\n\n }\n\n /* XXX: need better api */\n\n av_freep(&s->priv_data);\n\n avio_close(s->pb);\n\n }\n\n /* get feed size and write index */\n\n fd = open(feed->feed_filename, O_RDONLY);\n\n if (fd < 0) {\n\n http_log(\"Could not open output feed file '%s'\\n\",\n\n feed->feed_filename);\n\n exit(1);\n\n }\n\n\n\n feed->feed_write_index = FFMAX(ffm_read_write_index(fd), FFM_PACKET_SIZE);\n\n feed->feed_size = lseek(fd, 0, SEEK_END);\n\n /* ensure that we do not wrap before the end of file */\n\n if (feed->feed_max_size && feed->feed_max_size < feed->feed_size)\n\n feed->feed_max_size = feed->feed_size;\n\n\n\n close(fd);\n\n }\n\n}\n", "idx": 666}61{"project": "qemu", "commit_id": "e95e9b88ba5f4a6c17f4d0c3a3a6bf3f648bb328", "target": 1, "func": "static void do_interrupt64(CPUX86State *env, int intno, int is_int,\n\n int error_code, target_ulong next_eip, int is_hw)\n\n{\n\n SegmentCache *dt;\n\n target_ulong ptr;\n\n int type, dpl, selector, cpl, ist;\n\n int has_error_code, new_stack;\n\n uint32_t e1, e2, e3, ss;\n\n target_ulong old_eip, esp, offset;\n\n\n\n has_error_code = 0;\n\n if (!is_int && !is_hw) {\n\n has_error_code = exception_has_error_code(intno);\n\n }\n\n if (is_int) {\n\n old_eip = next_eip;\n\n } else {\n\n old_eip = env->eip;\n\n }\n\n\n\n dt = &env->idt;\n\n if (intno * 16 + 15 > dt->limit) {\n\n raise_exception_err(env, EXCP0D_GPF, intno * 16 + 2);\n\n }\n\n ptr = dt->base + intno * 16;\n\n e1 = cpu_ldl_kernel(env, ptr);\n\n e2 = cpu_ldl_kernel(env, ptr + 4);\n\n e3 = cpu_ldl_kernel(env, ptr + 8);\n\n /* check gate type */\n\n type = (e2 >> DESC_TYPE_SHIFT) & 0x1f;\n\n switch (type) {\n\n case 14: /* 386 interrupt gate */\n\n case 15: /* 386 trap gate */\n\n break;\n\n default:\n\n raise_exception_err(env, EXCP0D_GPF, intno * 16 + 2);\n\n break;\n\n }\n\n dpl = (e2 >> DESC_DPL_SHIFT) & 3;\n\n cpl = env->hflags & HF_CPL_MASK;\n\n /* check privilege if software int */\n\n if (is_int && dpl < cpl) {\n\n raise_exception_err(env, EXCP0D_GPF, intno * 16 + 2);\n\n }\n\n /* check valid bit */\n\n if (!(e2 & DESC_P_MASK)) {\n\n raise_exception_err(env, EXCP0B_NOSEG, intno * 16 + 2);\n\n }\n\n selector = e1 >> 16;\n\n offset = ((target_ulong)e3 << 32) | (e2 & 0xffff0000) | (e1 & 0x0000ffff);\n\n ist = e2 & 7;\n\n if ((selector & 0xfffc) == 0) {\n\n raise_exception_err(env, EXCP0D_GPF, 0);\n\n }\n\n\n\n if (load_segment(env, &e1, &e2, selector) != 0) {\n\n raise_exception_err(env, EXCP0D_GPF, selector & 0xfffc);\n\n }\n\n if (!(e2 & DESC_S_MASK) || !(e2 & (DESC_CS_MASK))) {\n\n raise_exception_err(env, EXCP0D_GPF, selector & 0xfffc);\n\n }\n\n dpl = (e2 >> DESC_DPL_SHIFT) & 3;\n\n if (dpl > cpl) {\n\n raise_exception_err(env, EXCP0D_GPF, selector & 0xfffc);\n\n }\n\n if (!(e2 & DESC_P_MASK)) {\n\n raise_exception_err(env, EXCP0B_NOSEG, selector & 0xfffc);\n\n }\n\n if (!(e2 & DESC_L_MASK) || (e2 & DESC_B_MASK)) {\n\n raise_exception_err(env, EXCP0D_GPF, selector & 0xfffc);\n\n }\n\n if ((!(e2 & DESC_C_MASK) && dpl < cpl) || ist != 0) {\n\n /* to inner privilege */\n\n new_stack = 1;\n\n esp = get_rsp_from_tss(env, ist != 0 ? ist + 3 : dpl);\n\n ss = 0;\n\n } else if ((e2 & DESC_C_MASK) || dpl == cpl) {\n\n /* to same privilege */\n\n if (env->eflags & VM_MASK) {\n\n raise_exception_err(env, EXCP0D_GPF, selector & 0xfffc);\n\n }\n\n new_stack = 0;\n\n esp = env->regs[R_ESP];\n\n dpl = cpl;\n\n } else {\n\n raise_exception_err(env, EXCP0D_GPF, selector & 0xfffc);\n\n new_stack = 0; /* avoid warning */\n\n esp = 0; /* avoid warning */\n\n }\n\n esp &= ~0xfLL; /* align stack */\n\n\n\n PUSHQ(esp, env->segs[R_SS].selector);\n\n PUSHQ(esp, env->regs[R_ESP]);\n\n PUSHQ(esp, cpu_compute_eflags(env));\n\n PUSHQ(esp, env->segs[R_CS].selector);\n\n PUSHQ(esp, old_eip);\n\n if (has_error_code) {\n\n PUSHQ(esp, error_code);\n\n }\n\n\n\n /* interrupt gate clear IF mask */\n\n if ((type & 1) == 0) {\n\n env->eflags &= ~IF_MASK;\n\n }\n\n env->eflags &= ~(TF_MASK | VM_MASK | RF_MASK | NT_MASK);\n\n\n\n if (new_stack) {\n\n ss = 0 | dpl;\n\n cpu_x86_load_seg_cache(env, R_SS, ss, 0, 0, 0);\n\n }\n\n env->regs[R_ESP] = esp;\n\n\n\n selector = (selector & ~3) | dpl;\n\n cpu_x86_load_seg_cache(env, R_CS, selector,\n\n get_seg_base(e1, e2),\n\n get_seg_limit(e1, e2),\n\n e2);\n\n env->eip = offset;\n\n}\n", "idx": 669}62{"project": "FFmpeg", "commit_id": "6e42e6c4b410dbef8b593c2d796a5dad95f89ee4", "target": 1, "func": "void palette8tobgr24(const uint8_t *src, uint8_t *dst, long num_pixels, const uint8_t *palette)\n\n{\n\n\tlong i;\n\n/*\n\n\twrites 1 byte o much and might cause alignment issues on some architectures?\n\n\tfor(i=0; i<num_pixels; i++)\n\n\t\t((unsigned *)(&dst[i*3])) = ((unsigned *)palette)[ src[i] ];\n\n*/\n\n\tfor(i=0; i<num_pixels; i++)\n\n\t{\n\n\t\t//FIXME slow?\n\n\t\tdst[0]= palette[ src[i]*4+0 ];\n\n\t\tdst[1]= palette[ src[i]*4+1 ];\n\n\t\tdst[2]= palette[ src[i]*4+2 ];\n\n\t\tdst+= 3;\n\n\t}\n\n}\n", "idx": 674}63{"project": "FFmpeg", "commit_id": "5cd8afee99c83b62e1474f122d947de7e4ad9ff5", "target": 0, "func": "static inline void codeblock(DiracContext *s, SubBand *b,\n\n GetBitContext *gb, DiracArith *c,\n\n int left, int right, int top, int bottom,\n\n int blockcnt_one, int is_arith)\n\n{\n\n int x, y, zero_block;\n\n int qoffset, qfactor;\n\n IDWTELEM *buf;\n\n\n\n /* check for any coded coefficients in this codeblock */\n\n if (!blockcnt_one) {\n\n if (is_arith)\n\n zero_block = dirac_get_arith_bit(c, CTX_ZERO_BLOCK);\n\n else\n\n zero_block = get_bits1(gb);\n\n\n\n if (zero_block)\n\n return;\n\n }\n\n\n\n if (s->codeblock_mode && !(s->old_delta_quant && blockcnt_one)) {\n\n if (is_arith)\n\n b->quant += dirac_get_arith_int(c, CTX_DELTA_Q_F, CTX_DELTA_Q_DATA);\n\n else\n\n b->quant += dirac_get_se_golomb(gb);\n\n }\n\n\n\n b->quant = FFMIN(b->quant, MAX_QUANT);\n\n\n\n qfactor = qscale_tab[b->quant];\n\n /* TODO: context pointer? */\n\n if (!s->num_refs)\n\n qoffset = qoffset_intra_tab[b->quant];\n\n else\n\n qoffset = qoffset_inter_tab[b->quant];\n\n\n\n buf = b->ibuf + top * b->stride;\n\n for (y = top; y < bottom; y++) {\n\n for (x = left; x < right; x++) {\n\n /* [DIRAC_STD] 13.4.4 Subband coefficients. coeff_unpack() */\n\n if (is_arith)\n\n coeff_unpack_arith(c, qfactor, qoffset, b, buf+x, x, y);\n\n else\n\n buf[x] = coeff_unpack_golomb(gb, qfactor, qoffset);\n\n }\n\n buf += b->stride;\n\n }\n\n}\n", "idx": 677}64{"project": "FFmpeg", "commit_id": "d58a6d8537a6f34941973c5c3be93d484a4d62ed", "target": 1, "func": "static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){\n\n FFV1Context *f = avctx->priv_data;\n\n CABACContext * const c= &f->c;\n\n AVFrame *pict = data;\n\n const int width= f->width;\n\n const int height= f->height;\n\n AVFrame * const p= &f->picture;\n\n int used_count= 0;\n\n\n\n if(avctx->strict_std_compliance >= 0){\n\n av_log(avctx, AV_LOG_ERROR, \"this codec is under development, files encoded with it wont be decodeable with future versions!!!\\n\"\n\n \"use vstrict=-1 to use it anyway\\n\");\n\n return -1;\n\n }\n\n \n\n ff_init_cabac_encoder(c, buf, buf_size);\n\n ff_init_cabac_states(c, ff_h264_lps_range, ff_h264_mps_state, ff_h264_lps_state, 64);\n\n c->lps_state[2] = 1;\n\n c->lps_state[3] = 0;\n\n \n\n *p = *pict;\n\n p->pict_type= FF_I_TYPE;\n\n \n\n if(avctx->gop_size==0 || f->picture_number % avctx->gop_size == 0){\n\n put_cabac_bypass(c, 1);\n\n p->key_frame= 1;\n\n write_header(f);\n\n clear_state(f);\n\n }else{\n\n put_cabac_bypass(c, 0);\n\n p->key_frame= 0;\n\n }\n\n\n\n if(!f->ac){\n\n used_count += put_cabac_terminate(c, 1);\n\n//printf(\"pos=%d\\n\", used_count);\n\n init_put_bits(&f->pb, buf + used_count, buf_size - used_count);\n\n }\n\n \n\n if(f->colorspace==0){\n\n const int chroma_width = -((-width )>>f->chroma_h_shift);\n\n const int chroma_height= -((-height)>>f->chroma_v_shift);\n\n\n\n encode_plane(f, p->data[0], width, height, p->linesize[0], 0);\n\n\n\n encode_plane(f, p->data[1], chroma_width, chroma_height, p->linesize[1], 1);\n\n encode_plane(f, p->data[2], chroma_width, chroma_height, p->linesize[2], 1);\n\n }else{\n\n encode_rgb_frame(f, (uint32_t*)(p->data[0]), width, height, p->linesize[0]/4);\n\n }\n\n emms_c();\n\n \n\n f->picture_number++;\n\n\n\n if(f->ac){\n\n return put_cabac_terminate(c, 1);\n\n }else{\n\n flush_put_bits(&f->pb); //nicer padding FIXME\n\n return used_count + (put_bits_count(&f->pb)+7)/8;\n\n }\n\n}\n", "idx": 683}65{"project": "qemu", "commit_id": "6f2d8978728c48ca46f5c01835438508aace5c64", "target": 1, "func": "void do_POWER_maskg (void)\n\n{\n\n uint32_t ret;\n\n\n\n if ((uint32_t)T0 == (uint32_t)(T1 + 1)) {\n\n ret = -1;\n\n } else {\n\n ret = (((uint32_t)(-1)) >> ((uint32_t)T0)) ^\n\n (((uint32_t)(-1) >> ((uint32_t)T1)) >> 1);\n\n if ((uint32_t)T0 > (uint32_t)T1)\n\n ret = ~ret;\n\n }\n\n T0 = ret;\n\n}\n", "idx": 686}66{"project": "qemu", "commit_id": "f06ee3d4aa547df8d7d2317b2b6db7a88c1f3744", "target": 1, "func": "static void qed_aio_read_data(void *opaque, int ret,\n\n uint64_t offset, size_t len)\n\n{\n\n QEDAIOCB *acb = opaque;\n\n BDRVQEDState *s = acb_to_s(acb);\n\n BlockDriverState *bs = acb->common.bs;\n\n\n\n /* Adjust offset into cluster */\n\n offset += qed_offset_into_cluster(s, acb->cur_pos);\n\n\n\n trace_qed_aio_read_data(s, acb, ret, offset, len);\n\n\n\n if (ret < 0) {\n\n goto err;\n\n }\n\n\n\n qemu_iovec_concat(&acb->cur_qiov, acb->qiov, acb->qiov_offset, len);\n\n\n\n /* Handle zero cluster and backing file reads */\n\n if (ret == QED_CLUSTER_ZERO) {\n\n qemu_iovec_memset(&acb->cur_qiov, 0, 0, acb->cur_qiov.size);\n\n qed_aio_next_io(acb, 0);\n\n return;\n\n } else if (ret != QED_CLUSTER_FOUND) {\n\n qed_read_backing_file(s, acb->cur_pos, &acb->cur_qiov,\n\n qed_aio_next_io, acb);\n\n return;\n\n }\n\n\n\n BLKDBG_EVENT(bs->file, BLKDBG_READ_AIO);\n\n bdrv_aio_readv(bs->file, offset / BDRV_SECTOR_SIZE,\n\n &acb->cur_qiov, acb->cur_qiov.size / BDRV_SECTOR_SIZE,\n\n qed_aio_next_io, acb);\n\n return;\n\n\n\nerr:\n\n qed_aio_complete(acb, ret);\n\n}\n", "idx": 707}67{"project": "qemu", "commit_id": "b6c147622d31272f9728da9ec16d146bf8c45a74", "target": 1, "func": "int qcow2_update_header(BlockDriverState *bs)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n QCowHeader *header;\n\n char *buf;\n\n size_t buflen = s->cluster_size;\n\n int ret;\n\n uint64_t total_size;\n\n uint32_t refcount_table_clusters;\n\n size_t header_length;\n\n Qcow2UnknownHeaderExtension *uext;\n\n\n\n buf = qemu_blockalign(bs, buflen);\n\n\n\n /* Header structure */\n\n header = (QCowHeader*) buf;\n\n\n\n if (buflen < sizeof(*header)) {\n\n ret = -ENOSPC;\n\n goto fail;\n\n }\n\n\n\n header_length = sizeof(*header) + s->unknown_header_fields_size;\n\n total_size = bs->total_sectors * BDRV_SECTOR_SIZE;\n\n refcount_table_clusters = s->refcount_table_size >> (s->cluster_bits - 3);\n\n\n\n *header = (QCowHeader) {\n\n /* Version 2 fields */\n\n .magic = cpu_to_be32(QCOW_MAGIC),\n\n .version = cpu_to_be32(s->qcow_version),\n\n .backing_file_offset = 0,\n\n .backing_file_size = 0,\n\n .cluster_bits = cpu_to_be32(s->cluster_bits),\n\n .size = cpu_to_be64(total_size),\n\n .crypt_method = cpu_to_be32(s->crypt_method_header),\n\n .l1_size = cpu_to_be32(s->l1_size),\n\n .l1_table_offset = cpu_to_be64(s->l1_table_offset),\n\n .refcount_table_offset = cpu_to_be64(s->refcount_table_offset),\n\n .refcount_table_clusters = cpu_to_be32(refcount_table_clusters),\n\n .nb_snapshots = cpu_to_be32(s->nb_snapshots),\n\n .snapshots_offset = cpu_to_be64(s->snapshots_offset),\n\n\n\n /* Version 3 fields */\n\n .incompatible_features = cpu_to_be64(s->incompatible_features),\n\n .compatible_features = cpu_to_be64(s->compatible_features),\n\n .autoclear_features = cpu_to_be64(s->autoclear_features),\n\n .refcount_order = cpu_to_be32(3 + REFCOUNT_SHIFT),\n\n .header_length = cpu_to_be32(header_length),\n\n };\n\n\n\n /* For older versions, write a shorter header */\n\n switch (s->qcow_version) {\n\n case 2:\n\n ret = offsetof(QCowHeader, incompatible_features);\n\n break;\n\n case 3:\n\n ret = sizeof(*header);\n\n break;\n\n default:\n\n return -EINVAL;\n\n }\n\n\n\n buf += ret;\n\n buflen -= ret;\n\n memset(buf, 0, buflen);\n\n\n\n /* Preserve any unknown field in the header */\n\n if (s->unknown_header_fields_size) {\n\n if (buflen < s->unknown_header_fields_size) {\n\n ret = -ENOSPC;\n\n goto fail;\n\n }\n\n\n\n memcpy(buf, s->unknown_header_fields, s->unknown_header_fields_size);\n\n buf += s->unknown_header_fields_size;\n\n buflen -= s->unknown_header_fields_size;\n\n }\n\n\n\n /* Backing file format header extension */\n\n if (*bs->backing_format) {\n\n ret = header_ext_add(buf, QCOW2_EXT_MAGIC_BACKING_FORMAT,\n\n bs->backing_format, strlen(bs->backing_format),\n\n buflen);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n buf += ret;\n\n buflen -= ret;\n\n }\n\n\n\n /* Feature table */\n\n Qcow2Feature features[] = {\n\n /* no feature defined yet */\n\n };\n\n\n\n ret = header_ext_add(buf, QCOW2_EXT_MAGIC_FEATURE_TABLE,\n\n features, sizeof(features), buflen);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n buf += ret;\n\n buflen -= ret;\n\n\n\n /* Keep unknown header extensions */\n\n QLIST_FOREACH(uext, &s->unknown_header_ext, next) {\n\n ret = header_ext_add(buf, uext->magic, uext->data, uext->len, buflen);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n buf += ret;\n\n buflen -= ret;\n\n }\n\n\n\n /* End of header extensions */\n\n ret = header_ext_add(buf, QCOW2_EXT_MAGIC_END, NULL, 0, buflen);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n buf += ret;\n\n buflen -= ret;\n\n\n\n /* Backing file name */\n\n if (*bs->backing_file) {\n\n size_t backing_file_len = strlen(bs->backing_file);\n\n\n\n if (buflen < backing_file_len) {\n\n ret = -ENOSPC;\n\n goto fail;\n\n }\n\n\n\n strncpy(buf, bs->backing_file, buflen);\n\n\n\n header->backing_file_offset = cpu_to_be64(buf - ((char*) header));\n\n header->backing_file_size = cpu_to_be32(backing_file_len);\n\n }\n\n\n\n /* Write the new header */\n\n ret = bdrv_pwrite(bs->file, 0, header, s->cluster_size);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n ret = 0;\n\nfail:\n\n qemu_vfree(header);\n\n return ret;\n\n}\n", "idx": 710}68{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "void tcp_start_incoming_migration(const char *host_port, Error **errp)\n\n{\n\n int s;\n\n\n\n s = inet_listen(host_port, NULL, 256, SOCK_STREAM, 0, errp);\n\n if (s < 0) {\n\n return;\n\n }\n\n\n\n qemu_set_fd_handler2(s, NULL, tcp_accept_incoming_migration, NULL,\n\n (void *)(intptr_t)s);\n\n}\n", "idx": 729}69{"project": "qemu", "commit_id": "d049bde69d8ab3dfa4edeee48896088ae9feb693", "target": 1, "func": "static int spapr_populate_pci_child_dt(PCIDevice *dev, void *fdt, int offset,\n\n sPAPRPHBState *sphb)\n\n{\n\n ResourceProps rp;\n\n bool is_bridge = false;\n\n int pci_status, err;\n\n char *buf = NULL;\n\n uint32_t drc_index = spapr_phb_get_pci_drc_index(sphb, dev);\n\n uint32_t ccode = pci_default_read_config(dev, PCI_CLASS_PROG, 3);\n\n uint32_t max_msi, max_msix;\n\n\n\n if (pci_default_read_config(dev, PCI_HEADER_TYPE, 1) ==\n\n PCI_HEADER_TYPE_BRIDGE) {\n\n is_bridge = true;\n\n }\n\n\n\n /* in accordance with PAPR+ v2.7 13.6.3, Table 181 */\n\n _FDT(fdt_setprop_cell(fdt, offset, \"vendor-id\",\n\n pci_default_read_config(dev, PCI_VENDOR_ID, 2)));\n\n _FDT(fdt_setprop_cell(fdt, offset, \"device-id\",\n\n pci_default_read_config(dev, PCI_DEVICE_ID, 2)));\n\n _FDT(fdt_setprop_cell(fdt, offset, \"revision-id\",\n\n pci_default_read_config(dev, PCI_REVISION_ID, 1)));\n\n _FDT(fdt_setprop_cell(fdt, offset, \"class-code\", ccode));\n\n if (pci_default_read_config(dev, PCI_INTERRUPT_PIN, 1)) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"interrupts\",\n\n pci_default_read_config(dev, PCI_INTERRUPT_PIN, 1)));\n\n }\n\n\n\n if (!is_bridge) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"min-grant\",\n\n pci_default_read_config(dev, PCI_MIN_GNT, 1)));\n\n _FDT(fdt_setprop_cell(fdt, offset, \"max-latency\",\n\n pci_default_read_config(dev, PCI_MAX_LAT, 1)));\n\n }\n\n\n\n if (pci_default_read_config(dev, PCI_SUBSYSTEM_ID, 2)) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"subsystem-id\",\n\n pci_default_read_config(dev, PCI_SUBSYSTEM_ID, 2)));\n\n }\n\n\n\n if (pci_default_read_config(dev, PCI_SUBSYSTEM_VENDOR_ID, 2)) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"subsystem-vendor-id\",\n\n pci_default_read_config(dev, PCI_SUBSYSTEM_VENDOR_ID, 2)));\n\n }\n\n\n\n _FDT(fdt_setprop_cell(fdt, offset, \"cache-line-size\",\n\n pci_default_read_config(dev, PCI_CACHE_LINE_SIZE, 1)));\n\n\n\n /* the following fdt cells are masked off the pci status register */\n\n pci_status = pci_default_read_config(dev, PCI_STATUS, 2);\n\n _FDT(fdt_setprop_cell(fdt, offset, \"devsel-speed\",\n\n PCI_STATUS_DEVSEL_MASK & pci_status));\n\n\n\n if (pci_status & PCI_STATUS_FAST_BACK) {\n\n _FDT(fdt_setprop(fdt, offset, \"fast-back-to-back\", NULL, 0));\n\n }\n\n if (pci_status & PCI_STATUS_66MHZ) {\n\n _FDT(fdt_setprop(fdt, offset, \"66mhz-capable\", NULL, 0));\n\n }\n\n if (pci_status & PCI_STATUS_UDF) {\n\n _FDT(fdt_setprop(fdt, offset, \"udf-supported\", NULL, 0));\n\n }\n\n\n\n _FDT(fdt_setprop_string(fdt, offset, \"name\",\n\n pci_find_device_name((ccode >> 16) & 0xff,\n\n (ccode >> 8) & 0xff,\n\n ccode & 0xff)));\n\n buf = spapr_phb_get_loc_code(sphb, dev);\n\n if (!buf) {\n\n error_report(\"Failed setting the ibm,loc-code\");\n\n return -1;\n\n }\n\n\n\n err = fdt_setprop_string(fdt, offset, \"ibm,loc-code\", buf);\n\n g_free(buf);\n\n if (err < 0) {\n\n return err;\n\n }\n\n\n\n if (drc_index) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"ibm,my-drc-index\", drc_index));\n\n }\n\n\n\n _FDT(fdt_setprop_cell(fdt, offset, \"#address-cells\",\n\n RESOURCE_CELLS_ADDRESS));\n\n _FDT(fdt_setprop_cell(fdt, offset, \"#size-cells\",\n\n RESOURCE_CELLS_SIZE));\n\n\n\n max_msi = msi_nr_vectors_allocated(dev);\n\n if (max_msi) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"ibm,req#msi\", max_msi));\n\n }\n\n max_msix = dev->msix_entries_nr;\n\n if (max_msix) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"ibm,req#msi-x\", max_msix));\n\n }\n\n\n\n populate_resource_props(dev, &rp);\n\n _FDT(fdt_setprop(fdt, offset, \"reg\", (uint8_t *)rp.reg, rp.reg_len));\n\n _FDT(fdt_setprop(fdt, offset, \"assigned-addresses\",\n\n (uint8_t *)rp.assigned, rp.assigned_len));\n\n\n\n if (sphb->pcie_ecs && pci_is_express(dev)) {\n\n _FDT(fdt_setprop_cell(fdt, offset, \"ibm,pci-config-space-type\", 0x1));\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 740}70{"project": "FFmpeg", "commit_id": "a8d702859b8bd17978fb5d8cb1d6acc363031e80", "target": 1, "func": "static int read_major_sync(MLPDecodeContext *m, GetBitContext *gb)\n\n{\n\n MLPHeaderInfo mh;\n\n int substr, ret;\n\n\n\n if ((ret = ff_mlp_read_major_sync(m->avctx, &mh, gb)) != 0)\n\n return ret;\n\n\n\n if (mh.group1_bits == 0) {\n\n av_log(m->avctx, AV_LOG_ERROR, \"invalid/unknown bits per sample\\n\");\n\n return AVERROR_INVALIDDATA;\n\n\n if (mh.group2_bits > mh.group1_bits) {\n\n av_log(m->avctx, AV_LOG_ERROR,\n\n \"Channel group 2 cannot have more bits per sample than group 1.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n\n\n\n if (mh.group2_samplerate && mh.group2_samplerate != mh.group1_samplerate) {\n\n av_log(m->avctx, AV_LOG_ERROR,\n\n \"Channel groups with differing sample rates are not currently supported.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n\n\n\n if (mh.group1_samplerate == 0) {\n\n av_log(m->avctx, AV_LOG_ERROR, \"invalid/unknown sampling rate\\n\");\n\n return AVERROR_INVALIDDATA;\n\n\n if (mh.group1_samplerate > MAX_SAMPLERATE) {\n\n av_log(m->avctx, AV_LOG_ERROR,\n\n \"Sampling rate %d is greater than the supported maximum (%d).\\n\",\n\n mh.group1_samplerate, MAX_SAMPLERATE);\n\n return AVERROR_INVALIDDATA;\n\n\n if (mh.access_unit_size > MAX_BLOCKSIZE) {\n\n av_log(m->avctx, AV_LOG_ERROR,\n\n \"Block size %d is greater than the supported maximum (%d).\\n\",\n\n mh.access_unit_size, MAX_BLOCKSIZE);\n\n return AVERROR_INVALIDDATA;\n\n\n if (mh.access_unit_size_pow2 > MAX_BLOCKSIZE_POW2) {\n\n av_log(m->avctx, AV_LOG_ERROR,\n\n \"Block size pow2 %d is greater than the supported maximum (%d).\\n\",\n\n mh.access_unit_size_pow2, MAX_BLOCKSIZE_POW2);\n\n return AVERROR_INVALIDDATA;\n\n\n\n\n if (mh.num_substreams == 0)\n\n return AVERROR_INVALIDDATA;\n\n if (m->avctx->codec_id == AV_CODEC_ID_MLP && mh.num_substreams > 2) {\n\n av_log(m->avctx, AV_LOG_ERROR, \"MLP only supports up to 2 substreams.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n\n if (mh.num_substreams > MAX_SUBSTREAMS) {\n\n\n \"%d substreams (more than the \"\n\n \"maximum supported by the decoder)\",\n\n mh.num_substreams);\n\n\n\n\n\n m->access_unit_size = mh.access_unit_size;\n\n m->access_unit_size_pow2 = mh.access_unit_size_pow2;\n\n\n\n m->num_substreams = mh.num_substreams;\n\n m->max_decoded_substream = m->num_substreams - 1;\n\n\n\n m->avctx->sample_rate = mh.group1_samplerate;\n\n m->avctx->frame_size = mh.access_unit_size;\n\n\n\n m->avctx->bits_per_raw_sample = mh.group1_bits;\n\n if (mh.group1_bits > 16)\n\n m->avctx->sample_fmt = AV_SAMPLE_FMT_S32;\n\n else\n\n m->avctx->sample_fmt = AV_SAMPLE_FMT_S16;\n\n\n\n m->params_valid = 1;\n\n for (substr = 0; substr < MAX_SUBSTREAMS; substr++)\n\n m->substream[substr].restart_seen = 0;\n\n\n\n /* Set the layout for each substream. When there's more than one, the first\n\n * substream is Stereo. Subsequent substreams' layouts are indicated in the\n\n * major sync. */\n\n if (m->avctx->codec_id == AV_CODEC_ID_MLP) {\n\n\n\n\n\n\n\n if ((substr = (mh.num_substreams > 1)))\n\n m->substream[0].ch_layout = AV_CH_LAYOUT_STEREO;\n\n m->substream[substr].ch_layout = mh.channel_layout_mlp;\n\n } else {\n\n\n\n\n\n\n\n if ((substr = (mh.num_substreams > 1)))\n\n m->substream[0].ch_layout = AV_CH_LAYOUT_STEREO;\n\n if (mh.num_substreams > 2)\n\n if (mh.channel_layout_thd_stream2)\n\n m->substream[2].ch_layout = mh.channel_layout_thd_stream2;\n\n else\n\n m->substream[2].ch_layout = mh.channel_layout_thd_stream1;\n\n m->substream[substr].ch_layout = mh.channel_layout_thd_stream1;\n\n\n\n if (m->avctx->channels<=2 && m->substream[substr].ch_layout == AV_CH_LAYOUT_MONO && m->max_decoded_substream == 1) {\n\n av_log(m->avctx, AV_LOG_DEBUG, \"Mono stream with 2 substreams, ignoring 2nd\\n\");\n\n m->max_decoded_substream = 0;\n\n if (m->avctx->channels==2)\n\n m->avctx->channel_layout = AV_CH_LAYOUT_STEREO;\n\n\n\n\n\n m->needs_reordering = mh.channel_arrangement >= 18 && mh.channel_arrangement <= 20;\n\n\n\n return 0;\n", "idx": 748}71{"project": "FFmpeg", "commit_id": "7e3e653618a59960b4c358e333ba2c0d21929e33", "target": 1, "func": "static AVStream * init_stream(AVFormatContext *s)\n\n{\n\n BinDemuxContext *bin = s->priv_data;\n\n AVStream *st = avformat_new_stream(s, NULL);\n\n if (!st)\n\n return NULL;\n\n st->codec->codec_tag = 0;\n\n st->codec->codec_type = AVMEDIA_TYPE_VIDEO;\n\n\n\n if (!bin->width) {\n\n st->codec->width = (80<<3);\n\n st->codec->height = (25<<4);\n\n }\n\n\n\n avpriv_set_pts_info(st, 60, bin->framerate.den, bin->framerate.num);\n\n\n\n /* simulate tty display speed */\n\n bin->chars_per_frame = FFMAX(av_q2d(st->time_base) * bin->chars_per_frame, 1);\n\n\n\n return st;\n\n}\n", "idx": 767}72{"project": "qemu", "commit_id": "e50d7607f1800c9f9c576229c6119e4c82f456d6", "target": 1, "func": "static coroutine_fn int sd_co_writev(BlockDriverState *bs, int64_t sector_num,\n\n int nb_sectors, QEMUIOVector *qiov)\n\n{\n\n SheepdogAIOCB *acb;\n\n int ret;\n\n\n\n if (bs->growable && sector_num + nb_sectors > bs->total_sectors) {\n\n ret = sd_truncate(bs, (sector_num + nb_sectors) * BDRV_SECTOR_SIZE);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n bs->total_sectors = sector_num + nb_sectors;\n\n }\n\n\n\n acb = sd_aio_setup(bs, qiov, sector_num, nb_sectors);\n\n acb->aio_done_func = sd_write_done;\n\n acb->aiocb_type = AIOCB_WRITE_UDATA;\n\n\n\n ret = sd_co_rw_vector(acb);\n\n if (ret <= 0) {\n\n qemu_aio_release(acb);\n\n return ret;\n\n }\n\n\n\n qemu_coroutine_yield();\n\n\n\n return acb->ret;\n\n}\n", "idx": 781}73{"project": "qemu", "commit_id": "d20a580bc0eac9d489884f6d2ed28105880532b6", "target": 0, "func": "static void sdl_send_mouse_event(int dx, int dy, int x, int y, int state)\n\n{\n\n static uint32_t bmap[INPUT_BUTTON__MAX] = {\n\n [INPUT_BUTTON_LEFT] = SDL_BUTTON(SDL_BUTTON_LEFT),\n\n [INPUT_BUTTON_MIDDLE] = SDL_BUTTON(SDL_BUTTON_MIDDLE),\n\n [INPUT_BUTTON_RIGHT] = SDL_BUTTON(SDL_BUTTON_RIGHT),\n\n [INPUT_BUTTON_WHEEL_UP] = SDL_BUTTON(SDL_BUTTON_WHEELUP),\n\n [INPUT_BUTTON_WHEEL_DOWN] = SDL_BUTTON(SDL_BUTTON_WHEELDOWN),\n\n };\n\n static uint32_t prev_state;\n\n\n\n if (prev_state != state) {\n\n qemu_input_update_buttons(dcl->con, bmap, prev_state, state);\n\n prev_state = state;\n\n }\n\n\n\n if (qemu_input_is_absolute()) {\n\n qemu_input_queue_abs(dcl->con, INPUT_AXIS_X, x,\n\n real_screen->w);\n\n qemu_input_queue_abs(dcl->con, INPUT_AXIS_Y, y,\n\n real_screen->h);\n\n } else {\n\n if (guest_cursor) {\n\n x -= guest_x;\n\n y -= guest_y;\n\n guest_x += x;\n\n guest_y += y;\n\n dx = x;\n\n dy = y;\n\n }\n\n qemu_input_queue_rel(dcl->con, INPUT_AXIS_X, dx);\n\n qemu_input_queue_rel(dcl->con, INPUT_AXIS_Y, dy);\n\n }\n\n qemu_input_event_sync();\n\n}\n", "idx": 794}74{"project": "qemu", "commit_id": "4f2d3d705c1ae7dce29254e2c4645c84e77a74d4", "target": 0, "func": "static void device_initfn(Object *obj)\n\n{\n\n DeviceState *dev = DEVICE(obj);\n\n Property *prop;\n\n\n\n if (qdev_hotplug) {\n\n dev->hotplugged = 1;\n\n qdev_hot_added = true;\n\n }\n\n\n\n dev->instance_id_alias = -1;\n\n dev->state = DEV_STATE_CREATED;\n\n\n\n qdev_prop_set_defaults(dev, qdev_get_props(dev));\n\n for (prop = qdev_get_props(dev); prop && prop->name; prop++) {\n\n qdev_property_add_legacy(dev, prop, NULL);\n\n qdev_property_add_static(dev, prop, NULL);\n\n }\n\n\n\n object_property_add_str(OBJECT(dev), \"type\", qdev_get_type, NULL, NULL);\n\n}\n", "idx": 797}75{"project": "qemu", "commit_id": "ef8489d45927a6d35b214365e4b39ab311b48f2a", "target": 1, "func": "static void scsi_write_data(SCSIRequest *req)\n\n{\n\n SCSIDiskReq *r = DO_UPCAST(SCSIDiskReq, req, req);\n\n SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev);\n\n uint32_t n;\n\n\n\n /* No data transfer may already be in progress */\n\n assert(r->req.aiocb == NULL);\n\n\n\n /* The request is used as the AIO opaque value, so add a ref. */\n\n scsi_req_ref(&r->req);\n\n if (r->req.cmd.mode != SCSI_XFER_TO_DEV) {\n\n DPRINTF(\"Data transfer direction invalid\\n\");\n\n scsi_write_complete(r, -EINVAL);\n\n return;\n\n }\n\n\n\n if (!r->req.sg && !r->qiov.size) {\n\n /* Called for the first time. Ask the driver to send us more data. */\n\n r->started = true;\n\n scsi_write_complete(r, 0);\n\n return;\n\n }\n\n if (s->tray_open) {\n\n scsi_write_complete(r, -ENOMEDIUM);\n\n return;\n\n }\n\n\n\n if (r->req.cmd.buf[0] == VERIFY_10 || r->req.cmd.buf[0] == VERIFY_12 ||\n\n r->req.cmd.buf[0] == VERIFY_16) {\n\n if (r->req.sg) {\n\n scsi_dma_complete(r, 0);\n\n } else {\n\n scsi_write_complete(r, 0);\n\n }\n\n return;\n\n }\n\n\n\n if (r->req.sg) {\n\n dma_acct_start(s->qdev.conf.bs, &r->acct, r->req.sg, BDRV_ACCT_WRITE);\n\n r->req.resid -= r->req.sg->size;\n\n r->req.aiocb = dma_bdrv_write(s->qdev.conf.bs, r->req.sg, r->sector,\n\n scsi_dma_complete, r);\n\n } else {\n\n n = r->qiov.size / 512;\n\n bdrv_acct_start(s->qdev.conf.bs, &r->acct, n * BDRV_SECTOR_SIZE, BDRV_ACCT_WRITE);\n\n r->req.aiocb = bdrv_aio_writev(s->qdev.conf.bs, r->sector, &r->qiov, n,\n\n scsi_write_complete, r);\n\n }\n\n}\n", "idx": 837}76{"project": "qemu", "commit_id": "45bbbb466cf4a6280076ea5a51f67ef5bedee345", "target": 1, "func": "static void idiv64(uint64_t *plow, uint64_t *phigh, int64_t b)\n\n{\n\n int sa, sb;\n\n sa = ((int64_t)*phigh < 0);\n\n if (sa)\n\n neg128(plow, phigh);\n\n sb = (b < 0);\n\n if (sb)\n\n b = -b;\n\n div64(plow, phigh, b);\n\n if (sa ^ sb)\n\n *plow = - *plow;\n\n if (sa)\n\n *phigh = - *phigh;\n\n}\n", "idx": 848}77{"project": "qemu", "commit_id": "1dbfd7892b66c757fdf67f346be40233adbad80e", "target": 1, "func": "void bios_linker_loader_alloc(GArray *linker,\n\n const char *file,\n\n uint32_t alloc_align,\n\n bool alloc_fseg)\n\n{\n\n BiosLinkerLoaderEntry entry;\n\n\n\n assert(!(alloc_align & (alloc_align - 1)));\n\n\n\n memset(&entry, 0, sizeof entry);\n\n strncpy(entry.alloc.file, file, sizeof entry.alloc.file - 1);\n\n entry.command = cpu_to_le32(BIOS_LINKER_LOADER_COMMAND_ALLOCATE);\n\n entry.alloc.align = cpu_to_le32(alloc_align);\n\n entry.alloc.zone = cpu_to_le32(alloc_fseg ?\n\n BIOS_LINKER_LOADER_ALLOC_ZONE_FSEG :\n\n BIOS_LINKER_LOADER_ALLOC_ZONE_HIGH);\n\n\n\n /* Alloc entries must come first, so prepend them */\n\n g_array_prepend_vals(linker, &entry, sizeof entry);\n\n}\n", "idx": 855}78{"project": "qemu", "commit_id": "95eaa78537c734fa3cb3373d47ba8c0099a36ff0", "target": 1, "func": "static void iscsi_refresh_limits(BlockDriverState *bs, Error **errp)\n\n{\n\n /* We don't actually refresh here, but just return data queried in\n\n * iscsi_open(): iscsi targets don't change their limits. */\n\n\n\n IscsiLun *iscsilun = bs->opaque;\n\n uint64_t max_xfer_len = iscsilun->use_16_for_rw ? 0xffffffff : 0xffff;\n\n\n\n bs->bl.request_alignment = iscsilun->block_size;\n\n\n\n if (iscsilun->bl.max_xfer_len) {\n\n max_xfer_len = MIN(max_xfer_len, iscsilun->bl.max_xfer_len);\n\n }\n\n\n\n if (max_xfer_len * iscsilun->block_size < INT_MAX) {\n\n bs->bl.max_transfer = max_xfer_len * iscsilun->block_size;\n\n }\n\n\n\n if (iscsilun->lbp.lbpu) {\n\n if (iscsilun->bl.max_unmap < 0xffffffff / iscsilun->block_size) {\n\n bs->bl.max_pdiscard =\n\n iscsilun->bl.max_unmap * iscsilun->block_size;\n\n }\n\n bs->bl.pdiscard_alignment =\n\n iscsilun->bl.opt_unmap_gran * iscsilun->block_size;\n\n } else {\n\n bs->bl.pdiscard_alignment = iscsilun->block_size;\n\n }\n\n\n\n if (iscsilun->bl.max_ws_len < 0xffffffff / iscsilun->block_size) {\n\n bs->bl.max_pwrite_zeroes =\n\n iscsilun->bl.max_ws_len * iscsilun->block_size;\n\n }\n\n if (iscsilun->lbp.lbpws) {\n\n bs->bl.pwrite_zeroes_alignment =\n\n iscsilun->bl.opt_unmap_gran * iscsilun->block_size;\n\n } else {\n\n bs->bl.pwrite_zeroes_alignment = iscsilun->block_size;\n\n }\n\n if (iscsilun->bl.opt_xfer_len &&\n\n iscsilun->bl.opt_xfer_len < INT_MAX / iscsilun->block_size) {\n\n bs->bl.opt_transfer = pow2floor(iscsilun->bl.opt_xfer_len *\n\n iscsilun->block_size);\n\n }\n\n}\n", "idx": 860}79{"project": "qemu", "commit_id": "e3f5ec2b5e92706e3b807059f79b1fb5d936e567", "target": 0, "func": "static void tap_receive(void *opaque, const uint8_t *buf, size_t size)\n\n{\n\n TAPState *s = opaque;\n\n int ret;\n\n for(;;) {\n\n ret = write(s->fd, buf, size);\n\n if (ret < 0 && (errno == EINTR || errno == EAGAIN)) {\n\n } else {\n\n break;\n\n }\n\n }\n\n}\n", "idx": 883}80{"project": "qemu", "commit_id": "4be746345f13e99e468c60acbd3a355e8183e3ce", "target": 0, "func": "static void scsi_disk_realize(SCSIDevice *dev, Error **errp)\n\n{\n\n DriveInfo *dinfo;\n\n Error *local_err = NULL;\n\n\n\n if (!dev->conf.bs) {\n\n scsi_realize(dev, &local_err);\n\n assert(local_err);\n\n error_propagate(errp, local_err);\n\n return;\n\n }\n\n\n\n dinfo = drive_get_by_blockdev(dev->conf.bs);\n\n if (dinfo->media_cd) {\n\n scsi_cd_realize(dev, errp);\n\n } else {\n\n scsi_hd_realize(dev, errp);\n\n }\n\n}\n", "idx": 886}81{"project": "qemu", "commit_id": "0e7106d8b5f7ef4f9df10baf1dfb3db482bcd046", "target": 0, "func": "static int sd_snapshot_create(BlockDriverState *bs, QEMUSnapshotInfo *sn_info)\n\n{\n\n BDRVSheepdogState *s = bs->opaque;\n\n int ret, fd;\n\n uint32_t new_vid;\n\n SheepdogInode *inode;\n\n unsigned int datalen;\n\n\n\n dprintf(\"sn_info: name %s id_str %s s: name %s vm_state_size %\" PRId64 \" \"\n\n \"is_snapshot %d\\n\", sn_info->name, sn_info->id_str,\n\n s->name, sn_info->vm_state_size, s->is_snapshot);\n\n\n\n if (s->is_snapshot) {\n\n error_report(\"You can't create a snapshot of a snapshot VDI, \"\n\n \"%s (%\" PRIu32 \").\", s->name, s->inode.vdi_id);\n\n\n\n return -EINVAL;\n\n }\n\n\n\n dprintf(\"%s %s\\n\", sn_info->name, sn_info->id_str);\n\n\n\n s->inode.vm_state_size = sn_info->vm_state_size;\n\n s->inode.vm_clock_nsec = sn_info->vm_clock_nsec;\n\n /* It appears that inode.tag does not require a NUL terminator,\n\n * which means this use of strncpy is ok.\n\n */\n\n strncpy(s->inode.tag, sn_info->name, sizeof(s->inode.tag));\n\n /* we don't need to update entire object */\n\n datalen = SD_INODE_SIZE - sizeof(s->inode.data_vdi_id);\n\n\n\n /* refresh inode. */\n\n fd = connect_to_sdog(s->addr, s->port);\n\n if (fd < 0) {\n\n ret = fd;\n\n goto cleanup;\n\n }\n\n\n\n ret = write_object(fd, (char *)&s->inode, vid_to_vdi_oid(s->inode.vdi_id),\n\n s->inode.nr_copies, datalen, 0, false, s->cache_enabled);\n\n if (ret < 0) {\n\n error_report(\"failed to write snapshot's inode.\");\n\n goto cleanup;\n\n }\n\n\n\n ret = do_sd_create(s->name, s->inode.vdi_size, s->inode.vdi_id, &new_vid, 1,\n\n s->addr, s->port);\n\n if (ret < 0) {\n\n error_report(\"failed to create inode for snapshot. %s\",\n\n strerror(errno));\n\n goto cleanup;\n\n }\n\n\n\n inode = (SheepdogInode *)g_malloc(datalen);\n\n\n\n ret = read_object(fd, (char *)inode, vid_to_vdi_oid(new_vid),\n\n s->inode.nr_copies, datalen, 0, s->cache_enabled);\n\n\n\n if (ret < 0) {\n\n error_report(\"failed to read new inode info. %s\", strerror(errno));\n\n goto cleanup;\n\n }\n\n\n\n memcpy(&s->inode, inode, datalen);\n\n dprintf(\"s->inode: name %s snap_id %x oid %x\\n\",\n\n s->inode.name, s->inode.snap_id, s->inode.vdi_id);\n\n\n\ncleanup:\n\n closesocket(fd);\n\n return ret;\n\n}\n", "idx": 899}82{"project": "qemu", "commit_id": "dfd100f242370886bb6732f70f1f7cbd8eb9fedc", "target": 0, "func": "static int vnc_display_listen(VncDisplay *vd,\n\n SocketAddress **saddr,\n\n size_t nsaddr,\n\n SocketAddress **wsaddr,\n\n size_t nwsaddr,\n\n Error **errp)\n\n{\n\n size_t i;\n\n\n\n for (i = 0; i < nsaddr; i++) {\n\n if (vnc_display_listen_addr(vd, saddr[i],\n\n \"vnc-listen\",\n\n &vd->lsock,\n\n &vd->lsock_tag,\n\n &vd->nlsock,\n\n errp) < 0) {\n\n return -1;\n\n }\n\n }\n\n for (i = 0; i < nwsaddr; i++) {\n\n if (vnc_display_listen_addr(vd, wsaddr[i],\n\n \"vnc-ws-listen\",\n\n &vd->lwebsock,\n\n &vd->lwebsock_tag,\n\n &vd->nlwebsock,\n\n errp) < 0) {\n\n return -1;\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 906}83{"project": "qemu", "commit_id": "1171ae9a5b132dc631728ff17688d05ed4534181", "target": 0, "func": "static char *enumerate_cpus(unsigned long *cpus, int max_cpus)\n\n{\n\n int cpu;\n\n bool first = true;\n\n GString *s = g_string_new(NULL);\n\n\n\n for (cpu = find_first_bit(cpus, max_cpus);\n\n cpu < max_cpus;\n\n cpu = find_next_bit(cpus, max_cpus, cpu + 1)) {\n\n g_string_append_printf(s, \"%s%d\", first ? \"\" : \" \", cpu);\n\n first = false;\n\n }\n\n return g_string_free(s, FALSE);\n\n}\n", "idx": 913}84{"project": "qemu", "commit_id": "8ad9fa5d8be7fd04e723020088eca664971eb363", "target": 1, "func": "MigrationState *exec_start_outgoing_migration(const char *command,\n\n int64_t bandwidth_limit,\n\n int async)\n\n{\n\n FdMigrationState *s;\n\n FILE *f;\n\n\n\n s = qemu_mallocz(sizeof(*s));\n\n if (s == NULL) {\n\n dprintf(\"Unable to allocate FdMigrationState\\n\");\n\n goto err;\n\n }\n\n\n\n f = popen(command, \"w\");\n\n if (f == NULL) {\n\n dprintf(\"Unable to popen exec target\\n\");\n\n goto err_after_alloc;\n\n }\n\n\n\n s->fd = fileno(f);\n\n if (s->fd == -1) {\n\n dprintf(\"Unable to retrieve file descriptor for popen'd handle\\n\");\n\n goto err_after_open;\n\n }\n\n\n\n if (fcntl(s->fd, F_SETFD, O_NONBLOCK) == -1) {\n\n dprintf(\"Unable to set nonblocking mode on file descriptor\\n\");\n\n goto err_after_open;\n\n }\n\n\n\n s->opaque = qemu_popen(f, \"w\");\n\n\n\n\n s->get_error = file_errno;\n\n s->write = file_write;\n\n s->mig_state.cancel = migrate_fd_cancel;\n\n s->mig_state.get_status = migrate_fd_get_status;\n\n s->mig_state.release = migrate_fd_release;\n\n\n\n s->state = MIG_STATE_ACTIVE;\n\n s->detach = !async;\n\n s->bandwidth_limit = bandwidth_limit;\n\n\n\n if (s->detach == 1) {\n\n dprintf(\"detaching from monitor\\n\");\n\n monitor_suspend();\n\n s->detach = 2;\n\n }\n\n\n\n migrate_fd_connect(s);\n\n return &s->mig_state;\n\n\n\nerr_after_open:\n\n pclose(f);\n\nerr_after_alloc:\n\n qemu_free(s);\n\nerr:\n\n return NULL;\n\n}", "idx": 921}85{"project": "qemu", "commit_id": "a9f8ad8f2acdb2398da5d32a5efc19cb0196d79f", "target": 1, "func": "static void register_core_rtas(void)\n\n{\n\n spapr_rtas_register(\"display-character\", rtas_display_character);\n\n spapr_rtas_register(\"get-time-of-day\", rtas_get_time_of_day);\n\n spapr_rtas_register(\"power-off\", rtas_power_off);\n\n\n\n\n}", "idx": 924}86{"project": "qemu", "commit_id": "ad0ebb91cd8b5fdc4a583b03645677771f420a46", "target": 1, "func": "static target_ulong h_put_tce(CPUPPCState *env, sPAPREnvironment *spapr,\n\n target_ulong opcode, target_ulong *args)\n\n{\n\n target_ulong liobn = args[0];\n\n target_ulong ioba = args[1];\n\n target_ulong tce = args[2];\n\n VIOsPAPRDevice *dev = spapr_vio_find_by_reg(spapr->vio_bus, liobn);\n\n VIOsPAPR_RTCE *rtce;\n\n\n\n if (!dev) {\n\n hcall_dprintf(\"LIOBN 0x\" TARGET_FMT_lx \" does not exist\\n\", liobn);\n\n return H_PARAMETER;\n\n }\n\n\n\n ioba &= ~(SPAPR_VIO_TCE_PAGE_SIZE - 1);\n\n\n\n#ifdef DEBUG_TCE\n\n fprintf(stderr, \"spapr_vio_put_tce on %s ioba 0x\" TARGET_FMT_lx\n\n \" TCE 0x\" TARGET_FMT_lx \"\\n\", dev->qdev.id, ioba, tce);\n\n#endif\n\n\n\n if (ioba >= dev->rtce_window_size) {\n\n hcall_dprintf(\"Out-of-bounds IOBA 0x\" TARGET_FMT_lx \"\\n\", ioba);\n\n return H_PARAMETER;\n\n }\n\n\n\n rtce = dev->rtce_table + (ioba >> SPAPR_VIO_TCE_PAGE_SHIFT);\n\n rtce->tce = tce;\n\n\n\n return H_SUCCESS;\n\n}\n", "idx": 937}87{"project": "qemu", "commit_id": "a907ec52cc1aefc820768b6e341b56f8f3caaca7", "target": 1, "func": "static void nvme_get_bootindex(Object *obj, Visitor *v, void *opaque,\n\n const char *name, Error **errp)\n\n{\n\n NvmeCtrl *s = NVME(obj);\n\n\n\n visit_type_int32(v, &s->conf.bootindex, name, errp);\n\n}\n", "idx": 941}88{"project": "FFmpeg", "commit_id": "77d2a1ca595ebe082d35c4b624ac9a9145991494", "target": 1, "func": "ff_rm_parse_packet (AVFormatContext *s, AVIOContext *pb,\n\n AVStream *st, RMStream *ast, int len, AVPacket *pkt,\n\n int *seq, int flags, int64_t timestamp)\n\n{\n\n RMDemuxContext *rm = s->priv_data;\n\n int ret;\n\n\n\n if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n rm->current_stream= st->id;\n\n ret = rm_assemble_video_frame(s, pb, rm, ast, pkt, len, seq, ×tamp);\n\n if(ret)\n\n return ret < 0 ? ret : -1; //got partial frame or error\n\n } else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n if ((ast->deint_id == DEINT_ID_GENR) ||\n\n (ast->deint_id == DEINT_ID_INT4) ||\n\n (ast->deint_id == DEINT_ID_SIPR)) {\n\n int x;\n\n int sps = ast->sub_packet_size;\n\n int cfs = ast->coded_framesize;\n\n int h = ast->sub_packet_h;\n\n int y = ast->sub_packet_cnt;\n\n int w = ast->audio_framesize;\n\n\n\n if (flags & 2)\n\n y = ast->sub_packet_cnt = 0;\n\n if (!y)\n\n ast->audiotimestamp = timestamp;\n\n\n\n switch (ast->deint_id) {\n\n case DEINT_ID_INT4:\n\n for (x = 0; x < h/2; x++)\n\n avio_read(pb, ast->pkt.data+x*2*w+y*cfs, cfs);\n\n break;\n\n case DEINT_ID_GENR:\n\n for (x = 0; x < w/sps; x++)\n\n avio_read(pb, ast->pkt.data+sps*(h*x+((h+1)/2)*(y&1)+(y>>1)), sps);\n\n break;\n\n case DEINT_ID_SIPR:\n\n avio_read(pb, ast->pkt.data + y * w, w);\n\n break;\n\n }\n\n\n\n if (++(ast->sub_packet_cnt) < h)\n\n return -1;\n\n if (ast->deint_id == DEINT_ID_SIPR)\n\n ff_rm_reorder_sipr_data(ast->pkt.data, h, w);\n\n\n\n ast->sub_packet_cnt = 0;\n\n rm->audio_stream_num = st->index;\n\n rm->audio_pkt_cnt = h * w / st->codec->block_align;\n\n } else if ((ast->deint_id == DEINT_ID_VBRF) ||\n\n (ast->deint_id == DEINT_ID_VBRS)) {\n\n int x;\n\n rm->audio_stream_num = st->index;\n\n ast->sub_packet_cnt = (avio_rb16(pb) & 0xf0) >> 4;\n\n if (ast->sub_packet_cnt) {\n\n for (x = 0; x < ast->sub_packet_cnt; x++)\n\n ast->sub_packet_lengths[x] = avio_rb16(pb);\n\n rm->audio_pkt_cnt = ast->sub_packet_cnt;\n\n ast->audiotimestamp = timestamp;\n\n } else\n\n return -1;\n\n } else {\n\n av_get_packet(pb, pkt, len);\n\n rm_ac3_swap_bytes(st, pkt);\n\n }\n\n } else\n\n av_get_packet(pb, pkt, len);\n\n\n\n pkt->stream_index = st->index;\n\n\n\n#if 0\n\n if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n if(st->codec->codec_id == AV_CODEC_ID_RV20){\n\n int seq= 128*(pkt->data[2]&0x7F) + (pkt->data[3]>>1);\n\n av_log(s, AV_LOG_DEBUG, \"%d %\"PRId64\" %d\\n\", *timestamp, *timestamp*512LL/25, seq);\n\n\n\n seq |= (timestamp&~0x3FFF);\n\n if(seq - timestamp > 0x2000) seq -= 0x4000;\n\n if(seq - timestamp < -0x2000) seq += 0x4000;\n\n }\n\n }\n\n#endif\n\n\n\n pkt->pts = timestamp;\n\n if (flags & 2)\n\n pkt->flags |= AV_PKT_FLAG_KEY;\n\n\n\n return st->codec->codec_type == AVMEDIA_TYPE_AUDIO ? rm->audio_pkt_cnt : 0;\n\n}\n", "idx": 944}89{"project": "qemu", "commit_id": "92b3eeadd9bc72f1f4e5ba1f62a289dc0190e88f", "target": 1, "func": "Object *object_resolve_path_component(Object *parent, const gchar *part)\n\n{\n\n ObjectProperty *prop = object_property_find(parent, part, NULL);\n\n if (prop == NULL) {\n\n return NULL;\n\n }\n\n\n\n if (object_property_is_link(prop)) {\n\n return *(Object **)prop->opaque;\n\n } else if (object_property_is_child(prop)) {\n\n return prop->opaque;\n\n } else {\n\n return NULL;\n\n }\n\n}\n", "idx": 946}90{"project": "qemu", "commit_id": "196fe23734ca8888ca0275ad203ccb0d20907e6d", "target": 1, "func": "static void vscsi_process_login(VSCSIState *s, vscsi_req *req)\n\n{\n\n union viosrp_iu *iu = &req->iu;\n\n struct srp_login_rsp *rsp = &iu->srp.login_rsp;\n\n uint64_t tag = iu->srp.rsp.tag;\n\n\n\n trace_spapr_vscsi__process_login();\n\n\n\n /* TODO handle case that requested size is wrong and\n\n * buffer format is wrong\n\n */\n\n memset(iu, 0, sizeof(struct srp_login_rsp));\n\n rsp->opcode = SRP_LOGIN_RSP;\n\n /* Don't advertise quite as many request as we support to\n\n * keep room for management stuff etc...\n\n */\n\n rsp->req_lim_delta = cpu_to_be32(VSCSI_REQ_LIMIT-2);\n\n rsp->tag = tag;\n\n rsp->max_it_iu_len = cpu_to_be32(sizeof(union srp_iu));\n\n rsp->max_ti_iu_len = cpu_to_be32(sizeof(union srp_iu));\n\n /* direct and indirect */\n\n rsp->buf_fmt = cpu_to_be16(SRP_BUF_FORMAT_DIRECT | SRP_BUF_FORMAT_INDIRECT);\n\n\n\n vscsi_send_iu(s, req, sizeof(*rsp), VIOSRP_SRP_FORMAT);\n\n}\n", "idx": 961}91{"project": "qemu", "commit_id": "bf43330aa418908f7a5e2acda28ac1a8ed0d8ad6", "target": 1, "func": "void cpu_tick_set_count(CPUTimer *timer, uint64_t count)\n\n{\n\n uint64_t real_count = count & ~timer->disabled_mask;\n\n uint64_t disabled_bit = count & timer->disabled_mask;\n\n\n\n int64_t vm_clock_offset = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) -\n\n cpu_to_timer_ticks(real_count, timer->frequency);\n\n\n\n TIMER_DPRINTF(\"%s set_count count=0x%016lx (%s) p=%p\\n\",\n\n timer->name, real_count,\n\n timer->disabled?\"disabled\":\"enabled\", timer);\n\n\n\n timer->disabled = disabled_bit ? 1 : 0;\n\n timer->clock_offset = vm_clock_offset;\n\n}\n", "idx": 963}92{"project": "qemu", "commit_id": "d3c8c67469ee70fcae116d5abc277a7ebc8a19fd", "target": 1, "func": "void commit_start(const char *job_id, BlockDriverState *bs,\n\n BlockDriverState *base, BlockDriverState *top, int64_t speed,\n\n BlockdevOnError on_error, const char *backing_file_str,\n\n const char *filter_node_name, Error **errp)\n\n{\n\n CommitBlockJob *s;\n\n BlockReopenQueue *reopen_queue = NULL;\n\n int orig_overlay_flags;\n\n int orig_base_flags;\n\n BlockDriverState *iter;\n\n BlockDriverState *overlay_bs;\n\n BlockDriverState *commit_top_bs = NULL;\n\n Error *local_err = NULL;\n\n int ret;\n\n\n\n assert(top != bs);\n\n if (top == base) {\n\n error_setg(errp, \"Invalid files for merge: top and base are the same\");\n\n return;\n\n\n\n\n overlay_bs = bdrv_find_overlay(bs, top);\n\n\n\n if (overlay_bs == NULL) {\n\n error_setg(errp, \"Could not find overlay image for %s:\", top->filename);\n\n return;\n\n\n\n\n s = block_job_create(job_id, &commit_job_driver, bs, 0, BLK_PERM_ALL,\n\n speed, BLOCK_JOB_DEFAULT, NULL, NULL, errp);\n\n if (!s) {\n\n return;\n\n\n\n\n orig_base_flags = bdrv_get_flags(base);\n\n orig_overlay_flags = bdrv_get_flags(overlay_bs);\n\n\n\n /* convert base & overlay_bs to r/w, if necessary */\n\n if (!(orig_base_flags & BDRV_O_RDWR)) {\n\n reopen_queue = bdrv_reopen_queue(reopen_queue, base, NULL,\n\n orig_base_flags | BDRV_O_RDWR);\n\n\n if (!(orig_overlay_flags & BDRV_O_RDWR)) {\n\n reopen_queue = bdrv_reopen_queue(reopen_queue, overlay_bs, NULL,\n\n orig_overlay_flags | BDRV_O_RDWR);\n\n\n if (reopen_queue) {\n\n bdrv_reopen_multiple(bdrv_get_aio_context(bs), reopen_queue, &local_err);\n\n if (local_err != NULL) {\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n\n\n\n\n /* Insert commit_top block node above top, so we can block consistent read\n\n * on the backing chain below it */\n\n commit_top_bs = bdrv_new_open_driver(&bdrv_commit_top, filter_node_name, 0,\n\n errp);\n\n if (commit_top_bs == NULL) {\n\n goto fail;\n\n\n\n\n\n commit_top_bs->total_sectors = top->total_sectors;\n\n bdrv_set_aio_context(commit_top_bs, bdrv_get_aio_context(top));\n\n\n\n bdrv_set_backing_hd(commit_top_bs, top, &local_err);\n\n if (local_err) {\n\n bdrv_unref(commit_top_bs);\n\n commit_top_bs = NULL;\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n\n bdrv_set_backing_hd(overlay_bs, commit_top_bs, &local_err);\n\n if (local_err) {\n\n bdrv_unref(commit_top_bs);\n\n commit_top_bs = NULL;\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n\n\n\n s->commit_top_bs = commit_top_bs;\n\n bdrv_unref(commit_top_bs);\n\n\n\n /* Block all nodes between top and base, because they will\n\n * disappear from the chain after this operation. */\n\n assert(bdrv_chain_contains(top, base));\n\n for (iter = top; iter != base; iter = backing_bs(iter)) {\n\n /* XXX BLK_PERM_WRITE needs to be allowed so we don't block ourselves\n\n * at s->base (if writes are blocked for a node, they are also blocked\n\n * for its backing file). The other options would be a second filter\n\n * driver above s->base. */\n\n ret = block_job_add_bdrv(&s->common, \"intermediate node\", iter, 0,\n\n BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE,\n\n errp);\n\n if (ret < 0) {\n\n goto fail;\n\n\n\n\n\n ret = block_job_add_bdrv(&s->common, \"base\", base, 0, BLK_PERM_ALL, errp);\n\n if (ret < 0) {\n\n goto fail;\n\n\n\n\n /* overlay_bs must be blocked because it needs to be modified to\n\n * update the backing image string. */\n\n ret = block_job_add_bdrv(&s->common, \"overlay of top\", overlay_bs,\n\n BLK_PERM_GRAPH_MOD, BLK_PERM_ALL, errp);\n\n if (ret < 0) {\n\n goto fail;\n\n\n\n\n s->base = blk_new(BLK_PERM_CONSISTENT_READ\n\n | BLK_PERM_WRITE\n\n | BLK_PERM_RESIZE,\n\n BLK_PERM_CONSISTENT_READ\n\n | BLK_PERM_GRAPH_MOD\n\n | BLK_PERM_WRITE_UNCHANGED);\n\n ret = blk_insert_bs(s->base, base, errp);\n\n if (ret < 0) {\n\n goto fail;\n\n\n\n\n /* Required permissions are already taken with block_job_add_bdrv() */\n\n s->top = blk_new(0, BLK_PERM_ALL);\n\n ret = blk_insert_bs(s->top, top, errp);\n\n if (ret < 0) {\n\n goto fail;\n\n\n\n\n s->active = bs;\n\n\n\n s->base_flags = orig_base_flags;\n\n s->orig_overlay_flags = orig_overlay_flags;\n\n\n\n s->backing_file_str = g_strdup(backing_file_str);\n\n\n\n s->on_error = on_error;\n\n\n\n trace_commit_start(bs, base, top, s);\n\n block_job_start(&s->common);\n\n return;\n\n\n\nfail:\n\n if (s->base) {\n\n blk_unref(s->base);\n\n\n if (s->top) {\n\n blk_unref(s->top);\n\n\n if (commit_top_bs) {\n\n bdrv_set_backing_hd(overlay_bs, top, &error_abort);\n\n\n block_job_early_fail(&s->common);\n", "idx": 971}93{"project": "qemu", "commit_id": "2c6942fa7b332a95286071b92d233853e1000948", "target": 0, "func": "int bdrv_is_removable(BlockDriverState *bs)\n\n{\n\n return bs->removable;\n\n}\n", "idx": 982}94{"project": "FFmpeg", "commit_id": "af7d13ee4a4bf8d708f9b0598abb8f6e22b76de1", "target": 1, "func": "static int null_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)\n\n{\n\n\n return 0;\n\n}", "idx": 1035}95{"project": "qemu", "commit_id": "8ae8e904fcba484ff7c3f8f31339b56ebd88fbad", "target": 1, "func": "void qmp_blockdev_add(BlockdevOptions *options, Error **errp)\n\n{\n\n QmpOutputVisitor *ov = qmp_output_visitor_new();\n\n QObject *obj;\n\n QDict *qdict;\n\n Error *local_err = NULL;\n\n\n\n /* Require an ID in the top level */\n\n if (!options->has_id) {\n\n error_setg(errp, \"Block device needs an ID\");\n\n goto fail;\n\n }\n\n\n\n /* TODO Sort it out in raw-posix and drive_init: Reject aio=native with\n\n * cache.direct=false instead of silently switching to aio=threads, except\n\n * if called from drive_init.\n\n *\n\n * For now, simply forbidding the combination for all drivers will do. */\n\n if (options->has_aio && options->aio == BLOCKDEV_AIO_OPTIONS_NATIVE) {\n\n bool direct = options->cache->has_direct && options->cache->direct;\n\n if (!options->has_cache && !direct) {\n\n error_setg(errp, \"aio=native requires cache.direct=true\");\n\n goto fail;\n\n }\n\n }\n\n\n\n visit_type_BlockdevOptions(qmp_output_get_visitor(ov),\n\n &options, NULL, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n }\n\n\n\n obj = qmp_output_get_qobject(ov);\n\n qdict = qobject_to_qdict(obj);\n\n\n\n qdict_flatten(qdict);\n\n\n\n blockdev_init(NULL, qdict, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n }\n\n\n\nfail:\n\n qmp_output_visitor_cleanup(ov);\n\n}\n", "idx": 1038}96{"project": "qemu", "commit_id": "966439a67830239a6c520c5df6c55627b8153c8b", "target": 1, "func": "void do_divwuo (void)\n\n{\n\n if (likely((uint32_t)T1 != 0)) {\n\n xer_ov = 0;\n\n T0 = (uint32_t)T0 / (uint32_t)T1;\n\n } else {\n\n xer_so = 1;\n\n xer_ov = 1;\n\n T0 = 0;\n\n }\n\n}\n", "idx": 1040}97{"project": "qemu", "commit_id": "00f4d64ee76e873be881a82d893a591487aa7950", "target": 1, "func": "static void kvmclock_pre_save(void *opaque)\n\n{\n\n KVMClockState *s = opaque;\n\n struct kvm_clock_data data;\n\n int ret;\n\n\n\n if (s->clock_valid) {\n\n return;\n\n }\n\n ret = kvm_vm_ioctl(kvm_state, KVM_GET_CLOCK, &data);\n\n if (ret < 0) {\n\n fprintf(stderr, \"KVM_GET_CLOCK failed: %s\\n\", strerror(ret));\n\n data.clock = 0;\n\n }\n\n s->clock = data.clock;\n\n /*\n\n * If the VM is stopped, declare the clock state valid to avoid re-reading\n\n * it on next vmsave (which would return a different value). Will be reset\n\n * when the VM is continued.\n\n */\n\n s->clock_valid = !runstate_is_running();\n\n}\n", "idx": 1046}98{"project": "qemu", "commit_id": "6c1fef6b59563cc415f21e03f81539ed4b33ad90", "target": 1, "func": "static void handle_satn(ESPState *s)\n\n{\n\n uint8_t buf[32];\n\n int len;\n\n\n\n if (s->dma && !s->dma_enabled) {\n\n s->dma_cb = handle_satn;\n\n return;\n\n }\n\n len = get_cmd(s, buf);\n\n if (len)\n\n do_cmd(s, buf);\n\n}\n", "idx": 1056}99{"project": "FFmpeg", "commit_id": "5d97d9d53ea1cc2c28411ad734565372ddeccc32", "target": 1, "func": "static int check_checksum(ByteIOContext *bc){\n\n unsigned long checksum= get_checksum(bc);\n\n// return checksum != get_be32(bc);\n\n\n\n av_log(NULL, AV_LOG_ERROR, \"%08X %08X\\n\", checksum, (int)get_be32(bc));\n\n\n\n return 0;\n\n}\n", "idx": 1059}100{"project": "qemu", "commit_id": "35c2c8dc8c0899882a8e0d349d93bd657772f1e7", "target": 0, "func": "int ide_init_drive(IDEState *s, BlockBackend *blk, IDEDriveKind kind,\n\n const char *version, const char *serial, const char *model,\n\n uint64_t wwn,\n\n uint32_t cylinders, uint32_t heads, uint32_t secs,\n\n int chs_trans)\n\n{\n\n uint64_t nb_sectors;\n\n\n\n s->blk = blk;\n\n s->drive_kind = kind;\n\n\n\n blk_get_geometry(blk, &nb_sectors);\n\n s->cylinders = cylinders;\n\n s->heads = heads;\n\n s->sectors = secs;\n\n s->chs_trans = chs_trans;\n\n s->nb_sectors = nb_sectors;\n\n s->wwn = wwn;\n\n /* The SMART values should be preserved across power cycles\n\n but they aren't. */\n\n s->smart_enabled = 1;\n\n s->smart_autosave = 1;\n\n s->smart_errors = 0;\n\n s->smart_selftest_count = 0;\n\n if (kind == IDE_CD) {\n\n blk_set_dev_ops(blk, &ide_cd_block_ops, s);\n\n blk_set_guest_block_size(blk, 2048);\n\n } else {\n\n if (!blk_is_inserted(s->blk)) {\n\n error_report(\"Device needs media, but drive is empty\");\n\n return -1;\n\n }\n\n if (blk_is_read_only(blk)) {\n\n error_report(\"Can't use a read-only drive\");\n\n return -1;\n\n }\n\n blk_set_dev_ops(blk, &ide_hd_block_ops, s);\n\n }\n\n if (serial) {\n\n pstrcpy(s->drive_serial_str, sizeof(s->drive_serial_str), serial);\n\n } else {\n\n snprintf(s->drive_serial_str, sizeof(s->drive_serial_str),\n\n \"QM%05d\", s->drive_serial);\n\n }\n\n if (model) {\n\n pstrcpy(s->drive_model_str, sizeof(s->drive_model_str), model);\n\n } else {\n\n switch (kind) {\n\n case IDE_CD:\n\n strcpy(s->drive_model_str, \"QEMU DVD-ROM\");\n\n break;\n\n case IDE_CFATA:\n\n strcpy(s->drive_model_str, \"QEMU MICRODRIVE\");\n\n break;\n\n default:\n\n strcpy(s->drive_model_str, \"QEMU HARDDISK\");\n\n break;\n\n }\n\n }\n\n\n\n if (version) {\n\n pstrcpy(s->version, sizeof(s->version), version);\n\n } else {\n\n pstrcpy(s->version, sizeof(s->version), qemu_get_version());\n\n }\n\n\n\n ide_reset(s);\n\n blk_iostatus_enable(blk);\n\n return 0;\n\n}\n", "idx": 1060}101{"project": "qemu", "commit_id": "384b557da1a44ce260cd0328c06a250507348f73", "target": 1, "func": "int vhost_backend_invalidate_device_iotlb(struct vhost_dev *dev,\n\n uint64_t iova, uint64_t len)\n\n{\n\n struct vhost_iotlb_msg imsg;\n\n\n\n imsg.iova = iova;\n\n imsg.size = len;\n\n imsg.type = VHOST_IOTLB_INVALIDATE;\n\n\n\n return dev->vhost_ops->vhost_send_device_iotlb_msg(dev, &imsg);\n\n}\n", "idx": 1089}102{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint32_t gic_dist_readw(void *opaque, target_phys_addr_t offset)\n\n{\n\n uint32_t val;\n\n val = gic_dist_readb(opaque, offset);\n\n val |= gic_dist_readb(opaque, offset + 1) << 8;\n\n return val;\n\n}\n", "idx": 1107}103{"project": "qemu", "commit_id": "bc7c08a2c375acb7ae4d433054415588b176d34c", "target": 0, "func": "static void test_qemu_strtoull_overflow(void)\n\n{\n\n const char *str = \"99999999999999999999999999999999999999999999\";\n\n char f = 'X';\n\n const char *endptr = &f;\n\n uint64_t res = 999;\n\n int err;\n\n\n\n err = qemu_strtoull(str, &endptr, 0, &res);\n\n\n\n g_assert_cmpint(err, ==, -ERANGE);\n\n g_assert_cmpint(res, ==, ULLONG_MAX);\n\n g_assert(endptr == str + strlen(str));\n\n}\n", "idx": 1108}104{"project": "qemu", "commit_id": "e1f8c729fa890c67bb4532f22c22ace6fb0e1aaf", "target": 0, "func": "PXA2xxState *pxa255_init(unsigned int sdram_size)\n\n{\n\n PXA2xxState *s;\n\n int iomemtype, i;\n\n DriveInfo *dinfo;\n\n\n\n s = (PXA2xxState *) qemu_mallocz(sizeof(PXA2xxState));\n\n\n\n s->env = cpu_init(\"pxa255\");\n\n if (!s->env) {\n\n fprintf(stderr, \"Unable to find CPU definition\\n\");\n\n exit(1);\n\n }\n\n s->reset = qemu_allocate_irqs(pxa2xx_reset, s, 1)[0];\n\n\n\n /* SDRAM & Internal Memory Storage */\n\n cpu_register_physical_memory(PXA2XX_SDRAM_BASE, sdram_size,\n\n qemu_ram_alloc(NULL, \"pxa255.sdram\",\n\n sdram_size) | IO_MEM_RAM);\n\n cpu_register_physical_memory(PXA2XX_INTERNAL_BASE, PXA2XX_INTERNAL_SIZE,\n\n qemu_ram_alloc(NULL, \"pxa255.internal\",\n\n PXA2XX_INTERNAL_SIZE) | IO_MEM_RAM);\n\n\n\n s->pic = pxa2xx_pic_init(0x40d00000, s->env);\n\n\n\n s->dma = pxa255_dma_init(0x40000000, s->pic[PXA2XX_PIC_DMA]);\n\n\n\n pxa25x_timer_init(0x40a00000, &s->pic[PXA2XX_PIC_OST_0]);\n\n\n\n s->gpio = pxa2xx_gpio_init(0x40e00000, s->env, s->pic, 85);\n\n\n\n dinfo = drive_get(IF_SD, 0, 0);\n\n if (!dinfo) {\n\n fprintf(stderr, \"qemu: missing SecureDigital device\\n\");\n\n exit(1);\n\n }\n\n s->mmc = pxa2xx_mmci_init(0x41100000, dinfo->bdrv,\n\n s->pic[PXA2XX_PIC_MMC], s->dma);\n\n\n\n for (i = 0; pxa255_serial[i].io_base; i ++)\n\n if (serial_hds[i]) {\n\n#ifdef TARGET_WORDS_BIGENDIAN\n\n serial_mm_init(pxa255_serial[i].io_base, 2,\n\n s->pic[pxa255_serial[i].irqn], 14745600/16,\n\n serial_hds[i], 1, 1);\n\n#else\n\n serial_mm_init(pxa255_serial[i].io_base, 2,\n\n s->pic[pxa255_serial[i].irqn], 14745600/16,\n\n serial_hds[i], 1, 0);\n\n#endif\n\n } else {\n\n break;\n\n }\n\n if (serial_hds[i])\n\n s->fir = pxa2xx_fir_init(0x40800000, s->pic[PXA2XX_PIC_ICP],\n\n s->dma, serial_hds[i]);\n\n\n\n s->lcd = pxa2xx_lcdc_init(0x44000000, s->pic[PXA2XX_PIC_LCD]);\n\n\n\n s->cm_base = 0x41300000;\n\n s->cm_regs[CCCR >> 2] = 0x02000210;\t/* 416.0 MHz */\n\n s->clkcfg = 0x00000009;\t\t/* Turbo mode active */\n\n iomemtype = cpu_register_io_memory(pxa2xx_cm_readfn,\n\n pxa2xx_cm_writefn, s, DEVICE_NATIVE_ENDIAN);\n\n cpu_register_physical_memory(s->cm_base, 0x1000, iomemtype);\n\n register_savevm(NULL, \"pxa2xx_cm\", 0, 0, pxa2xx_cm_save, pxa2xx_cm_load, s);\n\n\n\n cpu_arm_set_cp_io(s->env, 14, pxa2xx_cp14_read, pxa2xx_cp14_write, s);\n\n\n\n s->mm_base = 0x48000000;\n\n s->mm_regs[MDMRS >> 2] = 0x00020002;\n\n s->mm_regs[MDREFR >> 2] = 0x03ca4000;\n\n s->mm_regs[MECR >> 2] = 0x00000001;\t/* Two PC Card sockets */\n\n iomemtype = cpu_register_io_memory(pxa2xx_mm_readfn,\n\n pxa2xx_mm_writefn, s, DEVICE_NATIVE_ENDIAN);\n\n cpu_register_physical_memory(s->mm_base, 0x1000, iomemtype);\n\n register_savevm(NULL, \"pxa2xx_mm\", 0, 0, pxa2xx_mm_save, pxa2xx_mm_load, s);\n\n\n\n s->pm_base = 0x40f00000;\n\n iomemtype = cpu_register_io_memory(pxa2xx_pm_readfn,\n\n pxa2xx_pm_writefn, s, DEVICE_NATIVE_ENDIAN);\n\n cpu_register_physical_memory(s->pm_base, 0x100, iomemtype);\n\n register_savevm(NULL, \"pxa2xx_pm\", 0, 0, pxa2xx_pm_save, pxa2xx_pm_load, s);\n\n\n\n for (i = 0; pxa255_ssp[i].io_base; i ++);\n\n s->ssp = (SSIBus **)qemu_mallocz(sizeof(SSIBus *) * i);\n\n for (i = 0; pxa255_ssp[i].io_base; i ++) {\n\n DeviceState *dev;\n\n dev = sysbus_create_simple(\"pxa2xx-ssp\", pxa255_ssp[i].io_base,\n\n s->pic[pxa255_ssp[i].irqn]);\n\n s->ssp[i] = (SSIBus *)qdev_get_child_bus(dev, \"ssi\");\n\n }\n\n\n\n if (usb_enabled) {\n\n sysbus_create_simple(\"sysbus-ohci\", 0x4c000000,\n\n s->pic[PXA2XX_PIC_USBH1]);\n\n }\n\n\n\n s->pcmcia[0] = pxa2xx_pcmcia_init(0x20000000);\n\n s->pcmcia[1] = pxa2xx_pcmcia_init(0x30000000);\n\n\n\n s->rtc_base = 0x40900000;\n\n iomemtype = cpu_register_io_memory(pxa2xx_rtc_readfn,\n\n pxa2xx_rtc_writefn, s, DEVICE_NATIVE_ENDIAN);\n\n cpu_register_physical_memory(s->rtc_base, 0x1000, iomemtype);\n\n pxa2xx_rtc_init(s);\n\n register_savevm(NULL, \"pxa2xx_rtc\", 0, 0, pxa2xx_rtc_save,\n\n pxa2xx_rtc_load, s);\n\n\n\n s->i2c[0] = pxa2xx_i2c_init(0x40301600, s->pic[PXA2XX_PIC_I2C], 0xffff);\n\n s->i2c[1] = pxa2xx_i2c_init(0x40f00100, s->pic[PXA2XX_PIC_PWRI2C], 0xff);\n\n\n\n s->i2s = pxa2xx_i2s_init(0x40400000, s->pic[PXA2XX_PIC_I2S], s->dma);\n\n\n\n /* GPIO1 resets the processor */\n\n /* The handler can be overridden by board-specific code */\n\n qdev_connect_gpio_out(s->gpio, 1, s->reset);\n\n return s;\n\n}\n", "idx": 1119}105{"project": "qemu", "commit_id": "72cf2d4f0e181d0d3a3122e04129c58a95da713e", "target": 0, "func": "int usb_device_delete_addr(int busnr, int addr)\n\n{\n\n USBBus *bus;\n\n USBPort *port;\n\n USBDevice *dev;\n\n\n\n bus = usb_bus_find(busnr);\n\n if (!bus)\n\n return -1;\n\n\n\n TAILQ_FOREACH(port, &bus->used, next) {\n\n if (port->dev->addr == addr)\n\n break;\n\n }\n\n if (!port)\n\n return -1;\n\n\n\n dev = port->dev;\n\n TAILQ_REMOVE(&bus->used, port, next);\n\n bus->nused--;\n\n\n\n usb_attach(port, NULL);\n\n dev->info->handle_destroy(dev);\n\n\n\n TAILQ_INSERT_TAIL(&bus->free, port, next);\n\n bus->nfree++;\n\n return 0;\n\n}\n", "idx": 1121}106{"project": "qemu", "commit_id": "7d5e199ade76c53ec316ab6779800581bb47c50a", "target": 0, "func": "static void qmp_output_type_number(Visitor *v, const char *name, double *obj,\n\n Error **errp)\n\n{\n\n QmpOutputVisitor *qov = to_qov(v);\n\n qmp_output_add(qov, name, qfloat_from_double(*obj));\n\n}\n", "idx": 1122}107{"project": "qemu", "commit_id": "0e01b76e7cc43068f6b8cc05297f61539ccd5279", "target": 1, "func": "static int aio_write_f(BlockBackend *blk, int argc, char **argv)\n\n{\n\n int nr_iov, c;\n\n int pattern = 0xcd;\n\n struct aio_ctx *ctx = g_new0(struct aio_ctx, 1);\n\n\n\n ctx->blk = blk;\n\n while ((c = getopt(argc, argv, \"CqP:z\")) != -1) {\n\n switch (c) {\n\n case 'C':\n\n ctx->Cflag = 1;\n\n break;\n\n case 'q':\n\n ctx->qflag = 1;\n\n break;\n\n case 'P':\n\n pattern = parse_pattern(optarg);\n\n if (pattern < 0) {\n\n\n return 0;\n\n }\n\n break;\n\n case 'z':\n\n ctx->zflag = 1;\n\n break;\n\n default:\n\n\n return qemuio_command_usage(&aio_write_cmd);\n\n }\n\n }\n\n\n\n if (optind > argc - 2) {\n\n\n return qemuio_command_usage(&aio_write_cmd);\n\n }\n\n\n\n if (ctx->zflag && optind != argc - 2) {\n\n printf(\"-z supports only a single length parameter\\n\");\n\n\n return 0;\n\n }\n\n\n\n if (ctx->zflag && ctx->Pflag) {\n\n printf(\"-z and -P cannot be specified at the same time\\n\");\n\n\n return 0;\n\n }\n\n\n\n ctx->offset = cvtnum(argv[optind]);\n\n if (ctx->offset < 0) {\n\n print_cvtnum_err(ctx->offset, argv[optind]);\n\n\n return 0;\n\n }\n\n optind++;\n\n\n\n if (ctx->offset & 0x1ff) {\n\n printf(\"offset %\" PRId64 \" is not sector aligned\\n\",\n\n ctx->offset);\n\n block_acct_invalid(blk_get_stats(blk), BLOCK_ACCT_WRITE);\n\n\n return 0;\n\n }\n\n\n\n if (ctx->zflag) {\n\n int64_t count = cvtnum(argv[optind]);\n\n if (count < 0) {\n\n print_cvtnum_err(count, argv[optind]);\n\n\n return 0;\n\n }\n\n\n\n ctx->qiov.size = count;\n\n blk_aio_write_zeroes(blk, ctx->offset >> 9, count >> 9, 0,\n\n aio_write_done, ctx);\n\n } else {\n\n nr_iov = argc - optind;\n\n ctx->buf = create_iovec(blk, &ctx->qiov, &argv[optind], nr_iov,\n\n pattern);\n\n if (ctx->buf == NULL) {\n\n block_acct_invalid(blk_get_stats(blk), BLOCK_ACCT_WRITE);\n\n\n return 0;\n\n }\n\n\n\n gettimeofday(&ctx->t1, NULL);\n\n block_acct_start(blk_get_stats(blk), &ctx->acct, ctx->qiov.size,\n\n BLOCK_ACCT_WRITE);\n\n\n\n blk_aio_writev(blk, ctx->offset >> 9, &ctx->qiov,\n\n ctx->qiov.size >> 9, aio_write_done, ctx);\n\n }\n\n return 0;\n\n}", "idx": 1130}108{"project": "qemu", "commit_id": "7453c96b78c2b09aa72924f933bb9616e5474194", "target": 1, "func": "static int alloc_refcount_block(BlockDriverState *bs,\n\n int64_t cluster_index, uint16_t **refcount_block)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n unsigned int refcount_table_index;\n\n int ret;\n\n\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_ALLOC);\n\n\n\n /* Find the refcount block for the given cluster */\n\n refcount_table_index = cluster_index >> s->refcount_block_bits;\n\n\n\n if (refcount_table_index < s->refcount_table_size) {\n\n\n\n uint64_t refcount_block_offset =\n\n s->refcount_table[refcount_table_index] & REFT_OFFSET_MASK;\n\n\n\n /* If it's already there, we're done */\n\n if (refcount_block_offset) {\n\n if (offset_into_cluster(s, refcount_block_offset)) {\n\n qcow2_signal_corruption(bs, true, -1, -1, \"Refblock offset %#\"\n\n PRIx64 \" unaligned (reftable index: \"\n\n \"%#x)\", refcount_block_offset,\n\n refcount_table_index);\n\n return -EIO;\n\n }\n\n\n\n return load_refcount_block(bs, refcount_block_offset,\n\n (void**) refcount_block);\n\n }\n\n }\n\n\n\n /*\n\n * If we came here, we need to allocate something. Something is at least\n\n * a cluster for the new refcount block. It may also include a new refcount\n\n * table if the old refcount table is too small.\n\n *\n\n * Note that allocating clusters here needs some special care:\n\n *\n\n * - We can't use the normal qcow2_alloc_clusters(), it would try to\n\n * increase the refcount and very likely we would end up with an endless\n\n * recursion. Instead we must place the refcount blocks in a way that\n\n * they can describe them themselves.\n\n *\n\n * - We need to consider that at this point we are inside update_refcounts\n\n * and potentially doing an initial refcount increase. This means that\n\n * some clusters have already been allocated by the caller, but their\n\n * refcount isn't accurate yet. If we allocate clusters for metadata, we\n\n * need to return -EAGAIN to signal the caller that it needs to restart\n\n * the search for free clusters.\n\n *\n\n * - alloc_clusters_noref and qcow2_free_clusters may load a different\n\n * refcount block into the cache\n\n */\n\n\n\n *refcount_block = NULL;\n\n\n\n /* We write to the refcount table, so we might depend on L2 tables */\n\n ret = qcow2_cache_flush(bs, s->l2_table_cache);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n /* Allocate the refcount block itself and mark it as used */\n\n int64_t new_block = alloc_clusters_noref(bs, s->cluster_size);\n\n if (new_block < 0) {\n\n return new_block;\n\n }\n\n\n\n#ifdef DEBUG_ALLOC2\n\n fprintf(stderr, \"qcow2: Allocate refcount block %d for %\" PRIx64\n\n \" at %\" PRIx64 \"\\n\",\n\n refcount_table_index, cluster_index << s->cluster_bits, new_block);\n\n#endif\n\n\n\n if (in_same_refcount_block(s, new_block, cluster_index << s->cluster_bits)) {\n\n /* Zero the new refcount block before updating it */\n\n ret = qcow2_cache_get_empty(bs, s->refcount_block_cache, new_block,\n\n (void**) refcount_block);\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n memset(*refcount_block, 0, s->cluster_size);\n\n\n\n /* The block describes itself, need to update the cache */\n\n int block_index = (new_block >> s->cluster_bits) &\n\n (s->refcount_block_size - 1);\n\n (*refcount_block)[block_index] = cpu_to_be16(1);\n\n } else {\n\n /* Described somewhere else. This can recurse at most twice before we\n\n * arrive at a block that describes itself. */\n\n ret = update_refcount(bs, new_block, s->cluster_size, 1, false,\n\n QCOW2_DISCARD_NEVER);\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n ret = qcow2_cache_flush(bs, s->refcount_block_cache);\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n /* Initialize the new refcount block only after updating its refcount,\n\n * update_refcount uses the refcount cache itself */\n\n ret = qcow2_cache_get_empty(bs, s->refcount_block_cache, new_block,\n\n (void**) refcount_block);\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n memset(*refcount_block, 0, s->cluster_size);\n\n }\n\n\n\n /* Now the new refcount block needs to be written to disk */\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_ALLOC_WRITE);\n\n qcow2_cache_entry_mark_dirty(s->refcount_block_cache, *refcount_block);\n\n ret = qcow2_cache_flush(bs, s->refcount_block_cache);\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n /* If the refcount table is big enough, just hook the block up there */\n\n if (refcount_table_index < s->refcount_table_size) {\n\n uint64_t data64 = cpu_to_be64(new_block);\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_ALLOC_HOOKUP);\n\n ret = bdrv_pwrite_sync(bs->file,\n\n s->refcount_table_offset + refcount_table_index * sizeof(uint64_t),\n\n &data64, sizeof(data64));\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n s->refcount_table[refcount_table_index] = new_block;\n\n\n\n /* The new refcount block may be where the caller intended to put its\n\n * data, so let it restart the search. */\n\n return -EAGAIN;\n\n }\n\n\n\n ret = qcow2_cache_put(bs, s->refcount_block_cache, (void**) refcount_block);\n\n if (ret < 0) {\n\n goto fail_block;\n\n }\n\n\n\n /*\n\n * If we come here, we need to grow the refcount table. Again, a new\n\n * refcount table needs some space and we can't simply allocate to avoid\n\n * endless recursion.\n\n *\n\n * Therefore let's grab new refcount blocks at the end of the image, which\n\n * will describe themselves and the new refcount table. This way we can\n\n * reference them only in the new table and do the switch to the new\n\n * refcount table at once without producing an inconsistent state in\n\n * between.\n\n */\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFTABLE_GROW);\n\n\n\n /* Calculate the number of refcount blocks needed so far */\n\n uint64_t blocks_used = DIV_ROUND_UP(cluster_index, s->refcount_block_size);\n\n\n\n if (blocks_used > QCOW_MAX_REFTABLE_SIZE / sizeof(uint64_t)) {\n\n return -EFBIG;\n\n }\n\n\n\n /* And now we need at least one block more for the new metadata */\n\n uint64_t table_size = next_refcount_table_size(s, blocks_used + 1);\n\n uint64_t last_table_size;\n\n uint64_t blocks_clusters;\n\n do {\n\n uint64_t table_clusters =\n\n size_to_clusters(s, table_size * sizeof(uint64_t));\n\n blocks_clusters = 1 +\n\n ((table_clusters + s->refcount_block_size - 1)\n\n / s->refcount_block_size);\n\n uint64_t meta_clusters = table_clusters + blocks_clusters;\n\n\n\n last_table_size = table_size;\n\n table_size = next_refcount_table_size(s, blocks_used +\n\n ((meta_clusters + s->refcount_block_size - 1)\n\n / s->refcount_block_size));\n\n\n\n } while (last_table_size != table_size);\n\n\n\n#ifdef DEBUG_ALLOC2\n\n fprintf(stderr, \"qcow2: Grow refcount table %\" PRId32 \" => %\" PRId64 \"\\n\",\n\n s->refcount_table_size, table_size);\n\n#endif\n\n\n\n /* Create the new refcount table and blocks */\n\n uint64_t meta_offset = (blocks_used * s->refcount_block_size) *\n\n s->cluster_size;\n\n uint64_t table_offset = meta_offset + blocks_clusters * s->cluster_size;\n\n uint64_t *new_table = g_try_new0(uint64_t, table_size);\n\n uint16_t *new_blocks = g_try_malloc0(blocks_clusters * s->cluster_size);\n\n\n\n assert(table_size > 0 && blocks_clusters > 0);\n\n if (new_table == NULL || new_blocks == NULL) {\n\n ret = -ENOMEM;\n\n goto fail_table;\n\n }\n\n\n\n /* Fill the new refcount table */\n\n memcpy(new_table, s->refcount_table,\n\n s->refcount_table_size * sizeof(uint64_t));\n\n new_table[refcount_table_index] = new_block;\n\n\n\n int i;\n\n for (i = 0; i < blocks_clusters; i++) {\n\n new_table[blocks_used + i] = meta_offset + (i * s->cluster_size);\n\n }\n\n\n\n /* Fill the refcount blocks */\n\n uint64_t table_clusters = size_to_clusters(s, table_size * sizeof(uint64_t));\n\n int block = 0;\n\n for (i = 0; i < table_clusters + blocks_clusters; i++) {\n\n new_blocks[block++] = cpu_to_be16(1);\n\n }\n\n\n\n /* Write refcount blocks to disk */\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_ALLOC_WRITE_BLOCKS);\n\n ret = bdrv_pwrite_sync(bs->file, meta_offset, new_blocks,\n\n blocks_clusters * s->cluster_size);\n\n g_free(new_blocks);\n\n new_blocks = NULL;\n\n if (ret < 0) {\n\n goto fail_table;\n\n }\n\n\n\n /* Write refcount table to disk */\n\n for(i = 0; i < table_size; i++) {\n\n cpu_to_be64s(&new_table[i]);\n\n }\n\n\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_ALLOC_WRITE_TABLE);\n\n ret = bdrv_pwrite_sync(bs->file, table_offset, new_table,\n\n table_size * sizeof(uint64_t));\n\n if (ret < 0) {\n\n goto fail_table;\n\n }\n\n\n\n for(i = 0; i < table_size; i++) {\n\n be64_to_cpus(&new_table[i]);\n\n }\n\n\n\n /* Hook up the new refcount table in the qcow2 header */\n\n uint8_t data[12];\n\n cpu_to_be64w((uint64_t*)data, table_offset);\n\n cpu_to_be32w((uint32_t*)(data + 8), table_clusters);\n\n BLKDBG_EVENT(bs->file, BLKDBG_REFBLOCK_ALLOC_SWITCH_TABLE);\n\n ret = bdrv_pwrite_sync(bs->file, offsetof(QCowHeader, refcount_table_offset),\n\n data, sizeof(data));\n\n if (ret < 0) {\n\n goto fail_table;\n\n }\n\n\n\n /* And switch it in memory */\n\n uint64_t old_table_offset = s->refcount_table_offset;\n\n uint64_t old_table_size = s->refcount_table_size;\n\n\n\n g_free(s->refcount_table);\n\n s->refcount_table = new_table;\n\n s->refcount_table_size = table_size;\n\n s->refcount_table_offset = table_offset;\n\n\n\n /* Free old table. */\n\n qcow2_free_clusters(bs, old_table_offset, old_table_size * sizeof(uint64_t),\n\n QCOW2_DISCARD_OTHER);\n\n\n\n ret = load_refcount_block(bs, new_block, (void**) refcount_block);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n /* If we were trying to do the initial refcount update for some cluster\n\n * allocation, we might have used the same clusters to store newly\n\n * allocated metadata. Make the caller search some new space. */\n\n return -EAGAIN;\n\n\n\nfail_table:\n\n g_free(new_blocks);\n\n g_free(new_table);\n\nfail_block:\n\n if (*refcount_block != NULL) {\n\n qcow2_cache_put(bs, s->refcount_block_cache, (void**) refcount_block);\n\n }\n\n return ret;\n\n}\n", "idx": 1136}109{"project": "FFmpeg", "commit_id": "95801b6a0727d6f7e6f1204ce812b1e81613307d", "target": 1, "func": "static int alac_decode_frame(AVCodecContext *avctx,\n\n void *outbuffer, int *outputsize,\n\n const uint8_t *inbuffer, int input_buffer_size)\n\n{\n\n ALACContext *alac = avctx->priv_data;\n\n\n\n int channels;\n\n unsigned int outputsamples;\n\n int hassize;\n\n int readsamplesize;\n\n int wasted_bytes;\n\n int isnotcompressed;\n\n uint8_t interlacing_shift;\n\n uint8_t interlacing_leftweight;\n\n\n\n /* short-circuit null buffers */\n\n if (!inbuffer || !input_buffer_size)\n\n return input_buffer_size;\n\n\n\n /* initialize from the extradata */\n\n if (!alac->context_initialized) {\n\n if (alac->avctx->extradata_size != ALAC_EXTRADATA_SIZE) {\n\n av_log(avctx, AV_LOG_ERROR, \"alac: expected %d extradata bytes\\n\",\n\n ALAC_EXTRADATA_SIZE);\n\n return input_buffer_size;\n\n }\n\n if (alac_set_info(alac)) {\n\n av_log(avctx, AV_LOG_ERROR, \"alac: set_info failed\\n\");\n\n return input_buffer_size;\n\n }\n\n alac->context_initialized = 1;\n\n }\n\n\n\n init_get_bits(&alac->gb, inbuffer, input_buffer_size * 8);\n\n\n\n channels = get_bits(&alac->gb, 3) + 1;\n\n if (channels > MAX_CHANNELS) {\n\n av_log(avctx, AV_LOG_ERROR, \"channels > %d not supported\\n\",\n\n MAX_CHANNELS);\n\n return input_buffer_size;\n\n }\n\n\n\n /* 2^result = something to do with output waiting.\n\n * perhaps matters if we read > 1 frame in a pass?\n\n */\n\n skip_bits(&alac->gb, 4);\n\n\n\n skip_bits(&alac->gb, 12); /* unknown, skip 12 bits */\n\n\n\n /* the output sample size is stored soon */\n\n hassize = get_bits1(&alac->gb);\n\n\n\n wasted_bytes = get_bits(&alac->gb, 2); /* unknown ? */\n\n\n\n /* whether the frame is compressed */\n\n isnotcompressed = get_bits1(&alac->gb);\n\n\n\n if (hassize) {\n\n /* now read the number of samples as a 32bit integer */\n\n outputsamples = get_bits_long(&alac->gb, 32);\n\n if(outputsamples > alac->setinfo_max_samples_per_frame){\n\n av_log(avctx, AV_LOG_ERROR, \"outputsamples %d > %d\\n\", outputsamples, alac->setinfo_max_samples_per_frame);\n\n return -1;\n\n }\n\n } else\n\n outputsamples = alac->setinfo_max_samples_per_frame;\n\n\n\n if(outputsamples > *outputsize / alac->bytespersample){\n\n av_log(avctx, AV_LOG_ERROR, \"sample buffer too small\\n\");\n\n return -1;\n\n }\n\n\n\n *outputsize = outputsamples * alac->bytespersample;\n\n readsamplesize = alac->setinfo_sample_size - (wasted_bytes * 8) + channels - 1;\n\n\n\n if (!isnotcompressed) {\n\n /* so it is compressed */\n\n int16_t predictor_coef_table[channels][32];\n\n int predictor_coef_num[channels];\n\n int prediction_type[channels];\n\n int prediction_quantitization[channels];\n\n int ricemodifier[channels];\n\n int i, chan;\n\n\n\n interlacing_shift = get_bits(&alac->gb, 8);\n\n interlacing_leftweight = get_bits(&alac->gb, 8);\n\n\n\n for (chan = 0; chan < channels; chan++) {\n\n prediction_type[chan] = get_bits(&alac->gb, 4);\n\n prediction_quantitization[chan] = get_bits(&alac->gb, 4);\n\n\n\n ricemodifier[chan] = get_bits(&alac->gb, 3);\n\n predictor_coef_num[chan] = get_bits(&alac->gb, 5);\n\n\n\n /* read the predictor table */\n\n for (i = 0; i < predictor_coef_num[chan]; i++)\n\n predictor_coef_table[chan][i] = (int16_t)get_bits(&alac->gb, 16);\n\n }\n\n\n\n if (wasted_bytes)\n\n av_log(avctx, AV_LOG_ERROR, \"FIXME: unimplemented, unhandling of wasted_bytes\\n\");\n\n\n\n for (chan = 0; chan < channels; chan++) {\n\n bastardized_rice_decompress(alac,\n\n alac->predicterror_buffer[chan],\n\n outputsamples,\n\n readsamplesize,\n\n alac->setinfo_rice_initialhistory,\n\n alac->setinfo_rice_kmodifier,\n\n ricemodifier[chan] * alac->setinfo_rice_historymult / 4,\n\n (1 << alac->setinfo_rice_kmodifier) - 1);\n\n\n\n if (prediction_type[chan] == 0) {\n\n /* adaptive fir */\n\n predictor_decompress_fir_adapt(alac->predicterror_buffer[chan],\n\n alac->outputsamples_buffer[chan],\n\n outputsamples,\n\n readsamplesize,\n\n predictor_coef_table[chan],\n\n predictor_coef_num[chan],\n\n prediction_quantitization[chan]);\n\n } else {\n\n av_log(avctx, AV_LOG_ERROR, \"FIXME: unhandled prediction type: %i\\n\", prediction_type[chan]);\n\n /* I think the only other prediction type (or perhaps this is\n\n * just a boolean?) runs adaptive fir twice.. like:\n\n * predictor_decompress_fir_adapt(predictor_error, tempout, ...)\n\n * predictor_decompress_fir_adapt(predictor_error, outputsamples ...)\n\n * little strange..\n\n */\n\n }\n\n }\n\n } else {\n\n /* not compressed, easy case */\n\n int i, chan;\n\n for (i = 0; i < outputsamples; i++)\n\n for (chan = 0; chan < channels; chan++) {\n\n int32_t audiobits;\n\n\n\n audiobits = get_bits_long(&alac->gb, alac->setinfo_sample_size);\n\n audiobits = extend_sign32(audiobits, alac->setinfo_sample_size);\n\n\n\n alac->outputsamples_buffer[chan][i] = audiobits;\n\n }\n\n /* wasted_bytes = 0; */\n\n interlacing_shift = 0;\n\n interlacing_leftweight = 0;\n\n }\n\n if (get_bits(&alac->gb, 3) != 7)\n\n av_log(avctx, AV_LOG_ERROR, \"Error : Wrong End Of Frame\\n\");\n\n\n\n switch(alac->setinfo_sample_size) {\n\n case 16:\n\n if (channels == 2) {\n\n reconstruct_stereo_16(alac->outputsamples_buffer,\n\n (int16_t*)outbuffer,\n\n alac->numchannels,\n\n outputsamples,\n\n interlacing_shift,\n\n interlacing_leftweight);\n\n } else {\n\n int i;\n\n for (i = 0; i < outputsamples; i++) {\n\n int16_t sample = alac->outputsamples_buffer[0][i];\n\n ((int16_t*)outbuffer)[i * alac->numchannels] = sample;\n\n }\n\n }\n\n break;\n\n case 20:\n\n case 24:\n\n // It is not clear if there exist any encoder that creates 24 bit ALAC\n\n // files. iTunes convert 24 bit raw files to 16 bit before encoding.\n\n case 32:\n\n av_log(avctx, AV_LOG_ERROR, \"FIXME: unimplemented sample size %i\\n\", alac->setinfo_sample_size);\n\n break;\n\n default:\n\n break;\n\n }\n\n\n\n if (input_buffer_size * 8 - get_bits_count(&alac->gb) > 8)\n\n av_log(avctx, AV_LOG_ERROR, \"Error : %d bits left\\n\", input_buffer_size * 8 - get_bits_count(&alac->gb));\n\n\n\n return input_buffer_size;\n\n}\n", "idx": 1137}110{"project": "FFmpeg", "commit_id": "f929ab0569ff31ed5a59b0b0adb7ce09df3fca39", "target": 0, "func": "static int getopt(int argc, char *argv[], char *opts)\n\n{\n\n static int sp = 1;\n\n int c;\n\n char *cp;\n\n\n\n if (sp == 1)\n\n if (optind >= argc ||\n\n argv[optind][0] != '-' || argv[optind][1] == '\\0')\n\n return EOF;\n\n else if (!strcmp(argv[optind], \"--\")) {\n\n optind++;\n\n return EOF;\n\n }\n\n optopt = c = argv[optind][sp];\n\n if (c == ':' || (cp = strchr(opts, c)) == NULL) {\n\n fprintf(stderr, \": illegal option -- %c\\n\", c);\n\n if (argv[optind][++sp] == '\\0') {\n\n optind++;\n\n sp = 1;\n\n }\n\n return '?';\n\n }\n\n if (*++cp == ':') {\n\n if (argv[optind][sp+1] != '\\0')\n\n optarg = &argv[optind++][sp+1];\n\n else if(++optind >= argc) {\n\n fprintf(stderr, \": option requires an argument -- %c\\n\", c);\n\n sp = 1;\n\n return '?';\n\n } else\n\n optarg = argv[optind++];\n\n sp = 1;\n\n } else {\n\n if (argv[optind][++sp] == '\\0') {\n\n sp = 1;\n\n optind++;\n\n }\n\n optarg = NULL;\n\n }\n\n\n\n return c;\n\n}\n", "idx": 1145}111{"project": "qemu", "commit_id": "6240d6467077a12c24878bab645d8e2983e4975a", "target": 0, "func": "static void slavio_timer_mem_writel(void *opaque, target_phys_addr_t addr,\n\n uint32_t val)\n\n{\n\n SLAVIO_TIMERState *s = opaque;\n\n uint32_t saddr;\n\n int reload = 0;\n\n\n\n DPRINTF(\"write \" TARGET_FMT_plx \" %08x\\n\", addr, val);\n\n saddr = (addr & TIMER_MAXADDR) >> 2;\n\n switch (saddr) {\n\n case TIMER_LIMIT:\n\n if (slavio_timer_is_user(s)) {\n\n // set user counter MSW, reset counter\n\n qemu_irq_lower(s->irq);\n\n s->limit = TIMER_MAX_COUNT64;\n\n DPRINTF(\"processor %d user timer reset\\n\", s->slave_index);\n\n ptimer_set_limit(s->timer, LIMIT_TO_PERIODS(s->limit), 1);\n\n } else {\n\n // set limit, reset counter\n\n qemu_irq_lower(s->irq);\n\n s->limit = val & TIMER_MAX_COUNT32;\n\n if (!s->limit)\n\n s->limit = TIMER_MAX_COUNT32;\n\n ptimer_set_limit(s->timer, s->limit >> 9, 1);\n\n }\n\n break;\n\n case TIMER_COUNTER:\n\n if (slavio_timer_is_user(s)) {\n\n // set user counter LSW, reset counter\n\n qemu_irq_lower(s->irq);\n\n s->limit = TIMER_MAX_COUNT64;\n\n DPRINTF(\"processor %d user timer reset\\n\", s->slave_index);\n\n ptimer_set_limit(s->timer, LIMIT_TO_PERIODS(s->limit), 1);\n\n } else\n\n DPRINTF(\"not user timer\\n\");\n\n break;\n\n case TIMER_COUNTER_NORST:\n\n // set limit without resetting counter\n\n s->limit = val & TIMER_MAX_COUNT32;\n\n if (!s->limit)\n\n s->limit = TIMER_MAX_COUNT32;\n\n ptimer_set_limit(s->timer, LIMIT_TO_PERIODS(s->limit), reload);\n\n break;\n\n case TIMER_STATUS:\n\n if (slavio_timer_is_user(s)) {\n\n // start/stop user counter\n\n if ((val & 1) && !s->running) {\n\n DPRINTF(\"processor %d user timer started\\n\", s->slave_index);\n\n ptimer_run(s->timer, 0);\n\n s->running = 1;\n\n } else if (!(val & 1) && s->running) {\n\n DPRINTF(\"processor %d user timer stopped\\n\", s->slave_index);\n\n ptimer_stop(s->timer);\n\n s->running = 0;\n\n }\n\n }\n\n break;\n\n case TIMER_MODE:\n\n if (s->master == NULL) {\n\n unsigned int i;\n\n\n\n for (i = 0; i < s->num_slaves; i++) {\n\n if (val & (1 << i)) {\n\n qemu_irq_lower(s->slave[i]->irq);\n\n s->slave[i]->limit = -1ULL;\n\n }\n\n if ((val & (1 << i)) != (s->slave_mode & (1 << i))) {\n\n ptimer_stop(s->slave[i]->timer);\n\n ptimer_set_limit(s->slave[i]->timer,\n\n LIMIT_TO_PERIODS(s->slave[i]->limit), 1);\n\n DPRINTF(\"processor %d timer changed\\n\",\n\n s->slave[i]->slave_index);\n\n ptimer_run(s->slave[i]->timer, 0);\n\n }\n\n }\n\n s->slave_mode = val & ((1 << s->num_slaves) - 1);\n\n } else\n\n DPRINTF(\"not system timer\\n\");\n\n break;\n\n default:\n\n DPRINTF(\"invalid write address \" TARGET_FMT_plx \"\\n\", addr);\n\n break;\n\n }\n\n}\n", "idx": 1167}112{"project": "qemu", "commit_id": "0ab07c623c629acfbc792e5a174129c19faefbb7", "target": 0, "func": "void qemu_cpu_kick(void *env)\n\n{\n\n return;\n\n}\n", "idx": 1194}113{"project": "qemu", "commit_id": "b591dc59bc98ee558db4ca512aa117748ebfdeef", "target": 0, "func": "static void temp_allocate_frame(TCGContext *s, int temp)\n\n{\n\n TCGTemp *ts;\n\n ts = &s->temps[temp];\n\n s->current_frame_offset = (s->current_frame_offset + sizeof(tcg_target_long) - 1) & ~(sizeof(tcg_target_long) - 1);\n\n if (s->current_frame_offset + sizeof(tcg_target_long) > s->frame_end)\n\n tcg_abort();\n\n ts->mem_offset = s->current_frame_offset;\n\n ts->mem_reg = s->frame_reg;\n\n ts->mem_allocated = 1;\n\n s->current_frame_offset += sizeof(tcg_target_long);\n\n}\n", "idx": 1215}114{"project": "qemu", "commit_id": "c83c66c3b58893a4dc056e272822beb88fe9ec7f", "target": 0, "func": "void qmp_block_stream(const char *device, bool has_base,\n\n const char *base, Error **errp)\n\n{\n\n BlockDriverState *bs;\n\n BlockDriverState *base_bs = NULL;\n\n Error *local_err = NULL;\n\n\n\n bs = bdrv_find(device);\n\n if (!bs) {\n\n error_set(errp, QERR_DEVICE_NOT_FOUND, device);\n\n return;\n\n }\n\n\n\n if (base) {\n\n base_bs = bdrv_find_backing_image(bs, base);\n\n if (base_bs == NULL) {\n\n error_set(errp, QERR_BASE_NOT_FOUND, base);\n\n return;\n\n }\n\n }\n\n\n\n stream_start(bs, base_bs, base, block_stream_cb, bs, &local_err);\n\n if (error_is_set(&local_err)) {\n\n error_propagate(errp, local_err);\n\n return;\n\n }\n\n\n\n /* Grab a reference so hotplug does not delete the BlockDriverState from\n\n * underneath us.\n\n */\n\n drive_get_ref(drive_get_by_blockdev(bs));\n\n\n\n trace_qmp_block_stream(bs, bs->job);\n\n}\n", "idx": 1227}115{"project": "qemu", "commit_id": "1108b2f8a939fb5778d384149e2f1b99062a72da", "target": 1, "func": "static void mptsas_scsi_init(PCIDevice *dev, Error **errp)\n\n{\n\n DeviceState *d = DEVICE(dev);\n\n MPTSASState *s = MPT_SAS(dev);\n\n\n\n dev->config[PCI_LATENCY_TIMER] = 0;\n\n dev->config[PCI_INTERRUPT_PIN] = 0x01;\n\n\n\n memory_region_init_io(&s->mmio_io, OBJECT(s), &mptsas_mmio_ops, s,\n\n \"mptsas-mmio\", 0x4000);\n\n memory_region_init_io(&s->port_io, OBJECT(s), &mptsas_port_ops, s,\n\n \"mptsas-io\", 256);\n\n memory_region_init_io(&s->diag_io, OBJECT(s), &mptsas_diag_ops, s,\n\n \"mptsas-diag\", 0x10000);\n\n\n\n if (s->msi != ON_OFF_AUTO_OFF &&\n\n msi_init(dev, 0, 1, true, false) >= 0) {\n\n /* TODO check for errors */\n\n s->msi_in_use = true;\n\n }\n\n\n\n pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->port_io);\n\n pci_register_bar(dev, 1, PCI_BASE_ADDRESS_SPACE_MEMORY |\n\n PCI_BASE_ADDRESS_MEM_TYPE_32, &s->mmio_io);\n\n pci_register_bar(dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY |\n\n PCI_BASE_ADDRESS_MEM_TYPE_32, &s->diag_io);\n\n\n\n if (!s->sas_addr) {\n\n s->sas_addr = ((NAA_LOCALLY_ASSIGNED_ID << 24) |\n\n IEEE_COMPANY_LOCALLY_ASSIGNED) << 36;\n\n s->sas_addr |= (pci_bus_num(dev->bus) << 16);\n\n s->sas_addr |= (PCI_SLOT(dev->devfn) << 8);\n\n s->sas_addr |= PCI_FUNC(dev->devfn);\n\n }\n\n s->max_devices = MPTSAS_NUM_PORTS;\n\n\n\n s->request_bh = qemu_bh_new(mptsas_fetch_requests, s);\n\n\n\n QTAILQ_INIT(&s->pending);\n\n\n\n scsi_bus_new(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info, NULL);\n\n if (!d->hotplugged) {\n\n scsi_bus_legacy_handle_cmdline(&s->bus, errp);\n\n }\n\n}\n", "idx": 1277}116{"project": "qemu", "commit_id": "e0891bd8bfd3349fc3fecde30e51900059f53f11", "target": 0, "func": "static inline int num_effective_busses(XilinxSPIPS *s)\n\n{\n\n return (s->regs[R_LQSPI_STS] & LQSPI_CFG_SEP_BUS &&\n\n s->regs[R_LQSPI_STS] & LQSPI_CFG_TWO_MEM) ? s->num_busses : 1;\n\n}\n", "idx": 1290}117{"project": "FFmpeg", "commit_id": "04dcdc464087eece349f30db42bab903cd077778", "target": 1, "func": "FFTContext *av_fft_init(int nbits, int inverse)\n\n{\n\n FFTContext *s = av_malloc(sizeof(*s));\n\n\n\n if (s && ff_fft_init(s, nbits, inverse))\n\n av_freep(&s);\n\n\n\n return s;\n\n}\n", "idx": 1307}118{"project": "qemu", "commit_id": "7d1b0095bff7157e856d1d0e6c4295641ced2752", "target": 1, "func": "static void gen_set_CF_bit31(TCGv var)\n\n{\n\n TCGv tmp = new_tmp();\n\n tcg_gen_shri_i32(tmp, var, 31);\n\n gen_set_CF(tmp);\n\n dead_tmp(tmp);\n\n}\n", "idx": 1308}119{"project": "FFmpeg", "commit_id": "89325417e7b33f4b08171d9d609c48662d96b2d3", "target": 1, "func": "static int get_siz(Jpeg2000DecoderContext *s)\n{\n int i;\n int ncomponents;\n uint32_t log2_chroma_wh = 0;\n const enum AVPixelFormat *possible_fmts = NULL;\n int possible_fmts_nb = 0;\n if (bytestream2_get_bytes_left(&s->g) < 36) {\n av_log(s->avctx, AV_LOG_ERROR, \"Insufficient space for SIZ\\n\");\n s->avctx->profile = bytestream2_get_be16u(&s->g); // Rsiz\n s->width = bytestream2_get_be32u(&s->g); // Width\n s->height = bytestream2_get_be32u(&s->g); // Height\n s->image_offset_x = bytestream2_get_be32u(&s->g); // X0Siz\n s->image_offset_y = bytestream2_get_be32u(&s->g); // Y0Siz\n s->tile_width = bytestream2_get_be32u(&s->g); // XTSiz\n s->tile_height = bytestream2_get_be32u(&s->g); // YTSiz\n s->tile_offset_x = bytestream2_get_be32u(&s->g); // XT0Siz\n s->tile_offset_y = bytestream2_get_be32u(&s->g); // YT0Siz\n ncomponents = bytestream2_get_be16u(&s->g); // CSiz\n if (s->image_offset_x || s->image_offset_y) {\n avpriv_request_sample(s->avctx, \"Support for image offsets\");\n return AVERROR_PATCHWELCOME;\n if (av_image_check_size(s->width, s->height, 0, s->avctx)) {\n avpriv_request_sample(s->avctx, \"Large Dimensions\");\n return AVERROR_PATCHWELCOME;\n if (ncomponents <= 0) {\n av_log(s->avctx, AV_LOG_ERROR, \"Invalid number of components: %d\\n\",\n if (ncomponents > 4) {\n avpriv_request_sample(s->avctx, \"Support for %d components\",\n ncomponents);\n return AVERROR_PATCHWELCOME;\n s->ncomponents = ncomponents;\n if (s->tile_width <= 0 || s->tile_height <= 0) {\n av_log(s->avctx, AV_LOG_ERROR, \"Invalid tile dimension %dx%d.\\n\",\n s->tile_width, s->tile_height);\n if (bytestream2_get_bytes_left(&s->g) < 3 * s->ncomponents) {\n av_log(s->avctx, AV_LOG_ERROR, \"Insufficient space for %d components in SIZ\\n\", s->ncomponents);\n for (i = 0; i < s->ncomponents; i++) { // Ssiz_i XRsiz_i, YRsiz_i\n uint8_t x = bytestream2_get_byteu(&s->g);\n s->cbps[i] = (x & 0x7f) + 1;\n s->precision = FFMAX(s->cbps[i], s->precision);\n s->sgnd[i] = !!(x & 0x80);\n s->cdx[i] = bytestream2_get_byteu(&s->g);\n s->cdy[i] = bytestream2_get_byteu(&s->g);\n if ( !s->cdx[i] || s->cdx[i] == 3 || s->cdx[i] > 4\n || !s->cdy[i] || s->cdy[i] == 3 || s->cdy[i] > 4) {\n av_log(s->avctx, AV_LOG_ERROR, \"Invalid sample separation %d/%d\\n\", s->cdx[i], s->cdy[i]);\n log2_chroma_wh |= s->cdy[i] >> 1 << i * 4 | s->cdx[i] >> 1 << i * 4 + 2;\n s->numXtiles = ff_jpeg2000_ceildiv(s->width - s->tile_offset_x, s->tile_width);\n s->numYtiles = ff_jpeg2000_ceildiv(s->height - s->tile_offset_y, s->tile_height);\n if (s->numXtiles * (uint64_t)s->numYtiles > INT_MAX/sizeof(*s->tile)) {\n s->numXtiles = s->numYtiles = 0;\n return AVERROR(EINVAL);\n s->tile = av_mallocz_array(s->numXtiles * s->numYtiles, sizeof(*s->tile));\n if (!s->tile) {\n s->numXtiles = s->numYtiles = 0;\n return AVERROR(ENOMEM);\n for (i = 0; i < s->numXtiles * s->numYtiles; i++) {\n Jpeg2000Tile *tile = s->tile + i;\n tile->comp = av_mallocz(s->ncomponents * sizeof(*tile->comp));\n if (!tile->comp)\n return AVERROR(ENOMEM);\n /* compute image size with reduction factor */\n s->avctx->width = ff_jpeg2000_ceildivpow2(s->width - s->image_offset_x,\n s->reduction_factor);\n s->avctx->height = ff_jpeg2000_ceildivpow2(s->height - s->image_offset_y,\n s->reduction_factor);\n if (s->avctx->profile == FF_PROFILE_JPEG2000_DCINEMA_2K ||\n s->avctx->profile == FF_PROFILE_JPEG2000_DCINEMA_4K) {\n possible_fmts = xyz_pix_fmts;\n possible_fmts_nb = FF_ARRAY_ELEMS(xyz_pix_fmts);\n } else {\n switch (s->colour_space) {\n case 16:\n possible_fmts = rgb_pix_fmts;\n possible_fmts_nb = FF_ARRAY_ELEMS(rgb_pix_fmts);\n break;\n case 17:\n possible_fmts = gray_pix_fmts;\n possible_fmts_nb = FF_ARRAY_ELEMS(gray_pix_fmts);\n break;\n case 18:\n possible_fmts = yuv_pix_fmts;\n possible_fmts_nb = FF_ARRAY_ELEMS(yuv_pix_fmts);\n break;\n default:\n possible_fmts = all_pix_fmts;\n possible_fmts_nb = FF_ARRAY_ELEMS(all_pix_fmts);\n break;\n for (i = 0; i < possible_fmts_nb; ++i) {\n if (pix_fmt_match(possible_fmts[i], ncomponents, s->precision, log2_chroma_wh, s->pal8)) {\n s->avctx->pix_fmt = possible_fmts[i];\n break;\n if (i == possible_fmts_nb) {\n if (ncomponents == 4 &&\n s->cdy[0] == 1 && s->cdx[0] == 1 &&\n s->cdy[1] == 1 && s->cdx[1] == 1 &&\n s->cdy[2] == s->cdy[3] && s->cdx[2] == s->cdx[3]) {\n if (s->precision == 8 && s->cdy[2] == 2 && s->cdx[2] == 2 && !s->pal8) {\n s->avctx->pix_fmt = AV_PIX_FMT_YUVA420P;\n s->cdef[0] = 0;\n s->cdef[1] = 1;\n s->cdef[2] = 2;\n s->cdef[3] = 3;\n i = 0;\n if (i == possible_fmts_nb) {\n av_log(s->avctx, AV_LOG_ERROR,\n \"Unknown pix_fmt, profile: %d, colour_space: %d, \"\n \"components: %d, precision: %d\\n\"\n \"cdx[0]: %d, cdy[0]: %d\\n\"\n \"cdx[1]: %d, cdy[1]: %d\\n\"\n \"cdx[2]: %d, cdy[2]: %d\\n\"\n \"cdx[3]: %d, cdy[3]: %d\\n\",\n s->avctx->profile, s->colour_space, ncomponents, s->precision,\n s->cdx[0],\n s->cdy[0],\n ncomponents > 1 ? s->cdx[1] : 0,\n ncomponents > 1 ? s->cdy[1] : 0,\n ncomponents > 2 ? s->cdx[2] : 0,\n ncomponents > 2 ? s->cdy[2] : 0,\n ncomponents > 3 ? s->cdx[3] : 0,\n ncomponents > 3 ? s->cdy[3] : 0);\n return AVERROR_PATCHWELCOME;\n s->avctx->bits_per_raw_sample = s->precision;\n return 0;", "idx": 1318}120{"project": "qemu", "commit_id": "f3e4ce4af336f2ea306fa0f40ec1a5149864ca8c", "target": 1, "func": "static void commit_set_speed(BlockJob *job, int64_t speed, Error **errp)\n\n{\n\n CommitBlockJob *s = container_of(job, CommitBlockJob, common);\n\n\n\n if (speed < 0) {\n\n error_setg(errp, QERR_INVALID_PARAMETER, \"speed\");\n\n return;\n\n }\n\n ratelimit_set_speed(&s->limit, speed / BDRV_SECTOR_SIZE, SLICE_TIME);\n\n}\n", "idx": 1335}121{"project": "FFmpeg", "commit_id": "1c495b0bf690995c45f79f4f19500921e14ec78a", "target": 1, "func": "static void sd_1d97_int(int *p, int i0, int i1)\n\n{\n\n int i;\n\n\n\n if (i1 <= i0 + 1) {\n\n if (i0 == 1)\n\n p[1] = (p[1] * I_LFTG_X + (1<<15)) >> 16;\n\n else\n\n p[0] = (p[0] * I_LFTG_K + (1<<15)) >> 16;\n\n return;\n\n }\n\n\n\n extend97_int(p, i0, i1);\n\n i0++; i1++;\n\n\n\n for (i = i0/2 - 2; i < i1/2 + 1; i++)\n\n p[2 * i + 1] -= (I_LFTG_ALPHA * (p[2 * i] + p[2 * i + 2]) + (1 << 15)) >> 16;\n\n for (i = i0/2 - 1; i < i1/2 + 1; i++)\n\n p[2 * i] -= (I_LFTG_BETA * (p[2 * i - 1] + p[2 * i + 1]) + (1 << 15)) >> 16;\n\n for (i = i0/2 - 1; i < i1/2; i++)\n\n p[2 * i + 1] += (I_LFTG_GAMMA * (p[2 * i] + p[2 * i + 2]) + (1 << 15)) >> 16;\n\n for (i = i0/2; i < i1/2; i++)\n\n p[2 * i] += (I_LFTG_DELTA * (p[2 * i - 1] + p[2 * i + 1]) + (1 << 15)) >> 16;\n\n}\n", "idx": 1338}122{"project": "FFmpeg", "commit_id": "2da0d70d5eebe42f9fcd27ee554419ebe2a5da06", "target": 1, "func": "static inline void RENAME(rgb32ToY)(uint8_t *dst, uint8_t *src, int width)\n\n{\n\n\tint i;\n\n\tfor(i=0; i<width; i++)\n\n\t{\n\n\t\tint r= ((uint32_t*)src)[i]&0xFF;\n\n\t\tint g= (((uint32_t*)src)[i]>>8)&0xFF;\n\n\t\tint b= (((uint32_t*)src)[i]>>16)&0xFF;\n\n\n\n\t\tdst[i]= ((RY*r + GY*g + BY*b + (33<<(RGB2YUV_SHIFT-1)) )>>RGB2YUV_SHIFT);\n\n\t}\n\n}\n", "idx": 1341}123{"project": "qemu", "commit_id": "35b6e94ba50cd92600a85eef444bc31df8999de1", "target": 0, "func": "static uint32_t s390_pci_generate_fid(Error **errp)\n\n{\n\n uint32_t fid = 0;\n\n\n\n while (fid <= ZPCI_MAX_FID) {\n\n if (!s390_pci_find_dev_by_fid(fid)) {\n\n return fid;\n\n }\n\n\n\n if (fid == ZPCI_MAX_FID) {\n\n break;\n\n }\n\n\n\n fid++;\n\n }\n\n\n\n error_setg(errp, \"no free fid could be found\");\n\n return 0;\n\n}\n", "idx": 1351}124{"project": "qemu", "commit_id": "bd3be4dbbf0491d6db8bf326706747b4629ace4b", "target": 0, "func": "static void virtio_9p_device_unrealize(DeviceState *dev, Error **errp)\n\n{\n\n VirtIODevice *vdev = VIRTIO_DEVICE(dev);\n\n V9fsVirtioState *v = VIRTIO_9P(dev);\n\n V9fsState *s = &v->state;\n\n\n\n virtio_cleanup(vdev);\n\n v9fs_device_unrealize_common(s, errp);\n\n}\n", "idx": 1360}125{"project": "FFmpeg", "commit_id": "49c8132b17ec26666d71ee94a50f421b84feeb35", "target": 1, "func": "static int ipmovie_read_packet(AVFormatContext *s,\n\n AVPacket *pkt)\n\n{\n\n IPMVEContext *ipmovie = (IPMVEContext *)s->priv_data;\n\n ByteIOContext *pb = &s->pb;\n\n int ret;\n\n\n\n ret = process_ipmovie_chunk(ipmovie, pb, pkt);\n\n if (ret == CHUNK_BAD)\n\n ret = AVERROR_INVALIDDATA;\n\n else if (ret == CHUNK_EOF)\n\n ret = AVERROR_IO;\n\n else if (ret == CHUNK_NOMEM)\n\n ret = AVERROR_NOMEM;\n\n else\n\n ret = 0;\n\n\n\n return ret;\n\n}\n", "idx": 1373}126{"project": "FFmpeg", "commit_id": "46e3883519b7592e946258c68d072abd89e583c8", "target": 1, "func": "static int opus_decode_frame(OpusStreamContext *s, const uint8_t *data, int size)\n\n{\n\n int samples = s->packet.frame_duration;\n\n int redundancy = 0;\n\n int redundancy_size, redundancy_pos;\n\n int ret, i, consumed;\n\n int delayed_samples = s->delayed_samples;\n\n\n\n ret = opus_rc_init(&s->rc, data, size);\n\n if (ret < 0)\n\n return ret;\n\n\n\n /* decode the silk frame */\n\n if (s->packet.mode == OPUS_MODE_SILK || s->packet.mode == OPUS_MODE_HYBRID) {\n\n if (!swr_is_initialized(s->swr)) {\n\n ret = opus_init_resample(s);\n\n if (ret < 0)\n\n return ret;\n\n }\n\n\n\n samples = ff_silk_decode_superframe(s->silk, &s->rc, s->silk_output,\n\n FFMIN(s->packet.bandwidth, OPUS_BANDWIDTH_WIDEBAND),\n\n s->packet.stereo + 1,\n\n silk_frame_duration_ms[s->packet.config]);\n\n if (samples < 0) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"Error decoding a SILK frame.\\n\");\n\n return samples;\n\n }\n\n samples = swr_convert(s->swr,\n\n (uint8_t**)s->out, s->packet.frame_duration,\n\n (const uint8_t**)s->silk_output, samples);\n\n if (samples < 0) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"Error resampling SILK data.\\n\");\n\n return samples;\n\n }\n\n\n s->delayed_samples += s->packet.frame_duration - samples;\n\n } else\n\n ff_silk_flush(s->silk);\n\n\n\n // decode redundancy information\n\n consumed = opus_rc_tell(&s->rc);\n\n if (s->packet.mode == OPUS_MODE_HYBRID && consumed + 37 <= size * 8)\n\n redundancy = opus_rc_p2model(&s->rc, 12);\n\n else if (s->packet.mode == OPUS_MODE_SILK && consumed + 17 <= size * 8)\n\n redundancy = 1;\n\n\n\n if (redundancy) {\n\n redundancy_pos = opus_rc_p2model(&s->rc, 1);\n\n\n\n if (s->packet.mode == OPUS_MODE_HYBRID)\n\n redundancy_size = opus_rc_unimodel(&s->rc, 256) + 2;\n\n else\n\n redundancy_size = size - (consumed + 7) / 8;\n\n size -= redundancy_size;\n\n if (size < 0) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"Invalid redundancy frame size.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (redundancy_pos) {\n\n ret = opus_decode_redundancy(s, data + size, redundancy_size);\n\n if (ret < 0)\n\n return ret;\n\n ff_celt_flush(s->celt);\n\n }\n\n }\n\n\n\n /* decode the CELT frame */\n\n if (s->packet.mode == OPUS_MODE_CELT || s->packet.mode == OPUS_MODE_HYBRID) {\n\n float *out_tmp[2] = { s->out[0], s->out[1] };\n\n float **dst = (s->packet.mode == OPUS_MODE_CELT) ?\n\n out_tmp : s->celt_output;\n\n int celt_output_samples = samples;\n\n int delay_samples = av_audio_fifo_size(s->celt_delay);\n\n\n\n if (delay_samples) {\n\n if (s->packet.mode == OPUS_MODE_HYBRID) {\n\n av_audio_fifo_read(s->celt_delay, (void**)s->celt_output, delay_samples);\n\n\n\n for (i = 0; i < s->output_channels; i++) {\n\n s->fdsp->vector_fmac_scalar(out_tmp[i], s->celt_output[i], 1.0,\n\n delay_samples);\n\n out_tmp[i] += delay_samples;\n\n }\n\n celt_output_samples -= delay_samples;\n\n } else {\n\n av_log(s->avctx, AV_LOG_WARNING,\n\n \"Spurious CELT delay samples present.\\n\");\n\n av_audio_fifo_drain(s->celt_delay, delay_samples);\n\n if (s->avctx->err_recognition & AV_EF_EXPLODE)\n\n return AVERROR_BUG;\n\n }\n\n }\n\n\n\n opus_raw_init(&s->rc, data + size, size);\n\n\n\n ret = ff_celt_decode_frame(s->celt, &s->rc, dst,\n\n s->packet.stereo + 1,\n\n s->packet.frame_duration,\n\n (s->packet.mode == OPUS_MODE_HYBRID) ? 17 : 0,\n\n celt_band_end[s->packet.bandwidth]);\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (s->packet.mode == OPUS_MODE_HYBRID) {\n\n int celt_delay = s->packet.frame_duration - celt_output_samples;\n\n void *delaybuf[2] = { s->celt_output[0] + celt_output_samples,\n\n s->celt_output[1] + celt_output_samples };\n\n\n\n for (i = 0; i < s->output_channels; i++) {\n\n s->fdsp->vector_fmac_scalar(out_tmp[i],\n\n s->celt_output[i], 1.0,\n\n celt_output_samples);\n\n }\n\n\n\n ret = av_audio_fifo_write(s->celt_delay, delaybuf, celt_delay);\n\n if (ret < 0)\n\n return ret;\n\n }\n\n } else\n\n ff_celt_flush(s->celt);\n\n\n\n if (s->redundancy_idx) {\n\n for (i = 0; i < s->output_channels; i++)\n\n opus_fade(s->out[i], s->out[i],\n\n s->redundancy_output[i] + 120 + s->redundancy_idx,\n\n ff_celt_window2 + s->redundancy_idx, 120 - s->redundancy_idx);\n\n s->redundancy_idx = 0;\n\n }\n\n if (redundancy) {\n\n if (!redundancy_pos) {\n\n ff_celt_flush(s->celt);\n\n ret = opus_decode_redundancy(s, data + size, redundancy_size);\n\n if (ret < 0)\n\n return ret;\n\n\n\n for (i = 0; i < s->output_channels; i++) {\n\n opus_fade(s->out[i] + samples - 120 + delayed_samples,\n\n s->out[i] + samples - 120 + delayed_samples,\n\n s->redundancy_output[i] + 120,\n\n ff_celt_window2, 120 - delayed_samples);\n\n if (delayed_samples)\n\n s->redundancy_idx = 120 - delayed_samples;\n\n }\n\n } else {\n\n for (i = 0; i < s->output_channels; i++) {\n\n memcpy(s->out[i] + delayed_samples, s->redundancy_output[i], 120 * sizeof(float));\n\n opus_fade(s->out[i] + 120 + delayed_samples,\n\n s->redundancy_output[i] + 120,\n\n s->out[i] + 120 + delayed_samples,\n\n ff_celt_window2, 120);\n\n }\n\n }\n\n }\n\n\n\n return samples;\n\n}", "idx": 1377}127{"project": "qemu", "commit_id": "0b8b8753e4d94901627b3e86431230f2319215c4", "target": 1, "func": "bool qemu_co_enter_next(CoQueue *queue)\n\n{\n\n Coroutine *next;\n\n\n\n next = QSIMPLEQ_FIRST(&queue->entries);\n\n if (!next) {\n\n return false;\n\n }\n\n\n\n QSIMPLEQ_REMOVE_HEAD(&queue->entries, co_queue_next);\n\n qemu_coroutine_enter(next, NULL);\n\n return true;\n\n}\n", "idx": 1381}128{"project": "FFmpeg", "commit_id": "a28cccf6d62dc770757491510c248ed632a836ce", "target": 1, "func": "static int decodeChannelSoundUnit (ATRAC3Context *q, GetBitContext *gb, channel_unit *pSnd, float *pOut, int channelNum, int codingMode)\n\n{\n\n int band, result=0, numSubbands, lastTonal, numBands;\n\n\n\n if (codingMode == JOINT_STEREO && channelNum == 1) {\n\n if (get_bits(gb,2) != 3) {\n\n av_log(NULL,AV_LOG_ERROR,\"JS mono Sound Unit id != 3.\\n\");\n\n return -1;\n\n }\n\n } else {\n\n if (get_bits(gb,6) != 0x28) {\n\n av_log(NULL,AV_LOG_ERROR,\"Sound Unit id != 0x28.\\n\");\n\n return -1;\n\n }\n\n }\n\n\n\n /* number of coded QMF bands */\n\n pSnd->bandsCoded = get_bits(gb,2);\n\n\n\n result = decodeGainControl (gb, &(pSnd->gainBlock[pSnd->gcBlkSwitch]), pSnd->bandsCoded);\n\n if (result) return result;\n\n\n\n pSnd->numComponents = decodeTonalComponents (gb, pSnd->components, pSnd->bandsCoded);\n\n if (pSnd->numComponents == -1) return -1;\n\n\n\n numSubbands = decodeSpectrum (gb, pSnd->spectrum);\n\n\n\n /* Merge the decoded spectrum and tonal components. */\n\n lastTonal = addTonalComponents (pSnd->spectrum, pSnd->numComponents, pSnd->components);\n\n\n\n\n\n /* calculate number of used MLT/QMF bands according to the amount of coded spectral lines */\n\n numBands = (subbandTab[numSubbands] - 1) >> 8;\n\n if (lastTonal >= 0)\n\n numBands = FFMAX((lastTonal + 256) >> 8, numBands);\n\n\n\n\n\n /* Reconstruct time domain samples. */\n\n for (band=0; band<4; band++) {\n\n /* Perform the IMDCT step without overlapping. */\n\n if (band <= numBands) {\n\n IMLT(&(pSnd->spectrum[band*256]), pSnd->IMDCT_buf, band&1);\n\n } else\n\n memset(pSnd->IMDCT_buf, 0, 512 * sizeof(float));\n\n\n\n /* gain compensation and overlapping */\n\n gainCompensateAndOverlap (pSnd->IMDCT_buf, &(pSnd->prevFrame[band*256]), &(pOut[band*256]),\n\n &((pSnd->gainBlock[1 - (pSnd->gcBlkSwitch)]).gBlock[band]),\n\n &((pSnd->gainBlock[pSnd->gcBlkSwitch]).gBlock[band]));\n\n }\n\n\n\n /* Swap the gain control buffers for the next frame. */\n\n pSnd->gcBlkSwitch ^= 1;\n\n\n\n return 0;\n\n}\n", "idx": 1404}129{"project": "qemu", "commit_id": "09b9418c6d085a0728372aa760ebd10128a020b1", "target": 1, "func": "static target_long monitor_get_reg(const struct MonitorDef *md, int val)\n\n{\n\n CPUState *env = mon_get_cpu();\n\n if (!env)\n\n return 0;\n\n return env->regwptr[val];\n\n}\n", "idx": 1420}130{"project": "FFmpeg", "commit_id": "b8664c929437d6d079e16979c496a2db40cf2324", "target": 0, "func": "static void vp8_idct_dc_add4uv_c(uint8_t *dst, int16_t block[4][16], ptrdiff_t stride)\n\n{\n\n vp8_idct_dc_add_c(dst+stride*0+0, block[0], stride);\n\n vp8_idct_dc_add_c(dst+stride*0+4, block[1], stride);\n\n vp8_idct_dc_add_c(dst+stride*4+0, block[2], stride);\n\n vp8_idct_dc_add_c(dst+stride*4+4, block[3], stride);\n\n}\n", "idx": 1426}131{"project": "qemu", "commit_id": "b86160555f8d1fe11d6bcec393e08e645d7e1e8d", "target": 1, "func": "static void integratorcp_init(QEMUMachineInitArgs *args)\n\n{\n\n ram_addr_t ram_size = args->ram_size;\n\n const char *cpu_model = args->cpu_model;\n\n const char *kernel_filename = args->kernel_filename;\n\n const char *kernel_cmdline = args->kernel_cmdline;\n\n const char *initrd_filename = args->initrd_filename;\n\n ARMCPU *cpu;\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n MemoryRegion *ram = g_new(MemoryRegion, 1);\n\n MemoryRegion *ram_alias = g_new(MemoryRegion, 1);\n\n qemu_irq pic[32];\n\n DeviceState *dev;\n\n int i;\n\n\n\n if (!cpu_model) {\n\n cpu_model = \"arm926\";\n\n }\n\n cpu = cpu_arm_init(cpu_model);\n\n if (!cpu) {\n\n fprintf(stderr, \"Unable to find CPU definition\\n\");\n\n exit(1);\n\n }\n\n\n\n memory_region_init_ram(ram, NULL, \"integrator.ram\", ram_size);\n\n vmstate_register_ram_global(ram);\n\n /* ??? On a real system the first 1Mb is mapped as SSRAM or boot flash. */\n\n /* ??? RAM should repeat to fill physical memory space. */\n\n /* SDRAM at address zero*/\n\n memory_region_add_subregion(address_space_mem, 0, ram);\n\n /* And again at address 0x80000000 */\n\n memory_region_init_alias(ram_alias, NULL, \"ram.alias\", ram, 0, ram_size);\n\n memory_region_add_subregion(address_space_mem, 0x80000000, ram_alias);\n\n\n\n dev = qdev_create(NULL, TYPE_INTEGRATOR_CM);\n\n qdev_prop_set_uint32(dev, \"memsz\", ram_size >> 20);\n\n qdev_init_nofail(dev);\n\n sysbus_mmio_map((SysBusDevice *)dev, 0, 0x10000000);\n\n\n\n dev = sysbus_create_varargs(TYPE_INTEGRATOR_PIC, 0x14000000,\n\n qdev_get_gpio_in(DEVICE(cpu), ARM_CPU_IRQ),\n\n qdev_get_gpio_in(DEVICE(cpu), ARM_CPU_FIQ),\n\n NULL);\n\n for (i = 0; i < 32; i++) {\n\n pic[i] = qdev_get_gpio_in(dev, i);\n\n }\n\n sysbus_create_simple(TYPE_INTEGRATOR_PIC, 0xca000000, pic[26]);\n\n sysbus_create_varargs(\"integrator_pit\", 0x13000000,\n\n pic[5], pic[6], pic[7], NULL);\n\n sysbus_create_simple(\"pl031\", 0x15000000, pic[8]);\n\n sysbus_create_simple(\"pl011\", 0x16000000, pic[1]);\n\n sysbus_create_simple(\"pl011\", 0x17000000, pic[2]);\n\n icp_control_init(0xcb000000);\n\n sysbus_create_simple(\"pl050_keyboard\", 0x18000000, pic[3]);\n\n sysbus_create_simple(\"pl050_mouse\", 0x19000000, pic[4]);\n\n\n sysbus_create_varargs(\"pl181\", 0x1c000000, pic[23], pic[24], NULL);\n\n if (nd_table[0].used)\n\n smc91c111_init(&nd_table[0], 0xc8000000, pic[27]);\n\n\n\n sysbus_create_simple(\"pl110\", 0xc0000000, pic[22]);\n\n\n\n integrator_binfo.ram_size = ram_size;\n\n integrator_binfo.kernel_filename = kernel_filename;\n\n integrator_binfo.kernel_cmdline = kernel_cmdline;\n\n integrator_binfo.initrd_filename = initrd_filename;\n\n arm_load_kernel(cpu, &integrator_binfo);\n\n}", "idx": 1434}132{"project": "qemu", "commit_id": "30c367ed446b6ea53245589a5cf373578ac075d7", "target": 1, "func": "static void set_vlan(Object *obj, Visitor *v, void *opaque,\n\n const char *name, Error **errp)\n\n{\n\n DeviceState *dev = DEVICE(obj);\n\n Property *prop = opaque;\n\n NICPeers *peers_ptr = qdev_get_prop_ptr(dev, prop);\n\n NetClientState **ptr = &peers_ptr->ncs[0];\n\n Error *local_err = NULL;\n\n int32_t id;\n\n NetClientState *hubport;\n\n\n\n if (dev->realized) {\n\n qdev_prop_set_after_realize(dev, name, errp);\n\n\n\n\n\n visit_type_int32(v, &id, name, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n\n\n if (id == -1) {\n\n *ptr = NULL;\n\n\n\n\n\n\n\n\n\n hubport = net_hub_port_find(id);\n\n if (!hubport) {\n\n error_set(errp, QERR_INVALID_PARAMETER_VALUE,\n\n name, prop->info->name);\n\n\n\n *ptr = hubport;\n", "idx": 1435}133{"project": "FFmpeg", "commit_id": "16c429166ddf1736972b6ccce84bd3509ec16a34", "target": 1, "func": "static av_cold int png_dec_end(AVCodecContext *avctx)\n\n{\n\n PNGDecContext *s = avctx->priv_data;\n\n\n\n ff_thread_release_buffer(avctx, &s->previous_picture);\n\n av_frame_free(&s->previous_picture.f);\n\n ff_thread_release_buffer(avctx, &s->last_picture);\n\n av_frame_free(&s->last_picture.f);\n\n ff_thread_release_buffer(avctx, &s->picture);\n\n av_frame_free(&s->picture.f);\n\n av_freep(&s->buffer);\n\n s->buffer_size = 0;\n\n av_freep(&s->last_row);\n\n s->last_row_size = 0;\n\n av_freep(&s->tmp_row);\n\n s->tmp_row_size = 0;\n\n av_freep(&s->extra_data);\n\n s->extra_data_size = 0;\n\n\n\n return 0;\n\n}\n", "idx": 1439}134{"project": "qemu", "commit_id": "2b316774f60291f57ca9ecb6a9f0712c532cae34", "target": 1, "func": "static void fd_chr_update_read_handler(CharDriverState *chr)\n\n{\n\n FDCharDriver *s = chr->opaque;\n\n\n\n if (s->fd_in_tag) {\n\n g_source_remove(s->fd_in_tag);\n\n s->fd_in_tag = 0;\n\n }\n\n\n\n if (s->fd_in) {\n\n s->fd_in_tag = io_add_watch_poll(s->fd_in, fd_chr_read_poll, fd_chr_read, chr);\n\n }\n\n}\n", "idx": 1457}135{"project": "FFmpeg", "commit_id": "73a60633143b7c51333a0772b45a47282ac445b6", "target": 1, "func": "static int probe_file(WriterContext *wctx, const char *filename)\n\n{\n\n AVFormatContext *fmt_ctx;\n\n int ret, i;\n\n int section_id;\n\n\n\n do_read_frames = do_show_frames || do_count_frames;\n\n do_read_packets = do_show_packets || do_count_packets;\n\n\n\n ret = open_input_file(&fmt_ctx, filename);\n\n if (ret < 0)\n\n return ret;\n\n\n\n#define CHECK_END if (ret < 0) goto end\n\n\n\n nb_streams_frames = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_frames));\n\n nb_streams_packets = av_calloc(fmt_ctx->nb_streams, sizeof(*nb_streams_packets));\n\n selected_streams = av_calloc(fmt_ctx->nb_streams, sizeof(*selected_streams));\n\n\n\n for (i = 0; i < fmt_ctx->nb_streams; i++) {\n\n if (stream_specifier) {\n\n ret = avformat_match_stream_specifier(fmt_ctx,\n\n fmt_ctx->streams[i],\n\n stream_specifier);\n\n CHECK_END;\n\n else\n\n selected_streams[i] = ret;\n\n ret = 0;\n\n } else {\n\n selected_streams[i] = 1;\n\n }\n\n }\n\n\n\n if (do_read_frames || do_read_packets) {\n\n if (do_show_frames && do_show_packets &&\n\n wctx->writer->flags & WRITER_FLAG_PUT_PACKETS_AND_FRAMES_IN_SAME_CHAPTER)\n\n section_id = SECTION_ID_PACKETS_AND_FRAMES;\n\n else if (do_show_packets && !do_show_frames)\n\n section_id = SECTION_ID_PACKETS;\n\n else // (!do_show_packets && do_show_frames)\n\n section_id = SECTION_ID_FRAMES;\n\n if (do_show_frames || do_show_packets)\n\n writer_print_section_header(wctx, section_id);\n\n ret = read_packets(wctx, fmt_ctx);\n\n if (do_show_frames || do_show_packets)\n\n writer_print_section_footer(wctx);\n\n CHECK_END;\n\n }\n\n\n\n if (do_show_programs) {\n\n ret = show_programs(wctx, fmt_ctx);\n\n CHECK_END;\n\n }\n\n\n\n if (do_show_streams) {\n\n ret = show_streams(wctx, fmt_ctx);\n\n CHECK_END;\n\n }\n\n if (do_show_chapters) {\n\n ret = show_chapters(wctx, fmt_ctx);\n\n CHECK_END;\n\n }\n\n if (do_show_format) {\n\n ret = show_format(wctx, fmt_ctx);\n\n CHECK_END;\n\n }\n\n\n\nend:\n\n close_input_file(&fmt_ctx);\n\n av_freep(&nb_streams_frames);\n\n av_freep(&nb_streams_packets);\n\n av_freep(&selected_streams);\n\n\n\n return ret;\n\n}\n", "idx": 1469}136{"project": "qemu", "commit_id": "51b0c6065aa6e47a47094d73e24be298a4a7f3a1", "target": 1, "func": "static int kvm_physical_sync_dirty_bitmap(target_phys_addr_t start_addr,\n\n target_phys_addr_t end_addr)\n\n{\n\n KVMState *s = kvm_state;\n\n unsigned long size, allocated_size = 0;\n\n KVMDirtyLog d;\n\n KVMSlot *mem;\n\n int ret = 0;\n\n\n\n d.dirty_bitmap = NULL;\n\n while (start_addr < end_addr) {\n\n mem = kvm_lookup_overlapping_slot(s, start_addr, end_addr);\n\n if (mem == NULL) {\n\n break;\n\n }\n\n\n\n size = ALIGN(((mem->memory_size) >> TARGET_PAGE_BITS), HOST_LONG_BITS) / 8;\n\n if (!d.dirty_bitmap) {\n\n d.dirty_bitmap = qemu_malloc(size);\n\n } else if (size > allocated_size) {\n\n d.dirty_bitmap = qemu_realloc(d.dirty_bitmap, size);\n\n }\n\n allocated_size = size;\n\n memset(d.dirty_bitmap, 0, allocated_size);\n\n\n\n d.slot = mem->slot;\n\n\n\n if (kvm_vm_ioctl(s, KVM_GET_DIRTY_LOG, &d) == -1) {\n\n DPRINTF(\"ioctl failed %d\\n\", errno);\n\n ret = -1;\n\n break;\n\n }\n\n\n\n kvm_get_dirty_pages_log_range(mem->start_addr, d.dirty_bitmap,\n\n mem->start_addr, mem->memory_size);\n\n start_addr = mem->start_addr + mem->memory_size;\n\n }\n\n qemu_free(d.dirty_bitmap);\n\n\n\n return ret;\n\n}\n", "idx": 1473}137{"project": "FFmpeg", "commit_id": "eb465b8c56d455fddf0f4f9f2625e2fe3ff7ea06", "target": 1, "func": "static void filter(USPPContext *p, uint8_t *dst[3], uint8_t *src[3],\n\n int dst_stride[3], int src_stride[3], int width,\n\n int height, uint8_t *qp_store, int qp_stride)\n\n{\n\n int x, y, i, j;\n\n const int count = 1<<p->log2_count;\n\n\n\n for (i = 0; i < 3; i++) {\n\n int is_chroma = !!i;\n\n int w = width >> (is_chroma ? p->hsub : 0);\n\n int h = height >> (is_chroma ? p->vsub : 0);\n\n int stride = p->temp_stride[i];\n\n int block = BLOCK >> (is_chroma ? p->hsub : 0);\n\n\n\n if (!src[i] || !dst[i])\n\n continue;\n\n for (y = 0; y < h; y++) {\n\n int index = block + block * stride + y * stride;\n\n\n\n memcpy(p->src[i] + index, src[i] + y * src_stride[i], w );\n\n for (x = 0; x < block; x++) {\n\n p->src[i][index - x - 1] = p->src[i][index + x ];\n\n p->src[i][index + w + x ] = p->src[i][index + w - x - 1];\n\n }\n\n }\n\n for (y = 0; y < block; y++) {\n\n memcpy(p->src[i] + ( block-1-y) * stride, p->src[i] + ( y+block ) * stride, stride);\n\n memcpy(p->src[i] + (h+block +y) * stride, p->src[i] + (h-y+block-1) * stride, stride);\n\n }\n\n\n\n p->frame->linesize[i] = stride;\n\n memset(p->temp[i], 0, (h + 2 * block) * stride * sizeof(int16_t));\n\n }\n\n\n\n if (p->qp)\n\n p->frame->quality = p->qp * FF_QP2LAMBDA;\n\n else {\n\n int qpsum=0;\n\n int qpcount = (height>>4) * (height>>4);\n\n\n\n for (y = 0; y < (height>>4); y++) {\n\n for (x = 0; x < (width>>4); x++)\n\n qpsum += qp_store[x + y * qp_stride];\n\n }\n\n p->frame->quality = norm_qscale((qpsum + qpcount/2) / qpcount, p->qscale_type) * FF_QP2LAMBDA;\n\n }\n\n// init per MB qscale stuff FIXME\n\n p->frame->height = height;\n\n p->frame->width = width;\n\n\n\n for (i = 0; i < count; i++) {\n\n const int x1 = offset[i+count-1][0];\n\n const int y1 = offset[i+count-1][1];\n\n const int x1c = x1 >> p->hsub;\n\n const int y1c = y1 >> p->vsub;\n\n const int BLOCKc = BLOCK >> p->hsub;\n\n int offset;\n\n AVPacket pkt;\n\n int got_pkt_ptr;\n\n\n\n av_init_packet(&pkt);\n\n pkt.data = p->outbuf;\n\n pkt.size = p->outbuf_size;\n\n\n\n p->frame->data[0] = p->src[0] + x1 + y1 * p->frame->linesize[0];\n\n p->frame->data[1] = p->src[1] + x1c + y1c * p->frame->linesize[1];\n\n p->frame->data[2] = p->src[2] + x1c + y1c * p->frame->linesize[2];\n\n p->frame->format = p->avctx_enc[i]->pix_fmt;\n\n\n\n avcodec_encode_video2(p->avctx_enc[i], &pkt, p->frame, &got_pkt_ptr);\n\n p->frame_dec = p->avctx_enc[i]->coded_frame;\n\n\n\n offset = (BLOCK-x1) + (BLOCK-y1) * p->frame_dec->linesize[0];\n\n\n\n for (y = 0; y < height; y++)\n\n for (x = 0; x < width; x++)\n\n p->temp[0][x + y * p->temp_stride[0]] += p->frame_dec->data[0][x + y * p->frame_dec->linesize[0] + offset];\n\n\n\n if (!src[2] || !dst[2])\n\n continue;\n\n\n\n offset = (BLOCKc-x1c) + (BLOCKc-y1c) * p->frame_dec->linesize[1];\n\n\n\n for (y = 0; y < height>>p->vsub; y++) {\n\n for (x = 0; x < width>>p->hsub; x++) {\n\n p->temp[1][x + y * p->temp_stride[1]] += p->frame_dec->data[1][x + y * p->frame_dec->linesize[1] + offset];\n\n p->temp[2][x + y * p->temp_stride[2]] += p->frame_dec->data[2][x + y * p->frame_dec->linesize[2] + offset];\n\n }\n\n }\n\n }\n\n\n\n for (j = 0; j < 3; j++) {\n\n int is_chroma = !!j;\n\n if (!dst[j])\n\n continue;\n\n store_slice_c(dst[j], p->temp[j], dst_stride[j], p->temp_stride[j],\n\n width >> (is_chroma ? p->hsub : 0),\n\n height >> (is_chroma ? p->vsub : 0),\n\n 8-p->log2_count);\n\n }\n\n}\n", "idx": 1476}138{"project": "qemu", "commit_id": "a9e1c28ddaae5a48415fec1f336b5560eb85d3e1", "target": 0, "func": "int main(void)\n\n{\n\n int nf;\n\n Suite *s;\n\n SRunner *sr;\n\n\n\n s = qfloat_suite();\n\n sr = srunner_create(s);\n\n\n\n srunner_run_all(sr, CK_NORMAL);\n\n nf = srunner_ntests_failed(sr);\n\n srunner_free(sr);\n\n\n\n return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;\n\n}\n", "idx": 1487}139{"project": "qemu", "commit_id": "d78c19b5cf4821d0c198f4132a085bdbf19dda4c", "target": 0, "func": "static target_ulong put_tce_emu(sPAPRTCETable *tcet, target_ulong ioba,\n\n target_ulong tce)\n\n{\n\n IOMMUTLBEntry entry;\n\n hwaddr page_mask = IOMMU_PAGE_MASK(tcet->page_shift);\n\n unsigned long index = (ioba - tcet->bus_offset) >> tcet->page_shift;\n\n\n\n if (index >= tcet->nb_table) {\n\n hcall_dprintf(\"spapr_vio_put_tce on out-of-bounds IOBA 0x\"\n\n TARGET_FMT_lx \"\\n\", ioba);\n\n return H_PARAMETER;\n\n }\n\n\n\n tcet->table[index] = tce;\n\n\n\n entry.target_as = &address_space_memory,\n\n entry.iova = ioba & page_mask;\n\n entry.translated_addr = tce & page_mask;\n\n entry.addr_mask = ~page_mask;\n\n entry.perm = spapr_tce_iommu_access_flags(tce);\n\n memory_region_notify_iommu(&tcet->iommu, entry);\n\n\n\n return H_SUCCESS;\n\n}\n", "idx": 1497}140{"project": "qemu", "commit_id": "f73a2575a3bce8a3c487331c918d2c0f9b2e489d", "target": 0, "func": "static target_ulong h_enter(CPUState *env, sPAPREnvironment *spapr,\n\n target_ulong opcode, target_ulong *args)\n\n{\n\n target_ulong flags = args[0];\n\n target_ulong pte_index = args[1];\n\n target_ulong pteh = args[2];\n\n target_ulong ptel = args[3];\n\n target_ulong i;\n\n uint8_t *hpte;\n\n\n\n /* only handle 4k and 16M pages for now */\n\n if (pteh & HPTE_V_LARGE) {\n\n#if 0 /* We don't support 64k pages yet */\n\n if ((ptel & 0xf000) == 0x1000) {\n\n /* 64k page */\n\n } else\n\n#endif\n\n if ((ptel & 0xff000) == 0) {\n\n /* 16M page */\n\n /* lowest AVA bit must be 0 for 16M pages */\n\n if (pteh & 0x80) {\n\n return H_PARAMETER;\n\n }\n\n } else {\n\n return H_PARAMETER;\n\n }\n\n }\n\n\n\n /* FIXME: bounds check the pa? */\n\n\n\n /* Check WIMG */\n\n if ((ptel & HPTE_R_WIMG) != HPTE_R_M) {\n\n return H_PARAMETER;\n\n }\n\n pteh &= ~0x60ULL;\n\n\n\n if ((pte_index * HASH_PTE_SIZE_64) & ~env->htab_mask) {\n\n return H_PARAMETER;\n\n }\n\n if (likely((flags & H_EXACT) == 0)) {\n\n pte_index &= ~7ULL;\n\n hpte = env->external_htab + (pte_index * HASH_PTE_SIZE_64);\n\n for (i = 0; ; ++i) {\n\n if (i == 8) {\n\n return H_PTEG_FULL;\n\n }\n\n if (((ldq_p(hpte) & HPTE_V_VALID) == 0) &&\n\n lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID)) {\n\n break;\n\n }\n\n hpte += HASH_PTE_SIZE_64;\n\n }\n\n } else {\n\n i = 0;\n\n hpte = env->external_htab + (pte_index * HASH_PTE_SIZE_64);\n\n if (!lock_hpte(hpte, HPTE_V_HVLOCK | HPTE_V_VALID)) {\n\n return H_PTEG_FULL;\n\n }\n\n }\n\n stq_p(hpte + (HASH_PTE_SIZE_64/2), ptel);\n\n /* eieio(); FIXME: need some sort of barrier for smp? */\n\n stq_p(hpte, pteh);\n\n\n\n assert(!(ldq_p(hpte) & HPTE_V_HVLOCK));\n\n args[0] = pte_index + i;\n\n return H_SUCCESS;\n\n}\n", "idx": 1500}141{"project": "qemu", "commit_id": "ffe30937c89dd67a53bf3f35b962701cd9d8f70e", "target": 1, "func": "static inline void gen_op_arith_add(DisasContext *ctx, TCGv ret, TCGv arg1,\n\n TCGv arg2, int add_ca, int compute_ca,\n\n int compute_ov)\n\n{\n\n TCGv t0, t1;\n\n\n\n if ((!compute_ca && !compute_ov) ||\n\n (!TCGV_EQUAL(ret,arg1) && !TCGV_EQUAL(ret, arg2))) {\n\n t0 = ret;\n\n } else {\n\n t0 = tcg_temp_local_new();\n\n }\n\n\n\n if (add_ca) {\n\n t1 = tcg_temp_local_new();\n\n tcg_gen_mov_tl(t1, cpu_ca);\n\n } else {\n\n TCGV_UNUSED(t1);\n\n }\n\n\n\n if (compute_ca) {\n\n /* Start with XER CA disabled, the most likely case */\n\n tcg_gen_movi_tl(cpu_ca, 0);\n\n }\n\n if (compute_ov) {\n\n /* Start with XER OV disabled, the most likely case */\n\n tcg_gen_movi_tl(cpu_ov, 0);\n\n }\n\n\n\n tcg_gen_add_tl(t0, arg1, arg2);\n\n\n\n if (compute_ca) {\n\n gen_op_arith_compute_ca(ctx, t0, arg1, 0);\n\n }\n\n if (add_ca) {\n\n tcg_gen_add_tl(t0, t0, t1);\n\n gen_op_arith_compute_ca(ctx, t0, t1, 0);\n\n tcg_temp_free(t1);\n\n }\n\n if (compute_ov) {\n\n gen_op_arith_compute_ov(ctx, t0, arg1, arg2, 0);\n\n }\n\n\n\n if (unlikely(Rc(ctx->opcode) != 0))\n\n gen_set_Rc0(ctx, t0);\n\n\n\n if (!TCGV_EQUAL(t0, ret)) {\n\n tcg_gen_mov_tl(ret, t0);\n\n tcg_temp_free(t0);\n\n }\n\n}\n", "idx": 1507}142{"project": "FFmpeg", "commit_id": "90540c2d5ace46a1e9789c75fde0b1f7dbb12a9b", "target": 1, "func": "static inline void RENAME(rgb15tobgr24)(const uint8_t *src, uint8_t *dst, int src_size)\n\n{\n\n const uint16_t *end;\n\n const uint16_t *mm_end;\n\n uint8_t *d = dst;\n\n const uint16_t *s = (const uint16_t*)src;\n\n end = s + src_size/2;\n\n __asm__ volatile(PREFETCH\" %0\"::\"m\"(*s):\"memory\");\n\n mm_end = end - 7;\n\n while (s < mm_end) {\n\n __asm__ volatile(\n\n PREFETCH\" 32%1 \\n\\t\"\n\n \"movq %1, %%mm0 \\n\\t\"\n\n \"movq %1, %%mm1 \\n\\t\"\n\n \"movq %1, %%mm2 \\n\\t\"\n\n \"pand %2, %%mm0 \\n\\t\"\n\n \"pand %3, %%mm1 \\n\\t\"\n\n \"pand %4, %%mm2 \\n\\t\"\n\n \"psllq $3, %%mm0 \\n\\t\"\n\n \"psrlq $2, %%mm1 \\n\\t\"\n\n \"psrlq $7, %%mm2 \\n\\t\"\n\n \"movq %%mm0, %%mm3 \\n\\t\"\n\n \"movq %%mm1, %%mm4 \\n\\t\"\n\n \"movq %%mm2, %%mm5 \\n\\t\"\n\n \"punpcklwd %5, %%mm0 \\n\\t\"\n\n \"punpcklwd %5, %%mm1 \\n\\t\"\n\n \"punpcklwd %5, %%mm2 \\n\\t\"\n\n \"punpckhwd %5, %%mm3 \\n\\t\"\n\n \"punpckhwd %5, %%mm4 \\n\\t\"\n\n \"punpckhwd %5, %%mm5 \\n\\t\"\n\n \"psllq $8, %%mm1 \\n\\t\"\n\n \"psllq $16, %%mm2 \\n\\t\"\n\n \"por %%mm1, %%mm0 \\n\\t\"\n\n \"por %%mm2, %%mm0 \\n\\t\"\n\n \"psllq $8, %%mm4 \\n\\t\"\n\n \"psllq $16, %%mm5 \\n\\t\"\n\n \"por %%mm4, %%mm3 \\n\\t\"\n\n \"por %%mm5, %%mm3 \\n\\t\"\n\n\n\n \"movq %%mm0, %%mm6 \\n\\t\"\n\n \"movq %%mm3, %%mm7 \\n\\t\"\n\n\n\n \"movq 8%1, %%mm0 \\n\\t\"\n\n \"movq 8%1, %%mm1 \\n\\t\"\n\n \"movq 8%1, %%mm2 \\n\\t\"\n\n \"pand %2, %%mm0 \\n\\t\"\n\n \"pand %3, %%mm1 \\n\\t\"\n\n \"pand %4, %%mm2 \\n\\t\"\n\n \"psllq $3, %%mm0 \\n\\t\"\n\n \"psrlq $2, %%mm1 \\n\\t\"\n\n \"psrlq $7, %%mm2 \\n\\t\"\n\n \"movq %%mm0, %%mm3 \\n\\t\"\n\n \"movq %%mm1, %%mm4 \\n\\t\"\n\n \"movq %%mm2, %%mm5 \\n\\t\"\n\n \"punpcklwd %5, %%mm0 \\n\\t\"\n\n \"punpcklwd %5, %%mm1 \\n\\t\"\n\n \"punpcklwd %5, %%mm2 \\n\\t\"\n\n \"punpckhwd %5, %%mm3 \\n\\t\"\n\n \"punpckhwd %5, %%mm4 \\n\\t\"\n\n \"punpckhwd %5, %%mm5 \\n\\t\"\n\n \"psllq $8, %%mm1 \\n\\t\"\n\n \"psllq $16, %%mm2 \\n\\t\"\n\n \"por %%mm1, %%mm0 \\n\\t\"\n\n \"por %%mm2, %%mm0 \\n\\t\"\n\n \"psllq $8, %%mm4 \\n\\t\"\n\n \"psllq $16, %%mm5 \\n\\t\"\n\n \"por %%mm4, %%mm3 \\n\\t\"\n\n \"por %%mm5, %%mm3 \\n\\t\"\n\n\n\n :\"=m\"(*d)\n\n :\"m\"(*s),\"m\"(mask15b),\"m\"(mask15g),\"m\"(mask15r), \"m\"(mmx_null)\n\n :\"memory\");\n\n /* borrowed 32 to 24 */\n\n __asm__ volatile(\n\n \"movq %%mm0, %%mm4 \\n\\t\"\n\n \"movq %%mm3, %%mm5 \\n\\t\"\n\n \"movq %%mm6, %%mm0 \\n\\t\"\n\n \"movq %%mm7, %%mm1 \\n\\t\"\n\n\n\n \"movq %%mm4, %%mm6 \\n\\t\"\n\n \"movq %%mm5, %%mm7 \\n\\t\"\n\n \"movq %%mm0, %%mm2 \\n\\t\"\n\n \"movq %%mm1, %%mm3 \\n\\t\"\n\n\n\n STORE_BGR24_MMX\n\n\n\n :\"=m\"(*d)\n\n :\"m\"(*s)\n\n :\"memory\");\n\n d += 24;\n\n s += 8;\n\n }\n\n __asm__ volatile(SFENCE:::\"memory\");\n\n __asm__ volatile(EMMS:::\"memory\");\n\n while (s < end) {\n\n register uint16_t bgr;\n\n bgr = *s++;\n\n *d++ = (bgr&0x1F)<<3;\n\n *d++ = (bgr&0x3E0)>>2;\n\n *d++ = (bgr&0x7C00)>>7;\n\n }\n\n}\n", "idx": 1508}143{"project": "qemu", "commit_id": "40ff6d7e8dceca227e7f8a3e8e0d58b2c66d19b4", "target": 1, "func": "int inet_dgram_opts(QemuOpts *opts)\n\n{\n\n struct addrinfo ai, *peer = NULL, *local = NULL;\n\n const char *addr;\n\n const char *port;\n\n char uaddr[INET6_ADDRSTRLEN+1];\n\n char uport[33];\n\n int sock = -1, rc;\n\n\n\n /* lookup peer addr */\n\n memset(&ai,0, sizeof(ai));\n\n ai.ai_flags = AI_CANONNAME | AI_ADDRCONFIG;\n\n ai.ai_family = PF_UNSPEC;\n\n ai.ai_socktype = SOCK_DGRAM;\n\n\n\n addr = qemu_opt_get(opts, \"host\");\n\n port = qemu_opt_get(opts, \"port\");\n\n if (addr == NULL || strlen(addr) == 0) {\n\n addr = \"localhost\";\n\n }\n\n if (port == NULL || strlen(port) == 0) {\n\n fprintf(stderr, \"inet_dgram: port not specified\\n\");\n\n return -1;\n\n }\n\n\n\n if (qemu_opt_get_bool(opts, \"ipv4\", 0))\n\n ai.ai_family = PF_INET;\n\n if (qemu_opt_get_bool(opts, \"ipv6\", 0))\n\n ai.ai_family = PF_INET6;\n\n\n\n if (0 != (rc = getaddrinfo(addr, port, &ai, &peer))) {\n\n fprintf(stderr,\"getaddrinfo(%s,%s): %s\\n\", addr, port,\n\n gai_strerror(rc));\n\n\treturn -1;\n\n }\n\n if (sockets_debug) {\n\n fprintf(stderr, \"%s: peer (%s:%s)\\n\", __FUNCTION__, addr, port);\n\n inet_print_addrinfo(__FUNCTION__, peer);\n\n }\n\n\n\n /* lookup local addr */\n\n memset(&ai,0, sizeof(ai));\n\n ai.ai_flags = AI_PASSIVE;\n\n ai.ai_family = peer->ai_family;\n\n ai.ai_socktype = SOCK_DGRAM;\n\n\n\n addr = qemu_opt_get(opts, \"localaddr\");\n\n port = qemu_opt_get(opts, \"localport\");\n\n if (addr == NULL || strlen(addr) == 0) {\n\n addr = NULL;\n\n }\n\n if (!port || strlen(port) == 0)\n\n port = \"0\";\n\n\n\n if (0 != (rc = getaddrinfo(addr, port, &ai, &local))) {\n\n fprintf(stderr,\"getaddrinfo(%s,%s): %s\\n\", addr, port,\n\n gai_strerror(rc));\n\n return -1;\n\n }\n\n if (sockets_debug) {\n\n fprintf(stderr, \"%s: local (%s:%s)\\n\", __FUNCTION__, addr, port);\n\n inet_print_addrinfo(__FUNCTION__, local);\n\n }\n\n\n\n /* create socket */\n\n sock = socket(peer->ai_family, peer->ai_socktype, peer->ai_protocol);\n\n if (sock < 0) {\n\n fprintf(stderr,\"%s: socket(%s): %s\\n\", __FUNCTION__,\n\n inet_strfamily(peer->ai_family), strerror(errno));\n\n goto err;\n\n }\n\n setsockopt(sock,SOL_SOCKET,SO_REUSEADDR,(void*)&on,sizeof(on));\n\n\n\n /* bind socket */\n\n if (getnameinfo((struct sockaddr*)local->ai_addr,local->ai_addrlen,\n\n uaddr,INET6_ADDRSTRLEN,uport,32,\n\n NI_NUMERICHOST | NI_NUMERICSERV) != 0) {\n\n fprintf(stderr, \"%s: getnameinfo: oops\\n\", __FUNCTION__);\n\n goto err;\n\n }\n\n if (bind(sock, local->ai_addr, local->ai_addrlen) < 0) {\n\n fprintf(stderr,\"%s: bind(%s,%s,%d): OK\\n\", __FUNCTION__,\n\n inet_strfamily(local->ai_family), uaddr, inet_getport(local));\n\n goto err;\n\n }\n\n\n\n /* connect to peer */\n\n if (getnameinfo((struct sockaddr*)peer->ai_addr, peer->ai_addrlen,\n\n uaddr, INET6_ADDRSTRLEN, uport, 32,\n\n NI_NUMERICHOST | NI_NUMERICSERV) != 0) {\n\n fprintf(stderr, \"%s: getnameinfo: oops\\n\", __FUNCTION__);\n\n goto err;\n\n }\n\n if (connect(sock,peer->ai_addr,peer->ai_addrlen) < 0) {\n\n fprintf(stderr, \"%s: connect(%s,%s,%s,%s): %s\\n\", __FUNCTION__,\n\n inet_strfamily(peer->ai_family),\n\n peer->ai_canonname, uaddr, uport, strerror(errno));\n\n goto err;\n\n }\n\n\n\n freeaddrinfo(local);\n\n freeaddrinfo(peer);\n\n return sock;\n\n\n\nerr:\n\n if (-1 != sock)\n\n closesocket(sock);\n\n if (local)\n\n freeaddrinfo(local);\n\n if (peer)\n\n freeaddrinfo(peer);\n\n return -1;\n\n}\n", "idx": 1519}144{"project": "FFmpeg", "commit_id": "ddbcc48b646737c8bff7f8e28e0a69dca65509cf", "target": 0, "func": "static int ftp_file_size(FTPContext *s)\n\n{\n\n char command[CONTROL_BUFFER_SIZE];\n\n char *res = NULL;\n\n const int size_codes[] = {213, 0};\n\n\n\n snprintf(command, sizeof(command), \"SIZE %s\\r\\n\", s->path);\n\n if (ftp_send_command(s, command, size_codes, &res)) {\n\n s->filesize = strtoll(&res[4], NULL, 10);\n\n } else {\n\n s->filesize = -1;\n\n av_free(res);\n\n return AVERROR(EIO);\n\n }\n\n\n\n av_free(res);\n\n return 0;\n\n}\n", "idx": 1525}145{"project": "qemu", "commit_id": "68d45bb61c5bbfb3999486f78cf026c1e79eb301", "target": 1, "func": "static void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, bool is_64)\n\n{\n\n TCGReg datalo, datahi, addrlo, rbase;\n\n TCGReg addrhi __attribute__((unused));\n\n TCGMemOpIdx oi;\n\n TCGMemOp opc, s_bits;\n\n#ifdef CONFIG_SOFTMMU\n\n int mem_index;\n\n tcg_insn_unit *label_ptr;\n\n#endif\n\n\n\n datalo = *args++;\n\n datahi = (TCG_TARGET_REG_BITS == 32 && is_64 ? *args++ : 0);\n\n addrlo = *args++;\n\n addrhi = (TCG_TARGET_REG_BITS < TARGET_LONG_BITS ? *args++ : 0);\n\n oi = *args++;\n\n opc = get_memop(oi);\n\n s_bits = opc & MO_SIZE;\n\n\n\n#ifdef CONFIG_SOFTMMU\n\n mem_index = get_mmuidx(oi);\n\n addrlo = tcg_out_tlb_read(s, s_bits, addrlo, addrhi, mem_index, true);\n\n\n\n /* Load a pointer into the current opcode w/conditional branch-link. */\n\n label_ptr = s->code_ptr;\n\n tcg_out_bc_noaddr(s, BC | BI(7, CR_EQ) | BO_COND_FALSE | LK);\n\n\n\n rbase = TCG_REG_R3;\n\n#else /* !CONFIG_SOFTMMU */\n\n rbase = GUEST_BASE ? TCG_GUEST_BASE_REG : 0;\n\n if (TCG_TARGET_REG_BITS > TARGET_LONG_BITS) {\n\n tcg_out_ext32u(s, TCG_REG_TMP1, addrlo);\n\n addrlo = TCG_REG_TMP1;\n\n }\n\n#endif\n\n\n\n if (TCG_TARGET_REG_BITS == 32 && s_bits == MO_64) {\n\n if (opc & MO_BSWAP) {\n\n tcg_out32(s, ADDI | TAI(TCG_REG_R0, addrlo, 4));\n\n tcg_out32(s, LWBRX | TAB(datalo, rbase, addrlo));\n\n tcg_out32(s, LWBRX | TAB(datahi, rbase, TCG_REG_R0));\n\n } else if (rbase != 0) {\n\n tcg_out32(s, ADDI | TAI(TCG_REG_R0, addrlo, 4));\n\n tcg_out32(s, LWZX | TAB(datahi, rbase, addrlo));\n\n tcg_out32(s, LWZX | TAB(datalo, rbase, TCG_REG_R0));\n\n } else if (addrlo == datahi) {\n\n tcg_out32(s, LWZ | TAI(datalo, addrlo, 4));\n\n tcg_out32(s, LWZ | TAI(datahi, addrlo, 0));\n\n } else {\n\n tcg_out32(s, LWZ | TAI(datahi, addrlo, 0));\n\n tcg_out32(s, LWZ | TAI(datalo, addrlo, 4));\n\n }\n\n } else {\n\n uint32_t insn = qemu_ldx_opc[opc & (MO_BSWAP | MO_SSIZE)];\n\n if (!HAVE_ISA_2_06 && insn == LDBRX) {\n\n tcg_out32(s, ADDI | TAI(TCG_REG_R0, addrlo, 4));\n\n tcg_out32(s, LWBRX | TAB(datalo, rbase, addrlo));\n\n tcg_out32(s, LWBRX | TAB(TCG_REG_R0, rbase, TCG_REG_R0));\n\n tcg_out_rld(s, RLDIMI, datalo, TCG_REG_R0, 32, 0);\n\n } else if (insn) {\n\n tcg_out32(s, insn | TAB(datalo, rbase, addrlo));\n\n } else {\n\n insn = qemu_ldx_opc[opc & (MO_SIZE | MO_BSWAP)];\n\n tcg_out32(s, insn | TAB(datalo, rbase, addrlo));\n\n insn = qemu_exts_opc[s_bits];\n\n tcg_out32(s, insn | RA(datalo) | RS(datalo));\n\n }\n\n }\n\n\n\n#ifdef CONFIG_SOFTMMU\n\n add_qemu_ldst_label(s, true, oi, datalo, datahi, addrlo, addrhi,\n\n s->code_ptr, label_ptr);\n\n#endif\n\n}\n", "idx": 1533}146{"project": "FFmpeg", "commit_id": "5c2fb561d94fc51d76ab21d6f7cc5b6cc3aa599c", "target": 0, "func": "int ff_h264_decode_ref_pic_marking(const H264Context *h, H264SliceContext *sl,\n\n GetBitContext *gb)\n\n{\n\n int i;\n\n MMCO *mmco = sl->mmco;\n\n int nb_mmco = 0;\n\n\n\n if (h->nal_unit_type == NAL_IDR_SLICE) { // FIXME fields\n\n skip_bits1(gb); // broken_link\n\n if (get_bits1(gb)) {\n\n mmco[0].opcode = MMCO_LONG;\n\n mmco[0].long_arg = 0;\n\n nb_mmco = 1;\n\n }\n\n sl->explicit_ref_marking = 1;\n\n } else {\n\n sl->explicit_ref_marking = get_bits1(gb);\n\n if (sl->explicit_ref_marking) {\n\n for (i = 0; i < MAX_MMCO_COUNT; i++) {\n\n MMCOOpcode opcode = get_ue_golomb_31(gb);\n\n\n\n mmco[i].opcode = opcode;\n\n if (opcode == MMCO_SHORT2UNUSED || opcode == MMCO_SHORT2LONG) {\n\n mmco[i].short_pic_num =\n\n (sl->curr_pic_num - get_ue_golomb(gb) - 1) &\n\n (sl->max_pic_num - 1);\n\n#if 0\n\n if (mmco[i].short_pic_num >= h->short_ref_count ||\n\n !h->short_ref[mmco[i].short_pic_num]) {\n\n av_log(s->avctx, AV_LOG_ERROR,\n\n \"illegal short ref in memory management control \"\n\n \"operation %d\\n\", mmco);\n\n return -1;\n\n }\n\n#endif\n\n }\n\n if (opcode == MMCO_SHORT2LONG || opcode == MMCO_LONG2UNUSED ||\n\n opcode == MMCO_LONG || opcode == MMCO_SET_MAX_LONG) {\n\n unsigned int long_arg = get_ue_golomb_31(gb);\n\n if (long_arg >= 32 ||\n\n (long_arg >= 16 && !(opcode == MMCO_SET_MAX_LONG &&\n\n long_arg == 16) &&\n\n !(opcode == MMCO_LONG2UNUSED && FIELD_PICTURE(h)))) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"illegal long ref in memory management control \"\n\n \"operation %d\\n\", opcode);\n\n return -1;\n\n }\n\n mmco[i].long_arg = long_arg;\n\n }\n\n\n\n if (opcode > (unsigned) MMCO_LONG) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"illegal memory management control operation %d\\n\",\n\n opcode);\n\n return -1;\n\n }\n\n if (opcode == MMCO_END)\n\n break;\n\n }\n\n nb_mmco = i;\n\n }\n\n }\n\n\n\n sl->nb_mmco = nb_mmco;\n\n\n\n return 0;\n\n}\n", "idx": 1540}147{"project": "qemu", "commit_id": "e40a67beeda6aa6e735546e9f08f3db41e23592a", "target": 0, "func": " void cpu_sh4_invalidate_tlb(CPUSH4State *s)\n\n{\n\n int i;\n\n\n\n /* UTLB */\n\n for (i = 0; i < UTLB_SIZE; i++) {\n\n tlb_t * entry = &s->utlb[i];\n\n entry->v = 0;\n\n }\n\n /* ITLB */\n\n for (i = 0; i < UTLB_SIZE; i++) {\n\n tlb_t * entry = &s->utlb[i];\n\n entry->v = 0;\n\n }\n\n\n\n tlb_flush(s, 1);\n\n}\n", "idx": 1557}148{"project": "qemu", "commit_id": "22156ab498acf5f8104801148732ae8e83f336a0", "target": 0, "func": "uint16_t net_checksum_finish(uint32_t sum)\n\n{\n\n while (sum>>16)\n\n\tsum = (sum & 0xFFFF)+(sum >> 16);\n\n return ~sum;\n\n}\n", "idx": 1573}149{"project": "qemu", "commit_id": "45eb768c706d3a5fbe55224c589e8b4e252781d9", "target": 0, "func": "static void pci_init_mask_bridge(PCIDevice *d)\n\n{\n\n /* PCI_PRIMARY_BUS, PCI_SECONDARY_BUS, PCI_SUBORDINATE_BUS and\n\n PCI_SEC_LETENCY_TIMER */\n\n memset(d->wmask + PCI_PRIMARY_BUS, 0xff, 4);\n\n\n\n /* base and limit */\n\n d->wmask[PCI_IO_BASE] = PCI_IO_RANGE_MASK & 0xff;\n\n d->wmask[PCI_IO_LIMIT] = PCI_IO_RANGE_MASK & 0xff;\n\n pci_set_word(d->wmask + PCI_MEMORY_BASE,\n\n PCI_MEMORY_RANGE_MASK & 0xffff);\n\n pci_set_word(d->wmask + PCI_MEMORY_LIMIT,\n\n PCI_MEMORY_RANGE_MASK & 0xffff);\n\n pci_set_word(d->wmask + PCI_PREF_MEMORY_BASE,\n\n PCI_PREF_RANGE_MASK & 0xffff);\n\n pci_set_word(d->wmask + PCI_PREF_MEMORY_LIMIT,\n\n PCI_PREF_RANGE_MASK & 0xffff);\n\n\n\n /* PCI_PREF_BASE_UPPER32 and PCI_PREF_LIMIT_UPPER32 */\n\n memset(d->wmask + PCI_PREF_BASE_UPPER32, 0xff, 8);\n\n\n\n /* Supported memory and i/o types */\n\n d->config[PCI_IO_BASE] |= PCI_IO_RANGE_TYPE_16;\n\n d->config[PCI_IO_LIMIT] |= PCI_IO_RANGE_TYPE_16;\n\n pci_word_test_and_set_mask(d->config + PCI_PREF_MEMORY_BASE,\n\n PCI_PREF_RANGE_TYPE_64);\n\n pci_word_test_and_set_mask(d->config + PCI_PREF_MEMORY_LIMIT,\n\n PCI_PREF_RANGE_TYPE_64);\n\n\n\n/* TODO: add this define to pci_regs.h in linux and then in qemu. */\n\n#define PCI_BRIDGE_CTL_VGA_16BIT\t0x10\t/* VGA 16-bit decode */\n\n#define PCI_BRIDGE_CTL_DISCARD\t\t0x100\t/* Primary discard timer */\n\n#define PCI_BRIDGE_CTL_SEC_DISCARD\t0x200\t/* Secondary discard timer */\n\n#define PCI_BRIDGE_CTL_DISCARD_STATUS\t0x400\t/* Discard timer status */\n\n#define PCI_BRIDGE_CTL_DISCARD_SERR\t0x800\t/* Discard timer SERR# enable */\n\n/*\n\n * TODO: Bridges default to 10-bit VGA decoding but we currently only\n\n * implement 16-bit decoding (no alias support).\n\n */\n\n pci_set_word(d->wmask + PCI_BRIDGE_CONTROL,\n\n PCI_BRIDGE_CTL_PARITY |\n\n PCI_BRIDGE_CTL_SERR |\n\n PCI_BRIDGE_CTL_ISA |\n\n PCI_BRIDGE_CTL_VGA |\n\n PCI_BRIDGE_CTL_VGA_16BIT |\n\n PCI_BRIDGE_CTL_MASTER_ABORT |\n\n PCI_BRIDGE_CTL_BUS_RESET |\n\n PCI_BRIDGE_CTL_FAST_BACK |\n\n PCI_BRIDGE_CTL_DISCARD |\n\n PCI_BRIDGE_CTL_SEC_DISCARD |\n\n PCI_BRIDGE_CTL_DISCARD_SERR);\n\n /* Below does not do anything as we never set this bit, put here for\n\n * completeness. */\n\n pci_set_word(d->w1cmask + PCI_BRIDGE_CONTROL,\n\n PCI_BRIDGE_CTL_DISCARD_STATUS);\n\n d->cmask[PCI_IO_BASE] |= PCI_IO_RANGE_TYPE_MASK;\n\n d->cmask[PCI_IO_LIMIT] |= PCI_IO_RANGE_TYPE_MASK;\n\n pci_word_test_and_set_mask(d->cmask + PCI_PREF_MEMORY_BASE,\n\n PCI_PREF_RANGE_TYPE_MASK);\n\n pci_word_test_and_set_mask(d->cmask + PCI_PREF_MEMORY_LIMIT,\n\n PCI_PREF_RANGE_TYPE_MASK);\n\n}\n", "idx": 1616}150{"project": "qemu", "commit_id": "2b48e10f888059a98043b4816769fa2a326a1d2c", "target": 0, "func": "static TranslationBlock *tb_alloc(target_ulong pc)\n\n{\n\n TranslationBlock *tb;\n\n TBContext *ctx;\n\n\n\n assert_tb_locked();\n\n\n\n tb = tcg_tb_alloc(&tcg_ctx);\n\n if (unlikely(tb == NULL)) {\n\n return NULL;\n\n }\n\n ctx = &tcg_ctx.tb_ctx;\n\n if (unlikely(ctx->nb_tbs == ctx->tbs_size)) {\n\n ctx->tbs_size *= 2;\n\n ctx->tbs = g_renew(TranslationBlock *, ctx->tbs, ctx->tbs_size);\n\n }\n\n ctx->tbs[ctx->nb_tbs++] = tb;\n\n tb->pc = pc;\n\n tb->cflags = 0;\n\n tb->invalid = false;\n\n return tb;\n\n}\n", "idx": 1621}151{"project": "qemu", "commit_id": "9cbaacf999b01b27dc3a22502705178057af66de", "target": 0, "func": "static void gpollfds_from_select(void)\n\n{\n\n int fd;\n\n for (fd = 0; fd <= nfds; fd++) {\n\n int events = 0;\n\n if (FD_ISSET(fd, &rfds)) {\n\n events |= G_IO_IN | G_IO_HUP | G_IO_ERR;\n\n }\n\n if (FD_ISSET(fd, &wfds)) {\n\n events |= G_IO_OUT | G_IO_ERR;\n\n }\n\n if (FD_ISSET(fd, &xfds)) {\n\n events |= G_IO_PRI;\n\n }\n\n if (events) {\n\n GPollFD pfd = {\n\n .fd = fd,\n\n .events = events,\n\n };\n\n g_array_append_val(gpollfds, pfd);\n\n }\n\n }\n\n}\n", "idx": 1626}152{"project": "FFmpeg", "commit_id": "89f464e9c229006e16f6bb5403c5529fdd0a9edd", "target": 0, "func": "static int decode_frame(AVCodecContext *avctx,\n\n void *data, int *got_frame, AVPacket *avpkt)\n\n{\n\n TiffContext *const s = avctx->priv_data;\n\n AVFrame *const p = data;\n\n ThreadFrame frame = { .f = data };\n\n unsigned off;\n\n int le, ret, plane, planes;\n\n int i, j, entries, stride;\n\n unsigned soff, ssize;\n\n uint8_t *dst;\n\n GetByteContext stripsizes;\n\n GetByteContext stripdata;\n\n\n\n bytestream2_init(&s->gb, avpkt->data, avpkt->size);\n\n\n\n // parse image header\n\n if ((ret = ff_tdecode_header(&s->gb, &le, &off))) {\n\n av_log(avctx, AV_LOG_ERROR, \"Invalid TIFF header\\n\");\n\n return ret;\n\n } else if (off >= UINT_MAX - 14 || avpkt->size < off + 14) {\n\n av_log(avctx, AV_LOG_ERROR, \"IFD offset is greater than image size\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n s->le = le;\n\n // TIFF_BPP is not a required tag and defaults to 1\n\n s->bppcount = s->bpp = 1;\n\n s->photometric = TIFF_PHOTOMETRIC_NONE;\n\n s->compr = TIFF_RAW;\n\n s->fill_order = 0;\n\n free_geotags(s);\n\n\n\n // Reset these offsets so we can tell if they were set this frame\n\n s->stripsizesoff = s->strippos = 0;\n\n /* parse image file directory */\n\n bytestream2_seek(&s->gb, off, SEEK_SET);\n\n entries = ff_tget_short(&s->gb, le);\n\n if (bytestream2_get_bytes_left(&s->gb) < entries * 12)\n\n return AVERROR_INVALIDDATA;\n\n for (i = 0; i < entries; i++) {\n\n if ((ret = tiff_decode_tag(s, p)) < 0)\n\n return ret;\n\n }\n\n\n\n for (i = 0; i<s->geotag_count; i++) {\n\n const char *keyname = get_geokey_name(s->geotags[i].key);\n\n if (!keyname) {\n\n av_log(avctx, AV_LOG_WARNING, \"Unknown or unsupported GeoTIFF key %d\\n\", s->geotags[i].key);\n\n continue;\n\n }\n\n if (get_geokey_type(s->geotags[i].key) != s->geotags[i].type) {\n\n av_log(avctx, AV_LOG_WARNING, \"Type of GeoTIFF key %d is wrong\\n\", s->geotags[i].key);\n\n continue;\n\n }\n\n ret = av_dict_set(avpriv_frame_get_metadatap(p), keyname, s->geotags[i].val, 0);\n\n if (ret<0) {\n\n av_log(avctx, AV_LOG_ERROR, \"Writing metadata with key '%s' failed\\n\", keyname);\n\n return ret;\n\n }\n\n }\n\n\n\n if (!s->strippos && !s->stripoff) {\n\n av_log(avctx, AV_LOG_ERROR, \"Image data is missing\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n /* now we have the data and may start decoding */\n\n if ((ret = init_image(s, &frame)) < 0)\n\n return ret;\n\n\n\n if (s->strips == 1 && !s->stripsize) {\n\n av_log(avctx, AV_LOG_WARNING, \"Image data size missing\\n\");\n\n s->stripsize = avpkt->size - s->stripoff;\n\n }\n\n\n\n if (s->stripsizesoff) {\n\n if (s->stripsizesoff >= (unsigned)avpkt->size)\n\n return AVERROR_INVALIDDATA;\n\n bytestream2_init(&stripsizes, avpkt->data + s->stripsizesoff,\n\n avpkt->size - s->stripsizesoff);\n\n }\n\n if (s->strippos) {\n\n if (s->strippos >= (unsigned)avpkt->size)\n\n return AVERROR_INVALIDDATA;\n\n bytestream2_init(&stripdata, avpkt->data + s->strippos,\n\n avpkt->size - s->strippos);\n\n }\n\n\n\n if (s->rps <= 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"rps %d invalid\\n\", s->rps);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n planes = s->planar ? s->bppcount : 1;\n\n for (plane = 0; plane < planes; plane++) {\n\n stride = p->linesize[plane];\n\n dst = p->data[plane];\n\n for (i = 0; i < s->height; i += s->rps) {\n\n if (s->stripsizesoff)\n\n ssize = ff_tget(&stripsizes, s->sstype, le);\n\n else\n\n ssize = s->stripsize;\n\n\n\n if (s->strippos)\n\n soff = ff_tget(&stripdata, s->sot, le);\n\n else\n\n soff = s->stripoff;\n\n\n\n if (soff > avpkt->size || ssize > avpkt->size - soff) {\n\n av_log(avctx, AV_LOG_ERROR, \"Invalid strip size/offset\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if ((ret = tiff_unpack_strip(s, p, dst, stride, avpkt->data + soff, ssize, i,\n\n FFMIN(s->rps, s->height - i))) < 0) {\n\n if (avctx->err_recognition & AV_EF_EXPLODE)\n\n return ret;\n\n break;\n\n }\n\n dst += s->rps * stride;\n\n }\n\n if (s->predictor == 2) {\n\n if (s->photometric == TIFF_PHOTOMETRIC_YCBCR) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"predictor == 2 with YUV is unsupported\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n dst = p->data[plane];\n\n soff = s->bpp >> 3;\n\n if (s->planar)\n\n soff = FFMAX(soff / s->bppcount, 1);\n\n ssize = s->width * soff;\n\n if (s->avctx->pix_fmt == AV_PIX_FMT_RGB48LE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_RGBA64LE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_GRAY16LE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_YA16LE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_GBRP16LE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_GBRAP16LE) {\n\n for (i = 0; i < s->height; i++) {\n\n for (j = soff; j < ssize; j += 2)\n\n AV_WL16(dst + j, AV_RL16(dst + j) + AV_RL16(dst + j - soff));\n\n dst += stride;\n\n }\n\n } else if (s->avctx->pix_fmt == AV_PIX_FMT_RGB48BE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_RGBA64BE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_GRAY16BE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_YA16BE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_GBRP16BE ||\n\n s->avctx->pix_fmt == AV_PIX_FMT_GBRAP16BE) {\n\n for (i = 0; i < s->height; i++) {\n\n for (j = soff; j < ssize; j += 2)\n\n AV_WB16(dst + j, AV_RB16(dst + j) + AV_RB16(dst + j - soff));\n\n dst += stride;\n\n }\n\n } else {\n\n for (i = 0; i < s->height; i++) {\n\n for (j = soff; j < ssize; j++)\n\n dst[j] += dst[j - soff];\n\n dst += stride;\n\n }\n\n }\n\n }\n\n\n\n if (s->photometric == TIFF_PHOTOMETRIC_WHITE_IS_ZERO) {\n\n dst = p->data[plane];\n\n for (i = 0; i < s->height; i++) {\n\n for (j = 0; j < stride; j++)\n\n dst[j] = (s->avctx->pix_fmt == AV_PIX_FMT_PAL8 ? (1<<s->bpp) - 1 : 255) - dst[j];\n\n dst += stride;\n\n }\n\n }\n\n }\n\n\n\n if (s->planar && s->bppcount > 2) {\n\n FFSWAP(uint8_t*, p->data[0], p->data[2]);\n\n FFSWAP(int, p->linesize[0], p->linesize[2]);\n\n FFSWAP(uint8_t*, p->data[0], p->data[1]);\n\n FFSWAP(int, p->linesize[0], p->linesize[1]);\n\n }\n\n\n\n *got_frame = 1;\n\n\n\n return avpkt->size;\n\n}\n", "idx": 1628}153{"project": "FFmpeg", "commit_id": "bd255f9feb4deea4c990e582f0ba3b90d7b64b4c", "target": 0, "func": "int attribute_align_arg avcodec_decode_video2(AVCodecContext *avctx, AVFrame *picture,\n\n int *got_picture_ptr,\n\n AVPacket *avpkt)\n\n{\n\n int ret;\n\n\n\n *got_picture_ptr = 0;\n\n if ((avctx->coded_width || avctx->coded_height) && av_image_check_size(avctx->coded_width, avctx->coded_height, 0, avctx))\n\n return -1;\n\n\n\n avctx->pkt = avpkt;\n\n apply_param_change(avctx, avpkt);\n\n\n\n avcodec_get_frame_defaults(picture);\n\n\n\n if ((avctx->codec->capabilities & CODEC_CAP_DELAY) || avpkt->size || (avctx->active_thread_type & FF_THREAD_FRAME)) {\n\n if (HAVE_THREADS && avctx->active_thread_type & FF_THREAD_FRAME)\n\n ret = ff_thread_decode_frame(avctx, picture, got_picture_ptr,\n\n avpkt);\n\n else {\n\n ret = avctx->codec->decode(avctx, picture, got_picture_ptr,\n\n avpkt);\n\n picture->pkt_dts = avpkt->dts;\n\n picture->sample_aspect_ratio = avctx->sample_aspect_ratio;\n\n picture->width = avctx->width;\n\n picture->height = avctx->height;\n\n picture->format = avctx->pix_fmt;\n\n }\n\n\n\n emms_c(); //needed to avoid an emms_c() call before every return;\n\n\n\n if (*got_picture_ptr)\n\n avctx->frame_number++;\n\n } else\n\n ret = 0;\n\n\n\n /* many decoders assign whole AVFrames, thus overwriting extended_data;\n\n * make sure it's set correctly */\n\n picture->extended_data = picture->data;\n\n\n\n return ret;\n\n}\n", "idx": 1657}154{"project": "qemu", "commit_id": "87e459a810d7b1ec1638085b5a80ea3d9b43119a", "target": 1, "func": "static int megasas_pd_get_info_submit(SCSIDevice *sdev, int lun,\n\n MegasasCmd *cmd)\n\n{\n\n struct mfi_pd_info *info = cmd->iov_buf;\n\n size_t dcmd_size = sizeof(struct mfi_pd_info);\n\n uint64_t pd_size;\n\n uint16_t pd_id = ((sdev->id & 0xFF) << 8) | (lun & 0xFF);\n\n uint8_t cmdbuf[6];\n\n SCSIRequest *req;\n\n size_t len, resid;\n\n\n\n if (!cmd->iov_buf) {\n\n cmd->iov_buf = g_malloc0(dcmd_size);\n\n info = cmd->iov_buf;\n\n info->inquiry_data[0] = 0x7f; /* Force PQual 0x3, PType 0x1f */\n\n info->vpd_page83[0] = 0x7f;\n\n megasas_setup_inquiry(cmdbuf, 0, sizeof(info->inquiry_data));\n\n req = scsi_req_new(sdev, cmd->index, lun, cmdbuf, cmd);\n\n if (!req) {\n\n trace_megasas_dcmd_req_alloc_failed(cmd->index,\n\n \"PD get info std inquiry\");\n\n g_free(cmd->iov_buf);\n\n cmd->iov_buf = NULL;\n\n return MFI_STAT_FLASH_ALLOC_FAIL;\n\n }\n\n trace_megasas_dcmd_internal_submit(cmd->index,\n\n \"PD get info std inquiry\", lun);\n\n len = scsi_req_enqueue(req);\n\n if (len > 0) {\n\n cmd->iov_size = len;\n\n scsi_req_continue(req);\n\n }\n\n return MFI_STAT_INVALID_STATUS;\n\n } else if (info->inquiry_data[0] != 0x7f && info->vpd_page83[0] == 0x7f) {\n\n megasas_setup_inquiry(cmdbuf, 0x83, sizeof(info->vpd_page83));\n\n req = scsi_req_new(sdev, cmd->index, lun, cmdbuf, cmd);\n\n if (!req) {\n\n trace_megasas_dcmd_req_alloc_failed(cmd->index,\n\n \"PD get info vpd inquiry\");\n\n return MFI_STAT_FLASH_ALLOC_FAIL;\n\n }\n\n trace_megasas_dcmd_internal_submit(cmd->index,\n\n \"PD get info vpd inquiry\", lun);\n\n len = scsi_req_enqueue(req);\n\n if (len > 0) {\n\n cmd->iov_size = len;\n\n scsi_req_continue(req);\n\n }\n\n return MFI_STAT_INVALID_STATUS;\n\n }\n\n /* Finished, set FW state */\n\n if ((info->inquiry_data[0] >> 5) == 0) {\n\n if (megasas_is_jbod(cmd->state)) {\n\n info->fw_state = cpu_to_le16(MFI_PD_STATE_SYSTEM);\n\n } else {\n\n info->fw_state = cpu_to_le16(MFI_PD_STATE_ONLINE);\n\n }\n\n } else {\n\n info->fw_state = cpu_to_le16(MFI_PD_STATE_OFFLINE);\n\n }\n\n\n\n info->ref.v.device_id = cpu_to_le16(pd_id);\n\n info->state.ddf.pd_type = cpu_to_le16(MFI_PD_DDF_TYPE_IN_VD|\n\n MFI_PD_DDF_TYPE_INTF_SAS);\n\n blk_get_geometry(sdev->conf.blk, &pd_size);\n\n info->raw_size = cpu_to_le64(pd_size);\n\n info->non_coerced_size = cpu_to_le64(pd_size);\n\n info->coerced_size = cpu_to_le64(pd_size);\n\n info->encl_device_id = 0xFFFF;\n\n info->slot_number = (sdev->id & 0xFF);\n\n info->path_info.count = 1;\n\n info->path_info.sas_addr[0] =\n\n cpu_to_le64(megasas_get_sata_addr(pd_id));\n\n info->connected_port_bitmap = 0x1;\n\n info->device_speed = 1;\n\n info->link_speed = 1;\n\n resid = dma_buf_read(cmd->iov_buf, dcmd_size, &cmd->qsg);\n\n g_free(cmd->iov_buf);\n\n cmd->iov_size = dcmd_size - resid;\n\n cmd->iov_buf = NULL;\n\n return MFI_STAT_OK;\n\n}\n", "idx": 1672}155{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_isel(DisasContext *ctx)\n\n{\n\n int l1, l2;\n\n uint32_t bi = rC(ctx->opcode);\n\n uint32_t mask;\n\n TCGv_i32 t0;\n\n\n\n l1 = gen_new_label();\n\n l2 = gen_new_label();\n\n\n\n mask = 0x08 >> (bi & 0x03);\n\n t0 = tcg_temp_new_i32();\n\n tcg_gen_andi_i32(t0, cpu_crf[bi >> 2], mask);\n\n tcg_gen_brcondi_i32(TCG_COND_EQ, t0, 0, l1);\n\n if (rA(ctx->opcode) == 0)\n\n tcg_gen_movi_tl(cpu_gpr[rD(ctx->opcode)], 0);\n\n else\n\n tcg_gen_mov_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);\n\n tcg_gen_br(l2);\n\n gen_set_label(l1);\n\n tcg_gen_mov_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rB(ctx->opcode)]);\n\n gen_set_label(l2);\n\n tcg_temp_free_i32(t0);\n\n}\n", "idx": 1710}156{"project": "qemu", "commit_id": "42bb9c9178ae7ac4c439172b1ae99cc29188a5c6", "target": 0, "func": "static void stream_process_mem2s(struct Stream *s,\n\n StreamSlave *tx_dev)\n\n{\n\n uint32_t prev_d;\n\n unsigned char txbuf[16 * 1024];\n\n unsigned int txlen;\n\n uint32_t app[6];\n\n\n\n if (!stream_running(s) || stream_idle(s)) {\n\n return;\n\n }\n\n\n\n while (1) {\n\n stream_desc_load(s, s->regs[R_CURDESC]);\n\n\n\n if (s->desc.status & SDESC_STATUS_COMPLETE) {\n\n s->regs[R_DMASR] |= DMASR_HALTED;\n\n break;\n\n }\n\n\n\n if (stream_desc_sof(&s->desc)) {\n\n s->pos = 0;\n\n memcpy(app, s->desc.app, sizeof app);\n\n }\n\n\n\n txlen = s->desc.control & SDESC_CTRL_LEN_MASK;\n\n if ((txlen + s->pos) > sizeof txbuf) {\n\n hw_error(\"%s: too small internal txbuf! %d\\n\", __func__,\n\n txlen + s->pos);\n\n }\n\n\n\n cpu_physical_memory_read(s->desc.buffer_address,\n\n txbuf + s->pos, txlen);\n\n s->pos += txlen;\n\n\n\n if (stream_desc_eof(&s->desc)) {\n\n stream_push(tx_dev, txbuf, s->pos, app);\n\n s->pos = 0;\n\n stream_complete(s);\n\n }\n\n\n\n /* Update the descriptor. */\n\n s->desc.status = txlen | SDESC_STATUS_COMPLETE;\n\n stream_desc_store(s, s->regs[R_CURDESC]);\n\n\n\n /* Advance. */\n\n prev_d = s->regs[R_CURDESC];\n\n s->regs[R_CURDESC] = s->desc.nxtdesc;\n\n if (prev_d == s->regs[R_TAILDESC]) {\n\n s->regs[R_DMASR] |= DMASR_IDLE;\n\n break;\n\n }\n\n }\n\n}\n", "idx": 1712}157{"project": "FFmpeg", "commit_id": "a70a3f0b4dc488ad04f81c16479c74f57b17e06f", "target": 0, "func": "static int adpcm_decode_init(AVCodecContext * avctx)\n\n{\n\n ADPCMContext *c = avctx->priv_data;\n\n\n\n if(avctx->channels > 2U){\n\n return -1;\n\n }\n\n\n\n c->channel = 0;\n\n c->status[0].predictor = c->status[1].predictor = 0;\n\n c->status[0].step_index = c->status[1].step_index = 0;\n\n c->status[0].step = c->status[1].step = 0;\n\n\n\n switch(avctx->codec->id) {\n\n case CODEC_ID_ADPCM_CT:\n\n c->status[0].step = c->status[1].step = 511;\n\n break;\n\n case CODEC_ID_ADPCM_IMA_WS:\n\n if (avctx->extradata && avctx->extradata_size == 2 * 4) {\n\n c->status[0].predictor = AV_RL32(avctx->extradata);\n\n c->status[1].predictor = AV_RL32(avctx->extradata + 4);\n\n }\n\n break;\n\n default:\n\n break;\n\n }\n\n return 0;\n\n}\n", "idx": 1713}158{"project": "qemu", "commit_id": "e5fda03839e3c61b01d6c60de5625501d01c69d0", "target": 1, "func": "static inline void bt_hci_event_complete_read_local_name(struct bt_hci_s *hci)\n\n{\n\n read_local_name_rp params;\n\n params.status = HCI_SUCCESS;\n\n memset(params.name, 0, sizeof(params.name));\n\n if (hci->device.lmp_name)\n\n strncpy(params.name, hci->device.lmp_name, sizeof(params.name));\n\n\n\n bt_hci_event_complete(hci, ¶ms, READ_LOCAL_NAME_RP_SIZE);\n\n}\n", "idx": 1721}159{"project": "qemu", "commit_id": "e2b72cb6e0443d90d7ab037858cb6834b6cca852", "target": 1, "func": "static bool vnc_should_update(VncState *vs)\n\n{\n\n switch (vs->update) {\n\n case VNC_STATE_UPDATE_NONE:\n\n break;\n\n case VNC_STATE_UPDATE_INCREMENTAL:\n\n /* Only allow incremental updates if the output buffer\n\n * is empty, or if audio capture is enabled.\n\n */\n\n if (!vs->output.offset || vs->audio_cap) {\n\n return true;\n\n }\n\n break;\n\n case VNC_STATE_UPDATE_FORCE:\n\n return true;\n\n }\n\n return false;\n\n}\n", "idx": 1726}160{"project": "qemu", "commit_id": "47d4be12c3997343e436c6cca89aefbbbeb70863", "target": 1, "func": "static void test_qemu_strtoll_whitespace(void)\n\n{\n\n const char *str = \" \\t \";\n\n char f = 'X';\n\n const char *endptr = &f;\n\n int64_t res = 999;\n\n int err;\n\n\n\n err = qemu_strtoll(str, &endptr, 0, &res);\n\n\n\n g_assert_cmpint(err, ==, 0);\n\n g_assert_cmpint(res, ==, 0);\n\n g_assert(endptr == str);\n\n}\n", "idx": 1736}161{"project": "qemu", "commit_id": "aaf89c8a49a8c1259b6b181d701070c6df83f3d7", "target": 0, "func": "static void test_migrate(void)\n\n{\n\n char *uri = g_strdup_printf(\"unix:%s/migsocket\", tmpfs);\n\n QTestState *global = global_qtest, *from, *to;\n\n unsigned char dest_byte_a, dest_byte_b, dest_byte_c, dest_byte_d;\n\n gchar *cmd;\n\n QDict *rsp;\n\n\n\n char *bootpath = g_strdup_printf(\"%s/bootsect\", tmpfs);\n\n FILE *bootfile = fopen(bootpath, \"wb\");\n\n\n\n got_stop = false;\n\n g_assert_cmpint(fwrite(bootsect, 512, 1, bootfile), ==, 1);\n\n fclose(bootfile);\n\n\n\n cmd = g_strdup_printf(\"-machine accel=kvm:tcg -m 150M\"\n\n \" -name pcsource,debug-threads=on\"\n\n \" -serial file:%s/src_serial\"\n\n \" -drive file=%s,format=raw\",\n\n tmpfs, bootpath);\n\n from = qtest_start(cmd);\n\n g_free(cmd);\n\n\n\n cmd = g_strdup_printf(\"-machine accel=kvm:tcg -m 150M\"\n\n \" -name pcdest,debug-threads=on\"\n\n \" -serial file:%s/dest_serial\"\n\n \" -drive file=%s,format=raw\"\n\n \" -incoming %s\",\n\n tmpfs, bootpath, uri);\n\n to = qtest_init(cmd);\n\n g_free(cmd);\n\n\n\n global_qtest = from;\n\n rsp = qmp(\"{ 'execute': 'migrate-set-capabilities',\"\n\n \"'arguments': { \"\n\n \"'capabilities': [ {\"\n\n \"'capability': 'postcopy-ram',\"\n\n \"'state': true } ] } }\");\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n\n\n global_qtest = to;\n\n rsp = qmp(\"{ 'execute': 'migrate-set-capabilities',\"\n\n \"'arguments': { \"\n\n \"'capabilities': [ {\"\n\n \"'capability': 'postcopy-ram',\"\n\n \"'state': true } ] } }\");\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n\n\n /* We want to pick a speed slow enough that the test completes\n\n * quickly, but that it doesn't complete precopy even on a slow\n\n * machine, so also set the downtime.\n\n */\n\n global_qtest = from;\n\n rsp = qmp(\"{ 'execute': 'migrate_set_speed',\"\n\n \"'arguments': { 'value': 100000000 } }\");\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n\n\n /* 1ms downtime - it should never finish precopy */\n\n rsp = qmp(\"{ 'execute': 'migrate_set_downtime',\"\n\n \"'arguments': { 'value': 0.001 } }\");\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n\n\n\n\n /* Wait for the first serial output from the source */\n\n wait_for_serial(\"src_serial\");\n\n\n\n cmd = g_strdup_printf(\"{ 'execute': 'migrate',\"\n\n \"'arguments': { 'uri': '%s' } }\",\n\n uri);\n\n rsp = qmp(cmd);\n\n g_free(cmd);\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n\n\n wait_for_migration_pass();\n\n\n\n rsp = return_or_event(qmp(\"{ 'execute': 'migrate-start-postcopy' }\"));\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n\n\n if (!got_stop) {\n\n qmp_eventwait(\"STOP\");\n\n }\n\n\n\n global_qtest = to;\n\n qmp_eventwait(\"RESUME\");\n\n\n\n wait_for_serial(\"dest_serial\");\n\n global_qtest = from;\n\n wait_for_migration_complete();\n\n\n\n qtest_quit(from);\n\n\n\n global_qtest = to;\n\n\n\n qtest_memread(to, start_address, &dest_byte_a, 1);\n\n\n\n /* Destination still running, wait for a byte to change */\n\n do {\n\n qtest_memread(to, start_address, &dest_byte_b, 1);\n\n usleep(10 * 1000);\n\n } while (dest_byte_a == dest_byte_b);\n\n\n\n qmp(\"{ 'execute' : 'stop'}\");\n\n /* With it stopped, check nothing changes */\n\n qtest_memread(to, start_address, &dest_byte_c, 1);\n\n sleep(1);\n\n qtest_memread(to, start_address, &dest_byte_d, 1);\n\n g_assert_cmpint(dest_byte_c, ==, dest_byte_d);\n\n\n\n check_guests_ram();\n\n\n\n qtest_quit(to);\n\n g_free(uri);\n\n\n\n global_qtest = global;\n\n\n\n cleanup(\"bootsect\");\n\n cleanup(\"migsocket\");\n\n cleanup(\"src_serial\");\n\n cleanup(\"dest_serial\");\n\n}\n", "idx": 1760}162{"project": "qemu", "commit_id": "eb700029c7836798046191d62d595363d92c84d4", "target": 0, "func": "static uint8_t net_tx_pkt_get_gso_type(struct NetTxPkt *pkt,\n\n bool tso_enable)\n\n{\n\n uint8_t rc = VIRTIO_NET_HDR_GSO_NONE;\n\n uint16_t l3_proto;\n\n\n\n l3_proto = eth_get_l3_proto(pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_base,\n\n pkt->vec[NET_TX_PKT_L2HDR_FRAG].iov_len);\n\n\n\n if (!tso_enable) {\n\n goto func_exit;\n\n }\n\n\n\n rc = eth_get_gso_type(l3_proto, pkt->vec[NET_TX_PKT_L3HDR_FRAG].iov_base,\n\n pkt->l4proto);\n\n\n\nfunc_exit:\n\n return rc;\n\n}\n", "idx": 1770}163{"project": "qemu", "commit_id": "5e30a07d6d70d3073ff61e6db79d61c2b688502f", "target": 1, "func": "static int scsi_req_length(SCSIRequest *req, uint8_t *cmd)\n\n{\n\n switch (cmd[0] >> 5) {\n\n case 0:\n\n req->cmd.xfer = cmd[4];\n\n req->cmd.len = 6;\n\n /* length 0 means 256 blocks */\n\n if (req->cmd.xfer == 0)\n\n req->cmd.xfer = 256;\n\n break;\n\n case 1:\n\n case 2:\n\n req->cmd.xfer = cmd[8] | (cmd[7] << 8);\n\n req->cmd.len = 10;\n\n break;\n\n case 4:\n\n req->cmd.xfer = cmd[13] | (cmd[12] << 8) | (cmd[11] << 16) | (cmd[10] << 24);\n\n req->cmd.len = 16;\n\n break;\n\n case 5:\n\n req->cmd.xfer = cmd[9] | (cmd[8] << 8) | (cmd[7] << 16) | (cmd[6] << 24);\n\n req->cmd.len = 12;\n\n break;\n\n default:\n\n trace_scsi_req_parse_bad(req->dev->id, req->lun, req->tag, cmd[0]);\n\n return -1;\n\n }\n\n\n\n switch(cmd[0]) {\n\n case TEST_UNIT_READY:\n\n case START_STOP:\n\n case SEEK_6:\n\n case WRITE_FILEMARKS:\n\n case SPACE:\n\n case RESERVE:\n\n case RELEASE:\n\n case ERASE:\n\n case ALLOW_MEDIUM_REMOVAL:\n\n case VERIFY:\n\n case SEEK_10:\n\n case SYNCHRONIZE_CACHE:\n\n case LOCK_UNLOCK_CACHE:\n\n case LOAD_UNLOAD:\n\n case SET_CD_SPEED:\n\n case SET_LIMITS:\n\n case WRITE_LONG:\n\n case MOVE_MEDIUM:\n\n case UPDATE_BLOCK:\n\n req->cmd.xfer = 0;\n\n break;\n\n case MODE_SENSE:\n\n break;\n\n case WRITE_SAME:\n\n req->cmd.xfer = 1;\n\n break;\n\n case READ_CAPACITY:\n\n req->cmd.xfer = 8;\n\n break;\n\n case READ_BLOCK_LIMITS:\n\n req->cmd.xfer = 6;\n\n break;\n\n case READ_POSITION:\n\n req->cmd.xfer = 20;\n\n break;\n\n case SEND_VOLUME_TAG:\n\n req->cmd.xfer *= 40;\n\n break;\n\n case MEDIUM_SCAN:\n\n req->cmd.xfer *= 8;\n\n break;\n\n case WRITE_10:\n\n case WRITE_VERIFY:\n\n case WRITE_6:\n\n case WRITE_12:\n\n case WRITE_VERIFY_12:\n\n case WRITE_16:\n\n case WRITE_VERIFY_16:\n\n req->cmd.xfer *= req->dev->blocksize;\n\n break;\n\n case READ_10:\n\n case READ_6:\n\n case READ_REVERSE:\n\n case RECOVER_BUFFERED_DATA:\n\n case READ_12:\n\n case READ_16:\n\n req->cmd.xfer *= req->dev->blocksize;\n\n break;\n\n case INQUIRY:\n\n req->cmd.xfer = cmd[4] | (cmd[3] << 8);\n\n break;\n\n case MAINTENANCE_OUT:\n\n case MAINTENANCE_IN:\n\n if (req->dev->type == TYPE_ROM) {\n\n /* GPCMD_REPORT_KEY and GPCMD_SEND_KEY from multi media commands */\n\n req->cmd.xfer = cmd[9] | (cmd[8] << 8);\n\n }\n\n break;\n\n }\n\n return 0;\n\n}\n", "idx": 1783}164{"project": "FFmpeg", "commit_id": "220b24c7c97dc033ceab1510549f66d0e7b52ef1", "target": 1, "func": "int ff_schro_queue_push_back(FFSchroQueue *queue, void *p_data)\n\n{\n\n FFSchroQueueElement *p_new = av_mallocz(sizeof(FFSchroQueueElement));\n\n\n\n if (!p_new)\n\n return -1;\n\n\n\n p_new->data = p_data;\n\n\n\n if (!queue->p_head)\n\n queue->p_head = p_new;\n\n else\n\n queue->p_tail->next = p_new;\n\n queue->p_tail = p_new;\n\n\n\n ++queue->size;\n\n return 0;\n\n}\n", "idx": 1791}165{"project": "qemu", "commit_id": "6977afda16c1e09dfbce4bdd877459a287269b72", "target": 1, "func": "int kvmppc_reset_htab(int shift_hint)\n\n{\n\n uint32_t shift = shift_hint;\n\n\n\n if (!kvm_enabled()) {\n\n /* Full emulation, tell caller to allocate htab itself */\n\n return 0;\n\n }\n\n if (kvm_check_extension(kvm_state, KVM_CAP_PPC_ALLOC_HTAB)) {\n\n int ret;\n\n ret = kvm_vm_ioctl(kvm_state, KVM_PPC_ALLOCATE_HTAB, &shift);\n\n if (ret == -ENOTTY) {\n\n /* At least some versions of PR KVM advertise the\n\n * capability, but don't implement the ioctl(). Oops.\n\n * Return 0 so that we allocate the htab in qemu, as is\n\n * correct for PR. */\n\n return 0;\n\n } else if (ret < 0) {\n\n return ret;\n\n }\n\n return shift;\n\n }\n\n\n\n /* We have a kernel that predates the htab reset calls. For PR\n\n * KVM, we need to allocate the htab ourselves, for an HV KVM of\n\n * this era, it has allocated a 16MB fixed size hash table already. */\n\n if (kvmppc_is_pr(kvm_state)) {\n\n /* PR - tell caller to allocate htab */\n\n return 0;\n\n } else {\n\n /* HV - assume 16MB kernel allocated htab */\n\n return 24;\n\n }\n\n}\n", "idx": 1802}166{"project": "FFmpeg", "commit_id": "dc64f203a62083c3d5f81e8201018279c29581af", "target": 1, "func": "static int ptx_decode_frame(AVCodecContext *avctx, void *data, int *data_size,\n\n AVPacket *avpkt) {\n\n const uint8_t *buf = avpkt->data;\n\n\n PTXContext * const s = avctx->priv_data;\n\n AVFrame *picture = data;\n\n AVFrame * const p = &s->picture;\n\n unsigned int offset, w, h, y, stride, bytes_per_pixel;\n\n uint8_t *ptr;\n\n\n\n\n\n offset = AV_RL16(buf);\n\n w = AV_RL16(buf+8);\n\n h = AV_RL16(buf+10);\n\n bytes_per_pixel = AV_RL16(buf+12) >> 3;\n\n\n\n if (bytes_per_pixel != 2) {\n\n av_log_ask_for_sample(avctx, \"Image format is not RGB15.\\n\");\n\n return -1;\n\n }\n\n\n\n avctx->pix_fmt = PIX_FMT_RGB555;\n\n\n\n if (buf_end - buf < offset)\n\n\n if (offset != 0x2c)\n\n av_log_ask_for_sample(avctx, \"offset != 0x2c\\n\");\n\n\n\n buf += offset;\n\n\n\n if (p->data[0])\n\n avctx->release_buffer(avctx, p);\n\n\n\n if (av_image_check_size(w, h, 0, avctx))\n\n return -1;\n\n if (w != avctx->width || h != avctx->height)\n\n avcodec_set_dimensions(avctx, w, h);\n\n if (avctx->get_buffer(avctx, p) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return -1;\n\n }\n\n\n\n p->pict_type = AV_PICTURE_TYPE_I;\n\n\n\n ptr = p->data[0];\n\n stride = p->linesize[0];\n\n\n\n for (y=0; y<h; y++) {\n\n if (buf_end - buf < w * bytes_per_pixel)\n\n break;\n\n#if HAVE_BIGENDIAN\n\n unsigned int x;\n\n for (x=0; x<w*bytes_per_pixel; x+=bytes_per_pixel)\n\n AV_WN16(ptr+x, AV_RL16(buf+x));\n\n#else\n\n memcpy(ptr, buf, w*bytes_per_pixel);\n\n#endif\n\n ptr += stride;\n\n buf += w*bytes_per_pixel;\n\n }\n\n\n\n *picture = s->picture;\n\n *data_size = sizeof(AVPicture);\n\n\n\n return offset + w*h*bytes_per_pixel;\n\n}", "idx": 1804}167{"project": "qemu", "commit_id": "97f1c45c6f456572e5b504b8614e4a69e23b8e3a", "target": 1, "func": "static void vpc_close(BlockDriverState *bs)\n\n{\n\n BDRVVPCState *s = bs->opaque;\n\n g_free(s->pagetable);\n\n#ifdef CACHE\n\n g_free(s->pageentry_u8);\n\n#endif\n\n\n\n migrate_del_blocker(s->migration_blocker);\n\n error_free(s->migration_blocker);\n\n}\n", "idx": 1817}168{"project": "qemu", "commit_id": "c88305027d5a8dbeaacf04ad2ceba79a5c5fb91e", "target": 1, "func": "POWERPC_FAMILY(POWER9)(ObjectClass *oc, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(oc);\n\n PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);\n\n CPUClass *cc = CPU_CLASS(oc);\n\n\n\n dc->fw_name = \"PowerPC,POWER9\";\n\n dc->desc = \"POWER9\";\n\n dc->props = powerpc_servercpu_properties;\n\n pcc->pvr_match = ppc_pvr_match_power9;\n\n pcc->pcr_mask = PCR_COMPAT_2_05 | PCR_COMPAT_2_06 | PCR_COMPAT_2_07;\n\n pcc->pcr_supported = PCR_COMPAT_3_00 | PCR_COMPAT_2_07 | PCR_COMPAT_2_06 |\n\n PCR_COMPAT_2_05;\n\n pcc->init_proc = init_proc_POWER9;\n\n pcc->check_pow = check_pow_nocheck;\n\n cc->has_work = cpu_has_work_POWER9;\n\n pcc->insns_flags = PPC_INSNS_BASE | PPC_ISEL | PPC_STRING | PPC_MFTB |\n\n PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES |\n\n PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE |\n\n PPC_FLOAT_FRSQRTES |\n\n PPC_FLOAT_STFIWX |\n\n PPC_FLOAT_EXT |\n\n PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ |\n\n PPC_MEM_SYNC | PPC_MEM_EIEIO |\n\n PPC_MEM_TLBIE | PPC_MEM_TLBSYNC |\n\n PPC_64B | PPC_64BX | PPC_ALTIVEC |\n\n PPC_SEGMENT_64B | PPC_SLBI |\n\n PPC_POPCNTB | PPC_POPCNTWD |\n\n PPC_CILDST;\n\n pcc->insns_flags2 = PPC2_VSX | PPC2_VSX207 | PPC2_DFP | PPC2_DBRX |\n\n PPC2_PERM_ISA206 | PPC2_DIVE_ISA206 |\n\n PPC2_ATOMIC_ISA206 | PPC2_FP_CVT_ISA206 |\n\n PPC2_FP_TST_ISA206 | PPC2_BCTAR_ISA207 |\n\n PPC2_LSQ_ISA207 | PPC2_ALTIVEC_207 |\n\n PPC2_ISA205 | PPC2_ISA207S | PPC2_FP_CVT_S64 |\n\n PPC2_TM | PPC2_PM_ISA206 | PPC2_ISA300;\n\n pcc->msr_mask = (1ull << MSR_SF) |\n\n (1ull << MSR_TM) |\n\n (1ull << MSR_VR) |\n\n (1ull << MSR_VSX) |\n\n (1ull << MSR_EE) |\n\n (1ull << MSR_PR) |\n\n (1ull << MSR_FP) |\n\n (1ull << MSR_ME) |\n\n (1ull << MSR_FE0) |\n\n (1ull << MSR_SE) |\n\n (1ull << MSR_DE) |\n\n (1ull << MSR_FE1) |\n\n (1ull << MSR_IR) |\n\n (1ull << MSR_DR) |\n\n (1ull << MSR_PMM) |\n\n (1ull << MSR_RI) |\n\n (1ull << MSR_LE);\n\n pcc->mmu_model = POWERPC_MMU_3_00;\n\n#if defined(CONFIG_SOFTMMU)\n\n pcc->handle_mmu_fault = ppc64_v3_handle_mmu_fault;\n\n /* segment page size remain the same */\n\n pcc->sps = &POWER7_POWER8_sps;\n\n pcc->radix_page_info = &POWER9_radix_page_info;\n\n#endif\n\n pcc->excp_model = POWERPC_EXCP_POWER8;\n\n pcc->bus_model = PPC_FLAGS_INPUT_POWER7;\n\n pcc->bfd_mach = bfd_mach_ppc64;\n\n pcc->flags = POWERPC_FLAG_VRE | POWERPC_FLAG_SE |\n\n POWERPC_FLAG_BE | POWERPC_FLAG_PMM |\n\n POWERPC_FLAG_BUS_CLK | POWERPC_FLAG_CFAR |\n\n POWERPC_FLAG_VSX | POWERPC_FLAG_TM;\n\n pcc->l1_dcache_size = 0x8000;\n\n pcc->l1_icache_size = 0x8000;\n\n pcc->interrupts_big_endian = ppc_cpu_interrupts_big_endian_lpcr;\n\n}\n", "idx": 1822}169{"project": "FFmpeg", "commit_id": "f028d4d1c393a13c66e828d45ba8412c0b4df6da", "target": 1, "func": "static int mxf_read_header(AVFormatContext *s, AVFormatParameters *ap)\n\n{\n\n MXFContext *mxf = s->priv_data;\n\n KLVPacket klv;\n\n int64_t essence_offset = 0;\n\n\n\n mxf->last_forward_tell = INT64_MAX;\n\n\n\n if (!mxf_read_sync(s->pb, mxf_header_partition_pack_key, 14)) {\n\n av_log(s, AV_LOG_ERROR, \"could not find header partition pack key\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n avio_seek(s->pb, -14, SEEK_CUR);\n\n mxf->fc = s;\n\n mxf->run_in = avio_tell(s->pb);\n\n\n\n while (!s->pb->eof_reached) {\n\n const MXFMetadataReadTableEntry *metadata;\n\n\n\n if (klv_read_packet(&klv, s->pb) < 0) {\n\n /* EOF - seek to previous partition or stop */\n\n if(mxf_parse_handle_partition_or_eof(mxf) <= 0)\n\n break;\n\n else\n\n continue;\n\n }\n\n\n\n PRINT_KEY(s, \"read header\", klv.key);\n\n av_dlog(s, \"size %\"PRIu64\" offset %#\"PRIx64\"\\n\", klv.length, klv.offset);\n\n if (IS_KLV_KEY(klv.key, mxf_encrypted_triplet_key) ||\n\n IS_KLV_KEY(klv.key, mxf_essence_element_key) ||\n\n IS_KLV_KEY(klv.key, mxf_avid_essence_element_key) ||\n\n IS_KLV_KEY(klv.key, mxf_system_item_key)) {\n\n if (!mxf->current_partition->essence_offset) {\n\n compute_partition_essence_offset(s, mxf, &klv);\n\n }\n\n\n\n if (!essence_offset)\n\n essence_offset = klv.offset;\n\n\n\n /* seek to footer, previous partition or stop */\n\n if (mxf_parse_handle_essence(mxf) <= 0)\n\n break;\n\n continue;\n\n } else if (!memcmp(klv.key, mxf_header_partition_pack_key, 13) &&\n\n klv.key[13] >= 2 && klv.key[13] <= 4 && mxf->current_partition) {\n\n /* next partition pack - keep going, seek to previous partition or stop */\n\n if(mxf_parse_handle_partition_or_eof(mxf) <= 0)\n\n break;\n\n }\n\n\n\n for (metadata = mxf_metadata_read_table; metadata->read; metadata++) {\n\n if (IS_KLV_KEY(klv.key, metadata->key)) {\n\n int res;\n\n if (klv.key[5] == 0x53) {\n\n res = mxf_read_local_tags(mxf, &klv, metadata->read, metadata->ctx_size, metadata->type);\n\n } else {\n\n uint64_t next = avio_tell(s->pb) + klv.length;\n\n res = metadata->read(mxf, s->pb, 0, klv.length, klv.key, klv.offset);\n\n avio_seek(s->pb, next, SEEK_SET);\n\n }\n\n if (res < 0) {\n\n av_log(s, AV_LOG_ERROR, \"error reading header metadata\\n\");\n\n return res;\n\n }\n\n break;\n\n }\n\n }\n\n if (!metadata->read)\n\n avio_skip(s->pb, klv.length);\n\n }\n\n /* FIXME avoid seek */\n\n if (!essence_offset) {\n\n av_log(s, AV_LOG_ERROR, \"no essence\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n avio_seek(s->pb, essence_offset, SEEK_SET);\n\n\n\n mxf_compute_essence_containers(mxf);\n\n\n\n return mxf_parse_structural_metadata(mxf);\n\n}\n", "idx": 1878}170{"project": "FFmpeg", "commit_id": "1577526b47439f33a999339efdec5d624b70e1da", "target": 1, "func": "static opj_image_t *mj2_create_image(AVCodecContext *avctx, opj_cparameters_t *parameters)\n{\n const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt);\n opj_image_cmptparm_t cmptparm[4] = {{0}};\n opj_image_t *img;\n int i;\n int sub_dx[4];\n int sub_dy[4];\n int numcomps;\n OPJ_COLOR_SPACE color_space = CLRSPC_UNKNOWN;\n sub_dx[0] = sub_dx[3] = 1;\n sub_dy[0] = sub_dy[3] = 1;\n sub_dx[1] = sub_dx[2] = 1 << desc->log2_chroma_w;\n sub_dy[1] = sub_dy[2] = 1 << desc->log2_chroma_h;\n numcomps = desc->nb_components;\n switch (avctx->pix_fmt) {\n case AV_PIX_FMT_GRAY8:\n case AV_PIX_FMT_YA8:\n case AV_PIX_FMT_GRAY16:\n case AV_PIX_FMT_YA16:\n color_space = CLRSPC_GRAY;\n break;\n case AV_PIX_FMT_RGB24:\n case AV_PIX_FMT_RGBA:\n case AV_PIX_FMT_RGB48:\n case AV_PIX_FMT_RGBA64:\n case AV_PIX_FMT_GBR24P:\n case AV_PIX_FMT_GBRP9:\n case AV_PIX_FMT_GBRP10:\n case AV_PIX_FMT_GBRP12:\n case AV_PIX_FMT_GBRP14:\n case AV_PIX_FMT_GBRP16:\n case AV_PIX_FMT_XYZ12:\n color_space = CLRSPC_SRGB;\n break;\n case AV_PIX_FMT_YUV410P:\n case AV_PIX_FMT_YUV411P:\n case AV_PIX_FMT_YUV420P:\n case AV_PIX_FMT_YUV422P:\n case AV_PIX_FMT_YUV440P:\n case AV_PIX_FMT_YUV444P:\n case AV_PIX_FMT_YUVA420P:\n case AV_PIX_FMT_YUVA422P:\n case AV_PIX_FMT_YUVA444P:\n case AV_PIX_FMT_YUV420P9:\n case AV_PIX_FMT_YUV422P9:\n case AV_PIX_FMT_YUV444P9:\n case AV_PIX_FMT_YUVA420P9:\n case AV_PIX_FMT_YUVA422P9:\n case AV_PIX_FMT_YUVA444P9:\n case AV_PIX_FMT_YUV420P10:\n case AV_PIX_FMT_YUV422P10:\n case AV_PIX_FMT_YUV444P10:\n case AV_PIX_FMT_YUVA420P10:\n case AV_PIX_FMT_YUVA422P10:\n case AV_PIX_FMT_YUVA444P10:\n case AV_PIX_FMT_YUV420P12:\n case AV_PIX_FMT_YUV422P12:\n case AV_PIX_FMT_YUV444P12:\n case AV_PIX_FMT_YUV420P14:\n case AV_PIX_FMT_YUV422P14:\n case AV_PIX_FMT_YUV444P14:\n case AV_PIX_FMT_YUV420P16:\n case AV_PIX_FMT_YUV422P16:\n case AV_PIX_FMT_YUV444P16:\n case AV_PIX_FMT_YUVA420P16:\n case AV_PIX_FMT_YUVA422P16:\n case AV_PIX_FMT_YUVA444P16:\n color_space = CLRSPC_SYCC;\n break;\n default:\n av_log(avctx, AV_LOG_ERROR,\n \"The requested pixel format '%s' is not supported\\n\",\n av_get_pix_fmt_name(avctx->pix_fmt));\n }\n for (i = 0; i < numcomps; i++) {\n cmptparm[i].prec = desc->comp[i].depth_minus1 + 1;\n cmptparm[i].bpp = desc->comp[i].depth_minus1 + 1;\n cmptparm[i].sgnd = 0;\n cmptparm[i].dx = sub_dx[i];\n cmptparm[i].dy = sub_dy[i];\n cmptparm[i].w = (avctx->width + sub_dx[i] - 1) / sub_dx[i];\n cmptparm[i].h = (avctx->height + sub_dy[i] - 1) / sub_dy[i];\n }\n img = opj_image_create(numcomps, cmptparm, color_space);\n // x0, y0 is the top left corner of the image\n // x1, y1 is the width, height of the reference grid\n img->x0 = 0;\n img->y0 = 0;\n img->x1 = (avctx->width - 1) * parameters->subsampling_dx + 1;\n img->y1 = (avctx->height - 1) * parameters->subsampling_dy + 1;\n return img;\n}", "idx": 1883}171{"project": "qemu", "commit_id": "de00982e9e14e2d6ba3d148f02c5a1e94deaa985", "target": 0, "func": "static int xen_platform_initfn(PCIDevice *dev)\n\n{\n\n PCIXenPlatformState *d = DO_UPCAST(PCIXenPlatformState, pci_dev, dev);\n\n uint8_t *pci_conf;\n\n\n\n pci_conf = d->pci_dev.config;\n\n\n\n pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_IO | PCI_COMMAND_MEMORY);\n\n\n\n pci_config_set_prog_interface(pci_conf, 0);\n\n\n\n pci_conf[PCI_INTERRUPT_PIN] = 1;\n\n\n\n pci_register_bar(&d->pci_dev, 0, 0x100,\n\n PCI_BASE_ADDRESS_SPACE_IO, platform_ioport_map);\n\n\n\n /* reserve 16MB mmio address for share memory*/\n\n pci_register_bar(&d->pci_dev, 1, 0x1000000,\n\n PCI_BASE_ADDRESS_MEM_PREFETCH, platform_mmio_map);\n\n\n\n platform_fixed_ioport_init(d);\n\n\n\n return 0;\n\n}\n", "idx": 1894}172{"project": "qemu", "commit_id": "494a8ebe713055d3946183f4b395f85a18b43e9e", "target": 0, "func": "static int proxy_symlink(FsContext *fs_ctx, const char *oldpath,\n\n V9fsPath *dir_path, const char *name, FsCred *credp)\n\n{\n\n int retval;\n\n V9fsString fullname, target;\n\n\n\n v9fs_string_init(&fullname);\n\n v9fs_string_init(&target);\n\n\n\n v9fs_string_sprintf(&fullname, \"%s/%s\", dir_path->data, name);\n\n v9fs_string_sprintf(&target, \"%s\", oldpath);\n\n\n\n retval = v9fs_request(fs_ctx->private, T_SYMLINK, NULL, \"ssdd\",\n\n &target, &fullname, credp->fc_uid, credp->fc_gid);\n\n v9fs_string_free(&fullname);\n\n v9fs_string_free(&target);\n\n if (retval < 0) {\n\n errno = -retval;\n\n retval = -1;\n\n }\n\n return retval;\n\n}\n", "idx": 1896}173{"project": "qemu", "commit_id": "ea486926b07d2ebd73ef67315ebb1eecf39faf5a", "target": 0, "func": "static int vfio_enable_intx(VFIODevice *vdev)\n\n{\n\n VFIOIRQSetFD irq_set_fd = {\n\n .irq_set = {\n\n .argsz = sizeof(irq_set_fd),\n\n .flags = VFIO_IRQ_SET_DATA_EVENTFD | VFIO_IRQ_SET_ACTION_TRIGGER,\n\n .index = VFIO_PCI_INTX_IRQ_INDEX,\n\n .start = 0,\n\n .count = 1,\n\n },\n\n };\n\n uint8_t pin = vfio_pci_read_config(&vdev->pdev, PCI_INTERRUPT_PIN, 1);\n\n int ret;\n\n\n\n if (vdev->intx.disabled || !pin) {\n\n return 0;\n\n }\n\n\n\n vfio_disable_interrupts(vdev);\n\n\n\n vdev->intx.pin = pin - 1; /* Pin A (1) -> irq[0] */\n\n ret = event_notifier_init(&vdev->intx.interrupt, 0);\n\n if (ret) {\n\n error_report(\"vfio: Error: event_notifier_init failed\\n\");\n\n return ret;\n\n }\n\n\n\n irq_set_fd.fd = event_notifier_get_fd(&vdev->intx.interrupt);\n\n qemu_set_fd_handler(irq_set_fd.fd, vfio_intx_interrupt, NULL, vdev);\n\n\n\n if (ioctl(vdev->fd, VFIO_DEVICE_SET_IRQS, &irq_set_fd)) {\n\n error_report(\"vfio: Error: Failed to setup INTx fd: %m\\n\");\n\n return -errno;\n\n }\n\n\n\n /*\n\n * Disable mmaps so we can trap on BAR accesses. We interpret any\n\n * access as a response to an interrupt and unmask the physical\n\n * device. The device will re-assert if the interrupt is still\n\n * pending. We'll likely retrigger on the host multiple times per\n\n * guest interrupt, but without EOI notification it's better than\n\n * nothing. Acceleration paths through KVM will avoid this.\n\n */\n\n vfio_mmap_set_enabled(vdev, false);\n\n\n\n vdev->interrupt = VFIO_INT_INTx;\n\n\n\n DPRINTF(\"%s(%04x:%02x:%02x.%x)\\n\", __func__, vdev->host.domain,\n\n vdev->host.bus, vdev->host.slot, vdev->host.function);\n\n\n\n return 0;\n\n}\n", "idx": 1900}174{"project": "qemu", "commit_id": "fc89efe693278c79273f3bbf6b581e8a749c85b0", "target": 0, "func": "void HELPER(mvc)(CPUS390XState *env, uint32_t l, uint64_t dest, uint64_t src)\n\n{\n\n int i = 0;\n\n int x = 0;\n\n uint32_t l_64 = (l + 1) / 8;\n\n\n\n HELPER_LOG(\"%s l %d dest %\" PRIx64 \" src %\" PRIx64 \"\\n\",\n\n __func__, l, dest, src);\n\n\n\n#ifndef CONFIG_USER_ONLY\n\n if ((l > 32) &&\n\n (src & TARGET_PAGE_MASK) == ((src + l) & TARGET_PAGE_MASK) &&\n\n (dest & TARGET_PAGE_MASK) == ((dest + l) & TARGET_PAGE_MASK)) {\n\n if (dest == (src + 1)) {\n\n mvc_fast_memset(env, l + 1, dest, cpu_ldub_data(env, src));\n\n return;\n\n } else if ((src & TARGET_PAGE_MASK) != (dest & TARGET_PAGE_MASK)) {\n\n mvc_fast_memmove(env, l + 1, dest, src);\n\n return;\n\n }\n\n }\n\n#else\n\n if (dest == (src + 1)) {\n\n memset(g2h(dest), cpu_ldub_data(env, src), l + 1);\n\n return;\n\n /* mvc and memmove do not behave the same when areas overlap! */\n\n } else if ((dest < src) || (src + l < dest)) {\n\n memmove(g2h(dest), g2h(src), l + 1);\n\n return;\n\n }\n\n#endif\n\n\n\n /* handle the parts that fit into 8-byte loads/stores */\n\n if ((dest + 8 <= src) || (src + 8 <= dest)) {\n\n for (i = 0; i < l_64; i++) {\n\n cpu_stq_data(env, dest + x, cpu_ldq_data(env, src + x));\n\n x += 8;\n\n }\n\n }\n\n\n\n /* slow version with byte accesses which always work */\n\n for (i = x; i <= l; i++) {\n\n cpu_stb_data(env, dest + i, cpu_ldub_data(env, src + i));\n\n }\n\n}\n", "idx": 1902}175{"project": "qemu", "commit_id": "ba0e276db4b51bd2255a5d5ff8902c70d32ade40", "target": 0, "func": "void helper_store_fpcr (uint64_t val)\n\n{\n\n#ifdef CONFIG_SOFTFLOAT\n\n set_float_exception_flags((val >> 52) & 0x3F, &FP_STATUS);\n\n#endif\n\n switch ((val >> 58) & 3) {\n\n case 0:\n\n set_float_rounding_mode(float_round_to_zero, &FP_STATUS);\n\n break;\n\n case 1:\n\n set_float_rounding_mode(float_round_down, &FP_STATUS);\n\n break;\n\n case 2:\n\n set_float_rounding_mode(float_round_nearest_even, &FP_STATUS);\n\n break;\n\n case 3:\n\n set_float_rounding_mode(float_round_up, &FP_STATUS);\n\n break;\n\n }\n\n}\n", "idx": 1905}176{"project": "qemu", "commit_id": "ee9a569ab88edd0755402aaf31ec0c69decf7756", "target": 0, "func": "void spapr_tce_set_bypass(sPAPRTCETable *tcet, bool bypass)\n\n{\n\n tcet->bypass = bypass;\n\n}\n", "idx": 1909}177{"project": "qemu", "commit_id": "9abc62f6445795522d1bf5bf17f642e44eaf032d", "target": 0, "func": "void qemu_system_wakeup_request(WakeupReason reason)\n\n{\n\n if (!is_suspended) {\n\n return;\n\n }\n\n if (!(wakeup_reason_mask & (1 << reason))) {\n\n return;\n\n }\n\n runstate_set(RUN_STATE_RUNNING);\n\n monitor_protocol_event(QEVENT_WAKEUP, NULL);\n\n notifier_list_notify(&wakeup_notifiers, &reason);\n\n reset_requested = 1;\n\n qemu_notify_event();\n\n is_suspended = false;\n\n}\n", "idx": 1917}178{"project": "FFmpeg", "commit_id": "ec4c48397641dbaf4ae8df36c32aaa5a311a11bf", "target": 1, "func": "static int rtsp_listen(AVFormatContext *s)\n\n{\n\n RTSPState *rt = s->priv_data;\n\n char proto[128], host[128], path[512], auth[128];\n\n char uri[500];\n\n int port;\n\n int default_port = RTSP_DEFAULT_PORT;\n\n char tcpname[500];\n\n const char *lower_proto = \"tcp\";\n\n unsigned char rbuf[4096];\n\n unsigned char method[10];\n\n int rbuflen = 0;\n\n int ret;\n\n enum RTSPMethod methodcode;\n\n\n\n if (!rt->protocols) {\n\n rt->protocols = ffurl_get_protocols(NULL, NULL);\n\n if (!rt->protocols)\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n /* extract hostname and port */\n\n av_url_split(proto, sizeof(proto), auth, sizeof(auth), host, sizeof(host),\n\n &port, path, sizeof(path), s->filename);\n\n\n\n /* ff_url_join. No authorization by now (NULL) */\n\n ff_url_join(rt->control_uri, sizeof(rt->control_uri), proto, NULL, host,\n\n port, \"%s\", path);\n\n\n\n if (!strcmp(proto, \"rtsps\")) {\n\n lower_proto = \"tls\";\n\n default_port = RTSPS_DEFAULT_PORT;\n\n }\n\n\n\n if (port < 0)\n\n port = default_port;\n\n\n\n /* Create TCP connection */\n\n ff_url_join(tcpname, sizeof(tcpname), lower_proto, NULL, host, port,\n\n \"?listen&listen_timeout=%d\", rt->initial_timeout * 1000);\n\n\n\n if (ret = ffurl_open(&rt->rtsp_hd, tcpname, AVIO_FLAG_READ_WRITE,\n\n &s->interrupt_callback, NULL, rt->protocols)) {\n\n av_log(s, AV_LOG_ERROR, \"Unable to open RTSP for listening\\n\");\n\n return ret;\n\n }\n\n rt->state = RTSP_STATE_IDLE;\n\n rt->rtsp_hd_out = rt->rtsp_hd;\n\n for (;;) { /* Wait for incoming RTSP messages */\n\n ret = read_line(s, rbuf, sizeof(rbuf), &rbuflen);\n\n if (ret < 0)\n\n return ret;\n\n ret = parse_command_line(s, rbuf, rbuflen, uri, sizeof(uri), method,\n\n sizeof(method), &methodcode);\n\n if (ret) {\n\n av_log(s, AV_LOG_ERROR, \"RTSP: Unexpected Command\\n\");\n\n return ret;\n\n }\n\n\n\n if (methodcode == ANNOUNCE) {\n\n ret = rtsp_read_announce(s);\n\n rt->state = RTSP_STATE_PAUSED;\n\n } else if (methodcode == OPTIONS) {\n\n ret = rtsp_read_options(s);\n\n } else if (methodcode == RECORD) {\n\n ret = rtsp_read_record(s);\n\n if (!ret)\n\n return 0; // We are ready for streaming\n\n } else if (methodcode == SETUP)\n\n ret = rtsp_read_setup(s, host, uri);\n\n if (ret) {\n\n ffurl_close(rt->rtsp_hd);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 1937}179{"project": "FFmpeg", "commit_id": "365ef88d5df4756942324b633cc439154e468276", "target": 1, "func": "int ff_wma_run_level_decode(AVCodecContext *avctx, GetBitContext *gb,\n\n VLC *vlc, const float *level_table,\n\n const uint16_t *run_table, int version,\n\n WMACoef *ptr, int offset, int num_coefs,\n\n int block_len, int frame_len_bits,\n\n int coef_nb_bits)\n\n{\n\n int code, level, sign;\n\n const uint32_t *ilvl = (const uint32_t *) level_table;\n\n uint32_t *iptr = (uint32_t *) ptr;\n\n const unsigned int coef_mask = block_len - 1;\n\n for (; offset < num_coefs; offset++) {\n\n code = get_vlc2(gb, vlc->table, VLCBITS, VLCMAX);\n\n if (code > 1) {\n\n /** normal code */\n\n offset += run_table[code];\n\n sign = get_bits1(gb) - 1;\n\n iptr[offset & coef_mask] = ilvl[code] ^ sign << 31;\n\n } else if (code == 1) {\n\n /** EOB */\n\n break;\n\n } else {\n\n /** escape */\n\n if (!version) {\n\n level = get_bits(gb, coef_nb_bits);\n\n /** NOTE: this is rather suboptimal. reading\n\n * block_len_bits would be better */\n\n offset += get_bits(gb, frame_len_bits);\n\n } else {\n\n level = ff_wma_get_large_val(gb);\n\n /** escape decode */\n\n if (get_bits1(gb)) {\n\n if (get_bits1(gb)) {\n\n if (get_bits1(gb)) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"broken escape sequence\\n\");\n\n return -1;\n\n } else\n\n offset += get_bits(gb, frame_len_bits) + 4;\n\n } else\n\n offset += get_bits(gb, 2) + 1;\n\n }\n\n }\n\n sign = get_bits1(gb) - 1;\n\n ptr[offset & coef_mask] = (level ^ sign) - sign;\n\n }\n\n }\n\n /** NOTE: EOB can be omitted */\n\n if (offset > num_coefs) {\n\n av_log(avctx, AV_LOG_ERROR, \"overflow in spectral RLE, ignoring\\n\");\n\n return -1;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 1945}180{"project": "FFmpeg", "commit_id": "9241cd2095fe8395e02be5556d657d06f65ba91f", "target": 0, "func": "int avfilter_graph_parse(AVFilterGraph *graph, const char *filters,\n\n AVFilterInOut *open_inputs,\n\n AVFilterInOut *open_outputs, AVClass *log_ctx)\n\n{\n\n int index = 0, ret;\n\n char chr = 0;\n\n\n\n AVFilterInOut *curr_inputs = NULL;\n\n\n\n do {\n\n AVFilterContext *filter;\n\n filters += strspn(filters, WHITESPACES);\n\n\n\n if ((ret = parse_inputs(&filters, &curr_inputs, &open_outputs, log_ctx)) < 0)\n\n goto fail;\n\n\n\n if ((ret = parse_filter(&filter, &filters, graph, index, log_ctx)) < 0)\n\n goto fail;\n\n\n\n if (filter->input_count == 1 && !curr_inputs && !index) {\n\n /* First input can be omitted if it is \"[in]\" */\n\n const char *tmp = \"[in]\";\n\n if ((ret = parse_inputs(&tmp, &curr_inputs, &open_outputs, log_ctx)) < 0)\n\n goto fail;\n\n }\n\n\n\n if ((ret = link_filter_inouts(filter, &curr_inputs, &open_inputs, log_ctx)) < 0)\n\n goto fail;\n\n\n\n if ((ret = parse_outputs(&filters, &curr_inputs, &open_inputs, &open_outputs,\n\n log_ctx)) < 0)\n\n goto fail;\n\n\n\n filters += strspn(filters, WHITESPACES);\n\n chr = *filters++;\n\n\n\n if (chr == ';' && curr_inputs) {\n\n av_log(log_ctx, AV_LOG_ERROR,\n\n \"Could not find a output to link when parsing \\\"%s\\\"\\n\",\n\n filters - 1);\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n index++;\n\n } while (chr == ',' || chr == ';');\n\n\n\n if (chr) {\n\n av_log(log_ctx, AV_LOG_ERROR,\n\n \"Unable to parse graph description substring: \\\"%s\\\"\\n\",\n\n filters - 1);\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n\n\n if (open_inputs && !strcmp(open_inputs->name, \"out\") && curr_inputs) {\n\n /* Last output can be omitted if it is \"[out]\" */\n\n const char *tmp = \"[out]\";\n\n if ((ret = parse_outputs(&tmp, &curr_inputs, &open_inputs, &open_outputs,\n\n log_ctx)) < 0)\n\n goto fail;\n\n }\n\n\n\n return 0;\n\n\n\n fail:\n\n avfilter_graph_free(graph);\n\n free_inout(open_inputs);\n\n free_inout(open_outputs);\n\n free_inout(curr_inputs);\n\n return ret;\n\n}\n", "idx": 1946}181{"project": "qemu", "commit_id": "6b9b8758c15f3bc2875dbd6e2d03c5362b8d6902", "target": 0, "func": "static int virtio_net_device_exit(DeviceState *qdev)\n\n{\n\n VirtIONet *n = VIRTIO_NET(qdev);\n\n VirtIODevice *vdev = VIRTIO_DEVICE(qdev);\n\n int i;\n\n\n\n /* This will stop vhost backend if appropriate. */\n\n virtio_net_set_status(vdev, 0);\n\n\n\n unregister_savevm(qdev, \"virtio-net\", n);\n\n\n\n if (n->netclient_name) {\n\n g_free(n->netclient_name);\n\n n->netclient_name = NULL;\n\n }\n\n if (n->netclient_type) {\n\n g_free(n->netclient_type);\n\n n->netclient_type = NULL;\n\n }\n\n\n\n g_free(n->mac_table.macs);\n\n g_free(n->vlans);\n\n\n\n for (i = 0; i < n->max_queues; i++) {\n\n VirtIONetQueue *q = &n->vqs[i];\n\n NetClientState *nc = qemu_get_subqueue(n->nic, i);\n\n\n\n qemu_purge_queued_packets(nc);\n\n\n\n if (q->tx_timer) {\n\n timer_del(q->tx_timer);\n\n timer_free(q->tx_timer);\n\n } else {\n\n qemu_bh_delete(q->tx_bh);\n\n }\n\n }\n\n\n\n g_free(n->vqs);\n\n qemu_del_nic(n->nic);\n\n virtio_cleanup(vdev);\n\n\n\n return 0;\n\n}\n", "idx": 1981}182{"project": "qemu", "commit_id": "a7812ae412311d7d47f8aa85656faadac9d64b56", "target": 0, "func": "static inline void gen_neon_widen(TCGv dest, TCGv src, int size, int u)\n\n{\n\n if (u) {\n\n switch (size) {\n\n case 0: gen_helper_neon_widen_u8(dest, src); break;\n\n case 1: gen_helper_neon_widen_u16(dest, src); break;\n\n case 2: tcg_gen_extu_i32_i64(dest, src); break;\n\n default: abort();\n\n }\n\n } else {\n\n switch (size) {\n\n case 0: gen_helper_neon_widen_s8(dest, src); break;\n\n case 1: gen_helper_neon_widen_s16(dest, src); break;\n\n case 2: tcg_gen_ext_i32_i64(dest, src); break;\n\n default: abort();\n\n }\n\n }\n\n dead_tmp(src);\n\n}\n", "idx": 1983}183{"project": "qemu", "commit_id": "0e7106d8b5f7ef4f9df10baf1dfb3db482bcd046", "target": 0, "func": "static int sd_create_branch(BDRVSheepdogState *s)\n\n{\n\n int ret, fd;\n\n uint32_t vid;\n\n char *buf;\n\n\n\n dprintf(\"%\" PRIx32 \" is snapshot.\\n\", s->inode.vdi_id);\n\n\n\n buf = g_malloc(SD_INODE_SIZE);\n\n\n\n ret = do_sd_create(s->name, s->inode.vdi_size, s->inode.vdi_id, &vid, 1,\n\n s->addr, s->port);\n\n if (ret) {\n\n goto out;\n\n }\n\n\n\n dprintf(\"%\" PRIx32 \" is created.\\n\", vid);\n\n\n\n fd = connect_to_sdog(s->addr, s->port);\n\n if (fd < 0) {\n\n error_report(\"failed to connect\");\n\n ret = fd;\n\n goto out;\n\n }\n\n\n\n ret = read_object(fd, buf, vid_to_vdi_oid(vid), s->inode.nr_copies,\n\n SD_INODE_SIZE, 0, s->cache_enabled);\n\n\n\n closesocket(fd);\n\n\n\n if (ret < 0) {\n\n goto out;\n\n }\n\n\n\n memcpy(&s->inode, buf, sizeof(s->inode));\n\n\n\n s->is_snapshot = false;\n\n ret = 0;\n\n dprintf(\"%\" PRIx32 \" was newly created.\\n\", s->inode.vdi_id);\n\n\n\nout:\n\n g_free(buf);\n\n\n\n return ret;\n\n}\n", "idx": 1990}184{"project": "qemu", "commit_id": "449041d4db1f82f281fe097e832f07cd9ee1e864", "target": 1, "func": "static int parse_uint8(DeviceState *dev, Property *prop, const char *str)\n\n{\n\n uint8_t *ptr = qdev_get_prop_ptr(dev, prop);\n\n const char *fmt;\n\n\n\n /* accept both hex and decimal */\n\n fmt = strncasecmp(str, \"0x\",2) == 0 ? \"%\" PRIx8 : \"%\" PRIu8;\n\n if (sscanf(str, fmt, ptr) != 1)\n\n return -EINVAL;\n\n return 0;\n\n}\n", "idx": 1994}185{"project": "FFmpeg", "commit_id": "2f76157eb05bf63725f96167feda6b2e07501c7e", "target": 1, "func": "av_cold int swri_rematrix_init(SwrContext *s){\n\n int i, j;\n\n int nb_in = av_get_channel_layout_nb_channels(s->in_ch_layout);\n\n int nb_out = av_get_channel_layout_nb_channels(s->out_ch_layout);\n\n\n\n s->mix_any_f = NULL;\n\n\n\n if (!s->rematrix_custom) {\n\n int r = auto_matrix(s);\n\n if (r)\n\n return r;\n\n }\n\n if (s->midbuf.fmt == AV_SAMPLE_FMT_S16P){\n\n s->native_matrix = av_calloc(nb_in * nb_out, sizeof(int));\n\n s->native_one = av_mallocz(sizeof(int));\n\n if (!s->native_matrix || !s->native_one)\n\n return AVERROR(ENOMEM);\n\n for (i = 0; i < nb_out; i++) {\n\n double rem = 0;\n\n\n\n for (j = 0; j < nb_in; j++) {\n\n double target = s->matrix[i][j] * 32768 + rem;\n\n ((int*)s->native_matrix)[i * nb_in + j] = lrintf(target);\n\n rem += target - ((int*)s->native_matrix)[i * nb_in + j];\n\n }\n\n }\n\n *((int*)s->native_one) = 32768;\n\n s->mix_1_1_f = (mix_1_1_func_type*)copy_s16;\n\n s->mix_2_1_f = (mix_2_1_func_type*)sum2_s16;\n\n s->mix_any_f = (mix_any_func_type*)get_mix_any_func_s16(s);\n\n }else if(s->midbuf.fmt == AV_SAMPLE_FMT_FLTP){\n\n s->native_matrix = av_calloc(nb_in * nb_out, sizeof(float));\n\n s->native_one = av_mallocz(sizeof(float));\n\n if (!s->native_matrix || !s->native_one)\n\n return AVERROR(ENOMEM);\n\n for (i = 0; i < nb_out; i++)\n\n for (j = 0; j < nb_in; j++)\n\n ((float*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];\n\n *((float*)s->native_one) = 1.0;\n\n s->mix_1_1_f = (mix_1_1_func_type*)copy_float;\n\n s->mix_2_1_f = (mix_2_1_func_type*)sum2_float;\n\n s->mix_any_f = (mix_any_func_type*)get_mix_any_func_float(s);\n\n }else if(s->midbuf.fmt == AV_SAMPLE_FMT_DBLP){\n\n s->native_matrix = av_calloc(nb_in * nb_out, sizeof(double));\n\n s->native_one = av_mallocz(sizeof(double));\n\n if (!s->native_matrix || !s->native_one)\n\n return AVERROR(ENOMEM);\n\n for (i = 0; i < nb_out; i++)\n\n for (j = 0; j < nb_in; j++)\n\n ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];\n\n *((double*)s->native_one) = 1.0;\n\n s->mix_1_1_f = (mix_1_1_func_type*)copy_double;\n\n s->mix_2_1_f = (mix_2_1_func_type*)sum2_double;\n\n s->mix_any_f = (mix_any_func_type*)get_mix_any_func_double(s);\n\n }else if(s->midbuf.fmt == AV_SAMPLE_FMT_S32P){\n\n // Only for dithering currently\n\n// s->native_matrix = av_calloc(nb_in * nb_out, sizeof(double));\n\n s->native_one = av_mallocz(sizeof(int));\n\n if (!s->native_one)\n\n return AVERROR(ENOMEM);\n\n// for (i = 0; i < nb_out; i++)\n\n// for (j = 0; j < nb_in; j++)\n\n// ((double*)s->native_matrix)[i * nb_in + j] = s->matrix[i][j];\n\n *((int*)s->native_one) = 32768;\n\n s->mix_1_1_f = (mix_1_1_func_type*)copy_s32;\n\n s->mix_2_1_f = (mix_2_1_func_type*)sum2_s32;\n\n s->mix_any_f = (mix_any_func_type*)get_mix_any_func_s32(s);\n\n }else\n\n av_assert0(0);\n\n //FIXME quantize for integeres\n\n for (i = 0; i < SWR_CH_MAX; i++) {\n\n int ch_in=0;\n\n for (j = 0; j < SWR_CH_MAX; j++) {\n\n s->matrix32[i][j]= lrintf(s->matrix[i][j] * 32768);\n\n if(s->matrix[i][j])\n\n s->matrix_ch[i][++ch_in]= j;\n\n }\n\n s->matrix_ch[i][0]= ch_in;\n\n }\n\n\n\n if(HAVE_YASM && HAVE_MMX)\n\n return swri_rematrix_init_x86(s);\n\n\n\n return 0;\n\n}\n", "idx": 1998}186{"project": "qemu", "commit_id": "1a0e4c8b02ea510508970c333ee610a90b921cbb", "target": 1, "func": "void s390_machine_reset(void)\n\n{\n\n S390CPU *ipl_cpu = S390_CPU(qemu_get_cpu(0));\n\n\n\n qemu_devices_reset();\n\n s390_cmma_reset();\n\n s390_crypto_reset();\n\n\n\n /* all cpus are stopped - configure and start the ipl cpu only */\n\n s390_ipl_prepare_cpu(ipl_cpu);\n\n s390_cpu_set_state(CPU_STATE_OPERATING, ipl_cpu);\n\n}\n", "idx": 2009}187{"project": "FFmpeg", "commit_id": "73f863d751df84db7a0ca1bd83cdff1b95dc94dd", "target": 1, "func": "static int fic_decode_block(FICContext *ctx, GetBitContext *gb,\n\n uint8_t *dst, int stride, int16_t *block)\n\n{\n\n int i, num_coeff;\n\n\n\n /* Is it a skip block? */\n\n if (get_bits1(gb)) {\n\n /* This is a P-frame. */\n\n ctx->frame->key_frame = 0;\n\n ctx->frame->pict_type = AV_PICTURE_TYPE_P;\n\n\n\n return 0;\n\n }\n\n\n\n memset(block, 0, sizeof(*block) * 64);\n\n\n\n num_coeff = get_bits(gb, 7);\n\n if (num_coeff > 64)\n\n return AVERROR_INVALIDDATA;\n\n\n\n for (i = 0; i < num_coeff; i++)\n\n block[ff_zigzag_direct[i]] = get_se_golomb(gb) *\n\n ctx->qmat[ff_zigzag_direct[i]];\n\n\n\n fic_idct_put(dst, stride, block);\n\n\n\n return 0;\n\n}\n", "idx": 2010}188{"project": "FFmpeg", "commit_id": "604c9b1196c70d79bbbc1f23e75f6a8253a74da3", "target": 1, "func": "void ff_rtsp_undo_setup(AVFormatContext *s, int send_packets)\n\n{\n\n RTSPState *rt = s->priv_data;\n\n int i;\n\n\n\n for (i = 0; i < rt->nb_rtsp_streams; i++) {\n\n RTSPStream *rtsp_st = rt->rtsp_streams[i];\n\n if (!rtsp_st)\n\n continue;\n\n if (rtsp_st->transport_priv) {\n\n if (s->oformat) {\n\n AVFormatContext *rtpctx = rtsp_st->transport_priv;\n\n av_write_trailer(rtpctx);\n\n if (rt->lower_transport == RTSP_LOWER_TRANSPORT_TCP) {\n\n uint8_t *ptr;\n\n if (CONFIG_RTSP_MUXER && rtpctx->pb && send_packets)\n\n ff_rtsp_tcp_write_packet(s, rtsp_st);\n\n avio_close_dyn_buf(rtpctx->pb, &ptr);\n\n av_free(ptr);\n\n } else {\n\n avio_close(rtpctx->pb);\n\n }\n\n avformat_free_context(rtpctx);\n\n } else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC)\n\n ff_rdt_parse_close(rtsp_st->transport_priv);\n\n else if (rt->transport == RTSP_TRANSPORT_RTP && CONFIG_RTPDEC)\n\n ff_rtp_parse_close(rtsp_st->transport_priv);\n\n }\n\n rtsp_st->transport_priv = NULL;\n\n if (rtsp_st->rtp_handle)\n\n ffurl_close(rtsp_st->rtp_handle);\n\n rtsp_st->rtp_handle = NULL;\n\n }\n\n}\n", "idx": 2027}189{"project": "qemu", "commit_id": "64c9bc181fc78275596649f591302d72df2d3071", "target": 0, "func": "static void do_token_in(USBDevice *s, USBPacket *p)\n\n{\n\n int request, value, index;\n\n\n\n assert(p->ep->nr == 0);\n\n\n\n request = (s->setup_buf[0] << 8) | s->setup_buf[1];\n\n value = (s->setup_buf[3] << 8) | s->setup_buf[2];\n\n index = (s->setup_buf[5] << 8) | s->setup_buf[4];\n\n \n\n switch(s->setup_state) {\n\n case SETUP_STATE_ACK:\n\n if (!(s->setup_buf[0] & USB_DIR_IN)) {\n\n usb_device_handle_control(s, p, request, value, index,\n\n s->setup_len, s->data_buf);\n\n if (p->status == USB_RET_ASYNC) {\n\n return;\n\n }\n\n s->setup_state = SETUP_STATE_IDLE;\n\n p->actual_length = 0;\n\n }\n\n break;\n\n\n\n case SETUP_STATE_DATA:\n\n if (s->setup_buf[0] & USB_DIR_IN) {\n\n int len = s->setup_len - s->setup_index;\n\n if (len > p->iov.size) {\n\n len = p->iov.size;\n\n }\n\n usb_packet_copy(p, s->data_buf + s->setup_index, len);\n\n s->setup_index += len;\n\n if (s->setup_index >= s->setup_len) {\n\n s->setup_state = SETUP_STATE_ACK;\n\n }\n\n return;\n\n }\n\n s->setup_state = SETUP_STATE_IDLE;\n\n p->status = USB_RET_STALL;\n\n break;\n\n\n\n default:\n\n p->status = USB_RET_STALL;\n\n }\n\n}\n", "idx": 2047}190{"project": "FFmpeg", "commit_id": "f566ac48ce450b013ffd5547ace48df8c47981c6", "target": 0, "func": "static int get_video_buffer(AVFrame *frame, int align)\n\n{\n\n const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(frame->format);\n\n int ret, i;\n\n\n\n if (!desc)\n\n return AVERROR(EINVAL);\n\n\n\n if ((ret = av_image_check_size(frame->width, frame->height, 0, NULL)) < 0)\n\n return ret;\n\n\n\n if (!frame->linesize[0]) {\n\n ret = av_image_fill_linesizes(frame->linesize, frame->format,\n\n frame->width);\n\n if (ret < 0)\n\n return ret;\n\n\n\n for (i = 0; i < 4 && frame->linesize[i]; i++)\n\n frame->linesize[i] = FFALIGN(frame->linesize[i], align);\n\n }\n\n\n\n for (i = 0; i < 4 && frame->linesize[i]; i++) {\n\n int h = FFALIGN(frame->height, 32);\n\n if (i == 1 || i == 2)\n\n h = -((-h) >> desc->log2_chroma_h);\n\n\n\n frame->buf[i] = av_buffer_alloc(frame->linesize[i] * h);\n\n if (!frame->buf[i])\n\n goto fail;\n\n\n\n frame->data[i] = frame->buf[i]->data;\n\n }\n\n if (desc->flags & PIX_FMT_PAL || desc->flags & PIX_FMT_PSEUDOPAL) {\n\n av_buffer_unref(&frame->buf[1]);\n\n frame->buf[1] = av_buffer_alloc(1024);\n\n if (!frame->buf[1])\n\n goto fail;\n\n frame->data[1] = frame->buf[1]->data;\n\n }\n\n\n\n frame->extended_data = frame->data;\n\n\n\n return 0;\n\nfail:\n\n av_frame_unref(frame);\n\n return AVERROR(ENOMEM);\n\n}\n", "idx": 2049}191{"project": "qemu", "commit_id": "1eabfce6d53cb02066dbb0ac8471f8593ff24a24", "target": 0, "func": "static int kvm_get_msrs(X86CPU *cpu)\n\n{\n\n CPUX86State *env = &cpu->env;\n\n struct kvm_msr_entry *msrs = cpu->kvm_msr_buf->entries;\n\n int ret, i;\n\n uint64_t mtrr_top_bits;\n\n\n\n kvm_msr_buf_reset(cpu);\n\n\n\n kvm_msr_entry_add(cpu, MSR_IA32_SYSENTER_CS, 0);\n\n kvm_msr_entry_add(cpu, MSR_IA32_SYSENTER_ESP, 0);\n\n kvm_msr_entry_add(cpu, MSR_IA32_SYSENTER_EIP, 0);\n\n kvm_msr_entry_add(cpu, MSR_PAT, 0);\n\n if (has_msr_star) {\n\n kvm_msr_entry_add(cpu, MSR_STAR, 0);\n\n }\n\n if (has_msr_hsave_pa) {\n\n kvm_msr_entry_add(cpu, MSR_VM_HSAVE_PA, 0);\n\n }\n\n if (has_msr_tsc_aux) {\n\n kvm_msr_entry_add(cpu, MSR_TSC_AUX, 0);\n\n }\n\n if (has_msr_tsc_adjust) {\n\n kvm_msr_entry_add(cpu, MSR_TSC_ADJUST, 0);\n\n }\n\n if (has_msr_tsc_deadline) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_TSCDEADLINE, 0);\n\n }\n\n if (has_msr_misc_enable) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_MISC_ENABLE, 0);\n\n }\n\n if (has_msr_smbase) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_SMBASE, 0);\n\n }\n\n if (has_msr_feature_control) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_FEATURE_CONTROL, 0);\n\n }\n\n if (has_msr_bndcfgs) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_BNDCFGS, 0);\n\n }\n\n if (has_msr_xss) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_XSS, 0);\n\n }\n\n\n\n\n\n if (!env->tsc_valid) {\n\n kvm_msr_entry_add(cpu, MSR_IA32_TSC, 0);\n\n env->tsc_valid = !runstate_is_running();\n\n }\n\n\n\n#ifdef TARGET_X86_64\n\n if (lm_capable_kernel) {\n\n kvm_msr_entry_add(cpu, MSR_CSTAR, 0);\n\n kvm_msr_entry_add(cpu, MSR_KERNELGSBASE, 0);\n\n kvm_msr_entry_add(cpu, MSR_FMASK, 0);\n\n kvm_msr_entry_add(cpu, MSR_LSTAR, 0);\n\n }\n\n#endif\n\n kvm_msr_entry_add(cpu, MSR_KVM_SYSTEM_TIME, 0);\n\n kvm_msr_entry_add(cpu, MSR_KVM_WALL_CLOCK, 0);\n\n if (has_msr_async_pf_en) {\n\n kvm_msr_entry_add(cpu, MSR_KVM_ASYNC_PF_EN, 0);\n\n }\n\n if (has_msr_pv_eoi_en) {\n\n kvm_msr_entry_add(cpu, MSR_KVM_PV_EOI_EN, 0);\n\n }\n\n if (has_msr_kvm_steal_time) {\n\n kvm_msr_entry_add(cpu, MSR_KVM_STEAL_TIME, 0);\n\n }\n\n if (has_msr_architectural_pmu) {\n\n kvm_msr_entry_add(cpu, MSR_CORE_PERF_FIXED_CTR_CTRL, 0);\n\n kvm_msr_entry_add(cpu, MSR_CORE_PERF_GLOBAL_CTRL, 0);\n\n kvm_msr_entry_add(cpu, MSR_CORE_PERF_GLOBAL_STATUS, 0);\n\n kvm_msr_entry_add(cpu, MSR_CORE_PERF_GLOBAL_OVF_CTRL, 0);\n\n for (i = 0; i < MAX_FIXED_COUNTERS; i++) {\n\n kvm_msr_entry_add(cpu, MSR_CORE_PERF_FIXED_CTR0 + i, 0);\n\n }\n\n for (i = 0; i < num_architectural_pmu_counters; i++) {\n\n kvm_msr_entry_add(cpu, MSR_P6_PERFCTR0 + i, 0);\n\n kvm_msr_entry_add(cpu, MSR_P6_EVNTSEL0 + i, 0);\n\n }\n\n }\n\n\n\n if (env->mcg_cap) {\n\n kvm_msr_entry_add(cpu, MSR_MCG_STATUS, 0);\n\n kvm_msr_entry_add(cpu, MSR_MCG_CTL, 0);\n\n if (has_msr_mcg_ext_ctl) {\n\n kvm_msr_entry_add(cpu, MSR_MCG_EXT_CTL, 0);\n\n }\n\n for (i = 0; i < (env->mcg_cap & 0xff) * 4; i++) {\n\n kvm_msr_entry_add(cpu, MSR_MC0_CTL + i, 0);\n\n }\n\n }\n\n\n\n if (has_msr_hv_hypercall) {\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_HYPERCALL, 0);\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_GUEST_OS_ID, 0);\n\n }\n\n if (has_msr_hv_vapic) {\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_APIC_ASSIST_PAGE, 0);\n\n }\n\n if (has_msr_hv_tsc) {\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_REFERENCE_TSC, 0);\n\n }\n\n if (has_msr_hv_crash) {\n\n int j;\n\n\n\n for (j = 0; j < HV_X64_MSR_CRASH_PARAMS; j++) {\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_CRASH_P0 + j, 0);\n\n }\n\n }\n\n if (has_msr_hv_runtime) {\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_VP_RUNTIME, 0);\n\n }\n\n if (cpu->hyperv_synic) {\n\n uint32_t msr;\n\n\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_SCONTROL, 0);\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_SVERSION, 0);\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_SIEFP, 0);\n\n kvm_msr_entry_add(cpu, HV_X64_MSR_SIMP, 0);\n\n for (msr = HV_X64_MSR_SINT0; msr <= HV_X64_MSR_SINT15; msr++) {\n\n kvm_msr_entry_add(cpu, msr, 0);\n\n }\n\n }\n\n if (has_msr_hv_stimer) {\n\n uint32_t msr;\n\n\n\n for (msr = HV_X64_MSR_STIMER0_CONFIG; msr <= HV_X64_MSR_STIMER3_COUNT;\n\n msr++) {\n\n kvm_msr_entry_add(cpu, msr, 0);\n\n }\n\n }\n\n if (has_msr_mtrr) {\n\n kvm_msr_entry_add(cpu, MSR_MTRRdefType, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix64K_00000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix16K_80000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix16K_A0000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_C0000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_C8000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_D0000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_D8000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_E0000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_E8000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_F0000, 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRfix4K_F8000, 0);\n\n for (i = 0; i < MSR_MTRRcap_VCNT; i++) {\n\n kvm_msr_entry_add(cpu, MSR_MTRRphysBase(i), 0);\n\n kvm_msr_entry_add(cpu, MSR_MTRRphysMask(i), 0);\n\n }\n\n }\n\n\n\n ret = kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, cpu->kvm_msr_buf);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n assert(ret == cpu->kvm_msr_buf->nmsrs);\n\n /*\n\n * MTRR masks: Each mask consists of 5 parts\n\n * a 10..0: must be zero\n\n * b 11 : valid bit\n\n * c n-1.12: actual mask bits\n\n * d 51..n: reserved must be zero\n\n * e 63.52: reserved must be zero\n\n *\n\n * 'n' is the number of physical bits supported by the CPU and is\n\n * apparently always <= 52. We know our 'n' but don't know what\n\n * the destinations 'n' is; it might be smaller, in which case\n\n * it masks (c) on loading. It might be larger, in which case\n\n * we fill 'd' so that d..c is consistent irrespetive of the 'n'\n\n * we're migrating to.\n\n */\n\n\n\n if (cpu->fill_mtrr_mask) {\n\n QEMU_BUILD_BUG_ON(TARGET_PHYS_ADDR_SPACE_BITS > 52);\n\n assert(cpu->phys_bits <= TARGET_PHYS_ADDR_SPACE_BITS);\n\n mtrr_top_bits = MAKE_64BIT_MASK(cpu->phys_bits, 52 - cpu->phys_bits);\n\n } else {\n\n mtrr_top_bits = 0;\n\n }\n\n\n\n for (i = 0; i < ret; i++) {\n\n uint32_t index = msrs[i].index;\n\n switch (index) {\n\n case MSR_IA32_SYSENTER_CS:\n\n env->sysenter_cs = msrs[i].data;\n\n break;\n\n case MSR_IA32_SYSENTER_ESP:\n\n env->sysenter_esp = msrs[i].data;\n\n break;\n\n case MSR_IA32_SYSENTER_EIP:\n\n env->sysenter_eip = msrs[i].data;\n\n break;\n\n case MSR_PAT:\n\n env->pat = msrs[i].data;\n\n break;\n\n case MSR_STAR:\n\n env->star = msrs[i].data;\n\n break;\n\n#ifdef TARGET_X86_64\n\n case MSR_CSTAR:\n\n env->cstar = msrs[i].data;\n\n break;\n\n case MSR_KERNELGSBASE:\n\n env->kernelgsbase = msrs[i].data;\n\n break;\n\n case MSR_FMASK:\n\n env->fmask = msrs[i].data;\n\n break;\n\n case MSR_LSTAR:\n\n env->lstar = msrs[i].data;\n\n break;\n\n#endif\n\n case MSR_IA32_TSC:\n\n env->tsc = msrs[i].data;\n\n break;\n\n case MSR_TSC_AUX:\n\n env->tsc_aux = msrs[i].data;\n\n break;\n\n case MSR_TSC_ADJUST:\n\n env->tsc_adjust = msrs[i].data;\n\n break;\n\n case MSR_IA32_TSCDEADLINE:\n\n env->tsc_deadline = msrs[i].data;\n\n break;\n\n case MSR_VM_HSAVE_PA:\n\n env->vm_hsave = msrs[i].data;\n\n break;\n\n case MSR_KVM_SYSTEM_TIME:\n\n env->system_time_msr = msrs[i].data;\n\n break;\n\n case MSR_KVM_WALL_CLOCK:\n\n env->wall_clock_msr = msrs[i].data;\n\n break;\n\n case MSR_MCG_STATUS:\n\n env->mcg_status = msrs[i].data;\n\n break;\n\n case MSR_MCG_CTL:\n\n env->mcg_ctl = msrs[i].data;\n\n break;\n\n case MSR_MCG_EXT_CTL:\n\n env->mcg_ext_ctl = msrs[i].data;\n\n break;\n\n case MSR_IA32_MISC_ENABLE:\n\n env->msr_ia32_misc_enable = msrs[i].data;\n\n break;\n\n case MSR_IA32_SMBASE:\n\n env->smbase = msrs[i].data;\n\n break;\n\n case MSR_IA32_FEATURE_CONTROL:\n\n env->msr_ia32_feature_control = msrs[i].data;\n\n break;\n\n case MSR_IA32_BNDCFGS:\n\n env->msr_bndcfgs = msrs[i].data;\n\n break;\n\n case MSR_IA32_XSS:\n\n env->xss = msrs[i].data;\n\n break;\n\n default:\n\n if (msrs[i].index >= MSR_MC0_CTL &&\n\n msrs[i].index < MSR_MC0_CTL + (env->mcg_cap & 0xff) * 4) {\n\n env->mce_banks[msrs[i].index - MSR_MC0_CTL] = msrs[i].data;\n\n }\n\n break;\n\n case MSR_KVM_ASYNC_PF_EN:\n\n env->async_pf_en_msr = msrs[i].data;\n\n break;\n\n case MSR_KVM_PV_EOI_EN:\n\n env->pv_eoi_en_msr = msrs[i].data;\n\n break;\n\n case MSR_KVM_STEAL_TIME:\n\n env->steal_time_msr = msrs[i].data;\n\n break;\n\n case MSR_CORE_PERF_FIXED_CTR_CTRL:\n\n env->msr_fixed_ctr_ctrl = msrs[i].data;\n\n break;\n\n case MSR_CORE_PERF_GLOBAL_CTRL:\n\n env->msr_global_ctrl = msrs[i].data;\n\n break;\n\n case MSR_CORE_PERF_GLOBAL_STATUS:\n\n env->msr_global_status = msrs[i].data;\n\n break;\n\n case MSR_CORE_PERF_GLOBAL_OVF_CTRL:\n\n env->msr_global_ovf_ctrl = msrs[i].data;\n\n break;\n\n case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR0 + MAX_FIXED_COUNTERS - 1:\n\n env->msr_fixed_counters[index - MSR_CORE_PERF_FIXED_CTR0] = msrs[i].data;\n\n break;\n\n case MSR_P6_PERFCTR0 ... MSR_P6_PERFCTR0 + MAX_GP_COUNTERS - 1:\n\n env->msr_gp_counters[index - MSR_P6_PERFCTR0] = msrs[i].data;\n\n break;\n\n case MSR_P6_EVNTSEL0 ... MSR_P6_EVNTSEL0 + MAX_GP_COUNTERS - 1:\n\n env->msr_gp_evtsel[index - MSR_P6_EVNTSEL0] = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_HYPERCALL:\n\n env->msr_hv_hypercall = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_GUEST_OS_ID:\n\n env->msr_hv_guest_os_id = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_APIC_ASSIST_PAGE:\n\n env->msr_hv_vapic = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_REFERENCE_TSC:\n\n env->msr_hv_tsc = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_CRASH_P0 ... HV_X64_MSR_CRASH_P4:\n\n env->msr_hv_crash_params[index - HV_X64_MSR_CRASH_P0] = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_VP_RUNTIME:\n\n env->msr_hv_runtime = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_SCONTROL:\n\n env->msr_hv_synic_control = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_SVERSION:\n\n env->msr_hv_synic_version = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_SIEFP:\n\n env->msr_hv_synic_evt_page = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_SIMP:\n\n env->msr_hv_synic_msg_page = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_SINT0 ... HV_X64_MSR_SINT15:\n\n env->msr_hv_synic_sint[index - HV_X64_MSR_SINT0] = msrs[i].data;\n\n break;\n\n case HV_X64_MSR_STIMER0_CONFIG:\n\n case HV_X64_MSR_STIMER1_CONFIG:\n\n case HV_X64_MSR_STIMER2_CONFIG:\n\n case HV_X64_MSR_STIMER3_CONFIG:\n\n env->msr_hv_stimer_config[(index - HV_X64_MSR_STIMER0_CONFIG)/2] =\n\n msrs[i].data;\n\n break;\n\n case HV_X64_MSR_STIMER0_COUNT:\n\n case HV_X64_MSR_STIMER1_COUNT:\n\n case HV_X64_MSR_STIMER2_COUNT:\n\n case HV_X64_MSR_STIMER3_COUNT:\n\n env->msr_hv_stimer_count[(index - HV_X64_MSR_STIMER0_COUNT)/2] =\n\n msrs[i].data;\n\n break;\n\n case MSR_MTRRdefType:\n\n env->mtrr_deftype = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix64K_00000:\n\n env->mtrr_fixed[0] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix16K_80000:\n\n env->mtrr_fixed[1] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix16K_A0000:\n\n env->mtrr_fixed[2] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_C0000:\n\n env->mtrr_fixed[3] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_C8000:\n\n env->mtrr_fixed[4] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_D0000:\n\n env->mtrr_fixed[5] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_D8000:\n\n env->mtrr_fixed[6] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_E0000:\n\n env->mtrr_fixed[7] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_E8000:\n\n env->mtrr_fixed[8] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_F0000:\n\n env->mtrr_fixed[9] = msrs[i].data;\n\n break;\n\n case MSR_MTRRfix4K_F8000:\n\n env->mtrr_fixed[10] = msrs[i].data;\n\n break;\n\n case MSR_MTRRphysBase(0) ... MSR_MTRRphysMask(MSR_MTRRcap_VCNT - 1):\n\n if (index & 1) {\n\n env->mtrr_var[MSR_MTRRphysIndex(index)].mask = msrs[i].data |\n\n mtrr_top_bits;\n\n } else {\n\n env->mtrr_var[MSR_MTRRphysIndex(index)].base = msrs[i].data;\n\n }\n\n break;\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 2053}192{"project": "qemu", "commit_id": "2aece63c8a9d2c3a8ff41d2febc4cdeff2633331", "target": 0, "func": "host_memory_backend_can_be_deleted(UserCreatable *uc, Error **errp)\n\n{\n\n MemoryRegion *mr;\n\n\n\n mr = host_memory_backend_get_memory(MEMORY_BACKEND(uc), errp);\n\n if (memory_region_is_mapped(mr)) {\n\n return false;\n\n } else {\n\n return true;\n\n }\n\n}\n", "idx": 2063}193{"project": "FFmpeg", "commit_id": "73dacabfc9b9ef1fd2c08105fdab6238ee29c2fc", "target": 0, "func": "av_cold int ffv1_init_slice_contexts(FFV1Context *f)\n\n{\n\n int i;\n\n\n\n f->slice_count = f->num_h_slices * f->num_v_slices;\n\n if (f->slice_count <= 0) {\n\n av_log(f->avctx, AV_LOG_ERROR, \"Invalid number of slices\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n for (i = 0; i < f->slice_count; i++) {\n\n FFV1Context *fs = av_mallocz(sizeof(*fs));\n\n int sx = i % f->num_h_slices;\n\n int sy = i / f->num_h_slices;\n\n int sxs = f->avctx->width * sx / f->num_h_slices;\n\n int sxe = f->avctx->width * (sx + 1) / f->num_h_slices;\n\n int sys = f->avctx->height * sy / f->num_v_slices;\n\n int sye = f->avctx->height * (sy + 1) / f->num_v_slices;\n\n f->slice_context[i] = fs;\n\n memcpy(fs, f, sizeof(*fs));\n\n memset(fs->rc_stat2, 0, sizeof(fs->rc_stat2));\n\n\n\n fs->slice_width = sxe - sxs;\n\n fs->slice_height = sye - sys;\n\n fs->slice_x = sxs;\n\n fs->slice_y = sys;\n\n\n\n fs->sample_buffer = av_malloc(3 * MAX_PLANES * (fs->width + 6) *\n\n sizeof(*fs->sample_buffer));\n\n if (!fs->sample_buffer)\n\n return AVERROR(ENOMEM);\n\n }\n\n return 0;\n\n}\n", "idx": 2083}194{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static void omap_pwt_write(void *opaque, target_phys_addr_t addr,\n\n uint64_t value, unsigned size)\n\n{\n\n struct omap_pwt_s *s = (struct omap_pwt_s *) opaque;\n\n int offset = addr & OMAP_MPUI_REG_MASK;\n\n\n\n if (size != 1) {\n\n return omap_badwidth_write8(opaque, addr, value);\n\n }\n\n\n\n switch (offset) {\n\n case 0x00:\t/* FRC */\n\n s->frc = value & 0x3f;\n\n break;\n\n case 0x04:\t/* VRC */\n\n if ((value ^ s->vrc) & 1) {\n\n if (value & 1)\n\n printf(\"%s: %iHz buzz on\\n\", __FUNCTION__, (int)\n\n /* 1.5 MHz from a 12-MHz or 13-MHz PWT_CLK */\n\n ((omap_clk_getrate(s->clk) >> 3) /\n\n /* Pre-multiplexer divider */\n\n ((s->gcr & 2) ? 1 : 154) /\n\n /* Octave multiplexer */\n\n (2 << (value & 3)) *\n\n /* 101/107 divider */\n\n ((value & (1 << 2)) ? 101 : 107) *\n\n /* 49/55 divider */\n\n ((value & (1 << 3)) ? 49 : 55) *\n\n /* 50/63 divider */\n\n ((value & (1 << 4)) ? 50 : 63) *\n\n /* 80/127 divider */\n\n ((value & (1 << 5)) ? 80 : 127) /\n\n (107 * 55 * 63 * 127)));\n\n else\n\n printf(\"%s: silence!\\n\", __FUNCTION__);\n\n }\n\n s->vrc = value & 0x7f;\n\n break;\n\n case 0x08:\t/* GCR */\n\n s->gcr = value & 3;\n\n break;\n\n default:\n\n OMAP_BAD_REG(addr);\n\n return;\n\n }\n\n}\n", "idx": 2084}195{"project": "FFmpeg", "commit_id": "b164d66e35d349de414e2f0d7365a147aba8a620", "target": 0, "func": "static void predictor_decode_mono(APEContext *ctx, int count)\n\n{\n\n APEPredictor *p = &ctx->predictor;\n\n int32_t *decoded0 = ctx->decoded[0];\n\n int32_t predictionA, currentA, A, sign;\n\n\n\n currentA = p->lastA[0];\n\n\n\n while (count--) {\n\n A = *decoded0;\n\n\n\n p->buf[YDELAYA] = currentA;\n\n p->buf[YDELAYA - 1] = p->buf[YDELAYA] - p->buf[YDELAYA - 1];\n\n\n\n predictionA = p->buf[YDELAYA ] * p->coeffsA[0][0] +\n\n p->buf[YDELAYA - 1] * p->coeffsA[0][1] +\n\n p->buf[YDELAYA - 2] * p->coeffsA[0][2] +\n\n p->buf[YDELAYA - 3] * p->coeffsA[0][3];\n\n\n\n currentA = A + (predictionA >> 10);\n\n\n\n p->buf[YADAPTCOEFFSA] = APESIGN(p->buf[YDELAYA ]);\n\n p->buf[YADAPTCOEFFSA - 1] = APESIGN(p->buf[YDELAYA - 1]);\n\n\n\n sign = APESIGN(A);\n\n p->coeffsA[0][0] += p->buf[YADAPTCOEFFSA ] * sign;\n\n p->coeffsA[0][1] += p->buf[YADAPTCOEFFSA - 1] * sign;\n\n p->coeffsA[0][2] += p->buf[YADAPTCOEFFSA - 2] * sign;\n\n p->coeffsA[0][3] += p->buf[YADAPTCOEFFSA - 3] * sign;\n\n\n\n p->buf++;\n\n\n\n /* Have we filled the history buffer? */\n\n if (p->buf == p->historybuffer + HISTORY_SIZE) {\n\n memmove(p->historybuffer, p->buf,\n\n PREDICTOR_SIZE * sizeof(*p->historybuffer));\n\n p->buf = p->historybuffer;\n\n }\n\n\n\n p->filterA[0] = currentA + ((p->filterA[0] * 31) >> 5);\n\n *(decoded0++) = p->filterA[0];\n\n }\n\n\n\n p->lastA[0] = currentA;\n\n}\n", "idx": 2093}196{"project": "FFmpeg", "commit_id": "17ee7b5515cd1006a1f7ba4a9cced14f6526c1b0", "target": 0, "func": "static void print_report(AVFormatContext **output_files,\n\n AVOutputStream **ost_table, int nb_ostreams,\n\n int is_last_report)\n\n{\n\n char buf[1024];\n\n AVOutputStream *ost;\n\n AVFormatContext *oc;\n\n int64_t total_size;\n\n AVCodecContext *enc;\n\n int frame_number, vid, i;\n\n double bitrate, ti1, pts;\n\n static int64_t last_time = -1;\n\n static int qp_histogram[52];\n\n\n\n if (!is_last_report) {\n\n int64_t cur_time;\n\n /* display the report every 0.5 seconds */\n\n cur_time = av_gettime();\n\n if (last_time == -1) {\n\n last_time = cur_time;\n\n return;\n\n }\n\n if ((cur_time - last_time) < 500000)\n\n return;\n\n last_time = cur_time;\n\n }\n\n\n\n\n\n oc = output_files[0];\n\n\n\n total_size = avio_size(oc->pb);\n\n if(total_size<0) // FIXME improve avio_size() so it works with non seekable output too\n\n total_size= avio_tell(oc->pb);\n\n\n\n buf[0] = '\\0';\n\n ti1 = 1e10;\n\n vid = 0;\n\n for(i=0;i<nb_ostreams;i++) {\n\n float q= -1;\n\n ost = ost_table[i];\n\n enc = ost->st->codec;\n\n if(!ost->st->stream_copy && enc->coded_frame)\n\n q= enc->coded_frame->quality/(float)FF_QP2LAMBDA;\n\n if (vid && enc->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"q=%2.1f \", q);\n\n }\n\n if (!vid && enc->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n float t = (av_gettime()-timer_start) / 1000000.0;\n\n\n\n frame_number = ost->frame_number;\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"frame=%5d fps=%3d q=%3.1f \",\n\n frame_number, (t>1)?(int)(frame_number/t+0.5) : 0, q);\n\n if(is_last_report)\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"L\");\n\n if(qp_hist){\n\n int j;\n\n int qp= lrintf(q);\n\n if(qp>=0 && qp<FF_ARRAY_ELEMS(qp_histogram))\n\n qp_histogram[qp]++;\n\n for(j=0; j<32; j++)\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"%X\", (int)lrintf(log(qp_histogram[j]+1)/log(2)));\n\n }\n\n if (enc->flags&CODEC_FLAG_PSNR){\n\n int j;\n\n double error, error_sum=0;\n\n double scale, scale_sum=0;\n\n char type[3]= {'Y','U','V'};\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"PSNR=\");\n\n for(j=0; j<3; j++){\n\n if(is_last_report){\n\n error= enc->error[j];\n\n scale= enc->width*enc->height*255.0*255.0*frame_number;\n\n }else{\n\n error= enc->coded_frame->error[j];\n\n scale= enc->width*enc->height*255.0*255.0;\n\n }\n\n if(j) scale/=4;\n\n error_sum += error;\n\n scale_sum += scale;\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"%c:%2.2f \", type[j], psnr(error/scale));\n\n }\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \"*:%2.2f \", psnr(error_sum/scale_sum));\n\n }\n\n vid = 1;\n\n }\n\n /* compute min output value */\n\n pts = (double)ost->st->pts.val * av_q2d(ost->st->time_base);\n\n if ((pts < ti1) && (pts > 0))\n\n ti1 = pts;\n\n }\n\n if (ti1 < 0.01)\n\n ti1 = 0.01;\n\n\n\n if (verbose || is_last_report) {\n\n bitrate = (double)(total_size * 8) / ti1 / 1000.0;\n\n\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),\n\n \"size=%8.0fkB time=%0.2f bitrate=%6.1fkbits/s\",\n\n (double)total_size / 1024, ti1, bitrate);\n\n\n\n if (nb_frames_dup || nb_frames_drop)\n\n snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), \" dup=%d drop=%d\",\n\n nb_frames_dup, nb_frames_drop);\n\n\n\n if (verbose >= 0)\n\n fprintf(stderr, \"%s \\r\", buf);\n\n\n\n fflush(stderr);\n\n }\n\n\n\n if (is_last_report && verbose >= 0){\n\n int64_t raw= audio_size + video_size + extra_size;\n\n fprintf(stderr, \"\\n\");\n\n fprintf(stderr, \"video:%1.0fkB audio:%1.0fkB global headers:%1.0fkB muxing overhead %f%%\\n\",\n\n video_size/1024.0,\n\n audio_size/1024.0,\n\n extra_size/1024.0,\n\n 100.0*(total_size - raw)/raw\n\n );\n\n }\n\n}\n", "idx": 2110}197{"project": "FFmpeg", "commit_id": "3ab9a2a5577d445252724af4067d2a7c8a378efa", "target": 1, "func": "static av_always_inline void rv40_strong_loop_filter(uint8_t *src,\n\n const int step,\n\n const int stride,\n\n const int alpha,\n\n const int lims,\n\n const int dmode,\n\n const int chroma)\n\n{\n\n int i;\n\n\n\n for(i = 0; i < 4; i++, src += stride){\n\n int sflag, p0, q0, p1, q1;\n\n int t = src[0*step] - src[-1*step];\n\n\n\n if (!t)\n\n continue;\n\n\n\n sflag = (alpha * FFABS(t)) >> 7;\n\n if (sflag > 1)\n\n continue;\n\n\n\n p0 = (25*src[-3*step] + 26*src[-2*step] + 26*src[-1*step] +\n\n 26*src[ 0*step] + 25*src[ 1*step] +\n\n rv40_dither_l[dmode + i]) >> 7;\n\n\n\n q0 = (25*src[-2*step] + 26*src[-1*step] + 26*src[ 0*step] +\n\n 26*src[ 1*step] + 25*src[ 2*step] +\n\n rv40_dither_r[dmode + i]) >> 7;\n\n\n\n if (sflag) {\n\n p0 = av_clip(p0, src[-1*step] - lims, src[-1*step] + lims);\n\n q0 = av_clip(q0, src[ 0*step] - lims, src[ 0*step] + lims);\n\n }\n\n\n\n p1 = (25*src[-4*step] + 26*src[-3*step] + 26*src[-2*step] + 26*p0 +\n\n 25*src[ 0*step] + rv40_dither_l[dmode + i]) >> 7;\n\n q1 = (25*src[-1*step] + 26*q0 + 26*src[ 1*step] + 26*src[ 2*step] +\n\n 25*src[ 3*step] + rv40_dither_r[dmode + i]) >> 7;\n\n\n\n if (sflag) {\n\n p1 = av_clip(p1, src[-2*step] - lims, src[-2*step] + lims);\n\n q1 = av_clip(q1, src[ 1*step] - lims, src[ 1*step] + lims);\n\n }\n\n\n\n src[-2*step] = p1;\n\n src[-1*step] = p0;\n\n src[ 0*step] = q0;\n\n src[ 1*step] = q1;\n\n\n\n if(!chroma){\n\n src[-3*step] = (25*src[-1*step] + 26*src[-2*step] +\n\n 51*src[-3*step] + 26*src[-4*step] + 64) >> 7;\n\n src[ 2*step] = (25*src[ 0*step] + 26*src[ 1*step] +\n\n 51*src[ 2*step] + 26*src[ 3*step] + 64) >> 7;\n\n }\n\n }\n\n}\n", "idx": 2115}198{"project": "qemu", "commit_id": "03fcbd9dc5084ff4676c153fbe04fb0fcf939d09", "target": 1, "func": "DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)\n\n{\n\n DeviceClass *dc;\n\n const char *driver, *path;\n\n DeviceState *dev;\n\n BusState *bus = NULL;\n\n Error *err = NULL;\n\n\n\n driver = qemu_opt_get(opts, \"driver\");\n\n if (!driver) {\n\n error_setg(errp, QERR_MISSING_PARAMETER, \"driver\");\n\n return NULL;\n\n }\n\n\n\n /* find driver */\n\n dc = qdev_get_device_class(&driver, errp);\n\n if (!dc) {\n\n return NULL;\n\n }\n\n\n\n /* find bus */\n\n path = qemu_opt_get(opts, \"bus\");\n\n if (path != NULL) {\n\n bus = qbus_find(path, errp);\n\n if (!bus) {\n\n return NULL;\n\n }\n\n if (!object_dynamic_cast(OBJECT(bus), dc->bus_type)) {\n\n error_setg(errp, \"Device '%s' can't go on %s bus\",\n\n driver, object_get_typename(OBJECT(bus)));\n\n return NULL;\n\n }\n\n } else if (dc->bus_type != NULL) {\n\n bus = qbus_find_recursive(sysbus_get_default(), NULL, dc->bus_type);\n\n if (!bus || qbus_is_full(bus)) {\n\n error_setg(errp, \"No '%s' bus found for device '%s'\",\n\n dc->bus_type, driver);\n\n return NULL;\n\n }\n\n }\n\n if (qdev_hotplug && bus && !qbus_is_hotpluggable(bus)) {\n\n error_setg(errp, QERR_BUS_NO_HOTPLUG, bus->name);\n\n return NULL;\n\n }\n\n\n\n if (!migration_is_idle()) {\n\n error_setg(errp, \"device_add not allowed while migrating\");\n\n return NULL;\n\n }\n\n\n\n /* create device */\n\n dev = DEVICE(object_new(driver));\n\n\n\n if (bus) {\n\n qdev_set_parent_bus(dev, bus);\n\n\n\n\n\n\n }\n\n\n\n qdev_set_id(dev, qemu_opts_id(opts));\n\n\n\n /* set properties */\n\n if (qemu_opt_foreach(opts, set_property, dev, &err)) {\n\n\n }\n\n\n\n dev->opts = opts;\n\n object_property_set_bool(OBJECT(dev), true, \"realized\", &err);\n\n if (err != NULL) {\n\n dev->opts = NULL;\n\n\n }\n\n return dev;\n\n\n\nerr_del_dev:\n\n error_propagate(errp, err);\n\n object_unparent(OBJECT(dev));\n\n object_unref(OBJECT(dev));\n\n return NULL;\n\n}", "idx": 2124}199{"project": "FFmpeg", "commit_id": "f6774f905fb3cfdc319523ac640be30b14c1bc55", "target": 1, "func": "static int rv10_decode_packet(AVCodecContext *avctx, const uint8_t *buf,\n\n int buf_size, int buf_size2)\n\n{\n\n RVDecContext *rv = avctx->priv_data;\n\n MpegEncContext *s = &rv->m;\n\n int mb_count, mb_pos, left, start_mb_x, active_bits_size, ret;\n\n\n\n active_bits_size = buf_size * 8;\n\n init_get_bits(&s->gb, buf, FFMAX(buf_size, buf_size2) * 8);\n\n if (s->codec_id == AV_CODEC_ID_RV10)\n\n mb_count = rv10_decode_picture_header(s);\n\n else\n\n mb_count = rv20_decode_picture_header(rv);\n\n if (mb_count < 0) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"HEADER ERROR\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (s->mb_x >= s->mb_width ||\n\n s->mb_y >= s->mb_height) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"POS ERROR %d %d\\n\", s->mb_x, s->mb_y);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n mb_pos = s->mb_y * s->mb_width + s->mb_x;\n\n left = s->mb_width * s->mb_height - mb_pos;\n\n if (mb_count > left) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"COUNT ERROR\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if ((s->mb_x == 0 && s->mb_y == 0) || s->current_picture_ptr == NULL) {\n\n // FIXME write parser so we always have complete frames?\n\n if (s->current_picture_ptr) {\n\n ff_er_frame_end(&s->er);\n\n ff_MPV_frame_end(s);\n\n s->mb_x = s->mb_y = s->resync_mb_x = s->resync_mb_y = 0;\n\n }\n\n if ((ret = ff_MPV_frame_start(s, avctx)) < 0)\n\n return ret;\n\n ff_mpeg_er_frame_start(s);\n\n } else {\n\n if (s->current_picture_ptr->f.pict_type != s->pict_type) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"Slice type mismatch\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n }\n\n\n\n av_dlog(avctx, \"qscale=%d\\n\", s->qscale);\n\n\n\n /* default quantization values */\n\n if (s->codec_id == AV_CODEC_ID_RV10) {\n\n if (s->mb_y == 0)\n\n s->first_slice_line = 1;\n\n } else {\n\n s->first_slice_line = 1;\n\n s->resync_mb_x = s->mb_x;\n\n }\n\n start_mb_x = s->mb_x;\n\n s->resync_mb_y = s->mb_y;\n\n if (s->h263_aic) {\n\n s->y_dc_scale_table =\n\n s->c_dc_scale_table = ff_aic_dc_scale_table;\n\n } else {\n\n s->y_dc_scale_table =\n\n s->c_dc_scale_table = ff_mpeg1_dc_scale_table;\n\n }\n\n\n\n if (s->modified_quant)\n\n s->chroma_qscale_table = ff_h263_chroma_qscale_table;\n\n\n\n ff_set_qscale(s, s->qscale);\n\n\n\n s->rv10_first_dc_coded[0] = 0;\n\n s->rv10_first_dc_coded[1] = 0;\n\n s->rv10_first_dc_coded[2] = 0;\n\n s->block_wrap[0] =\n\n s->block_wrap[1] =\n\n s->block_wrap[2] =\n\n s->block_wrap[3] = s->b8_stride;\n\n s->block_wrap[4] =\n\n s->block_wrap[5] = s->mb_stride;\n\n ff_init_block_index(s);\n\n\n\n /* decode each macroblock */\n\n for (s->mb_num_left = mb_count; s->mb_num_left > 0; s->mb_num_left--) {\n\n int ret;\n\n ff_update_block_index(s);\n\n av_dlog(avctx, \"**mb x=%d y=%d\\n\", s->mb_x, s->mb_y);\n\n\n\n s->mv_dir = MV_DIR_FORWARD;\n\n s->mv_type = MV_TYPE_16X16;\n\n ret = ff_h263_decode_mb(s, s->block);\n\n\n\n // Repeat the slice end check from ff_h263_decode_mb with our active\n\n // bitstream size\n\n if (ret != SLICE_ERROR) {\n\n int v = show_bits(&s->gb, 16);\n\n\n\n if (get_bits_count(&s->gb) + 16 > active_bits_size)\n\n v >>= get_bits_count(&s->gb) + 16 - active_bits_size;\n\n\n\n if (!v)\n\n ret = SLICE_END;\n\n }\n\n if (ret != SLICE_ERROR && active_bits_size < get_bits_count(&s->gb) &&\n\n 8 * buf_size2 >= get_bits_count(&s->gb)) {\n\n active_bits_size = buf_size2 * 8;\n\n av_log(avctx, AV_LOG_DEBUG, \"update size from %d to %d\\n\",\n\n 8 * buf_size, active_bits_size);\n\n ret = SLICE_OK;\n\n }\n\n\n\n if (ret == SLICE_ERROR || active_bits_size < get_bits_count(&s->gb)) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"ERROR at MB %d %d\\n\", s->mb_x,\n\n s->mb_y);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (s->pict_type != AV_PICTURE_TYPE_B)\n\n ff_h263_update_motion_val(s);\n\n ff_MPV_decode_mb(s, s->block);\n\n if (s->loop_filter)\n\n ff_h263_loop_filter(s);\n\n\n\n if (++s->mb_x == s->mb_width) {\n\n s->mb_x = 0;\n\n s->mb_y++;\n\n ff_init_block_index(s);\n\n }\n\n if (s->mb_x == s->resync_mb_x)\n\n s->first_slice_line = 0;\n\n if (ret == SLICE_END)\n\n break;\n\n }\n\n\n\n ff_er_add_slice(&s->er, start_mb_x, s->resync_mb_y, s->mb_x - 1, s->mb_y,\n\n ER_MB_END);\n\n\n\n return active_bits_size;\n\n}\n", "idx": 2130}200{"project": "qemu", "commit_id": "bd88c780e6a17188f7fd676f3a056e5db21500e0", "target": 1, "func": "static inline int cpu_gdb_index(CPUState *cpu)\n\n{\n\n#if defined(CONFIG_USER_ONLY)\n\n return cpu->host_tid;\n\n#else\n\n return cpu->cpu_index + 1;\n\n#endif\n\n}\n", "idx": 2133}201{"project": "FFmpeg", "commit_id": "26227d91865ddfbfe35c9ff84853cc469e1c7daf", "target": 1, "func": "static inline int *DEC_UQUAD(int *dst, unsigned idx, unsigned sign)\n\n{\n\n unsigned nz = idx >> 12;\n\n\n\n dst[0] = (idx & 3) * (1 + (((int)sign >> 31) << 1));\n\n sign <<= nz & 1;\n\n nz >>= 1;\n\n dst[1] = (idx >> 2 & 3) * (1 + (((int)sign >> 31) << 1));\n\n sign <<= nz & 1;\n\n nz >>= 1;\n\n dst[2] = (idx >> 4 & 3) * (1 + (((int)sign >> 31) << 1));\n\n sign <<= nz & 1;\n\n nz >>= 1;\n\n dst[3] = (idx >> 6 & 3) * (1 + (((int)sign >> 31) << 1));\n\n\n\n return dst + 4;\n\n}\n", "idx": 2142}202{"project": "qemu", "commit_id": "93bb1315250dd010e65dc067af103cbaf0de03ae", "target": 1, "func": "void hmp_info_block_jobs(Monitor *mon, const QDict *qdict)\n{\n BlockJobInfoList *list;\n Error *err = NULL;\n list = qmp_query_block_jobs(&err);\n assert(!err);\n if (!list) {\n monitor_printf(mon, \"No active jobs\\n\");\n return;\n }\n while (list) {\n if (strcmp(list->value->type, \"stream\") == 0) {\n monitor_printf(mon, \"Streaming device %s: Completed %\" PRId64\n \" of %\" PRId64 \" bytes, speed limit %\" PRId64\n \" bytes/s\\n\",\n list->value->device,\n list->value->offset,\n list->value->len,\n list->value->speed);\n } else {\n monitor_printf(mon, \"Type %s, device %s: Completed %\" PRId64\n \" of %\" PRId64 \" bytes, speed limit %\" PRId64\n \" bytes/s\\n\",\n list->value->type,\n list->value->device,\n list->value->offset,\n list->value->len,\n list->value->speed);\n }\n list = list->next;\n }\n}", "idx": 2148}203{"project": "FFmpeg", "commit_id": "ed1c83508ec920bfef773e3aa3ac1764a65826ec", "target": 0, "func": "static int atrim_filter_frame(AVFilterLink *inlink, AVFrame *frame)\n\n{\n\n AVFilterContext *ctx = inlink->dst;\n\n TrimContext *s = ctx->priv;\n\n int64_t start_sample, end_sample = frame->nb_samples;\n\n int64_t pts;\n\n int drop;\n\n\n\n /* drop everything if EOF has already been returned */\n\n if (s->eof) {\n\n av_frame_free(&frame);\n\n return 0;\n\n }\n\n\n\n if (frame->pts != AV_NOPTS_VALUE)\n\n pts = av_rescale_q(frame->pts, inlink->time_base,\n\n (AVRational){ 1, inlink->sample_rate });\n\n else\n\n pts = s->next_pts;\n\n s->next_pts = pts + frame->nb_samples;\n\n\n\n /* check if at least a part of the frame is after the start time */\n\n if (s->start_sample < 0 && s->start_pts == AV_NOPTS_VALUE) {\n\n start_sample = 0;\n\n } else {\n\n drop = 1;\n\n start_sample = frame->nb_samples;\n\n\n\n if (s->start_sample >= 0 &&\n\n s->nb_samples + frame->nb_samples > s->start_sample) {\n\n drop = 0;\n\n start_sample = FFMIN(start_sample, s->start_sample - s->nb_samples);\n\n }\n\n\n\n if (s->start_pts != AV_NOPTS_VALUE && pts != AV_NOPTS_VALUE &&\n\n pts + frame->nb_samples > s->start_pts) {\n\n drop = 0;\n\n start_sample = FFMIN(start_sample, s->start_pts - pts);\n\n }\n\n\n\n if (drop)\n\n goto drop;\n\n }\n\n\n\n if (s->first_pts == AV_NOPTS_VALUE)\n\n s->first_pts = pts + start_sample;\n\n\n\n /* check if at least a part of the frame is before the end time */\n\n if (s->end_sample == INT64_MAX && s->end_pts == AV_NOPTS_VALUE && !s->duration_tb) {\n\n end_sample = frame->nb_samples;\n\n } else {\n\n drop = 1;\n\n end_sample = 0;\n\n\n\n if (s->end_sample != INT64_MAX &&\n\n s->nb_samples < s->end_sample) {\n\n drop = 0;\n\n end_sample = FFMAX(end_sample, s->end_sample - s->nb_samples);\n\n }\n\n\n\n if (s->end_pts != AV_NOPTS_VALUE && pts != AV_NOPTS_VALUE &&\n\n pts < s->end_pts) {\n\n drop = 0;\n\n end_sample = FFMAX(end_sample, s->end_pts - pts);\n\n }\n\n\n\n if (s->duration_tb && pts - s->first_pts < s->duration_tb) {\n\n drop = 0;\n\n end_sample = FFMAX(end_sample, s->first_pts + s->duration_tb - pts);\n\n }\n\n\n\n if (drop) {\n\n s->eof = 1;\n\n goto drop;\n\n }\n\n }\n\n\n\n s->nb_samples += frame->nb_samples;\n\n start_sample = FFMAX(0, start_sample);\n\n end_sample = FFMIN(frame->nb_samples, end_sample);\n\n av_assert0(start_sample < end_sample);\n\n\n\n if (start_sample) {\n\n AVFrame *out = ff_get_audio_buffer(ctx->outputs[0], end_sample - start_sample);\n\n if (!out) {\n\n av_frame_free(&frame);\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n av_frame_copy_props(out, frame);\n\n av_samples_copy(out->extended_data, frame->extended_data, 0, start_sample,\n\n out->nb_samples, av_get_channel_layout_nb_channels(frame->channel_layout),\n\n frame->format);\n\n if (out->pts != AV_NOPTS_VALUE)\n\n out->pts += av_rescale_q(start_sample, (AVRational){ 1, out->sample_rate },\n\n inlink->time_base);\n\n\n\n av_frame_free(&frame);\n\n frame = out;\n\n } else\n\n frame->nb_samples = end_sample;\n\n\n\n s->got_output = 1;\n\n return ff_filter_frame(ctx->outputs[0], frame);\n\n\n\ndrop:\n\n s->nb_samples += frame->nb_samples;\n\n av_frame_free(&frame);\n\n return 0;\n\n}\n", "idx": 2157}204{"project": "qemu", "commit_id": "eabb7b91b36b202b4dac2df2d59d698e3aff197a", "target": 0, "func": "static void tcg_reg_alloc_call(TCGContext *s, int nb_oargs, int nb_iargs,\n\n const TCGArg * const args, uint16_t dead_args,\n\n uint8_t sync_args)\n\n{\n\n int flags, nb_regs, i;\n\n TCGReg reg;\n\n TCGArg arg;\n\n TCGTemp *ts;\n\n intptr_t stack_offset;\n\n size_t call_stack_size;\n\n tcg_insn_unit *func_addr;\n\n int allocate_args;\n\n TCGRegSet allocated_regs;\n\n\n\n func_addr = (tcg_insn_unit *)(intptr_t)args[nb_oargs + nb_iargs];\n\n flags = args[nb_oargs + nb_iargs + 1];\n\n\n\n nb_regs = ARRAY_SIZE(tcg_target_call_iarg_regs);\n\n if (nb_regs > nb_iargs) {\n\n nb_regs = nb_iargs;\n\n }\n\n\n\n /* assign stack slots first */\n\n call_stack_size = (nb_iargs - nb_regs) * sizeof(tcg_target_long);\n\n call_stack_size = (call_stack_size + TCG_TARGET_STACK_ALIGN - 1) & \n\n ~(TCG_TARGET_STACK_ALIGN - 1);\n\n allocate_args = (call_stack_size > TCG_STATIC_CALL_ARGS_SIZE);\n\n if (allocate_args) {\n\n /* XXX: if more than TCG_STATIC_CALL_ARGS_SIZE is needed,\n\n preallocate call stack */\n\n tcg_abort();\n\n }\n\n\n\n stack_offset = TCG_TARGET_CALL_STACK_OFFSET;\n\n for(i = nb_regs; i < nb_iargs; i++) {\n\n arg = args[nb_oargs + i];\n\n#ifdef TCG_TARGET_STACK_GROWSUP\n\n stack_offset -= sizeof(tcg_target_long);\n\n#endif\n\n if (arg != TCG_CALL_DUMMY_ARG) {\n\n ts = &s->temps[arg];\n\n temp_load(s, ts, tcg_target_available_regs[ts->type],\n\n s->reserved_regs);\n\n tcg_out_st(s, ts->type, ts->reg, TCG_REG_CALL_STACK, stack_offset);\n\n }\n\n#ifndef TCG_TARGET_STACK_GROWSUP\n\n stack_offset += sizeof(tcg_target_long);\n\n#endif\n\n }\n\n \n\n /* assign input registers */\n\n tcg_regset_set(allocated_regs, s->reserved_regs);\n\n for(i = 0; i < nb_regs; i++) {\n\n arg = args[nb_oargs + i];\n\n if (arg != TCG_CALL_DUMMY_ARG) {\n\n ts = &s->temps[arg];\n\n reg = tcg_target_call_iarg_regs[i];\n\n tcg_reg_free(s, reg, allocated_regs);\n\n\n\n if (ts->val_type == TEMP_VAL_REG) {\n\n if (ts->reg != reg) {\n\n tcg_out_mov(s, ts->type, reg, ts->reg);\n\n }\n\n } else {\n\n TCGRegSet arg_set;\n\n\n\n tcg_regset_clear(arg_set);\n\n tcg_regset_set_reg(arg_set, reg);\n\n temp_load(s, ts, arg_set, allocated_regs);\n\n }\n\n\n\n tcg_regset_set_reg(allocated_regs, reg);\n\n }\n\n }\n\n \n\n /* mark dead temporaries and free the associated registers */\n\n for(i = nb_oargs; i < nb_iargs + nb_oargs; i++) {\n\n if (IS_DEAD_ARG(i)) {\n\n temp_dead(s, &s->temps[args[i]]);\n\n }\n\n }\n\n \n\n /* clobber call registers */\n\n for (i = 0; i < TCG_TARGET_NB_REGS; i++) {\n\n if (tcg_regset_test_reg(tcg_target_call_clobber_regs, i)) {\n\n tcg_reg_free(s, i, allocated_regs);\n\n }\n\n }\n\n\n\n /* Save globals if they might be written by the helper, sync them if\n\n they might be read. */\n\n if (flags & TCG_CALL_NO_READ_GLOBALS) {\n\n /* Nothing to do */\n\n } else if (flags & TCG_CALL_NO_WRITE_GLOBALS) {\n\n sync_globals(s, allocated_regs);\n\n } else {\n\n save_globals(s, allocated_regs);\n\n }\n\n\n\n tcg_out_call(s, func_addr);\n\n\n\n /* assign output registers and emit moves if needed */\n\n for(i = 0; i < nb_oargs; i++) {\n\n arg = args[i];\n\n ts = &s->temps[arg];\n\n reg = tcg_target_call_oarg_regs[i];\n\n assert(s->reg_to_temp[reg] == NULL);\n\n\n\n if (ts->fixed_reg) {\n\n if (ts->reg != reg) {\n\n tcg_out_mov(s, ts->type, ts->reg, reg);\n\n }\n\n } else {\n\n if (ts->val_type == TEMP_VAL_REG) {\n\n s->reg_to_temp[ts->reg] = NULL;\n\n }\n\n ts->val_type = TEMP_VAL_REG;\n\n ts->reg = reg;\n\n ts->mem_coherent = 0;\n\n s->reg_to_temp[reg] = ts;\n\n if (NEED_SYNC_ARG(i)) {\n\n tcg_reg_sync(s, reg, allocated_regs);\n\n }\n\n if (IS_DEAD_ARG(i)) {\n\n temp_dead(s, ts);\n\n }\n\n }\n\n }\n\n}\n", "idx": 2182}205{"project": "qemu", "commit_id": "838ef602498b8d1985a231a06f5e328e2946a81d", "target": 0, "func": "static void curl_multi_do(void *arg)\n\n{\n\n BDRVCURLState *s = (BDRVCURLState *)arg;\n\n int running;\n\n int r;\n\n\n\n if (!s->multi) {\n\n return;\n\n }\n\n\n\n do {\n\n r = curl_multi_socket_all(s->multi, &running);\n\n } while(r == CURLM_CALL_MULTI_PERFORM);\n\n\n\n curl_multi_read(s);\n\n}\n", "idx": 2187}206{"project": "FFmpeg", "commit_id": "f95cfff07765912676cc613b55e2234b5d70f1bd", "target": 0, "func": "static int ffserver_save_avoption(const char *opt, const char *arg, int type, FFServerConfig *config)\n\n{\n\n static int hinted = 0;\n\n int ret = 0;\n\n AVDictionaryEntry *e;\n\n const AVOption *o = NULL;\n\n const char *option = NULL;\n\n const char *codec_name = NULL;\n\n char buff[1024];\n\n AVCodecContext *ctx;\n\n AVDictionary **dict;\n\n enum AVCodecID guessed_codec_id;\n\n\n\n switch (type) {\n\n case AV_OPT_FLAG_VIDEO_PARAM:\n\n ctx = config->dummy_vctx;\n\n dict = &config->video_opts;\n\n guessed_codec_id = config->guessed_video_codec_id != AV_CODEC_ID_NONE ?\n\n config->guessed_video_codec_id : AV_CODEC_ID_H264;\n\n break;\n\n case AV_OPT_FLAG_AUDIO_PARAM:\n\n ctx = config->dummy_actx;\n\n dict = &config->audio_opts;\n\n guessed_codec_id = config->guessed_audio_codec_id != AV_CODEC_ID_NONE ?\n\n config->guessed_audio_codec_id : AV_CODEC_ID_AAC;\n\n break;\n\n default:\n\n av_assert0(0);\n\n }\n\n\n\n if (strchr(opt, ':')) {\n\n //explicit private option\n\n snprintf(buff, sizeof(buff), \"%s\", opt);\n\n codec_name = buff;\n\n option = strchr(buff, ':');\n\n buff[option - buff] = '\\0';\n\n option++;\n\n if ((ret = ffserver_set_codec(ctx, codec_name, config)) < 0)\n\n return ret;\n\n if (!ctx->codec || !ctx->priv_data)\n\n return -1;\n\n } else {\n\n option = opt;\n\n }\n\n\n\n o = av_opt_find(ctx, option, NULL, type | AV_OPT_FLAG_ENCODING_PARAM, AV_OPT_SEARCH_CHILDREN);\n\n if (!o && (!strcmp(option, \"time_base\") || !strcmp(option, \"pixel_format\") ||\n\n !strcmp(option, \"video_size\") || !strcmp(option, \"codec_tag\")))\n\n o = av_opt_find(ctx, option, NULL, 0, 0);\n\n if (!o) {\n\n report_config_error(config->filename, config->line_num, AV_LOG_ERROR,\n\n &config->errors, \"Option not found: %s\\n\", opt);\n\n if (!hinted && ctx->codec_id == AV_CODEC_ID_NONE) {\n\n hinted = 1;\n\n report_config_error(config->filename, config->line_num, AV_LOG_ERROR, NULL,\n\n \"If '%s' is a codec private option, then prefix it with codec name, \"\n\n \"for example '%s:%s %s' or define codec earlier.\\n\",\n\n opt, avcodec_get_name(guessed_codec_id) ,opt, arg);\n\n }\n\n } else if ((ret = av_opt_set(ctx, option, arg, AV_OPT_SEARCH_CHILDREN)) < 0) {\n\n report_config_error(config->filename, config->line_num, AV_LOG_ERROR,\n\n &config->errors, \"Invalid value for option %s (%s): %s\\n\", opt,\n\n arg, av_err2str(ret));\n\n } else if ((e = av_dict_get(*dict, option, NULL, 0))) {\n\n if ((o->type == AV_OPT_TYPE_FLAGS) && arg && (arg[0] == '+' || arg[0] == '-'))\n\n return av_dict_set(dict, option, arg, AV_DICT_APPEND);\n\n report_config_error(config->filename, config->line_num, AV_LOG_ERROR,\n\n &config->errors,\n\n \"Redeclaring value of the option %s, previous value: %s\\n\",\n\n opt, e->value);\n\n } else if (av_dict_set(dict, option, arg, 0) < 0) {\n\n return AVERROR(ENOMEM);\n\n }\n\n return 0;\n\n}\n", "idx": 2188}207{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static int decode_opc(MoxieCPU *cpu, DisasContext *ctx)\n\n{\n\n CPUMoxieState *env = &cpu->env;\n\n\n\n /* Local cache for the instruction opcode. */\n\n int opcode;\n\n /* Set the default instruction length. */\n\n int length = 2;\n\n\n\n if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {\n\n tcg_gen_debug_insn_start(ctx->pc);\n\n }\n\n\n\n /* Examine the 16-bit opcode. */\n\n opcode = ctx->opcode;\n\n\n\n /* Decode instruction. */\n\n if (opcode & (1 << 15)) {\n\n if (opcode & (1 << 14)) {\n\n /* This is a Form 3 instruction. */\n\n int inst = (opcode >> 10 & 0xf);\n\n\n\n#define BRANCH(cond) \\\n\n do { \\\n\n int l1 = gen_new_label(); \\\n\n tcg_gen_brcond_i32(cond, cc_a, cc_b, l1); \\\n\n gen_goto_tb(env, ctx, 1, ctx->pc+2); \\\n\n gen_set_label(l1); \\\n\n gen_goto_tb(env, ctx, 0, extract_branch_offset(opcode) + ctx->pc+2); \\\n\n ctx->bstate = BS_BRANCH; \\\n\n } while (0)\n\n\n\n switch (inst) {\n\n case 0x00: /* beq */\n\n BRANCH(TCG_COND_EQ);\n\n break;\n\n case 0x01: /* bne */\n\n BRANCH(TCG_COND_NE);\n\n break;\n\n case 0x02: /* blt */\n\n BRANCH(TCG_COND_LT);\n\n break;\n\n case 0x03: /* bgt */\n\n BRANCH(TCG_COND_GT);\n\n break;\n\n case 0x04: /* bltu */\n\n BRANCH(TCG_COND_LTU);\n\n break;\n\n case 0x05: /* bgtu */\n\n BRANCH(TCG_COND_GTU);\n\n break;\n\n case 0x06: /* bge */\n\n BRANCH(TCG_COND_GE);\n\n break;\n\n case 0x07: /* ble */\n\n BRANCH(TCG_COND_LE);\n\n break;\n\n case 0x08: /* bgeu */\n\n BRANCH(TCG_COND_GEU);\n\n break;\n\n case 0x09: /* bleu */\n\n BRANCH(TCG_COND_LEU);\n\n break;\n\n default:\n\n {\n\n TCGv temp = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n tcg_gen_movi_i32(temp, MOXIE_EX_BAD);\n\n gen_helper_raise_exception(cpu_env, temp);\n\n tcg_temp_free_i32(temp);\n\n }\n\n break;\n\n }\n\n } else {\n\n /* This is a Form 2 instruction. */\n\n int inst = (opcode >> 12 & 0x3);\n\n switch (inst) {\n\n case 0x00: /* inc */\n\n {\n\n int a = (opcode >> 8) & 0xf;\n\n unsigned int v = (opcode & 0xff);\n\n tcg_gen_addi_i32(REG(a), REG(a), v);\n\n }\n\n break;\n\n case 0x01: /* dec */\n\n {\n\n int a = (opcode >> 8) & 0xf;\n\n unsigned int v = (opcode & 0xff);\n\n tcg_gen_subi_i32(REG(a), REG(a), v);\n\n }\n\n break;\n\n case 0x02: /* gsr */\n\n {\n\n int a = (opcode >> 8) & 0xf;\n\n unsigned v = (opcode & 0xff);\n\n tcg_gen_ld_i32(REG(a), cpu_env,\n\n offsetof(CPUMoxieState, sregs[v]));\n\n }\n\n break;\n\n case 0x03: /* ssr */\n\n {\n\n int a = (opcode >> 8) & 0xf;\n\n unsigned v = (opcode & 0xff);\n\n tcg_gen_st_i32(REG(a), cpu_env,\n\n offsetof(CPUMoxieState, sregs[v]));\n\n }\n\n break;\n\n default:\n\n {\n\n TCGv temp = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n tcg_gen_movi_i32(temp, MOXIE_EX_BAD);\n\n gen_helper_raise_exception(cpu_env, temp);\n\n tcg_temp_free_i32(temp);\n\n }\n\n break;\n\n }\n\n }\n\n } else {\n\n /* This is a Form 1 instruction. */\n\n int inst = opcode >> 8;\n\n switch (inst) {\n\n case 0x00: /* nop */\n\n break;\n\n case 0x01: /* ldi.l (immediate) */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n int val = cpu_ldl_code(env, ctx->pc+2);\n\n tcg_gen_movi_i32(REG(reg), val);\n\n length = 6;\n\n }\n\n break;\n\n case 0x02: /* mov (register-to-register) */\n\n {\n\n int dest = (opcode >> 4) & 0xf;\n\n int src = opcode & 0xf;\n\n tcg_gen_mov_i32(REG(dest), REG(src));\n\n }\n\n break;\n\n case 0x03: /* jsra */\n\n {\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n\n\n tcg_gen_movi_i32(t1, ctx->pc + 6);\n\n\n\n /* Make space for the static chain and return address. */\n\n tcg_gen_subi_i32(t2, REG(1), 8);\n\n tcg_gen_mov_i32(REG(1), t2);\n\n tcg_gen_qemu_st32(t1, REG(1), ctx->memidx);\n\n\n\n /* Push the current frame pointer. */\n\n tcg_gen_subi_i32(t2, REG(1), 4);\n\n tcg_gen_mov_i32(REG(1), t2);\n\n tcg_gen_qemu_st32(REG(0), REG(1), ctx->memidx);\n\n\n\n /* Set the pc and $fp. */\n\n tcg_gen_mov_i32(REG(0), REG(1));\n\n\n\n gen_goto_tb(env, ctx, 0, cpu_ldl_code(env, ctx->pc+2));\n\n\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n ctx->bstate = BS_BRANCH;\n\n length = 6;\n\n }\n\n break;\n\n case 0x04: /* ret */\n\n {\n\n TCGv t1 = tcg_temp_new_i32();\n\n\n\n /* The new $sp is the old $fp. */\n\n tcg_gen_mov_i32(REG(1), REG(0));\n\n\n\n /* Pop the frame pointer. */\n\n tcg_gen_qemu_ld32u(REG(0), REG(1), ctx->memidx);\n\n tcg_gen_addi_i32(t1, REG(1), 4);\n\n tcg_gen_mov_i32(REG(1), t1);\n\n\n\n\n\n /* Pop the return address and skip over the static chain\n\n slot. */\n\n tcg_gen_qemu_ld32u(cpu_pc, REG(1), ctx->memidx);\n\n tcg_gen_addi_i32(t1, REG(1), 8);\n\n tcg_gen_mov_i32(REG(1), t1);\n\n\n\n tcg_temp_free_i32(t1);\n\n\n\n /* Jump... */\n\n tcg_gen_exit_tb(0);\n\n\n\n ctx->bstate = BS_BRANCH;\n\n }\n\n break;\n\n case 0x05: /* add.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_add_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x06: /* push */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n tcg_gen_subi_i32(t1, REG(a), 4);\n\n tcg_gen_mov_i32(REG(a), t1);\n\n tcg_gen_qemu_st32(REG(b), REG(a), ctx->memidx);\n\n tcg_temp_free_i32(t1);\n\n }\n\n break;\n\n case 0x07: /* pop */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n TCGv t1 = tcg_temp_new_i32();\n\n\n\n tcg_gen_qemu_ld32u(REG(b), REG(a), ctx->memidx);\n\n tcg_gen_addi_i32(t1, REG(a), 4);\n\n tcg_gen_mov_i32(REG(a), t1);\n\n tcg_temp_free_i32(t1);\n\n }\n\n break;\n\n case 0x08: /* lda.l */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n\n\n TCGv ptr = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(ptr, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_ld32u(REG(reg), ptr, ctx->memidx);\n\n tcg_temp_free_i32(ptr);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x09: /* sta.l */\n\n {\n\n int val = (opcode >> 4) & 0xf;\n\n\n\n TCGv ptr = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(ptr, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_st32(REG(val), ptr, ctx->memidx);\n\n tcg_temp_free_i32(ptr);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x0a: /* ld.l (register indirect) */\n\n {\n\n int src = opcode & 0xf;\n\n int dest = (opcode >> 4) & 0xf;\n\n\n\n tcg_gen_qemu_ld32u(REG(dest), REG(src), ctx->memidx);\n\n }\n\n break;\n\n case 0x0b: /* st.l */\n\n {\n\n int dest = (opcode >> 4) & 0xf;\n\n int val = opcode & 0xf;\n\n\n\n tcg_gen_qemu_st32(REG(val), REG(dest), ctx->memidx);\n\n }\n\n break;\n\n case 0x0c: /* ldo.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n tcg_gen_addi_i32(t1, REG(b), cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_ld32u(t2, t1, ctx->memidx);\n\n tcg_gen_mov_i32(REG(a), t2);\n\n\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x0d: /* sto.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n tcg_gen_addi_i32(t1, REG(a), cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_st32(REG(b), t1, ctx->memidx);\n\n\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x0e: /* cmp */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_mov_i32(cc_a, REG(a));\n\n tcg_gen_mov_i32(cc_b, REG(b));\n\n }\n\n break;\n\n case 0x19: /* jsr */\n\n {\n\n int fnreg = (opcode >> 4) & 0xf;\n\n\n\n /* Load the stack pointer into T0. */\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n\n\n tcg_gen_movi_i32(t1, ctx->pc+2);\n\n\n\n /* Make space for the static chain and return address. */\n\n tcg_gen_subi_i32(t2, REG(1), 8);\n\n tcg_gen_mov_i32(REG(1), t2);\n\n tcg_gen_qemu_st32(t1, REG(1), ctx->memidx);\n\n\n\n /* Push the current frame pointer. */\n\n tcg_gen_subi_i32(t2, REG(1), 4);\n\n tcg_gen_mov_i32(REG(1), t2);\n\n tcg_gen_qemu_st32(REG(0), REG(1), ctx->memidx);\n\n\n\n /* Set the pc and $fp. */\n\n tcg_gen_mov_i32(REG(0), REG(1));\n\n tcg_gen_mov_i32(cpu_pc, REG(fnreg));\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n tcg_gen_exit_tb(0);\n\n ctx->bstate = BS_BRANCH;\n\n }\n\n break;\n\n case 0x1a: /* jmpa */\n\n {\n\n tcg_gen_movi_i32(cpu_pc, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_exit_tb(0);\n\n ctx->bstate = BS_BRANCH;\n\n length = 6;\n\n }\n\n break;\n\n case 0x1b: /* ldi.b (immediate) */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n int val = cpu_ldl_code(env, ctx->pc+2);\n\n tcg_gen_movi_i32(REG(reg), val);\n\n length = 6;\n\n }\n\n break;\n\n case 0x1c: /* ld.b (register indirect) */\n\n {\n\n int src = opcode & 0xf;\n\n int dest = (opcode >> 4) & 0xf;\n\n\n\n tcg_gen_qemu_ld8u(REG(dest), REG(src), ctx->memidx);\n\n }\n\n break;\n\n case 0x1d: /* lda.b */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n\n\n TCGv ptr = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(ptr, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_ld8u(REG(reg), ptr, ctx->memidx);\n\n tcg_temp_free_i32(ptr);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x1e: /* st.b */\n\n {\n\n int dest = (opcode >> 4) & 0xf;\n\n int val = opcode & 0xf;\n\n\n\n tcg_gen_qemu_st8(REG(val), REG(dest), ctx->memidx);\n\n }\n\n break;\n\n case 0x1f: /* sta.b */\n\n {\n\n int val = (opcode >> 4) & 0xf;\n\n\n\n TCGv ptr = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(ptr, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_st8(REG(val), ptr, ctx->memidx);\n\n tcg_temp_free_i32(ptr);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x20: /* ldi.s (immediate) */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n int val = cpu_ldl_code(env, ctx->pc+2);\n\n tcg_gen_movi_i32(REG(reg), val);\n\n length = 6;\n\n }\n\n break;\n\n case 0x21: /* ld.s (register indirect) */\n\n {\n\n int src = opcode & 0xf;\n\n int dest = (opcode >> 4) & 0xf;\n\n\n\n tcg_gen_qemu_ld16u(REG(dest), REG(src), ctx->memidx);\n\n }\n\n break;\n\n case 0x22: /* lda.s */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n\n\n TCGv ptr = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(ptr, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_ld16u(REG(reg), ptr, ctx->memidx);\n\n tcg_temp_free_i32(ptr);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x23: /* st.s */\n\n {\n\n int dest = (opcode >> 4) & 0xf;\n\n int val = opcode & 0xf;\n\n\n\n tcg_gen_qemu_st16(REG(val), REG(dest), ctx->memidx);\n\n }\n\n break;\n\n case 0x24: /* sta.s */\n\n {\n\n int val = (opcode >> 4) & 0xf;\n\n\n\n TCGv ptr = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(ptr, cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_st16(REG(val), ptr, ctx->memidx);\n\n tcg_temp_free_i32(ptr);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x25: /* jmp */\n\n {\n\n int reg = (opcode >> 4) & 0xf;\n\n tcg_gen_mov_i32(cpu_pc, REG(reg));\n\n tcg_gen_exit_tb(0);\n\n ctx->bstate = BS_BRANCH;\n\n }\n\n break;\n\n case 0x26: /* and */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_and_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x27: /* lshr */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv sv = tcg_temp_new_i32();\n\n tcg_gen_andi_i32(sv, REG(b), 0x1f);\n\n tcg_gen_shr_i32(REG(a), REG(a), sv);\n\n tcg_temp_free_i32(sv);\n\n }\n\n break;\n\n case 0x28: /* ashl */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv sv = tcg_temp_new_i32();\n\n tcg_gen_andi_i32(sv, REG(b), 0x1f);\n\n tcg_gen_shl_i32(REG(a), REG(a), sv);\n\n tcg_temp_free_i32(sv);\n\n }\n\n break;\n\n case 0x29: /* sub.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_sub_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x2a: /* neg */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_neg_i32(REG(a), REG(b));\n\n }\n\n break;\n\n case 0x2b: /* or */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_or_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x2c: /* not */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_not_i32(REG(a), REG(b));\n\n }\n\n break;\n\n case 0x2d: /* ashr */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv sv = tcg_temp_new_i32();\n\n tcg_gen_andi_i32(sv, REG(b), 0x1f);\n\n tcg_gen_sar_i32(REG(a), REG(a), sv);\n\n tcg_temp_free_i32(sv);\n\n }\n\n break;\n\n case 0x2e: /* xor */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_xor_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x2f: /* mul.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n tcg_gen_mul_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x30: /* swi */\n\n {\n\n int val = cpu_ldl_code(env, ctx->pc+2);\n\n\n\n TCGv temp = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(temp, val);\n\n tcg_gen_st_i32(temp, cpu_env,\n\n offsetof(CPUMoxieState, sregs[3]));\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n tcg_gen_movi_i32(temp, MOXIE_EX_SWI);\n\n gen_helper_raise_exception(cpu_env, temp);\n\n tcg_temp_free_i32(temp);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x31: /* div.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n gen_helper_div(REG(a), cpu_env, REG(a), REG(b));\n\n }\n\n break;\n\n case 0x32: /* udiv.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n gen_helper_udiv(REG(a), cpu_env, REG(a), REG(b));\n\n }\n\n break;\n\n case 0x33: /* mod.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n tcg_gen_rem_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x34: /* umod.l */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n tcg_gen_remu_i32(REG(a), REG(a), REG(b));\n\n }\n\n break;\n\n case 0x35: /* brk */\n\n {\n\n TCGv temp = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n tcg_gen_movi_i32(temp, MOXIE_EX_BREAK);\n\n gen_helper_raise_exception(cpu_env, temp);\n\n tcg_temp_free_i32(temp);\n\n }\n\n break;\n\n case 0x36: /* ldo.b */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n tcg_gen_addi_i32(t1, REG(b), cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_ld8u(t2, t1, ctx->memidx);\n\n tcg_gen_mov_i32(REG(a), t2);\n\n\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x37: /* sto.b */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n tcg_gen_addi_i32(t1, REG(a), cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_st8(REG(b), t1, ctx->memidx);\n\n\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x38: /* ldo.s */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n tcg_gen_addi_i32(t1, REG(b), cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_ld16u(t2, t1, ctx->memidx);\n\n tcg_gen_mov_i32(REG(a), t2);\n\n\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n length = 6;\n\n }\n\n break;\n\n case 0x39: /* sto.s */\n\n {\n\n int a = (opcode >> 4) & 0xf;\n\n int b = opcode & 0xf;\n\n\n\n TCGv t1 = tcg_temp_new_i32();\n\n TCGv t2 = tcg_temp_new_i32();\n\n tcg_gen_addi_i32(t1, REG(a), cpu_ldl_code(env, ctx->pc+2));\n\n tcg_gen_qemu_st16(REG(b), t1, ctx->memidx);\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n\n\n length = 6;\n\n }\n\n break;\n\n default:\n\n {\n\n TCGv temp = tcg_temp_new_i32();\n\n tcg_gen_movi_i32(cpu_pc, ctx->pc);\n\n tcg_gen_movi_i32(temp, MOXIE_EX_BAD);\n\n gen_helper_raise_exception(cpu_env, temp);\n\n tcg_temp_free_i32(temp);\n\n }\n\n break;\n\n }\n\n }\n\n\n\n return length;\n\n}\n", "idx": 2190}208{"project": "qemu", "commit_id": "eabb7b91b36b202b4dac2df2d59d698e3aff197a", "target": 0, "func": "static void tcg_out_opc(TCGContext *s, int opc, int r, int rm, int x)\n\n{\n\n int rex;\n\n\n\n if (opc & P_GS) {\n\n tcg_out8(s, 0x65);\n\n }\n\n if (opc & P_DATA16) {\n\n /* We should never be asking for both 16 and 64-bit operation. */\n\n assert((opc & P_REXW) == 0);\n\n tcg_out8(s, 0x66);\n\n }\n\n if (opc & P_ADDR32) {\n\n tcg_out8(s, 0x67);\n\n }\n\n\n\n rex = 0;\n\n rex |= (opc & P_REXW) ? 0x8 : 0x0; /* REX.W */\n\n rex |= (r & 8) >> 1; /* REX.R */\n\n rex |= (x & 8) >> 2; /* REX.X */\n\n rex |= (rm & 8) >> 3; /* REX.B */\n\n\n\n /* P_REXB_{R,RM} indicates that the given register is the low byte.\n\n For %[abcd]l we need no REX prefix, but for %{si,di,bp,sp}l we do,\n\n as otherwise the encoding indicates %[abcd]h. Note that the values\n\n that are ORed in merely indicate that the REX byte must be present;\n\n those bits get discarded in output. */\n\n rex |= opc & (r >= 4 ? P_REXB_R : 0);\n\n rex |= opc & (rm >= 4 ? P_REXB_RM : 0);\n\n\n\n if (rex) {\n\n tcg_out8(s, (uint8_t)(rex | 0x40));\n\n }\n\n\n\n if (opc & (P_EXT | P_EXT38)) {\n\n tcg_out8(s, 0x0f);\n\n if (opc & P_EXT38) {\n\n tcg_out8(s, 0x38);\n\n }\n\n }\n\n\n\n tcg_out8(s, opc);\n\n}\n", "idx": 2195}209{"project": "qemu", "commit_id": "d0d5d0e31a874d592741a088c2c5071bae164dbf", "target": 1, "func": "qcow2_co_pwritev_compressed(BlockDriverState *bs, uint64_t offset,\n\n uint64_t bytes, QEMUIOVector *qiov)\n\n{\n\n BDRVQcow2State *s = bs->opaque;\n\n QEMUIOVector hd_qiov;\n\n struct iovec iov;\n\n z_stream strm;\n\n int ret, out_len;\n\n uint8_t *buf, *out_buf;\n\n uint64_t cluster_offset;\n\n\n\n if (bytes == 0) {\n\n /* align end of file to a sector boundary to ease reading with\n\n sector based I/Os */\n\n cluster_offset = bdrv_getlength(bs->file->bs);\n\n return bdrv_truncate(bs->file, cluster_offset, PREALLOC_MODE_OFF, NULL);\n\n }\n\n\n\n buf = qemu_blockalign(bs, s->cluster_size);\n\n if (bytes != s->cluster_size) {\n\n if (bytes > s->cluster_size ||\n\n offset + bytes != bs->total_sectors << BDRV_SECTOR_BITS)\n\n {\n\n qemu_vfree(buf);\n\n return -EINVAL;\n\n }\n\n /* Zero-pad last write if image size is not cluster aligned */\n\n memset(buf + bytes, 0, s->cluster_size - bytes);\n\n }\n\n qemu_iovec_to_buf(qiov, 0, buf, bytes);\n\n\n\n out_buf = g_malloc(s->cluster_size);\n\n\n\n /* best compression, small window, no zlib header */\n\n memset(&strm, 0, sizeof(strm));\n\n ret = deflateInit2(&strm, Z_DEFAULT_COMPRESSION,\n\n Z_DEFLATED, -12,\n\n 9, Z_DEFAULT_STRATEGY);\n\n if (ret != 0) {\n\n ret = -EINVAL;\n\n goto fail;\n\n }\n\n\n\n strm.avail_in = s->cluster_size;\n\n strm.next_in = (uint8_t *)buf;\n\n strm.avail_out = s->cluster_size;\n\n strm.next_out = out_buf;\n\n\n\n ret = deflate(&strm, Z_FINISH);\n\n if (ret != Z_STREAM_END && ret != Z_OK) {\n\n deflateEnd(&strm);\n\n ret = -EINVAL;\n\n goto fail;\n\n }\n\n out_len = strm.next_out - out_buf;\n\n\n\n deflateEnd(&strm);\n\n\n\n if (ret != Z_STREAM_END || out_len >= s->cluster_size) {\n\n /* could not compress: write normal cluster */\n\n ret = qcow2_co_pwritev(bs, offset, bytes, qiov, 0);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n goto success;\n\n }\n\n\n\n qemu_co_mutex_lock(&s->lock);\n\n cluster_offset =\n\n qcow2_alloc_compressed_cluster_offset(bs, offset, out_len);\n\n if (!cluster_offset) {\n\n qemu_co_mutex_unlock(&s->lock);\n\n ret = -EIO;\n\n goto fail;\n\n }\n\n cluster_offset &= s->cluster_offset_mask;\n\n\n\n ret = qcow2_pre_write_overlap_check(bs, 0, cluster_offset, out_len);\n\n qemu_co_mutex_unlock(&s->lock);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n iov = (struct iovec) {\n\n .iov_base = out_buf,\n\n .iov_len = out_len,\n\n };\n\n qemu_iovec_init_external(&hd_qiov, &iov, 1);\n\n\n\n BLKDBG_EVENT(bs->file, BLKDBG_WRITE_COMPRESSED);\n\n ret = bdrv_co_pwritev(bs->file, cluster_offset, out_len, &hd_qiov, 0);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\nsuccess:\n\n ret = 0;\n\nfail:\n\n qemu_vfree(buf);\n\n g_free(out_buf);\n\n return ret;\n\n}\n", "idx": 2213}210{"project": "qemu", "commit_id": "9b2fadda3e0196ffd485adde4fe9cdd6fae35300", "target": 1, "func": "static void gen_mfrom(DisasContext *ctx)\n\n{\n\n#if defined(CONFIG_USER_ONLY)\n\n gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC);\n\n#else\n\n if (unlikely(ctx->pr)) {\n\n gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC);\n\n return;\n\n }\n\n gen_helper_602_mfrom(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);\n\n#endif\n\n}\n", "idx": 2229}211{"project": "FFmpeg", "commit_id": "d1adad3cca407f493c3637e20ecd4f7124e69212", "target": 0, "func": "static inline void RENAME(yuv422ptouyvy)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst,\n\n long width, long height,\n\n long lumStride, long chromStride, long dstStride)\n\n{\n\n RENAME(yuvPlanartouyvy)(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride, 1);\n\n}\n", "idx": 2246}212{"project": "qemu", "commit_id": "dfd100f242370886bb6732f70f1f7cbd8eb9fedc", "target": 0, "func": "static gboolean ga_channel_open(GAChannel *c, const gchar *path,\n\n GAChannelMethod method, int fd)\n\n{\n\n int ret;\n\n c->method = method;\n\n\n\n switch (c->method) {\n\n case GA_CHANNEL_VIRTIO_SERIAL: {\n\n assert(fd < 0);\n\n fd = qemu_open(path, O_RDWR | O_NONBLOCK\n\n#ifndef CONFIG_SOLARIS\n\n | O_ASYNC\n\n#endif\n\n );\n\n if (fd == -1) {\n\n g_critical(\"error opening channel: %s\", strerror(errno));\n\n return false;\n\n }\n\n#ifdef CONFIG_SOLARIS\n\n ret = ioctl(fd, I_SETSIG, S_OUTPUT | S_INPUT | S_HIPRI);\n\n if (ret == -1) {\n\n g_critical(\"error setting event mask for channel: %s\",\n\n strerror(errno));\n\n close(fd);\n\n return false;\n\n }\n\n#endif\n\n ret = ga_channel_client_add(c, fd);\n\n if (ret) {\n\n g_critical(\"error adding channel to main loop\");\n\n close(fd);\n\n return false;\n\n }\n\n break;\n\n }\n\n case GA_CHANNEL_ISA_SERIAL: {\n\n struct termios tio;\n\n\n\n assert(fd < 0);\n\n fd = qemu_open(path, O_RDWR | O_NOCTTY | O_NONBLOCK);\n\n if (fd == -1) {\n\n g_critical(\"error opening channel: %s\", strerror(errno));\n\n return false;\n\n }\n\n tcgetattr(fd, &tio);\n\n /* set up serial port for non-canonical, dumb byte streaming */\n\n tio.c_iflag &= ~(IGNBRK | BRKINT | IGNPAR | PARMRK | INPCK | ISTRIP |\n\n INLCR | IGNCR | ICRNL | IXON | IXOFF | IXANY |\n\n IMAXBEL);\n\n tio.c_oflag = 0;\n\n tio.c_lflag = 0;\n\n tio.c_cflag |= GA_CHANNEL_BAUDRATE_DEFAULT;\n\n /* 1 available byte min or reads will block (we'll set non-blocking\n\n * elsewhere, else we have to deal with read()=0 instead)\n\n */\n\n tio.c_cc[VMIN] = 1;\n\n tio.c_cc[VTIME] = 0;\n\n /* flush everything waiting for read/xmit, it's garbage at this point */\n\n tcflush(fd, TCIFLUSH);\n\n tcsetattr(fd, TCSANOW, &tio);\n\n ret = ga_channel_client_add(c, fd);\n\n if (ret) {\n\n g_critical(\"error adding channel to main loop\");\n\n close(fd);\n\n return false;\n\n }\n\n break;\n\n }\n\n case GA_CHANNEL_UNIX_LISTEN: {\n\n if (fd < 0) {\n\n Error *local_err = NULL;\n\n\n\n fd = unix_listen(path, NULL, strlen(path), &local_err);\n\n if (local_err != NULL) {\n\n g_critical(\"%s\", error_get_pretty(local_err));\n\n error_free(local_err);\n\n return false;\n\n }\n\n }\n\n ga_channel_listen_add(c, fd, true);\n\n break;\n\n }\n\n case GA_CHANNEL_VSOCK_LISTEN: {\n\n if (fd < 0) {\n\n Error *local_err = NULL;\n\n SocketAddress *addr;\n\n char *addr_str;\n\n\n\n addr_str = g_strdup_printf(\"vsock:%s\", path);\n\n addr = socket_parse(addr_str, &local_err);\n\n g_free(addr_str);\n\n if (local_err != NULL) {\n\n g_critical(\"%s\", error_get_pretty(local_err));\n\n error_free(local_err);\n\n return false;\n\n }\n\n\n\n fd = socket_listen(addr, &local_err);\n\n qapi_free_SocketAddress(addr);\n\n if (local_err != NULL) {\n\n g_critical(\"%s\", error_get_pretty(local_err));\n\n error_free(local_err);\n\n return false;\n\n }\n\n }\n\n ga_channel_listen_add(c, fd, true);\n\n break;\n\n }\n\n default:\n\n g_critical(\"error binding/listening to specified socket\");\n\n return false;\n\n }\n\n\n\n return true;\n\n}\n", "idx": 2265}213{"project": "qemu", "commit_id": "17ad9b358bceba78ae80f2963c6036eab726010c", "target": 0, "func": "static int ram_save_block(QEMUFile *f)\n\n{\n\n RAMBlock *block = last_block;\n\n ram_addr_t offset = last_offset;\n\n int bytes_sent = -1;\n\n MemoryRegion *mr;\n\n\n\n if (!block)\n\n block = QLIST_FIRST(&ram_list.blocks);\n\n\n\n do {\n\n mr = block->mr;\n\n if (memory_region_get_dirty(mr, offset, TARGET_PAGE_SIZE,\n\n DIRTY_MEMORY_MIGRATION)) {\n\n uint8_t *p;\n\n int cont = (block == last_block) ? RAM_SAVE_FLAG_CONTINUE : 0;\n\n\n\n memory_region_reset_dirty(mr, offset, TARGET_PAGE_SIZE,\n\n DIRTY_MEMORY_MIGRATION);\n\n\n\n p = memory_region_get_ram_ptr(mr) + offset;\n\n\n\n if (is_dup_page(p)) {\n\n save_block_hdr(f, block, offset, cont, RAM_SAVE_FLAG_COMPRESS);\n\n qemu_put_byte(f, *p);\n\n bytes_sent = 1;\n\n } else {\n\n save_block_hdr(f, block, offset, cont, RAM_SAVE_FLAG_PAGE);\n\n qemu_put_buffer(f, p, TARGET_PAGE_SIZE);\n\n bytes_sent = TARGET_PAGE_SIZE;\n\n }\n\n\n\n break;\n\n }\n\n\n\n offset += TARGET_PAGE_SIZE;\n\n if (offset >= block->length) {\n\n offset = 0;\n\n block = QLIST_NEXT(block, next);\n\n if (!block)\n\n block = QLIST_FIRST(&ram_list.blocks);\n\n }\n\n } while (block != last_block || offset != last_offset);\n\n\n\n last_block = block;\n\n last_offset = offset;\n\n\n\n return bytes_sent;\n\n}\n", "idx": 2280}214{"project": "qemu", "commit_id": "eb700029c7836798046191d62d595363d92c84d4", "target": 0, "func": "bool net_tx_pkt_add_raw_fragment(struct NetTxPkt *pkt, hwaddr pa,\n\n size_t len)\n\n{\n\n hwaddr mapped_len = 0;\n\n struct iovec *ventry;\n\n assert(pkt);\n\n assert(pkt->max_raw_frags > pkt->raw_frags);\n\n\n\n if (!len) {\n\n return true;\n\n }\n\n\n\n ventry = &pkt->raw[pkt->raw_frags];\n\n mapped_len = len;\n\n\n\n ventry->iov_base = cpu_physical_memory_map(pa, &mapped_len, false);\n\n ventry->iov_len = mapped_len;\n\n pkt->raw_frags += !!ventry->iov_base;\n\n\n\n if ((ventry->iov_base == NULL) || (len != mapped_len)) {\n\n return false;\n\n }\n\n\n\n return true;\n\n}\n", "idx": 2297}215{"project": "FFmpeg", "commit_id": "13a099799e89a76eb921ca452e1b04a7a28a9855", "target": 0, "func": "yuv2422_2_c_template(SwsContext *c, const uint16_t *buf0,\n\n const uint16_t *buf1, const uint16_t *ubuf0,\n\n const uint16_t *ubuf1, const uint16_t *vbuf0,\n\n const uint16_t *vbuf1, const uint16_t *abuf0,\n\n const uint16_t *abuf1, uint8_t *dest, int dstW,\n\n int yalpha, int uvalpha, int y,\n\n enum PixelFormat target)\n\n{\n\n int yalpha1 = 4095 - yalpha;\n\n int uvalpha1 = 4095 - uvalpha;\n\n int i;\n\n\n\n for (i = 0; i < (dstW >> 1); i++) {\n\n int Y1 = (buf0[i * 2] * yalpha1 + buf1[i * 2] * yalpha) >> 19;\n\n int Y2 = (buf0[i * 2 + 1] * yalpha1 + buf1[i * 2 + 1] * yalpha) >> 19;\n\n int U = (ubuf0[i] * uvalpha1 + ubuf1[i] * uvalpha) >> 19;\n\n int V = (vbuf0[i] * uvalpha1 + vbuf1[i] * uvalpha) >> 19;\n\n\n\n output_pixels(i * 4, Y1, U, Y2, V);\n\n }\n\n}\n", "idx": 2298}216{"project": "FFmpeg", "commit_id": "2207ea44fb4fad4d47646a789bc244e3e84c1726", "target": 0, "func": "static av_always_inline void emulated_edge_mc(uint8_t *buf, const uint8_t *src,\n\n int linesize,\n\n int block_w, int block_h,\n\n int src_x, int src_y,\n\n int w, int h,\n\n emu_edge_core_func *core_fn)\n\n{\n\n int start_y, start_x, end_y, end_x, src_y_add = 0;\n\n\n\n if (src_y >= h) {\n\n src_y_add = h - 1 - src_y;\n\n src_y = h - 1;\n\n } else if (src_y <= -block_h) {\n\n src_y_add = 1 - block_h - src_y;\n\n src_y = 1 - block_h;\n\n }\n\n if (src_x >= w) {\n\n src += w - 1 - src_x;\n\n src_x = w - 1;\n\n } else if (src_x <= -block_w) {\n\n src += 1 - block_w - src_x;\n\n src_x = 1 - block_w;\n\n }\n\n\n\n start_y = FFMAX(0, -src_y);\n\n start_x = FFMAX(0, -src_x);\n\n end_y = FFMIN(block_h, h-src_y);\n\n end_x = FFMIN(block_w, w-src_x);\n\n av_assert2(start_x < end_x && block_w > 0);\n\n av_assert2(start_y < end_y && block_h > 0);\n\n\n\n // fill in the to-be-copied part plus all above/below\n\n src += (src_y_add + start_y) * linesize + start_x;\n\n buf += start_x;\n\n core_fn(buf, src, linesize, start_y, end_y,\n\n block_h, start_x, end_x, block_w);\n\n}\n", "idx": 2300}217{"project": "FFmpeg", "commit_id": "e838c9852e6f0a471a6917083e70e6fe238ba26a", "target": 1, "func": "static av_cold int init_bundles(BinkContext *c)\n\n{\n\n int bw, bh, blocks;\n\n int i;\n\n\n\n bw = (c->avctx->width + 7) >> 3;\n\n bh = (c->avctx->height + 7) >> 3;\n\n blocks = bw * bh;\n\n\n\n for (i = 0; i < BINKB_NB_SRC; i++) {\n\n c->bundle[i].data = av_malloc(blocks * 64);\n\n if (!c->bundle[i].data)\n\n return AVERROR(ENOMEM);\n\n c->bundle[i].data_end = c->bundle[i].data + blocks * 64;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 2325}218{"project": "qemu", "commit_id": "cf29a570a7aa7abab66bf256fdf9540873590811", "target": 1, "func": "static void quorum_vote(QuorumAIOCB *acb)\n\n{\n\n bool quorum = true;\n\n int i, j, ret;\n\n QuorumVoteValue hash;\n\n BDRVQuorumState *s = acb->common.bs->opaque;\n\n QuorumVoteVersion *winner;\n\n\n\n if (quorum_has_too_much_io_failed(acb)) {\n\n return;\n\n }\n\n\n\n /* get the index of the first successful read */\n\n for (i = 0; i < s->num_children; i++) {\n\n if (!acb->qcrs[i].ret) {\n\n break;\n\n }\n\n }\n\n\n\n assert(i < s->num_children);\n\n\n\n /* compare this read with all other successful reads stopping at quorum\n\n * failure\n\n */\n\n for (j = i + 1; j < s->num_children; j++) {\n\n if (acb->qcrs[j].ret) {\n\n continue;\n\n }\n\n quorum = quorum_compare(acb, &acb->qcrs[i].qiov, &acb->qcrs[j].qiov);\n\n if (!quorum) {\n\n break;\n\n }\n\n }\n\n\n\n /* Every successful read agrees */\n\n if (quorum) {\n\n quorum_copy_qiov(acb->qiov, &acb->qcrs[i].qiov);\n\n return;\n\n }\n\n\n\n /* compute hashes for each successful read, also store indexes */\n\n for (i = 0; i < s->num_children; i++) {\n\n if (acb->qcrs[i].ret) {\n\n continue;\n\n }\n\n ret = quorum_compute_hash(acb, i, &hash);\n\n /* if ever the hash computation failed */\n\n if (ret < 0) {\n\n acb->vote_ret = ret;\n\n goto free_exit;\n\n }\n\n quorum_count_vote(&acb->votes, &hash, i);\n\n }\n\n\n\n /* vote to select the most represented version */\n\n winner = quorum_get_vote_winner(&acb->votes);\n\n\n\n /* if the winner count is smaller than threshold the read fails */\n\n if (winner->vote_count < s->threshold) {\n\n quorum_report_failure(acb);\n\n acb->vote_ret = -EIO;\n\n goto free_exit;\n\n }\n\n\n\n /* we have a winner: copy it */\n\n quorum_copy_qiov(acb->qiov, &acb->qcrs[winner->index].qiov);\n\n\n\n /* some versions are bad print them */\n\n quorum_report_bad_versions(s, acb, &winner->value);\n\n\n\nfree_exit:\n\n /* free lists */\n\n quorum_free_vote_list(&acb->votes);\n\n}\n", "idx": 2328}219{"project": "qemu", "commit_id": "f8ed85ac992c48814d916d5df4d44f9a971c5de4", "target": 1, "func": "static void stellaris_init(const char *kernel_filename, const char *cpu_model,\n\n stellaris_board_info *board)\n\n{\n\n static const int uart_irq[] = {5, 6, 33, 34};\n\n static const int timer_irq[] = {19, 21, 23, 35};\n\n static const uint32_t gpio_addr[7] =\n\n { 0x40004000, 0x40005000, 0x40006000, 0x40007000,\n\n 0x40024000, 0x40025000, 0x40026000};\n\n static const int gpio_irq[7] = {0, 1, 2, 3, 4, 30, 31};\n\n\n\n qemu_irq *pic;\n\n DeviceState *gpio_dev[7];\n\n qemu_irq gpio_in[7][8];\n\n qemu_irq gpio_out[7][8];\n\n qemu_irq adc;\n\n int sram_size;\n\n int flash_size;\n\n I2CBus *i2c;\n\n DeviceState *dev;\n\n int i;\n\n int j;\n\n\n\n MemoryRegion *sram = g_new(MemoryRegion, 1);\n\n MemoryRegion *flash = g_new(MemoryRegion, 1);\n\n MemoryRegion *system_memory = get_system_memory();\n\n\n\n flash_size = (((board->dc0 & 0xffff) + 1) << 1) * 1024;\n\n sram_size = ((board->dc0 >> 18) + 1) * 1024;\n\n\n\n /* Flash programming is done via the SCU, so pretend it is ROM. */\n\n memory_region_init_ram(flash, NULL, \"stellaris.flash\", flash_size,\n\n &error_abort);\n\n vmstate_register_ram_global(flash);\n\n memory_region_set_readonly(flash, true);\n\n memory_region_add_subregion(system_memory, 0, flash);\n\n\n\n memory_region_init_ram(sram, NULL, \"stellaris.sram\", sram_size,\n\n &error_abort);\n\n vmstate_register_ram_global(sram);\n\n memory_region_add_subregion(system_memory, 0x20000000, sram);\n\n\n\n pic = armv7m_init(system_memory, flash_size, NUM_IRQ_LINES,\n\n kernel_filename, cpu_model);\n\n\n\n if (board->dc1 & (1 << 16)) {\n\n dev = sysbus_create_varargs(TYPE_STELLARIS_ADC, 0x40038000,\n\n pic[14], pic[15], pic[16], pic[17], NULL);\n\n adc = qdev_get_gpio_in(dev, 0);\n\n } else {\n\n adc = NULL;\n\n }\n\n for (i = 0; i < 4; i++) {\n\n if (board->dc2 & (0x10000 << i)) {\n\n dev = sysbus_create_simple(TYPE_STELLARIS_GPTM,\n\n 0x40030000 + i * 0x1000,\n\n pic[timer_irq[i]]);\n\n /* TODO: This is incorrect, but we get away with it because\n\n the ADC output is only ever pulsed. */\n\n qdev_connect_gpio_out(dev, 0, adc);\n\n }\n\n }\n\n\n\n stellaris_sys_init(0x400fe000, pic[28], board, nd_table[0].macaddr.a);\n\n\n\n for (i = 0; i < 7; i++) {\n\n if (board->dc4 & (1 << i)) {\n\n gpio_dev[i] = sysbus_create_simple(\"pl061_luminary\", gpio_addr[i],\n\n pic[gpio_irq[i]]);\n\n for (j = 0; j < 8; j++) {\n\n gpio_in[i][j] = qdev_get_gpio_in(gpio_dev[i], j);\n\n gpio_out[i][j] = NULL;\n\n }\n\n }\n\n }\n\n\n\n if (board->dc2 & (1 << 12)) {\n\n dev = sysbus_create_simple(TYPE_STELLARIS_I2C, 0x40020000, pic[8]);\n\n i2c = (I2CBus *)qdev_get_child_bus(dev, \"i2c\");\n\n if (board->peripherals & BP_OLED_I2C) {\n\n i2c_create_slave(i2c, \"ssd0303\", 0x3d);\n\n }\n\n }\n\n\n\n for (i = 0; i < 4; i++) {\n\n if (board->dc2 & (1 << i)) {\n\n sysbus_create_simple(\"pl011_luminary\", 0x4000c000 + i * 0x1000,\n\n pic[uart_irq[i]]);\n\n }\n\n }\n\n if (board->dc2 & (1 << 4)) {\n\n dev = sysbus_create_simple(\"pl022\", 0x40008000, pic[7]);\n\n if (board->peripherals & BP_OLED_SSI) {\n\n void *bus;\n\n DeviceState *sddev;\n\n DeviceState *ssddev;\n\n\n\n /* Some boards have both an OLED controller and SD card connected to\n\n * the same SSI port, with the SD card chip select connected to a\n\n * GPIO pin. Technically the OLED chip select is connected to the\n\n * SSI Fss pin. We do not bother emulating that as both devices\n\n * should never be selected simultaneously, and our OLED controller\n\n * ignores stray 0xff commands that occur when deselecting the SD\n\n * card.\n\n */\n\n bus = qdev_get_child_bus(dev, \"ssi\");\n\n\n\n sddev = ssi_create_slave(bus, \"ssi-sd\");\n\n ssddev = ssi_create_slave(bus, \"ssd0323\");\n\n gpio_out[GPIO_D][0] = qemu_irq_split(\n\n qdev_get_gpio_in_named(sddev, SSI_GPIO_CS, 0),\n\n qdev_get_gpio_in_named(ssddev, SSI_GPIO_CS, 0));\n\n gpio_out[GPIO_C][7] = qdev_get_gpio_in(ssddev, 0);\n\n\n\n /* Make sure the select pin is high. */\n\n qemu_irq_raise(gpio_out[GPIO_D][0]);\n\n }\n\n }\n\n if (board->dc4 & (1 << 28)) {\n\n DeviceState *enet;\n\n\n\n qemu_check_nic_model(&nd_table[0], \"stellaris\");\n\n\n\n enet = qdev_create(NULL, \"stellaris_enet\");\n\n qdev_set_nic_properties(enet, &nd_table[0]);\n\n qdev_init_nofail(enet);\n\n sysbus_mmio_map(SYS_BUS_DEVICE(enet), 0, 0x40048000);\n\n sysbus_connect_irq(SYS_BUS_DEVICE(enet), 0, pic[42]);\n\n }\n\n if (board->peripherals & BP_GAMEPAD) {\n\n qemu_irq gpad_irq[5];\n\n static const int gpad_keycode[5] = { 0xc8, 0xd0, 0xcb, 0xcd, 0x1d };\n\n\n\n gpad_irq[0] = qemu_irq_invert(gpio_in[GPIO_E][0]); /* up */\n\n gpad_irq[1] = qemu_irq_invert(gpio_in[GPIO_E][1]); /* down */\n\n gpad_irq[2] = qemu_irq_invert(gpio_in[GPIO_E][2]); /* left */\n\n gpad_irq[3] = qemu_irq_invert(gpio_in[GPIO_E][3]); /* right */\n\n gpad_irq[4] = qemu_irq_invert(gpio_in[GPIO_F][1]); /* select */\n\n\n\n stellaris_gamepad_init(5, gpad_irq, gpad_keycode);\n\n }\n\n for (i = 0; i < 7; i++) {\n\n if (board->dc4 & (1 << i)) {\n\n for (j = 0; j < 8; j++) {\n\n if (gpio_out[i][j]) {\n\n qdev_connect_gpio_out(gpio_dev[i], j, gpio_out[i][j]);\n\n }\n\n }\n\n }\n\n }\n\n}\n", "idx": 2329}220{"project": "qemu", "commit_id": "6658ffb81ee56a510d7d77025872a508a9adce3a", "target": 1, "func": "void cpu_exec_init(CPUState *env)\n\n{\n\n CPUState **penv;\n\n int cpu_index;\n\n\n\n if (!code_gen_ptr) {\n\n code_gen_ptr = code_gen_buffer;\n\n page_init();\n\n io_mem_init();\n\n }\n\n env->next_cpu = NULL;\n\n penv = &first_cpu;\n\n cpu_index = 0;\n\n while (*penv != NULL) {\n\n penv = (CPUState **)&(*penv)->next_cpu;\n\n cpu_index++;\n\n }\n\n env->cpu_index = cpu_index;\n\n\n *penv = env;\n\n}", "idx": 2334}221{"project": "FFmpeg", "commit_id": "6e42e6c4b410dbef8b593c2d796a5dad95f89ee4", "target": 1, "func": "static inline void RENAME(yuv422ptoyuy2)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst,\n\n\tlong width, long height,\n\n\tlong lumStride, long chromStride, long dstStride)\n\n{\n\n\tRENAME(yuvPlanartoyuy2)(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride, 1);\n\n}\n", "idx": 2348}222{"project": "qemu", "commit_id": "65207c59d99f2260c5f1d3b9c491146616a522aa", "target": 1, "func": "static inline bool handler_is_async(const mon_cmd_t *cmd)\n\n{\n\n return cmd->flags & MONITOR_CMD_ASYNC;\n\n}\n", "idx": 2349}223{"project": "FFmpeg", "commit_id": "0ecca7a49f8e254c12a3a1de048d738bfbb614c6", "target": 1, "func": "static int vqa_decode_init(AVCodecContext *avctx)\n\n{\n\n VqaContext *s = (VqaContext *)avctx->priv_data;\n\n unsigned char *vqa_header;\n\n int i, j, codebook_index;;\n\n\n\n s->avctx = avctx;\n\n avctx->pix_fmt = PIX_FMT_PAL8;\n\n avctx->has_b_frames = 0;\n\n dsputil_init(&s->dsp, avctx);\n\n\n\n /* make sure the extradata made it */\n\n if (s->avctx->extradata_size != VQA_HEADER_SIZE) {\n\n av_log(s->avctx, AV_LOG_ERROR, \" VQA video: expected extradata size of %d\\n\", VQA_HEADER_SIZE);\n\n\n\n\n\n /* load up the VQA parameters from the header */\n\n vqa_header = (unsigned char *)s->avctx->extradata;\n\n s->vqa_version = vqa_header[0];\n\n s->width = LE_16(&vqa_header[6]);\n\n s->height = LE_16(&vqa_header[8]);\n\n\n\n\n\n s->vector_width = vqa_header[10];\n\n s->vector_height = vqa_header[11];\n\n s->partial_count = s->partial_countdown = vqa_header[13];\n\n\n\n /* the vector dimensions have to meet very stringent requirements */\n\n if ((s->vector_width != 4) ||\n\n ((s->vector_height != 2) && (s->vector_height != 4))) {\n\n /* return without further initialization */\n\n\n\n\n\n /* allocate codebooks */\n\n s->codebook_size = MAX_CODEBOOK_SIZE;\n\n s->codebook = av_malloc(s->codebook_size);\n\n s->next_codebook_buffer = av_malloc(s->codebook_size);\n\n\n\n /* initialize the solid-color vectors */\n\n if (s->vector_height == 4) {\n\n codebook_index = 0xFF00 * 16;\n\n for (i = 0; i < 256; i++)\n\n for (j = 0; j < 16; j++)\n\n s->codebook[codebook_index++] = i;\n\n } else {\n\n codebook_index = 0xF00 * 8;\n\n for (i = 0; i < 256; i++)\n\n for (j = 0; j < 8; j++)\n\n s->codebook[codebook_index++] = i;\n\n\n s->next_codebook_buffer_index = 0;\n\n\n\n /* allocate decode buffer */\n\n s->decode_buffer_size = (s->width / s->vector_width) *\n\n (s->height / s->vector_height) * 2;\n\n s->decode_buffer = av_malloc(s->decode_buffer_size);\n\n\n\n s->frame.data[0] = NULL;\n\n\n\n return 0;\n", "idx": 2358}224{"project": "FFmpeg", "commit_id": "25bcf24d4d0faf0191923be8afac8f67ca98b500", "target": 0, "func": "static int open_output_file(OptionsContext *o, const char *filename)\n\n{\n\n AVFormatContext *oc;\n\n int i, j, err;\n\n AVOutputFormat *file_oformat;\n\n OutputFile *of;\n\n OutputStream *ost;\n\n InputStream *ist;\n\n AVDictionary *unused_opts = NULL;\n\n AVDictionaryEntry *e = NULL;\n\n\n\n if (configure_complex_filters() < 0) {\n\n av_log(NULL, AV_LOG_FATAL, \"Error configuring filters.\\n\");\n\n exit_program(1);\n\n }\n\n\n\n if (o->stop_time != INT64_MAX && o->recording_time != INT64_MAX) {\n\n o->stop_time = INT64_MAX;\n\n av_log(NULL, AV_LOG_WARNING, \"-t and -to cannot be used together; using -t.\\n\");\n\n }\n\n\n\n if (o->stop_time != INT64_MAX && o->recording_time == INT64_MAX) {\n\n int64_t start_time = o->start_time == AV_NOPTS_VALUE ? 0 : o->start_time;\n\n if (o->stop_time <= start_time) {\n\n av_log(NULL, AV_LOG_WARNING, \"-to value smaller than -ss; ignoring -to.\\n\");\n\n o->stop_time = INT64_MAX;\n\n } else {\n\n o->recording_time = o->stop_time - start_time;\n\n }\n\n }\n\n\n\n GROW_ARRAY(output_files, nb_output_files);\n\n of = av_mallocz(sizeof(*of));\n\n if (!of)\n\n exit_program(1);\n\n output_files[nb_output_files - 1] = of;\n\n\n\n of->ost_index = nb_output_streams;\n\n of->recording_time = o->recording_time;\n\n of->start_time = o->start_time;\n\n of->limit_filesize = o->limit_filesize;\n\n of->shortest = o->shortest;\n\n av_dict_copy(&of->opts, o->g->format_opts, 0);\n\n\n\n if (!strcmp(filename, \"-\"))\n\n filename = \"pipe:\";\n\n\n\n err = avformat_alloc_output_context2(&oc, NULL, o->format, filename);\n\n if (!oc) {\n\n print_error(filename, err);\n\n exit_program(1);\n\n }\n\n\n\n of->ctx = oc;\n\n if (o->recording_time != INT64_MAX)\n\n oc->duration = o->recording_time;\n\n\n\n file_oformat= oc->oformat;\n\n oc->interrupt_callback = int_cb;\n\n\n\n /* create streams for all unlabeled output pads */\n\n for (i = 0; i < nb_filtergraphs; i++) {\n\n FilterGraph *fg = filtergraphs[i];\n\n for (j = 0; j < fg->nb_outputs; j++) {\n\n OutputFilter *ofilter = fg->outputs[j];\n\n\n\n if (!ofilter->out_tmp || ofilter->out_tmp->name)\n\n continue;\n\n\n\n switch (avfilter_pad_get_type(ofilter->out_tmp->filter_ctx->output_pads,\n\n ofilter->out_tmp->pad_idx)) {\n\n case AVMEDIA_TYPE_VIDEO: o->video_disable = 1; break;\n\n case AVMEDIA_TYPE_AUDIO: o->audio_disable = 1; break;\n\n case AVMEDIA_TYPE_SUBTITLE: o->subtitle_disable = 1; break;\n\n }\n\n init_output_filter(ofilter, o, oc);\n\n }\n\n }\n\n\n\n /* ffserver seeking with date=... needs a date reference */\n\n if (!strcmp(file_oformat->name, \"ffm\") &&\n\n av_strstart(filename, \"http:\", NULL)) {\n\n int err = parse_option(o, \"metadata\", \"creation_time=now\", options);\n\n if (err < 0) {\n\n print_error(filename, err);\n\n exit_program(1);\n\n }\n\n }\n\n\n\n if (!strcmp(file_oformat->name, \"ffm\") && !override_ffserver &&\n\n av_strstart(filename, \"http:\", NULL)) {\n\n int j;\n\n /* special case for files sent to ffserver: we get the stream\n\n parameters from ffserver */\n\n int err = read_ffserver_streams(o, oc, filename);\n\n if (err < 0) {\n\n print_error(filename, err);\n\n exit_program(1);\n\n }\n\n for(j = nb_output_streams - oc->nb_streams; j < nb_output_streams; j++) {\n\n ost = output_streams[j];\n\n for (i = 0; i < nb_input_streams; i++) {\n\n ist = input_streams[i];\n\n if(ist->st->codec->codec_type == ost->st->codec->codec_type){\n\n ost->sync_ist= ist;\n\n ost->source_index= i;\n\n if(ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) ost->avfilter = av_strdup(\"anull\");\n\n if(ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) ost->avfilter = av_strdup(\"null\");\n\n ist->discard = 0;\n\n ist->st->discard = AVDISCARD_NONE;\n\n break;\n\n }\n\n }\n\n if(!ost->sync_ist){\n\n av_log(NULL, AV_LOG_FATAL, \"Missing %s stream which is required by this ffm\\n\", av_get_media_type_string(ost->st->codec->codec_type));\n\n exit_program(1);\n\n }\n\n }\n\n } else if (!o->nb_stream_maps) {\n\n char *subtitle_codec_name = NULL;\n\n /* pick the \"best\" stream of each type */\n\n\n\n /* video: highest resolution */\n\n if (!o->video_disable && oc->oformat->video_codec != AV_CODEC_ID_NONE) {\n\n int area = 0, idx = -1;\n\n int qcr = avformat_query_codec(oc->oformat, oc->oformat->video_codec, 0);\n\n for (i = 0; i < nb_input_streams; i++) {\n\n int new_area;\n\n ist = input_streams[i];\n\n new_area = ist->st->codec->width * ist->st->codec->height;\n\n if((qcr!=MKTAG('A', 'P', 'I', 'C')) && (ist->st->disposition & AV_DISPOSITION_ATTACHED_PIC))\n\n new_area = 1;\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&\n\n new_area > area) {\n\n if((qcr==MKTAG('A', 'P', 'I', 'C')) && !(ist->st->disposition & AV_DISPOSITION_ATTACHED_PIC))\n\n continue;\n\n area = new_area;\n\n idx = i;\n\n }\n\n }\n\n if (idx >= 0)\n\n new_video_stream(o, oc, idx);\n\n }\n\n\n\n /* audio: most channels */\n\n if (!o->audio_disable && oc->oformat->audio_codec != AV_CODEC_ID_NONE) {\n\n int channels = 0, idx = -1;\n\n for (i = 0; i < nb_input_streams; i++) {\n\n ist = input_streams[i];\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO &&\n\n ist->st->codec->channels > channels) {\n\n channels = ist->st->codec->channels;\n\n idx = i;\n\n }\n\n }\n\n if (idx >= 0)\n\n new_audio_stream(o, oc, idx);\n\n }\n\n\n\n /* subtitles: pick first */\n\n MATCH_PER_TYPE_OPT(codec_names, str, subtitle_codec_name, oc, \"s\");\n\n if (!o->subtitle_disable && (oc->oformat->subtitle_codec != AV_CODEC_ID_NONE || subtitle_codec_name)) {\n\n for (i = 0; i < nb_input_streams; i++)\n\n if (input_streams[i]->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {\n\n new_subtitle_stream(o, oc, i);\n\n break;\n\n }\n\n }\n\n /* do something with data? */\n\n } else {\n\n for (i = 0; i < o->nb_stream_maps; i++) {\n\n StreamMap *map = &o->stream_maps[i];\n\n\n\n if (map->disabled)\n\n continue;\n\n\n\n if (map->linklabel) {\n\n FilterGraph *fg;\n\n OutputFilter *ofilter = NULL;\n\n int j, k;\n\n\n\n for (j = 0; j < nb_filtergraphs; j++) {\n\n fg = filtergraphs[j];\n\n for (k = 0; k < fg->nb_outputs; k++) {\n\n AVFilterInOut *out = fg->outputs[k]->out_tmp;\n\n if (out && !strcmp(out->name, map->linklabel)) {\n\n ofilter = fg->outputs[k];\n\n goto loop_end;\n\n }\n\n }\n\n }\n\nloop_end:\n\n if (!ofilter) {\n\n av_log(NULL, AV_LOG_FATAL, \"Output with label '%s' does not exist \"\n\n \"in any defined filter graph, or was already used elsewhere.\\n\", map->linklabel);\n\n exit_program(1);\n\n }\n\n init_output_filter(ofilter, o, oc);\n\n } else {\n\n int src_idx = input_files[map->file_index]->ist_index + map->stream_index;\n\n\n\n ist = input_streams[input_files[map->file_index]->ist_index + map->stream_index];\n\n if(o->subtitle_disable && ist->st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE)\n\n continue;\n\n if(o-> audio_disable && ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)\n\n continue;\n\n if(o-> video_disable && ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO)\n\n continue;\n\n if(o-> data_disable && ist->st->codec->codec_type == AVMEDIA_TYPE_DATA)\n\n continue;\n\n\n\n switch (ist->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_VIDEO: ost = new_video_stream (o, oc, src_idx); break;\n\n case AVMEDIA_TYPE_AUDIO: ost = new_audio_stream (o, oc, src_idx); break;\n\n case AVMEDIA_TYPE_SUBTITLE: ost = new_subtitle_stream (o, oc, src_idx); break;\n\n case AVMEDIA_TYPE_DATA: ost = new_data_stream (o, oc, src_idx); break;\n\n case AVMEDIA_TYPE_ATTACHMENT: ost = new_attachment_stream(o, oc, src_idx); break;\n\n default:\n\n av_log(NULL, AV_LOG_FATAL, \"Cannot map stream #%d:%d - unsupported type.\\n\",\n\n map->file_index, map->stream_index);\n\n exit_program(1);\n\n }\n\n }\n\n }\n\n }\n\n\n\n /* handle attached files */\n\n for (i = 0; i < o->nb_attachments; i++) {\n\n AVIOContext *pb;\n\n uint8_t *attachment;\n\n const char *p;\n\n int64_t len;\n\n\n\n if ((err = avio_open2(&pb, o->attachments[i], AVIO_FLAG_READ, &int_cb, NULL)) < 0) {\n\n av_log(NULL, AV_LOG_FATAL, \"Could not open attachment file %s.\\n\",\n\n o->attachments[i]);\n\n exit_program(1);\n\n }\n\n if ((len = avio_size(pb)) <= 0) {\n\n av_log(NULL, AV_LOG_FATAL, \"Could not get size of the attachment %s.\\n\",\n\n o->attachments[i]);\n\n exit_program(1);\n\n }\n\n if (!(attachment = av_malloc(len))) {\n\n av_log(NULL, AV_LOG_FATAL, \"Attachment %s too large to fit into memory.\\n\",\n\n o->attachments[i]);\n\n exit_program(1);\n\n }\n\n avio_read(pb, attachment, len);\n\n\n\n ost = new_attachment_stream(o, oc, -1);\n\n ost->stream_copy = 0;\n\n ost->attachment_filename = o->attachments[i];\n\n ost->finished = 1;\n\n ost->st->codec->extradata = attachment;\n\n ost->st->codec->extradata_size = len;\n\n\n\n p = strrchr(o->attachments[i], '/');\n\n av_dict_set(&ost->st->metadata, \"filename\", (p && *p) ? p + 1 : o->attachments[i], AV_DICT_DONT_OVERWRITE);\n\n avio_close(pb);\n\n }\n\n\n\n for (i = nb_output_streams - oc->nb_streams; i < nb_output_streams; i++) { //for all streams of this output file\n\n AVDictionaryEntry *e;\n\n ost = output_streams[i];\n\n\n\n if ((ost->stream_copy || ost->attachment_filename)\n\n && (e = av_dict_get(o->g->codec_opts, \"flags\", NULL, AV_DICT_IGNORE_SUFFIX))\n\n && (!e->key[5] || check_stream_specifier(oc, ost->st, e->key+6)))\n\n if (av_opt_set(ost->st->codec, \"flags\", e->value, 0) < 0)\n\n exit_program(1);\n\n }\n\n\n\n /* check if all codec options have been used */\n\n unused_opts = strip_specifiers(o->g->codec_opts);\n\n for (i = of->ost_index; i < nb_output_streams; i++) {\n\n e = NULL;\n\n while ((e = av_dict_get(output_streams[i]->opts, \"\", e,\n\n AV_DICT_IGNORE_SUFFIX)))\n\n av_dict_set(&unused_opts, e->key, NULL, 0);\n\n }\n\n\n\n e = NULL;\n\n while ((e = av_dict_get(unused_opts, \"\", e, AV_DICT_IGNORE_SUFFIX))) {\n\n const AVClass *class = avcodec_get_class();\n\n const AVOption *option = av_opt_find(&class, e->key, NULL, 0,\n\n AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ);\n\n if (!option)\n\n continue;\n\n if (!(option->flags & AV_OPT_FLAG_ENCODING_PARAM)) {\n\n av_log(NULL, AV_LOG_ERROR, \"Codec AVOption %s (%s) specified for \"\n\n \"output file #%d (%s) is not an encoding option.\\n\", e->key,\n\n option->help ? option->help : \"\", nb_output_files - 1,\n\n filename);\n\n exit_program(1);\n\n }\n\n\n\n // gop_timecode is injected by generic code but not always used\n\n if (!strcmp(e->key, \"gop_timecode\"))\n\n continue;\n\n\n\n av_log(NULL, AV_LOG_WARNING, \"Codec AVOption %s (%s) specified for \"\n\n \"output file #%d (%s) has not been used for any stream. The most \"\n\n \"likely reason is either wrong type (e.g. a video option with \"\n\n \"no video streams) or that it is a private option of some encoder \"\n\n \"which was not actually used for any stream.\\n\", e->key,\n\n option->help ? option->help : \"\", nb_output_files - 1, filename);\n\n }\n\n av_dict_free(&unused_opts);\n\n\n\n /* check filename in case of an image number is expected */\n\n if (oc->oformat->flags & AVFMT_NEEDNUMBER) {\n\n if (!av_filename_number_test(oc->filename)) {\n\n print_error(oc->filename, AVERROR(EINVAL));\n\n exit_program(1);\n\n }\n\n }\n\n\n\n if (!(oc->oformat->flags & AVFMT_NOFILE)) {\n\n /* test if it already exists to avoid losing precious files */\n\n assert_file_overwrite(filename);\n\n\n\n /* open the file */\n\n if ((err = avio_open2(&oc->pb, filename, AVIO_FLAG_WRITE,\n\n &oc->interrupt_callback,\n\n &of->opts)) < 0) {\n\n print_error(filename, err);\n\n exit_program(1);\n\n }\n\n } else if (strcmp(oc->oformat->name, \"image2\")==0 && !av_filename_number_test(filename))\n\n assert_file_overwrite(filename);\n\n\n\n if (o->mux_preload) {\n\n uint8_t buf[64];\n\n snprintf(buf, sizeof(buf), \"%d\", (int)(o->mux_preload*AV_TIME_BASE));\n\n av_dict_set(&of->opts, \"preload\", buf, 0);\n\n }\n\n oc->max_delay = (int)(o->mux_max_delay * AV_TIME_BASE);\n\n\n\n /* copy metadata */\n\n for (i = 0; i < o->nb_metadata_map; i++) {\n\n char *p;\n\n int in_file_index = strtol(o->metadata_map[i].u.str, &p, 0);\n\n\n\n if (in_file_index >= nb_input_files) {\n\n av_log(NULL, AV_LOG_FATAL, \"Invalid input file index %d while processing metadata maps\\n\", in_file_index);\n\n exit_program(1);\n\n }\n\n copy_metadata(o->metadata_map[i].specifier, *p ? p + 1 : p, oc,\n\n in_file_index >= 0 ?\n\n input_files[in_file_index]->ctx : NULL, o);\n\n }\n\n\n\n /* copy chapters */\n\n if (o->chapters_input_file >= nb_input_files) {\n\n if (o->chapters_input_file == INT_MAX) {\n\n /* copy chapters from the first input file that has them*/\n\n o->chapters_input_file = -1;\n\n for (i = 0; i < nb_input_files; i++)\n\n if (input_files[i]->ctx->nb_chapters) {\n\n o->chapters_input_file = i;\n\n break;\n\n }\n\n } else {\n\n av_log(NULL, AV_LOG_FATAL, \"Invalid input file index %d in chapter mapping.\\n\",\n\n o->chapters_input_file);\n\n exit_program(1);\n\n }\n\n }\n\n if (o->chapters_input_file >= 0)\n\n copy_chapters(input_files[o->chapters_input_file], of,\n\n !o->metadata_chapters_manual);\n\n\n\n /* copy global metadata by default */\n\n if (!o->metadata_global_manual && nb_input_files){\n\n av_dict_copy(&oc->metadata, input_files[0]->ctx->metadata,\n\n AV_DICT_DONT_OVERWRITE);\n\n if(o->recording_time != INT64_MAX)\n\n av_dict_set(&oc->metadata, \"duration\", NULL, 0);\n\n av_dict_set(&oc->metadata, \"creation_time\", NULL, 0);\n\n }\n\n if (!o->metadata_streams_manual)\n\n for (i = of->ost_index; i < nb_output_streams; i++) {\n\n InputStream *ist;\n\n if (output_streams[i]->source_index < 0) /* this is true e.g. for attached files */\n\n continue;\n\n ist = input_streams[output_streams[i]->source_index];\n\n av_dict_copy(&output_streams[i]->st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE);\n\n }\n\n\n\n /* process manually set metadata */\n\n for (i = 0; i < o->nb_metadata; i++) {\n\n AVDictionary **m;\n\n char type, *val;\n\n const char *stream_spec;\n\n int index = 0, j, ret = 0;\n\n\n\n val = strchr(o->metadata[i].u.str, '=');\n\n if (!val) {\n\n av_log(NULL, AV_LOG_FATAL, \"No '=' character in metadata string %s.\\n\",\n\n o->metadata[i].u.str);\n\n exit_program(1);\n\n }\n\n *val++ = 0;\n\n\n\n parse_meta_type(o->metadata[i].specifier, &type, &index, &stream_spec);\n\n if (type == 's') {\n\n for (j = 0; j < oc->nb_streams; j++) {\n\n if ((ret = check_stream_specifier(oc, oc->streams[j], stream_spec)) > 0) {\n\n av_dict_set(&oc->streams[j]->metadata, o->metadata[i].u.str, *val ? val : NULL, 0);\n\n } else if (ret < 0)\n\n exit_program(1);\n\n }\n\n }\n\n else {\n\n switch (type) {\n\n case 'g':\n\n m = &oc->metadata;\n\n break;\n\n case 'c':\n\n if (index < 0 || index >= oc->nb_chapters) {\n\n av_log(NULL, AV_LOG_FATAL, \"Invalid chapter index %d in metadata specifier.\\n\", index);\n\n exit_program(1);\n\n }\n\n m = &oc->chapters[index]->metadata;\n\n break;\n\n default:\n\n av_log(NULL, AV_LOG_FATAL, \"Invalid metadata specifier %s.\\n\", o->metadata[i].specifier);\n\n exit_program(1);\n\n }\n\n av_dict_set(m, o->metadata[i].u.str, *val ? val : NULL, 0);\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 2365}225{"project": "qemu", "commit_id": "e167adc9d9f5df4f8109aecd4552c407fdce094a", "target": 1, "func": "static bool logic_imm_decode_wmask(uint64_t *result, unsigned int immn,\n\n unsigned int imms, unsigned int immr)\n\n{\n\n uint64_t mask;\n\n unsigned e, levels, s, r;\n\n int len;\n\n\n\n assert(immn < 2 && imms < 64 && immr < 64);\n\n\n\n /* The bit patterns we create here are 64 bit patterns which\n\n * are vectors of identical elements of size e = 2, 4, 8, 16, 32 or\n\n * 64 bits each. Each element contains the same value: a run\n\n * of between 1 and e-1 non-zero bits, rotated within the\n\n * element by between 0 and e-1 bits.\n\n *\n\n * The element size and run length are encoded into immn (1 bit)\n\n * and imms (6 bits) as follows:\n\n * 64 bit elements: immn = 1, imms = <length of run - 1>\n\n * 32 bit elements: immn = 0, imms = 0 : <length of run - 1>\n\n * 16 bit elements: immn = 0, imms = 10 : <length of run - 1>\n\n * 8 bit elements: immn = 0, imms = 110 : <length of run - 1>\n\n * 4 bit elements: immn = 0, imms = 1110 : <length of run - 1>\n\n * 2 bit elements: immn = 0, imms = 11110 : <length of run - 1>\n\n * Notice that immn = 0, imms = 11111x is the only combination\n\n * not covered by one of the above options; this is reserved.\n\n * Further, <length of run - 1> all-ones is a reserved pattern.\n\n *\n\n * In all cases the rotation is by immr % e (and immr is 6 bits).\n\n */\n\n\n\n /* First determine the element size */\n\n len = 31 - clz32((immn << 6) | (~imms & 0x3f));\n\n if (len < 1) {\n\n /* This is the immn == 0, imms == 0x11111x case */\n\n return false;\n\n }\n\n e = 1 << len;\n\n\n\n levels = e - 1;\n\n s = imms & levels;\n\n r = immr & levels;\n\n\n\n if (s == levels) {\n\n /* <length of run - 1> mustn't be all-ones. */\n\n return false;\n\n }\n\n\n\n /* Create the value of one element: s+1 set bits rotated\n\n * by r within the element (which is e bits wide)...\n\n */\n\n mask = bitmask64(s + 1);\n\n mask = (mask >> r) | (mask << (e - r));\n\n /* ...then replicate the element over the whole 64 bit value */\n\n mask = bitfield_replicate(mask, e);\n\n *result = mask;\n\n return true;\n\n}\n", "idx": 2395}226{"project": "FFmpeg", "commit_id": "1cb4ef526dd1e5f547d0354efb0831d07e967919", "target": 1, "func": "static int add_candidate_ref(HEVCContext *s, RefPicList *list,\n\n int poc, int ref_flag)\n\n{\n\n HEVCFrame *ref = find_ref_idx(s, poc);\n\n\n\n if (ref == s->ref)\n\n return AVERROR_INVALIDDATA;\n\n\n\n if (!ref) {\n\n ref = generate_missing_ref(s, poc);\n\n if (!ref)\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n list->list[list->nb_refs] = ref->poc;\n\n list->ref[list->nb_refs] = ref;\n\n list->nb_refs++;\n\n\n\n mark_ref(ref, ref_flag);\n\n return 0;\n\n}\n", "idx": 2400}227{"project": "qemu", "commit_id": "fae38221e78fc9f847965f6d18b359b8044df348", "target": 1, "func": "static inline void t_gen_mov_preg_TN(DisasContext *dc, int r, TCGv tn)\n\n{\n\n if (r < 0 || r > 15) {\n\n fprintf(stderr, \"wrong register write $p%d\\n\", r);\n\n }\n\n if (r == PR_BZ || r == PR_WZ || r == PR_DZ) {\n\n return;\n\n } else if (r == PR_SRS) {\n\n tcg_gen_andi_tl(cpu_PR[r], tn, 3);\n\n } else {\n\n if (r == PR_PID) {\n\n gen_helper_tlb_flush_pid(cpu_env, tn);\n\n }\n\n if (dc->tb_flags & S_FLAG && r == PR_SPC) {\n\n gen_helper_spc_write(cpu_env, tn);\n\n } else if (r == PR_CCS) {\n\n dc->cpustate_changed = 1;\n\n }\n\n tcg_gen_mov_tl(cpu_PR[r], tn);\n\n }\n\n}\n", "idx": 2415}228{"project": "FFmpeg", "commit_id": "b9fa32082c71013e90eab9e9997967d2939cf4a6", "target": 1, "func": "static int vorbis_parse_id_hdr(vorbis_context *vc){\n\n GetBitContext *gb=&vc->gb;\n\n uint_fast8_t bl0, bl1;\n\n\n\n if ((get_bits(gb, 8)!='v') || (get_bits(gb, 8)!='o') ||\n\n (get_bits(gb, 8)!='r') || (get_bits(gb, 8)!='b') ||\n\n (get_bits(gb, 8)!='i') || (get_bits(gb, 8)!='s')) {\n\n av_log(vc->avccontext, AV_LOG_ERROR, \" Vorbis id header packet corrupt (no vorbis signature). \\n\");\n\n return 1;\n\n }\n\n\n\n vc->version=get_bits_long(gb, 32); //FIXME check 0\n\n vc->audio_channels=get_bits(gb, 8); //FIXME check >0\n\n vc->audio_samplerate=get_bits_long(gb, 32); //FIXME check >0\n\n vc->bitrate_maximum=get_bits_long(gb, 32);\n\n vc->bitrate_nominal=get_bits_long(gb, 32);\n\n vc->bitrate_minimum=get_bits_long(gb, 32);\n\n bl0=get_bits(gb, 4);\n\n bl1=get_bits(gb, 4);\n\n vc->blocksize[0]=(1<<bl0);\n\n vc->blocksize[1]=(1<<bl1);\n\n if (bl0>13 || bl0<6 || bl1>13 || bl1<6 || bl1<bl0) {\n\n av_log(vc->avccontext, AV_LOG_ERROR, \" Vorbis id header packet corrupt (illegal blocksize). \\n\");\n\n return 3;\n\n }\n\n // output format int16\n\n if (vc->blocksize[1]/2 * vc->audio_channels * 2 >\n\n AVCODEC_MAX_AUDIO_FRAME_SIZE) {\n\n av_log(vc->avccontext, AV_LOG_ERROR, \"Vorbis channel count makes \"\n\n \"output packets too large.\\n\");\n\n return 4;\n\n }\n\n vc->win[0]=ff_vorbis_vwin[bl0-6];\n\n vc->win[1]=ff_vorbis_vwin[bl1-6];\n\n\n\n if(vc->exp_bias){\n\n int i, j;\n\n for(j=0; j<2; j++){\n\n float *win = av_malloc(vc->blocksize[j]/2 * sizeof(float));\n\n for(i=0; i<vc->blocksize[j]/2; i++)\n\n win[i] = vc->win[j][i] * (1<<15);\n\n vc->win[j] = win;\n\n }\n\n }\n\n\n\n if ((get_bits1(gb)) == 0) {\n\n av_log(vc->avccontext, AV_LOG_ERROR, \" Vorbis id header packet corrupt (framing flag not set). \\n\");\n\n return 2;\n\n }\n\n\n\n vc->channel_residues= av_malloc((vc->blocksize[1]/2)*vc->audio_channels * sizeof(float));\n\n vc->channel_floors = av_malloc((vc->blocksize[1]/2)*vc->audio_channels * sizeof(float));\n\n vc->saved = av_mallocz((vc->blocksize[1]/2)*vc->audio_channels * sizeof(float));\n\n vc->ret = av_malloc((vc->blocksize[1]/2)*vc->audio_channels * sizeof(float));\n\n vc->buf = av_malloc( vc->blocksize[1] * sizeof(float));\n\n vc->buf_tmp = av_malloc( vc->blocksize[1] * sizeof(float));\n\n vc->previous_window=0;\n\n\n\n ff_mdct_init(&vc->mdct[0], bl0, 1);\n\n ff_mdct_init(&vc->mdct[1], bl1, 1);\n\n\n\n AV_DEBUG(\" vorbis version %d \\n audio_channels %d \\n audio_samplerate %d \\n bitrate_max %d \\n bitrate_nom %d \\n bitrate_min %d \\n blk_0 %d blk_1 %d \\n \",\n\n vc->version, vc->audio_channels, vc->audio_samplerate, vc->bitrate_maximum, vc->bitrate_nominal, vc->bitrate_minimum, vc->blocksize[0], vc->blocksize[1]);\n\n\n\n/*\n\n BLK=vc->blocksize[0];\n\n for(i=0;i<BLK/2;++i) {\n\n vc->win[0][i]=sin(0.5*3.14159265358*(sin(((float)i+0.5)/(float)BLK*3.14159265358))*(sin(((float)i+0.5)/(float)BLK*3.14159265358)));\n\n }\n\n*/\n\n\n\n return 0;\n\n}\n", "idx": 2424}229{"project": "FFmpeg", "commit_id": "1181d93231e9b807965724587d363c1cfd5a1d0d", "target": 0, "func": "void ff_avg_h264_qpel4_mc31_msa(uint8_t *dst, const uint8_t *src,\n\n ptrdiff_t stride)\n\n{\n\n avc_luma_hv_qrt_and_aver_dst_4x4_msa(src - 2,\n\n src - (stride * 2) +\n\n sizeof(uint8_t), stride, dst, stride);\n\n}\n", "idx": 2429}230{"project": "qemu", "commit_id": "c1bf3531aecf4a0ba25bb150dd5fe21edf406c88", "target": 1, "func": "static int net_vhost_user_init(NetClientState *peer, const char *device,\n\n const char *name, CharDriverState *chr,\n\n int queues)\n\n{\n\n NetClientState *nc;\n\n VhostUserState *s;\n\n int i;\n\n\n\n for (i = 0; i < queues; i++) {\n\n nc = qemu_new_net_client(&net_vhost_user_info, peer, device, name);\n\n\n\n snprintf(nc->info_str, sizeof(nc->info_str), \"vhost-user%d to %s\",\n\n i, chr->label);\n\n\n\n nc->queue_index = i;\n\n\n\n s = DO_UPCAST(VhostUserState, nc, nc);\n\n s->chr = chr;\n\n }\n\n\n\n qemu_chr_add_handlers(chr, NULL, NULL, net_vhost_user_event, (void*)name);\n\n\n\n return 0;\n\n}\n", "idx": 2451}231{"project": "FFmpeg", "commit_id": "87e8788680e16c51f6048af26f3f7830c35207a5", "target": 0, "func": "static int flv_probe(AVProbeData *p)\n\n{\n\n const uint8_t *d;\n\n\n\n if (p->buf_size < 6)\n\n return 0;\n\n d = p->buf;\n\n if (d[0] == 'F' && d[1] == 'L' && d[2] == 'V' && d[3] < 5 && d[5]==0) {\n\n return AVPROBE_SCORE_MAX;\n\n }\n\n return 0;\n\n}\n", "idx": 2466}232{"project": "qemu", "commit_id": "6fa2c95f279dda62aa7e3292cc424ff3fab6a602", "target": 0, "func": "static void scsi_read_data(SCSIDevice *d, uint32_t tag)\n\n{\n\n SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, d);\n\n SCSIDiskReq *r;\n\n\n\n r = scsi_find_request(s, tag);\n\n if (!r) {\n\n BADF(\"Bad read tag 0x%x\\n\", tag);\n\n /* ??? This is the wrong error. */\n\n scsi_command_complete(r, CHECK_CONDITION, HARDWARE_ERROR);\n\n return;\n\n }\n\n\n\n /* No data transfer may already be in progress */\n\n assert(r->req.aiocb == NULL);\n\n\n\n scsi_read_request(r);\n\n}\n", "idx": 2471}233{"project": "FFmpeg", "commit_id": "13ccba50d45662a15777b549b2fcd9b4621b0e01", "target": 0, "func": "static void opt_output_file(void *optctx, const char *filename)\n\n{\n\n OptionsContext *o = optctx;\n\n AVFormatContext *oc;\n\n int i, err;\n\n AVOutputFormat *file_oformat;\n\n OutputStream *ost;\n\n InputStream *ist;\n\n\n\n if (!strcmp(filename, \"-\"))\n\n filename = \"pipe:\";\n\n\n\n oc = avformat_alloc_context();\n\n if (!oc) {\n\n print_error(filename, AVERROR(ENOMEM));\n\n exit_program(1);\n\n }\n\n\n\n if (last_asked_format) {\n\n file_oformat = av_guess_format(last_asked_format, NULL, NULL);\n\n if (!file_oformat) {\n\n fprintf(stderr, \"Requested output format '%s' is not a suitable output format\\n\", last_asked_format);\n\n exit_program(1);\n\n }\n\n last_asked_format = NULL;\n\n } else {\n\n file_oformat = av_guess_format(NULL, filename, NULL);\n\n if (!file_oformat) {\n\n fprintf(stderr, \"Unable to find a suitable output format for '%s'\\n\",\n\n filename);\n\n exit_program(1);\n\n }\n\n }\n\n\n\n oc->oformat = file_oformat;\n\n av_strlcpy(oc->filename, filename, sizeof(oc->filename));\n\n\n\n if (!strcmp(file_oformat->name, \"ffm\") &&\n\n av_strstart(filename, \"http:\", NULL)) {\n\n /* special case for files sent to avserver: we get the stream\n\n parameters from avserver */\n\n int err = read_avserver_streams(oc, filename);\n\n if (err < 0) {\n\n print_error(filename, err);\n\n exit_program(1);\n\n }\n\n } else if (!o->nb_stream_maps) {\n\n /* pick the \"best\" stream of each type */\n\n#define NEW_STREAM(type, index)\\\n\n if (index >= 0) {\\\n\n ost = new_ ## type ## _stream(oc);\\\n\n ost->source_index = index;\\\n\n ost->sync_ist = &input_streams[index];\\\n\n input_streams[index].discard = 0;\\\n\n }\n\n\n\n /* video: highest resolution */\n\n if (!video_disable && oc->oformat->video_codec != CODEC_ID_NONE) {\n\n int area = 0, idx = -1;\n\n for (i = 0; i < nb_input_streams; i++) {\n\n ist = &input_streams[i];\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&\n\n ist->st->codec->width * ist->st->codec->height > area) {\n\n area = ist->st->codec->width * ist->st->codec->height;\n\n idx = i;\n\n }\n\n }\n\n NEW_STREAM(video, idx);\n\n }\n\n\n\n /* audio: most channels */\n\n if (!audio_disable && oc->oformat->audio_codec != CODEC_ID_NONE) {\n\n int channels = 0, idx = -1;\n\n for (i = 0; i < nb_input_streams; i++) {\n\n ist = &input_streams[i];\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO &&\n\n ist->st->codec->channels > channels) {\n\n channels = ist->st->codec->channels;\n\n idx = i;\n\n }\n\n }\n\n NEW_STREAM(audio, idx);\n\n }\n\n\n\n /* subtitles: pick first */\n\n if (!subtitle_disable && oc->oformat->subtitle_codec != CODEC_ID_NONE) {\n\n for (i = 0; i < nb_input_streams; i++)\n\n if (input_streams[i].st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE) {\n\n NEW_STREAM(subtitle, i);\n\n break;\n\n }\n\n }\n\n /* do something with data? */\n\n } else {\n\n for (i = 0; i < o->nb_stream_maps; i++) {\n\n StreamMap *map = &o->stream_maps[i];\n\n\n\n if (map->disabled)\n\n continue;\n\n\n\n ist = &input_streams[input_files[map->file_index].ist_index + map->stream_index];\n\n switch (ist->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_VIDEO: ost = new_video_stream(oc); break;\n\n case AVMEDIA_TYPE_AUDIO: ost = new_audio_stream(oc); break;\n\n case AVMEDIA_TYPE_SUBTITLE: ost = new_subtitle_stream(oc); break;\n\n case AVMEDIA_TYPE_DATA: ost = new_data_stream(oc); break;\n\n default:\n\n av_log(NULL, AV_LOG_ERROR, \"Cannot map stream #%d.%d - unsupported type.\\n\",\n\n map->file_index, map->stream_index);\n\n exit_program(1);\n\n }\n\n\n\n ost->source_index = input_files[map->file_index].ist_index + map->stream_index;\n\n ost->sync_ist = &input_streams[input_files[map->sync_file_index].ist_index +\n\n map->sync_stream_index];\n\n ist->discard = 0;\n\n }\n\n }\n\n\n\n av_dict_copy(&oc->metadata, metadata, 0);\n\n av_dict_free(&metadata);\n\n\n\n\n\n output_files = grow_array(output_files, sizeof(*output_files), &nb_output_files, nb_output_files + 1);\n\n output_files[nb_output_files - 1].ctx = oc;\n\n output_files[nb_output_files - 1].ost_index = nb_output_streams - oc->nb_streams;\n\n output_files[nb_output_files - 1].recording_time = o->recording_time;\n\n output_files[nb_output_files - 1].start_time = o->start_time;\n\n output_files[nb_output_files - 1].limit_filesize = limit_filesize;\n\n av_dict_copy(&output_files[nb_output_files - 1].opts, format_opts, 0);\n\n\n\n /* check filename in case of an image number is expected */\n\n if (oc->oformat->flags & AVFMT_NEEDNUMBER) {\n\n if (!av_filename_number_test(oc->filename)) {\n\n print_error(oc->filename, AVERROR(EINVAL));\n\n exit_program(1);\n\n }\n\n }\n\n\n\n if (!(oc->oformat->flags & AVFMT_NOFILE)) {\n\n /* test if it already exists to avoid loosing precious files */\n\n if (!file_overwrite &&\n\n (strchr(filename, ':') == NULL ||\n\n filename[1] == ':' ||\n\n av_strstart(filename, \"file:\", NULL))) {\n\n if (avio_check(filename, 0) == 0) {\n\n if (!using_stdin) {\n\n fprintf(stderr,\"File '%s' already exists. Overwrite ? [y/N] \", filename);\n\n fflush(stderr);\n\n if (!read_yesno()) {\n\n fprintf(stderr, \"Not overwriting - exiting\\n\");\n\n exit_program(1);\n\n }\n\n }\n\n else {\n\n fprintf(stderr,\"File '%s' already exists. Exiting.\\n\", filename);\n\n exit_program(1);\n\n }\n\n }\n\n }\n\n\n\n /* open the file */\n\n if ((err = avio_open(&oc->pb, filename, AVIO_FLAG_WRITE)) < 0) {\n\n print_error(filename, err);\n\n exit_program(1);\n\n }\n\n }\n\n\n\n oc->preload= (int)(mux_preload*AV_TIME_BASE);\n\n oc->max_delay= (int)(mux_max_delay*AV_TIME_BASE);\n\n oc->flags |= AVFMT_FLAG_NONBLOCK;\n\n\n\n /* copy chapters */\n\n if (chapters_input_file >= nb_input_files) {\n\n if (chapters_input_file == INT_MAX) {\n\n /* copy chapters from the first input file that has them*/\n\n chapters_input_file = -1;\n\n for (i = 0; i < nb_input_files; i++)\n\n if (input_files[i].ctx->nb_chapters) {\n\n chapters_input_file = i;\n\n break;\n\n }\n\n } else {\n\n av_log(NULL, AV_LOG_ERROR, \"Invalid input file index %d in chapter mapping.\\n\",\n\n chapters_input_file);\n\n exit_program(1);\n\n }\n\n }\n\n if (chapters_input_file >= 0)\n\n copy_chapters(&input_files[chapters_input_file], &output_files[nb_output_files - 1]);\n\n\n\n /* copy metadata */\n\n for (i = 0; i < nb_meta_data_maps; i++) {\n\n AVFormatContext *files[2];\n\n AVDictionary **meta[2];\n\n int j;\n\n\n\n#define METADATA_CHECK_INDEX(index, nb_elems, desc)\\\n\n if ((index) < 0 || (index) >= (nb_elems)) {\\\n\n av_log(NULL, AV_LOG_ERROR, \"Invalid %s index %d while processing metadata maps\\n\",\\\n\n (desc), (index));\\\n\n exit_program(1);\\\n\n }\n\n\n\n int in_file_index = meta_data_maps[i][1].file;\n\n if (in_file_index < 0)\n\n continue;\n\n METADATA_CHECK_INDEX(in_file_index, nb_input_files, \"input file\")\n\n\n\n files[0] = oc;\n\n files[1] = input_files[in_file_index].ctx;\n\n\n\n for (j = 0; j < 2; j++) {\n\n MetadataMap *map = &meta_data_maps[i][j];\n\n\n\n switch (map->type) {\n\n case 'g':\n\n meta[j] = &files[j]->metadata;\n\n break;\n\n case 's':\n\n METADATA_CHECK_INDEX(map->index, files[j]->nb_streams, \"stream\")\n\n meta[j] = &files[j]->streams[map->index]->metadata;\n\n break;\n\n case 'c':\n\n METADATA_CHECK_INDEX(map->index, files[j]->nb_chapters, \"chapter\")\n\n meta[j] = &files[j]->chapters[map->index]->metadata;\n\n break;\n\n case 'p':\n\n METADATA_CHECK_INDEX(map->index, files[j]->nb_programs, \"program\")\n\n meta[j] = &files[j]->programs[map->index]->metadata;\n\n break;\n\n }\n\n }\n\n\n\n av_dict_copy(meta[0], *meta[1], AV_DICT_DONT_OVERWRITE);\n\n }\n\n\n\n /* copy global metadata by default */\n\n if (metadata_global_autocopy && nb_input_files)\n\n av_dict_copy(&oc->metadata, input_files[0].ctx->metadata,\n\n AV_DICT_DONT_OVERWRITE);\n\n if (metadata_streams_autocopy)\n\n for (i = output_files[nb_output_files - 1].ost_index; i < nb_output_streams; i++) {\n\n InputStream *ist = &input_streams[output_streams[i].source_index];\n\n av_dict_copy(&output_streams[i].st->metadata, ist->st->metadata, AV_DICT_DONT_OVERWRITE);\n\n }\n\n\n\n frame_rate = (AVRational){0, 0};\n\n frame_width = 0;\n\n frame_height = 0;\n\n audio_sample_rate = 0;\n\n audio_channels = 0;\n\n audio_sample_fmt = AV_SAMPLE_FMT_NONE;\n\n chapters_input_file = INT_MAX;\n\n limit_filesize = UINT64_MAX;\n\n\n\n av_freep(&meta_data_maps);\n\n nb_meta_data_maps = 0;\n\n metadata_global_autocopy = 1;\n\n metadata_streams_autocopy = 1;\n\n metadata_chapters_autocopy = 1;\n\n av_freep(&streamid_map);\n\n nb_streamid_map = 0;\n\n\n\n av_dict_free(&codec_names);\n\n\n\n av_freep(&forced_key_frames);\n\n reset_options(o);\n\n}\n", "idx": 2502}234{"project": "qemu", "commit_id": "8653c0158c23ec592f0041ab48b83d6cc6d152fe", "target": 0, "func": "static int spawn_thread(void)\n\n{\n\n pthread_attr_t attr;\n\n int ret;\n\n\n\n cur_threads++;\n\n idle_threads++;\n\n\n\n pthread_attr_init(&attr);\n\n pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n\n ret = pthread_create(&thread_id, &attr, aio_thread, NULL);\n\n pthread_attr_destroy(&attr);\n\n\n\n return ret;\n\n}\n", "idx": 2523}235{"project": "FFmpeg", "commit_id": "52a213865670ae69c1852d4d04cf41f8929abbd0", "target": 0, "func": "static int read_gab2_sub(AVStream *st, AVPacket *pkt)\n\n{\n\n if (pkt->size >= 7 &&\n\n !strcmp(pkt->data, \"GAB2\") && AV_RL16(pkt->data + 5) == 2) {\n\n uint8_t desc[256];\n\n int score = AVPROBE_SCORE_EXTENSION, ret;\n\n AVIStream *ast = st->priv_data;\n\n AVInputFormat *sub_demuxer;\n\n AVRational time_base;\n\n AVIOContext *pb = avio_alloc_context(pkt->data + 7,\n\n pkt->size - 7,\n\n 0, NULL, NULL, NULL, NULL);\n\n AVProbeData pd;\n\n unsigned int desc_len = avio_rl32(pb);\n\n\n\n if (desc_len > pb->buf_end - pb->buf_ptr)\n\n goto error;\n\n\n\n ret = avio_get_str16le(pb, desc_len, desc, sizeof(desc));\n\n avio_skip(pb, desc_len - ret);\n\n if (*desc)\n\n av_dict_set(&st->metadata, \"title\", desc, 0);\n\n\n\n avio_rl16(pb); /* flags? */\n\n avio_rl32(pb); /* data size */\n\n\n\n pd = (AVProbeData) { .buf = pb->buf_ptr,\n\n .buf_size = pb->buf_end - pb->buf_ptr };\n\n if (!(sub_demuxer = av_probe_input_format2(&pd, 1, &score)))\n\n goto error;\n\n\n\n if (!(ast->sub_ctx = avformat_alloc_context()))\n\n goto error;\n\n\n\n ast->sub_ctx->pb = pb;\n\n if (!avformat_open_input(&ast->sub_ctx, \"\", sub_demuxer, NULL)) {\n\n ff_read_packet(ast->sub_ctx, &ast->sub_pkt);\n\n *st->codec = *ast->sub_ctx->streams[0]->codec;\n\n ast->sub_ctx->streams[0]->codec->extradata = NULL;\n\n time_base = ast->sub_ctx->streams[0]->time_base;\n\n avpriv_set_pts_info(st, 64, time_base.num, time_base.den);\n\n }\n\n ast->sub_buffer = pkt->data;\n\n memset(pkt, 0, sizeof(*pkt));\n\n return 1;\n\n\n\nerror:\n\n av_freep(&pb);\n\n }\n\n return 0;\n\n}\n", "idx": 2534}236{"project": "qemu", "commit_id": "1f8431f42d833e8914f2d16ce4a49b7b72b90db0", "target": 0, "func": "bool machine_iommu(MachineState *machine)\n\n{\n\n return machine->iommu;\n\n}\n", "idx": 2535}237{"project": "qemu", "commit_id": "cc68890166c2c1c5003e3eeb8535e1872e239a95", "target": 0, "func": "static int disas_cp15_insn(CPUState *env, DisasContext *s, uint32_t insn)\n\n{\n\n uint32_t rd;\n\n TCGv tmp, tmp2;\n\n\n\n /* M profile cores use memory mapped registers instead of cp15. */\n\n if (arm_feature(env, ARM_FEATURE_M))\n\n\treturn 1;\n\n\n\n if ((insn & (1 << 25)) == 0) {\n\n if (insn & (1 << 20)) {\n\n /* mrrc */\n\n return 1;\n\n }\n\n /* mcrr. Used for block cache operations, so implement as no-op. */\n\n return 0;\n\n }\n\n if ((insn & (1 << 4)) == 0) {\n\n /* cdp */\n\n return 1;\n\n }\n\n if (IS_USER(s) && !cp15_user_ok(insn)) {\n\n return 1;\n\n }\n\n if ((insn & 0x0fff0fff) == 0x0e070f90\n\n || (insn & 0x0fff0fff) == 0x0e070f58) {\n\n /* Wait for interrupt. */\n\n gen_set_pc_im(s->pc);\n\n s->is_jmp = DISAS_WFI;\n\n return 0;\n\n }\n\n rd = (insn >> 12) & 0xf;\n\n\n\n if (cp15_tls_load_store(env, s, insn, rd))\n\n return 0;\n\n\n\n tmp2 = tcg_const_i32(insn);\n\n if (insn & ARM_CP_RW_BIT) {\n\n tmp = new_tmp();\n\n gen_helper_get_cp15(tmp, cpu_env, tmp2);\n\n /* If the destination register is r15 then sets condition codes. */\n\n if (rd != 15)\n\n store_reg(s, rd, tmp);\n\n else\n\n dead_tmp(tmp);\n\n } else {\n\n tmp = load_reg(s, rd);\n\n gen_helper_set_cp15(cpu_env, tmp2, tmp);\n\n dead_tmp(tmp);\n\n /* Normally we would always end the TB here, but Linux\n\n * arch/arm/mach-pxa/sleep.S expects two instructions following\n\n * an MMU enable to execute from cache. Imitate this behaviour. */\n\n if (!arm_feature(env, ARM_FEATURE_XSCALE) ||\n\n (insn & 0x0fff0fff) != 0x0e010f10)\n\n gen_lookup_tb(s);\n\n }\n\n tcg_temp_free_i32(tmp2);\n\n return 0;\n\n}\n", "idx": 2538}238{"project": "qemu", "commit_id": "32bafa8fdd098d52fbf1102d5a5e48d29398c0aa", "target": 0, "func": "static CharDriverState *vc_init(const char *id, ChardevBackend *backend,\n\n ChardevReturn *ret, Error **errp)\n\n{\n\n return vc_handler(backend->u.vc, errp);\n\n}\n", "idx": 2564}239{"project": "qemu", "commit_id": "1f3870ab242018b724b845957f7f928a2d7c1f5b", "target": 0, "func": "USBDevice *usb_host_device_open(const char *devname)\n\n{\n\n int fd = -1, ret;\n\n USBHostDevice *dev = NULL;\n\n struct usbdevfs_connectinfo ci;\n\n char buf[1024];\n\n int bus_num, addr;\n\n char product_name[PRODUCT_NAME_SZ];\n\n\n\n dev = qemu_mallocz(sizeof(USBHostDevice));\n\n if (!dev)\n\n goto fail;\n\n\n\n#ifdef DEBUG_ISOCH\n\n printf(\"usb_host_device_open %s\\n\", devname);\n\n#endif\n\n if (usb_host_find_device(&bus_num, &addr,\n\n product_name, sizeof(product_name),\n\n devname) < 0)\n\n return NULL;\n\n\n\n snprintf(buf, sizeof(buf), USBDEVFS_PATH \"/%03d/%03d\",\n\n bus_num, addr);\n\n fd = open(buf, O_RDWR | O_NONBLOCK);\n\n if (fd < 0) {\n\n perror(buf);\n\n return NULL;\n\n }\n\n\n\n /* read the device description */\n\n dev->descr_len = read(fd, dev->descr, sizeof(dev->descr));\n\n if (dev->descr_len <= 0) {\n\n perror(\"usb_host_device_open: reading device data failed\");\n\n goto fail;\n\n }\n\n\n\n#ifdef DEBUG\n\n {\n\n int x;\n\n printf(\"=== begin dumping device descriptor data ===\\n\");\n\n for (x = 0; x < dev->descr_len; x++)\n\n printf(\"%02x \", dev->descr[x]);\n\n printf(\"\\n=== end dumping device descriptor data ===\\n\");\n\n }\n\n#endif\n\n\n\n dev->fd = fd;\n\n dev->configuration = 1;\n\n\n\n /* XXX - do something about initial configuration */\n\n if (!usb_host_update_interfaces(dev, 1))\n\n goto fail;\n\n\n\n ret = ioctl(fd, USBDEVFS_CONNECTINFO, &ci);\n\n if (ret < 0) {\n\n perror(\"usb_host_device_open: USBDEVFS_CONNECTINFO\");\n\n goto fail;\n\n }\n\n\n\n#ifdef DEBUG\n\n printf(\"host USB device %d.%d grabbed\\n\", bus_num, addr);\n\n#endif\n\n\n\n ret = usb_linux_update_endp_table(dev);\n\n if (ret)\n\n goto fail;\n\n\n\n if (ci.slow)\n\n dev->dev.speed = USB_SPEED_LOW;\n\n else\n\n dev->dev.speed = USB_SPEED_HIGH;\n\n dev->dev.handle_packet = usb_generic_handle_packet;\n\n\n\n dev->dev.handle_reset = usb_host_handle_reset;\n\n dev->dev.handle_control = usb_host_handle_control;\n\n dev->dev.handle_data = usb_host_handle_data;\n\n dev->dev.handle_destroy = usb_host_handle_destroy;\n\n\n\n if (product_name[0] == '\\0')\n\n snprintf(dev->dev.devname, sizeof(dev->dev.devname),\n\n \"host:%s\", devname);\n\n else\n\n pstrcpy(dev->dev.devname, sizeof(dev->dev.devname),\n\n product_name);\n\n\n\n#ifdef USE_ASYNCIO\n\n /* set up the signal handlers */\n\n sigemptyset(&sigact.sa_mask);\n\n sigact.sa_sigaction = isoch_done;\n\n sigact.sa_flags = SA_SIGINFO;\n\n sigact.sa_restorer = 0;\n\n ret = sigaction(SIG_ISOCOMPLETE, &sigact, NULL);\n\n if (ret < 0) {\n\n perror(\"usb_host_device_open: sigaction failed\");\n\n goto fail;\n\n }\n\n\n\n if (pipe(dev->pipe_fds) < 0) {\n\n perror(\"usb_host_device_open: pipe creation failed\");\n\n goto fail;\n\n }\n\n fcntl(dev->pipe_fds[0], F_SETFL, O_NONBLOCK | O_ASYNC);\n\n fcntl(dev->pipe_fds[1], F_SETFL, O_NONBLOCK);\n\n qemu_set_fd_handler(dev->pipe_fds[0], urb_completion_pipe_read, NULL, dev);\n\n#endif\n\n dev->urbs_ready = 0;\n\n return (USBDevice *)dev;\n\nfail:\n\n if (dev)\n\n qemu_free(dev);\n\n close(fd);\n\n return NULL;\n\n}\n", "idx": 2583}240{"project": "qemu", "commit_id": "59800ec8e52bcfa271fa61fb0aae19205ef1b7f1", "target": 0, "func": "uint64_t helper_frsp(CPUPPCState *env, uint64_t arg)\n\n{\n\n CPU_DoubleU farg;\n\n float32 f32;\n\n\n\n farg.ll = arg;\n\n\n\n if (unlikely(float64_is_signaling_nan(farg.d))) {\n\n /* sNaN square root */\n\n fload_invalid_op_excp(env, POWERPC_EXCP_FP_VXSNAN);\n\n }\n\n f32 = float64_to_float32(farg.d, &env->fp_status);\n\n farg.d = float32_to_float64(f32, &env->fp_status);\n\n\n\n return farg.ll;\n\n}\n", "idx": 2594}241{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "int gen_new_label(void)\n\n{\n\n TCGContext *s = &tcg_ctx;\n\n int idx;\n\n TCGLabel *l;\n\n\n\n if (s->nb_labels >= TCG_MAX_LABELS)\n\n tcg_abort();\n\n idx = s->nb_labels++;\n\n l = &s->labels[idx];\n\n l->has_value = 0;\n\n l->u.first_reloc = NULL;\n\n return idx;\n\n}\n", "idx": 2602}242{"project": "qemu", "commit_id": "61007b316cd71ee7333ff7a0a749a8949527575f", "target": 0, "func": "void bdrv_round_to_clusters(BlockDriverState *bs,\n\n int64_t sector_num, int nb_sectors,\n\n int64_t *cluster_sector_num,\n\n int *cluster_nb_sectors)\n\n{\n\n BlockDriverInfo bdi;\n\n\n\n if (bdrv_get_info(bs, &bdi) < 0 || bdi.cluster_size == 0) {\n\n *cluster_sector_num = sector_num;\n\n *cluster_nb_sectors = nb_sectors;\n\n } else {\n\n int64_t c = bdi.cluster_size / BDRV_SECTOR_SIZE;\n\n *cluster_sector_num = QEMU_ALIGN_DOWN(sector_num, c);\n\n *cluster_nb_sectors = QEMU_ALIGN_UP(sector_num - *cluster_sector_num +\n\n nb_sectors, c);\n\n }\n\n}\n", "idx": 2604}243{"project": "qemu", "commit_id": "b0706b716769494f321a0d2bfd9fa9893992f995", "target": 1, "func": "void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length)\n\n{\n\n CPUArchState *env;\n\n\n\n int mmu_idx;\n\n\n\n assert_cpu_is_self(cpu);\n\n\n\n env = cpu->env_ptr;\n\n for (mmu_idx = 0; mmu_idx < NB_MMU_MODES; mmu_idx++) {\n\n unsigned int i;\n\n\n\n for (i = 0; i < CPU_TLB_SIZE; i++) {\n\n tlb_reset_dirty_range(&env->tlb_table[mmu_idx][i],\n\n start1, length);\n\n }\n\n\n\n for (i = 0; i < CPU_VTLB_SIZE; i++) {\n\n tlb_reset_dirty_range(&env->tlb_v_table[mmu_idx][i],\n\n start1, length);\n\n }\n\n }\n\n}\n", "idx": 2620}244{"project": "qemu", "commit_id": "e0ef439588ce1ede747f82b77d893190c1cc9f4d", "target": 1, "func": "blkdebug_co_preadv(BlockDriverState *bs, uint64_t offset, uint64_t bytes,\n QEMUIOVector *qiov, int flags)\n{\n BDRVBlkdebugState *s = bs->opaque;\n BlkdebugRule *rule = NULL;\n QSIMPLEQ_FOREACH(rule, &s->active_rules, active_next) {\n uint64_t inject_offset = rule->options.inject.offset;\n if (inject_offset == -1 ||\n (inject_offset >= offset && inject_offset < offset + bytes))\n {\n break;\n if (rule && rule->options.inject.error) {\n return inject_error(bs, rule);\n return bdrv_co_preadv(bs->file, offset, bytes, qiov, flags);", "idx": 2622}245{"project": "qemu", "commit_id": "f8ed85ac992c48814d916d5df4d44f9a971c5de4", "target": 1, "func": "static int idreg_init1(SysBusDevice *dev)\n\n{\n\n IDRegState *s = MACIO_ID_REGISTER(dev);\n\n\n\n memory_region_init_ram(&s->mem, OBJECT(s),\n\n \"sun4m.idreg\", sizeof(idreg_data), &error_abort);\n\n vmstate_register_ram_global(&s->mem);\n\n memory_region_set_readonly(&s->mem, true);\n\n sysbus_init_mmio(dev, &s->mem);\n\n return 0;\n\n}\n", "idx": 2624}246{"project": "qemu", "commit_id": "f02ca5cbeaf86038834c1953247a1579d7921927", "target": 0, "func": "static inline void tcg_out_ld_ptr(TCGContext *s, int ret,\n\n tcg_target_long arg)\n\n{\n\n#if defined(__sparc_v9__) && !defined(__sparc_v8plus__)\n\n if (arg != (arg & 0xffffffff))\n\n fprintf(stderr, \"unimplemented %s with offset %ld\\n\", __func__, arg);\n\n if (arg != (arg & 0xfff))\n\n tcg_out32(s, SETHI | INSN_RD(ret) | (((uint32_t)arg & 0xfffffc00) >> 10));\n\n tcg_out32(s, LDX | INSN_RD(ret) | INSN_RS1(ret) |\n\n INSN_IMM13(arg & 0x3ff));\n\n#else\n\n tcg_out_ld_raw(s, ret, arg);\n\n#endif\n\n}\n", "idx": 2628}247{"project": "qemu", "commit_id": "95b5edcd92d64c7b8fe9f2e3e0725fdf84be0dfa", "target": 0, "func": "int xen_config_dev_blk(DriveInfo *disk)\n\n{\n\n char fe[256], be[256];\n\n int vdev = 202 * 256 + 16 * disk->unit;\n\n int cdrom = disk->bdrv->type == BDRV_TYPE_CDROM;\n\n const char *devtype = cdrom ? \"cdrom\" : \"disk\";\n\n const char *mode = cdrom ? \"r\" : \"w\";\n\n\n\n snprintf(disk->bdrv->device_name, sizeof(disk->bdrv->device_name),\n\n\t \"xvd%c\", 'a' + disk->unit);\n\n xen_be_printf(NULL, 1, \"config disk %d [%s]: %s\\n\",\n\n disk->unit, disk->bdrv->device_name, disk->bdrv->filename);\n\n xen_config_dev_dirs(\"vbd\", \"qdisk\", vdev, fe, be, sizeof(fe));\n\n\n\n /* frontend */\n\n xenstore_write_int(fe, \"virtual-device\", vdev);\n\n xenstore_write_str(fe, \"device-type\", devtype);\n\n\n\n /* backend */\n\n xenstore_write_str(be, \"dev\", disk->bdrv->device_name);\n\n xenstore_write_str(be, \"type\", \"file\");\n\n xenstore_write_str(be, \"params\", disk->bdrv->filename);\n\n xenstore_write_str(be, \"mode\", mode);\n\n\n\n /* common stuff */\n\n return xen_config_dev_all(fe, be);\n\n}\n", "idx": 2632}248{"project": "qemu", "commit_id": "cd42d5b23691ad73edfd6dbcfc935a960a9c5a65", "target": 0, "func": "static inline void gen_intermediate_code_internal(OpenRISCCPU *cpu,\n\n TranslationBlock *tb,\n\n int search_pc)\n\n{\n\n CPUState *cs = CPU(cpu);\n\n struct DisasContext ctx, *dc = &ctx;\n\n uint16_t *gen_opc_end;\n\n uint32_t pc_start;\n\n int j, k;\n\n uint32_t next_page_start;\n\n int num_insns;\n\n int max_insns;\n\n\n\n pc_start = tb->pc;\n\n dc->tb = tb;\n\n\n\n gen_opc_end = tcg_ctx.gen_opc_buf + OPC_MAX_SIZE;\n\n dc->is_jmp = DISAS_NEXT;\n\n dc->ppc = pc_start;\n\n dc->pc = pc_start;\n\n dc->flags = cpu->env.cpucfgr;\n\n dc->mem_idx = cpu_mmu_index(&cpu->env);\n\n dc->synced_flags = dc->tb_flags = tb->flags;\n\n dc->delayed_branch = !!(dc->tb_flags & D_FLAG);\n\n dc->singlestep_enabled = cs->singlestep_enabled;\n\n if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {\n\n qemu_log(\"-----------------------------------------\\n\");\n\n log_cpu_state(CPU(cpu), 0);\n\n }\n\n\n\n next_page_start = (pc_start & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE;\n\n k = -1;\n\n num_insns = 0;\n\n max_insns = tb->cflags & CF_COUNT_MASK;\n\n\n\n if (max_insns == 0) {\n\n max_insns = CF_COUNT_MASK;\n\n }\n\n\n\n gen_tb_start();\n\n\n\n do {\n\n check_breakpoint(cpu, dc);\n\n if (search_pc) {\n\n j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;\n\n if (k < j) {\n\n k++;\n\n while (k < j) {\n\n tcg_ctx.gen_opc_instr_start[k++] = 0;\n\n }\n\n }\n\n tcg_ctx.gen_opc_pc[k] = dc->pc;\n\n tcg_ctx.gen_opc_instr_start[k] = 1;\n\n tcg_ctx.gen_opc_icount[k] = num_insns;\n\n }\n\n\n\n if (unlikely(qemu_loglevel_mask(CPU_LOG_TB_OP | CPU_LOG_TB_OP_OPT))) {\n\n tcg_gen_debug_insn_start(dc->pc);\n\n }\n\n\n\n if (num_insns + 1 == max_insns && (tb->cflags & CF_LAST_IO)) {\n\n gen_io_start();\n\n }\n\n dc->ppc = dc->pc - 4;\n\n dc->npc = dc->pc + 4;\n\n tcg_gen_movi_tl(cpu_ppc, dc->ppc);\n\n tcg_gen_movi_tl(cpu_npc, dc->npc);\n\n disas_openrisc_insn(dc, cpu);\n\n dc->pc = dc->npc;\n\n num_insns++;\n\n /* delay slot */\n\n if (dc->delayed_branch) {\n\n dc->delayed_branch--;\n\n if (!dc->delayed_branch) {\n\n dc->tb_flags &= ~D_FLAG;\n\n gen_sync_flags(dc);\n\n tcg_gen_mov_tl(cpu_pc, jmp_pc);\n\n tcg_gen_mov_tl(cpu_npc, jmp_pc);\n\n tcg_gen_movi_tl(jmp_pc, 0);\n\n tcg_gen_exit_tb(0);\n\n dc->is_jmp = DISAS_JUMP;\n\n break;\n\n }\n\n }\n\n } while (!dc->is_jmp\n\n && tcg_ctx.gen_opc_ptr < gen_opc_end\n\n && !cs->singlestep_enabled\n\n && !singlestep\n\n && (dc->pc < next_page_start)\n\n && num_insns < max_insns);\n\n\n\n if (tb->cflags & CF_LAST_IO) {\n\n gen_io_end();\n\n }\n\n if (dc->is_jmp == DISAS_NEXT) {\n\n dc->is_jmp = DISAS_UPDATE;\n\n tcg_gen_movi_tl(cpu_pc, dc->pc);\n\n }\n\n if (unlikely(cs->singlestep_enabled)) {\n\n if (dc->is_jmp == DISAS_NEXT) {\n\n tcg_gen_movi_tl(cpu_pc, dc->pc);\n\n }\n\n gen_exception(dc, EXCP_DEBUG);\n\n } else {\n\n switch (dc->is_jmp) {\n\n case DISAS_NEXT:\n\n gen_goto_tb(dc, 0, dc->pc);\n\n break;\n\n default:\n\n case DISAS_JUMP:\n\n break;\n\n case DISAS_UPDATE:\n\n /* indicate that the hash table must be used\n\n to find the next TB */\n\n tcg_gen_exit_tb(0);\n\n break;\n\n case DISAS_TB_JUMP:\n\n /* nothing more to generate */\n\n break;\n\n }\n\n }\n\n\n\n gen_tb_end(tb, num_insns);\n\n *tcg_ctx.gen_opc_ptr = INDEX_op_end;\n\n if (search_pc) {\n\n j = tcg_ctx.gen_opc_ptr - tcg_ctx.gen_opc_buf;\n\n k++;\n\n while (k <= j) {\n\n tcg_ctx.gen_opc_instr_start[k++] = 0;\n\n }\n\n } else {\n\n tb->size = dc->pc - pc_start;\n\n tb->icount = num_insns;\n\n }\n\n\n\n#ifdef DEBUG_DISAS\n\n if (qemu_loglevel_mask(CPU_LOG_TB_IN_ASM)) {\n\n qemu_log(\"\\n\");\n\n log_target_disas(&cpu->env, pc_start, dc->pc - pc_start, 0);\n\n qemu_log(\"\\nisize=%d osize=%td\\n\",\n\n dc->pc - pc_start, tcg_ctx.gen_opc_ptr -\n\n tcg_ctx.gen_opc_buf);\n\n }\n\n#endif\n\n}\n", "idx": 2634}249{"project": "qemu", "commit_id": "3a55fc0f243104998bee5106b121cff257df5d33", "target": 1, "func": "static void pci_ivshmem_realize(PCIDevice *dev, Error **errp)\n\n{\n\n IVShmemState *s = IVSHMEM(dev);\n\n Error *err = NULL;\n\n uint8_t *pci_conf;\n\n uint8_t attr = PCI_BASE_ADDRESS_SPACE_MEMORY |\n\n PCI_BASE_ADDRESS_MEM_PREFETCH;\n\n\n\n if (!!s->server_chr + !!s->shmobj + !!s->hostmem != 1) {\n\n error_setg(errp,\n\n \"You must specify either 'shm', 'chardev' or 'x-memdev'\");\n\n return;\n\n }\n\n\n\n if (s->hostmem) {\n\n MemoryRegion *mr;\n\n\n\n if (s->sizearg) {\n\n g_warning(\"size argument ignored with hostmem\");\n\n }\n\n\n\n mr = host_memory_backend_get_memory(s->hostmem, &error_abort);\n\n s->ivshmem_size = memory_region_size(mr);\n\n } else if (s->sizearg == NULL) {\n\n s->ivshmem_size = 4 << 20; /* 4 MB default */\n\n } else {\n\n char *end;\n\n int64_t size = qemu_strtosz(s->sizearg, &end);\n\n if (size < 0 || *end != '\\0' || !is_power_of_2(size)) {\n\n error_setg(errp, \"Invalid size %s\", s->sizearg);\n\n return;\n\n }\n\n s->ivshmem_size = size;\n\n }\n\n\n\n /* IRQFD requires MSI */\n\n if (ivshmem_has_feature(s, IVSHMEM_IOEVENTFD) &&\n\n !ivshmem_has_feature(s, IVSHMEM_MSI)) {\n\n error_setg(errp, \"ioeventfd/irqfd requires MSI\");\n\n return;\n\n }\n\n\n\n /* check that role is reasonable */\n\n if (s->role) {\n\n if (strncmp(s->role, \"peer\", 5) == 0) {\n\n s->role_val = IVSHMEM_PEER;\n\n } else if (strncmp(s->role, \"master\", 7) == 0) {\n\n s->role_val = IVSHMEM_MASTER;\n\n } else {\n\n error_setg(errp, \"'role' must be 'peer' or 'master'\");\n\n return;\n\n }\n\n } else {\n\n s->role_val = IVSHMEM_MASTER; /* default */\n\n }\n\n\n\n pci_conf = dev->config;\n\n pci_conf[PCI_COMMAND] = PCI_COMMAND_IO | PCI_COMMAND_MEMORY;\n\n\n\n /*\n\n * Note: we don't use INTx with IVSHMEM_MSI at all, so this is a\n\n * bald-faced lie then. But it's a backwards compatible lie.\n\n */\n\n pci_config_set_interrupt_pin(pci_conf, 1);\n\n\n\n memory_region_init_io(&s->ivshmem_mmio, OBJECT(s), &ivshmem_mmio_ops, s,\n\n \"ivshmem-mmio\", IVSHMEM_REG_BAR_SIZE);\n\n\n\n /* region for registers*/\n\n pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_MEMORY,\n\n &s->ivshmem_mmio);\n\n\n\n memory_region_init(&s->bar, OBJECT(s), \"ivshmem-bar2-container\", s->ivshmem_size);\n\n if (s->ivshmem_64bit) {\n\n attr |= PCI_BASE_ADDRESS_MEM_TYPE_64;\n\n }\n\n\n\n if (s->hostmem != NULL) {\n\n MemoryRegion *mr;\n\n\n\n IVSHMEM_DPRINTF(\"using hostmem\\n\");\n\n\n\n mr = host_memory_backend_get_memory(MEMORY_BACKEND(s->hostmem),\n\n &error_abort);\n\n vmstate_register_ram(mr, DEVICE(s));\n\n memory_region_add_subregion(&s->bar, 0, mr);\n\n pci_register_bar(PCI_DEVICE(s), 2, attr, &s->bar);\n\n } else if (s->server_chr != NULL) {\n\n /* FIXME do not rely on what chr drivers put into filename */\n\n if (strncmp(s->server_chr->filename, \"unix:\", 5)) {\n\n error_setg(errp, \"chardev is not a unix client socket\");\n\n return;\n\n }\n\n\n\n /* if we get a UNIX socket as the parameter we will talk\n\n * to the ivshmem server to receive the memory region */\n\n\n\n IVSHMEM_DPRINTF(\"using shared memory server (socket = %s)\\n\",\n\n s->server_chr->filename);\n\n\n\n if (ivshmem_setup_interrupts(s) < 0) {\n\n error_setg(errp, \"failed to initialize interrupts\");\n\n return;\n\n }\n\n\n\n /* we allocate enough space for 16 peers and grow as needed */\n\n resize_peers(s, 16);\n\n s->vm_id = -1;\n\n\n\n pci_register_bar(dev, 2, attr, &s->bar);\n\n\n\n qemu_chr_add_handlers(s->server_chr, ivshmem_can_receive,\n\n ivshmem_check_version, NULL, s);\n\n } else {\n\n /* just map the file immediately, we're not using a server */\n\n int fd;\n\n\n\n IVSHMEM_DPRINTF(\"using shm_open (shm object = %s)\\n\", s->shmobj);\n\n\n\n /* try opening with O_EXCL and if it succeeds zero the memory\n\n * by truncating to 0 */\n\n if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR|O_EXCL,\n\n S_IRWXU|S_IRWXG|S_IRWXO)) > 0) {\n\n /* truncate file to length PCI device's memory */\n\n if (ftruncate(fd, s->ivshmem_size) != 0) {\n\n error_report(\"could not truncate shared file\");\n\n }\n\n\n\n } else if ((fd = shm_open(s->shmobj, O_CREAT|O_RDWR,\n\n S_IRWXU|S_IRWXG|S_IRWXO)) < 0) {\n\n error_setg(errp, \"could not open shared file\");\n\n return;\n\n }\n\n\n\n if (check_shm_size(s, fd, errp) == -1) {\n\n return;\n\n }\n\n\n\n create_shared_memory_BAR(s, fd, attr, &err);\n\n if (err) {\n\n error_propagate(errp, err);\n\n return;\n\n }\n\n }\n\n\n\n fifo8_create(&s->incoming_fifo, sizeof(int64_t));\n\n\n\n if (s->role_val == IVSHMEM_PEER) {\n\n error_setg(&s->migration_blocker,\n\n \"Migration is disabled when using feature 'peer mode' in device 'ivshmem'\");\n\n migrate_add_blocker(s->migration_blocker);\n\n }\n\n}\n", "idx": 2649}250{"project": "qemu", "commit_id": "ab2b9f174db088633922eaa82c2bcffd84e6bb94", "target": 1, "func": "int print_insn_lm32(bfd_vma memaddr, struct disassemble_info *info)\n\n{\n\n fprintf_function fprintf_fn = info->fprintf_func;\n\n void *stream = info->stream;\n\n int rc;\n\n uint8_t insn[4];\n\n const Lm32OpcodeInfo *opc_info;\n\n uint32_t op;\n\n const char *args_fmt;\n\n\n\n rc = info->read_memory_func(memaddr, insn, 4, info);\n\n if (rc != 0) {\n\n info->memory_error_func(rc, memaddr, info);\n\n return -1;\n\n }\n\n\n\n fprintf_fn(stream, \"%02x %02x %02x %02x \",\n\n insn[0], insn[1], insn[2], insn[3]);\n\n\n\n op = bfd_getb32(insn);\n\n opc_info = find_opcode_info(op);\n\n if (opc_info) {\n\n fprintf_fn(stream, \"%-8s \", opc_info->name);\n\n args_fmt = opc_info->args_fmt;\n\n while (args_fmt && *args_fmt) {\n\n if (*args_fmt == '%') {\n\n switch (*(++args_fmt)) {\n\n case '0': {\n\n uint8_t r0;\n\n const char *r0_name;\n\n r0 = (op >> 21) & 0x1f;\n\n r0_name = find_reg_info(r0)->name;\n\n fprintf_fn(stream, \"%s\", r0_name);\n\n break;\n\n }\n\n case '1': {\n\n uint8_t r1;\n\n const char *r1_name;\n\n r1 = (op >> 16) & 0x1f;\n\n r1_name = find_reg_info(r1)->name;\n\n fprintf_fn(stream, \"%s\", r1_name);\n\n break;\n\n }\n\n case '2': {\n\n uint8_t r2;\n\n const char *r2_name;\n\n r2 = (op >> 11) & 0x1f;\n\n r2_name = find_reg_info(r2)->name;\n\n fprintf_fn(stream, \"%s\", r2_name);\n\n break;\n\n }\n\n case 'c': {\n\n uint8_t csr;\n\n const char *csr_name;\n\n csr = (op >> 21) & 0x1f;\n\n csr_name = find_csr_info(csr)->name;\n\n if (csr_name) {\n\n fprintf_fn(stream, \"%s\", csr_name);\n\n } else {\n\n fprintf_fn(stream, \"0x%x\", csr);\n\n }\n\n break;\n\n }\n\n case 'u': {\n\n uint16_t u16;\n\n u16 = op & 0xffff;\n\n fprintf_fn(stream, \"0x%x\", u16);\n\n break;\n\n }\n\n case 's': {\n\n int16_t s16;\n\n s16 = (int16_t)(op & 0xffff);\n\n fprintf_fn(stream, \"%d\", s16);\n\n break;\n\n }\n\n case 'r': {\n\n uint32_t rela;\n\n rela = memaddr + (((int16_t)(op & 0xffff)) << 2);\n\n fprintf_fn(stream, \"%x\", rela);\n\n break;\n\n }\n\n case 'R': {\n\n uint32_t rela;\n\n int32_t imm26;\n\n imm26 = (int32_t)((op & 0x3ffffff) << 6) >> 4;\n\n rela = memaddr + imm26;\n\n fprintf_fn(stream, \"%x\", rela);\n\n break;\n\n }\n\n case 'h': {\n\n uint8_t u5;\n\n u5 = (op & 0x1f);\n\n fprintf_fn(stream, \"%d\", u5);\n\n break;\n\n }\n\n default:\n\n break;\n\n }\n\n } else {\n\n fprintf_fn(stream, \"%c\", *args_fmt);\n\n }\n\n args_fmt++;\n\n }\n\n } else {\n\n fprintf_fn(stream, \".word 0x%x\", op);\n\n }\n\n\n\n return 4;\n\n}\n", "idx": 2656}251{"project": "FFmpeg", "commit_id": "0b42631641d998e509cde6fa344edc6ab5cb4ac8", "target": 0, "func": "static int get_coc(Jpeg2000DecoderContext *s, Jpeg2000CodingStyle *c,\n\n uint8_t *properties)\n\n{\n\n int compno;\n\n\n\n if (s->buf_end - s->buf < 2)\n\n return AVERROR(EINVAL);\n\n\n\n compno = bytestream_get_byte(&s->buf);\n\n\n\n c += compno;\n\n c->csty = bytestream_get_byte(&s->buf);\n\n get_cox(s, c);\n\n\n\n properties[compno] |= HAD_COC;\n\n return 0;\n\n}\n", "idx": 2665}252{"project": "qemu", "commit_id": "615220ddaf23db4c5686053257c568b46967e4b5", "target": 1, "func": "static void curses_setup(void)\n\n{\n\n int i, colour_default[8] = {\n\n COLOR_BLACK, COLOR_BLUE, COLOR_GREEN, COLOR_CYAN,\n\n COLOR_RED, COLOR_MAGENTA, COLOR_YELLOW, COLOR_WHITE,\n\n };\n\n\n\n /* input as raw as possible, let everything be interpreted\n\n * by the guest system */\n\n initscr(); noecho(); intrflush(stdscr, FALSE);\n\n nodelay(stdscr, TRUE); nonl(); keypad(stdscr, TRUE);\n\n start_color(); raw(); scrollok(stdscr, FALSE);\n\n\n\n for (i = 0; i < 64; i ++)\n\n init_pair(i, colour_default[i & 7], colour_default[i >> 3]);\n\n}\n", "idx": 2673}253{"project": "FFmpeg", "commit_id": "28bf81c90d36a55cf76e2be913c5215ebebf61f2", "target": 1, "func": "static inline void RENAME(hyscale)(uint16_t *dst, int dstWidth, uint8_t *src, int srcW, int xInc)\n\n{\n\n#ifdef HAVE_MMX\n\n\t// use the new MMX scaler if th mmx2 cant be used (its faster than the x86asm one)\n\n if(sws_flags != SWS_FAST_BILINEAR || (!canMMX2BeUsed))\n\n#else\n\n if(sws_flags != SWS_FAST_BILINEAR)\n\n#endif\n\n {\n\n \tRENAME(hScale)(dst, dstWidth, src, srcW, xInc, hLumFilter, hLumFilterPos, hLumFilterSize);\n\n }\n\n else // Fast Bilinear upscale / crap downscale\n\n {\n\n#ifdef ARCH_X86\n\n#ifdef HAVE_MMX2\n\n\tint i;\n\n\tif(canMMX2BeUsed)\n\n\t{\n\n\t\tasm volatile(\n\n\t\t\t\"pxor %%mm7, %%mm7\t\t\\n\\t\"\n\n\t\t\t\"pxor %%mm2, %%mm2\t\t\\n\\t\" // 2*xalpha\n\n\t\t\t\"movd %5, %%mm6\t\t\t\\n\\t\" // xInc&0xFFFF\n\n\t\t\t\"punpcklwd %%mm6, %%mm6\t\t\\n\\t\"\n\n\t\t\t\"punpcklwd %%mm6, %%mm6\t\t\\n\\t\"\n\n\t\t\t\"movq %%mm6, %%mm2\t\t\\n\\t\"\n\n\t\t\t\"psllq $16, %%mm2\t\t\\n\\t\"\n\n\t\t\t\"paddw %%mm6, %%mm2\t\t\\n\\t\"\n\n\t\t\t\"psllq $16, %%mm2\t\t\\n\\t\"\n\n\t\t\t\"paddw %%mm6, %%mm2\t\t\\n\\t\"\n\n\t\t\t\"psllq $16, %%mm2\t\t\\n\\t\" //0,t,2t,3t\t\tt=xInc&0xFF\n\n\t\t\t\"movq %%mm2, \"MANGLE(temp0)\"\t\\n\\t\"\n\n\t\t\t\"movd %4, %%mm6\t\t\t\\n\\t\" //(xInc*4)&0xFFFF\n\n\t\t\t\"punpcklwd %%mm6, %%mm6\t\t\\n\\t\"\n\n\t\t\t\"punpcklwd %%mm6, %%mm6\t\t\\n\\t\"\n\n\t\t\t\"xorl %%eax, %%eax\t\t\\n\\t\" // i\n\n\t\t\t\"movl %0, %%esi\t\t\t\\n\\t\" // src\n\n\t\t\t\"movl %1, %%edi\t\t\t\\n\\t\" // buf1\n\n\t\t\t\"movl %3, %%edx\t\t\t\\n\\t\" // (xInc*4)>>16\n\n\t\t\t\"xorl %%ecx, %%ecx\t\t\\n\\t\"\n\n\t\t\t\"xorl %%ebx, %%ebx\t\t\\n\\t\"\n\n\t\t\t\"movw %4, %%bx\t\t\t\\n\\t\" // (xInc*4)&0xFFFF\n\n\n\n#define FUNNY_Y_CODE \\\n\n\t\t\tPREFETCH\" 1024(%%esi)\t\t\\n\\t\"\\\n\n\t\t\tPREFETCH\" 1056(%%esi)\t\t\\n\\t\"\\\n\n\t\t\tPREFETCH\" 1088(%%esi)\t\t\\n\\t\"\\\n\n\t\t\t\"call \"MANGLE(funnyYCode)\"\t\\n\\t\"\\\n\n\t\t\t\"movq \"MANGLE(temp0)\", %%mm2\t\\n\\t\"\\\n\n\t\t\t\"xorl %%ecx, %%ecx\t\t\\n\\t\"\n\n\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\nFUNNY_Y_CODE\n\n\n\n\t\t\t:: \"m\" (src), \"m\" (dst), \"m\" (dstWidth), \"m\" ((xInc*4)>>16),\n\n\t\t\t\"m\" ((xInc*4)&0xFFFF), \"m\" (xInc&0xFFFF)\n\n\t\t\t: \"%eax\", \"%ebx\", \"%ecx\", \"%edx\", \"%esi\", \"%edi\"\n\n\t\t);\n\n\t\tfor(i=dstWidth-1; (i*xInc)>>16 >=srcW-1; i--) dst[i] = src[srcW-1]*128;\n\n\t}\n\n\telse\n\n\t{\n\n#endif\n\n\t//NO MMX just normal asm ...\n\n\tasm volatile(\n\n\t\t\"xorl %%eax, %%eax\t\t\\n\\t\" // i\n\n\t\t\"xorl %%ebx, %%ebx\t\t\\n\\t\" // xx\n\n\t\t\"xorl %%ecx, %%ecx\t\t\\n\\t\" // 2*xalpha\n\n\t\t\".balign 16\t\t\t\\n\\t\"\n\n\t\t\"1:\t\t\t\t\\n\\t\"\n\n\t\t\"movzbl (%0, %%ebx), %%edi\t\\n\\t\" //src[xx]\n\n\t\t\"movzbl 1(%0, %%ebx), %%esi\t\\n\\t\" //src[xx+1]\n\n\t\t\"subl %%edi, %%esi\t\t\\n\\t\" //src[xx+1] - src[xx]\n\n\t\t\"imull %%ecx, %%esi\t\t\\n\\t\" //(src[xx+1] - src[xx])*2*xalpha\n\n\t\t\"shll $16, %%edi\t\t\\n\\t\"\n\n\t\t\"addl %%edi, %%esi\t\t\\n\\t\" //src[xx+1]*2*xalpha + src[xx]*(1-2*xalpha)\n\n\t\t\"movl %1, %%edi\t\t\t\\n\\t\"\n\n\t\t\"shrl $9, %%esi\t\t\t\\n\\t\"\n\n\t\t\"movw %%si, (%%edi, %%eax, 2)\t\\n\\t\"\n\n\t\t\"addw %4, %%cx\t\t\t\\n\\t\" //2*xalpha += xInc&0xFF\n\n\t\t\"adcl %3, %%ebx\t\t\t\\n\\t\" //xx+= xInc>>8 + carry\n\n\n\n\t\t\"movzbl (%0, %%ebx), %%edi\t\\n\\t\" //src[xx]\n\n\t\t\"movzbl 1(%0, %%ebx), %%esi\t\\n\\t\" //src[xx+1]\n\n\t\t\"subl %%edi, %%esi\t\t\\n\\t\" //src[xx+1] - src[xx]\n\n\t\t\"imull %%ecx, %%esi\t\t\\n\\t\" //(src[xx+1] - src[xx])*2*xalpha\n\n\t\t\"shll $16, %%edi\t\t\\n\\t\"\n\n\t\t\"addl %%edi, %%esi\t\t\\n\\t\" //src[xx+1]*2*xalpha + src[xx]*(1-2*xalpha)\n\n\t\t\"movl %1, %%edi\t\t\t\\n\\t\"\n\n\t\t\"shrl $9, %%esi\t\t\t\\n\\t\"\n\n\t\t\"movw %%si, 2(%%edi, %%eax, 2)\t\\n\\t\"\n\n\t\t\"addw %4, %%cx\t\t\t\\n\\t\" //2*xalpha += xInc&0xFF\n\n\t\t\"adcl %3, %%ebx\t\t\t\\n\\t\" //xx+= xInc>>8 + carry\n\n\n\n\n\n\t\t\"addl $2, %%eax\t\t\t\\n\\t\"\n\n\t\t\"cmpl %2, %%eax\t\t\t\\n\\t\"\n\n\t\t\" jb 1b\t\t\t\t\\n\\t\"\n\n\n\n\n\n\t\t:: \"r\" (src), \"m\" (dst), \"m\" (dstWidth), \"m\" (xInc>>16), \"m\" (xInc&0xFFFF)\n\n\t\t: \"%eax\", \"%ebx\", \"%ecx\", \"%edi\", \"%esi\"\n\n\t\t);\n\n#ifdef HAVE_MMX2\n\n\t} //if MMX2 cant be used\n\n#endif\n\n#else\n\n\tint i;\n\n\tunsigned int xpos=0;\n\n\tfor(i=0;i<dstWidth;i++)\n\n\t{\n\n\t\tregister unsigned int xx=xpos>>16;\n\n\t\tregister unsigned int xalpha=(xpos&0xFFFF)>>9;\n\n\t\tdst[i]= (src[xx]<<7) + (src[xx+1] - src[xx])*xalpha;\n\n\t\txpos+=xInc;\n\n\t}\n\n#endif\n\n }\n\n}\n", "idx": 2677}254{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static int get_uint16_equal(QEMUFile *f, void *pv, size_t size)\n\n{\n\n uint16_t *v = pv;\n\n uint16_t v2;\n\n qemu_get_be16s(f, &v2);\n\n\n\n if (*v == v2) {\n\n return 0;\n\n }\n\n return -EINVAL;\n\n}\n", "idx": 2680}255{"project": "FFmpeg", "commit_id": "c5f15f40b9b25f033fd9e8dd1e12763913098c11", "target": 1, "func": "static int h264_handle_packet(AVFormatContext *ctx, PayloadContext *data,\n\n AVStream *st, AVPacket *pkt, uint32_t *timestamp,\n\n const uint8_t *buf, int len, uint16_t seq,\n\n int flags)\n\n{\n\n uint8_t nal;\n\n uint8_t type;\n\n int result = 0;\n\n\n\n if (!len) {\n\n av_log(ctx, AV_LOG_ERROR, \"Empty H264 RTP packet\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n nal = buf[0];\n\n type = nal & 0x1f;\n\n\n\n assert(data);\n\n assert(buf);\n\n\n\n /* Simplify the case (these are all the nal types used internally by\n\n * the h264 codec). */\n\n if (type >= 1 && type <= 23)\n\n type = 1;\n\n switch (type) {\n\n case 0: // undefined, but pass them through\n\n case 1:\n\n av_new_packet(pkt, len + sizeof(start_sequence));\n\n memcpy(pkt->data, start_sequence, sizeof(start_sequence));\n\n memcpy(pkt->data + sizeof(start_sequence), buf, len);\n\n COUNT_NAL_TYPE(data, nal);\n\n break;\n\n\n\n case 24: // STAP-A (one packet, multiple nals)\n\n // consume the STAP-A NAL\n\n buf++;\n\n len--;\n\n // first we are going to figure out the total size\n\n {\n\n int pass = 0;\n\n int total_length = 0;\n\n uint8_t *dst = NULL;\n\n\n\n for (pass = 0; pass < 2; pass++) {\n\n const uint8_t *src = buf;\n\n int src_len = len;\n\n\n\n while (src_len > 2) {\n\n uint16_t nal_size = AV_RB16(src);\n\n\n\n // consume the length of the aggregate\n\n src += 2;\n\n src_len -= 2;\n\n\n\n if (nal_size <= src_len) {\n\n if (pass == 0) {\n\n // counting\n\n total_length += sizeof(start_sequence) + nal_size;\n\n } else {\n\n // copying\n\n assert(dst);\n\n memcpy(dst, start_sequence, sizeof(start_sequence));\n\n dst += sizeof(start_sequence);\n\n memcpy(dst, src, nal_size);\n\n COUNT_NAL_TYPE(data, *src);\n\n dst += nal_size;\n\n }\n\n } else {\n\n av_log(ctx, AV_LOG_ERROR,\n\n \"nal size exceeds length: %d %d\\n\", nal_size, src_len);\n\n }\n\n\n\n // eat what we handled\n\n src += nal_size;\n\n src_len -= nal_size;\n\n\n\n if (src_len < 0)\n\n av_log(ctx, AV_LOG_ERROR,\n\n \"Consumed more bytes than we got! (%d)\\n\", src_len);\n\n }\n\n\n\n if (pass == 0) {\n\n /* now we know the total size of the packet (with the\n\n * start sequences added) */\n\n av_new_packet(pkt, total_length);\n\n dst = pkt->data;\n\n } else {\n\n assert(dst - pkt->data == total_length);\n\n }\n\n }\n\n }\n\n break;\n\n\n\n case 25: // STAP-B\n\n case 26: // MTAP-16\n\n case 27: // MTAP-24\n\n case 29: // FU-B\n\n av_log(ctx, AV_LOG_ERROR,\n\n \"Unhandled type (%d) (See RFC for implementation details\\n\",\n\n type);\n\n result = AVERROR(ENOSYS);\n\n break;\n\n\n\n case 28: // FU-A (fragmented nal)\n\n buf++;\n\n len--; // skip the fu_indicator\n\n if (len > 1) {\n\n // these are the same as above, we just redo them here for clarity\n\n uint8_t fu_indicator = nal;\n\n uint8_t fu_header = *buf;\n\n uint8_t start_bit = fu_header >> 7;\n\n uint8_t av_unused end_bit = (fu_header & 0x40) >> 6;\n\n uint8_t nal_type = fu_header & 0x1f;\n\n uint8_t reconstructed_nal;\n\n\n\n // Reconstruct this packet's true nal; only the data follows.\n\n /* The original nal forbidden bit and NRI are stored in this\n\n * packet's nal. */\n\n reconstructed_nal = fu_indicator & 0xe0;\n\n reconstructed_nal |= nal_type;\n\n\n\n // skip the fu_header\n\n buf++;\n\n len--;\n\n\n\n if (start_bit)\n\n COUNT_NAL_TYPE(data, nal_type);\n\n if (start_bit) {\n\n /* copy in the start sequence, and the reconstructed nal */\n\n av_new_packet(pkt, sizeof(start_sequence) + sizeof(nal) + len);\n\n memcpy(pkt->data, start_sequence, sizeof(start_sequence));\n\n pkt->data[sizeof(start_sequence)] = reconstructed_nal;\n\n memcpy(pkt->data + sizeof(start_sequence) + sizeof(nal), buf, len);\n\n } else {\n\n av_new_packet(pkt, len);\n\n memcpy(pkt->data, buf, len);\n\n }\n\n } else {\n\n av_log(ctx, AV_LOG_ERROR, \"Too short data for FU-A H264 RTP packet\\n\");\n\n result = AVERROR_INVALIDDATA;\n\n }\n\n break;\n\n\n\n case 30: // undefined\n\n case 31: // undefined\n\n default:\n\n av_log(ctx, AV_LOG_ERROR, \"Undefined type (%d)\\n\", type);\n\n result = AVERROR_INVALIDDATA;\n\n break;\n\n }\n\n\n\n pkt->stream_index = st->index;\n\n\n\n return result;\n\n}\n", "idx": 2704}256{"project": "qemu", "commit_id": "4cdd01d32ee6fe04f8d909bfd3708be6864873a2", "target": 0, "func": "void bdrv_refresh_filename(BlockDriverState *bs)\n\n{\n\n BlockDriver *drv = bs->drv;\n\n QDict *opts;\n\n\n\n if (!drv) {\n\n return;\n\n }\n\n\n\n /* This BDS's file name will most probably depend on its file's name, so\n\n * refresh that first */\n\n if (bs->file) {\n\n bdrv_refresh_filename(bs->file->bs);\n\n }\n\n\n\n if (drv->bdrv_refresh_filename) {\n\n /* Obsolete information is of no use here, so drop the old file name\n\n * information before refreshing it */\n\n bs->exact_filename[0] = '\\0';\n\n if (bs->full_open_options) {\n\n QDECREF(bs->full_open_options);\n\n bs->full_open_options = NULL;\n\n }\n\n\n\n drv->bdrv_refresh_filename(bs);\n\n } else if (bs->file) {\n\n /* Try to reconstruct valid information from the underlying file */\n\n bool has_open_options;\n\n\n\n bs->exact_filename[0] = '\\0';\n\n if (bs->full_open_options) {\n\n QDECREF(bs->full_open_options);\n\n bs->full_open_options = NULL;\n\n }\n\n\n\n opts = qdict_new();\n\n has_open_options = append_open_options(opts, bs);\n\n\n\n /* If no specific options have been given for this BDS, the filename of\n\n * the underlying file should suffice for this one as well */\n\n if (bs->file->bs->exact_filename[0] && !has_open_options) {\n\n strcpy(bs->exact_filename, bs->file->bs->exact_filename);\n\n }\n\n /* Reconstructing the full options QDict is simple for most format block\n\n * drivers, as long as the full options are known for the underlying\n\n * file BDS. The full options QDict of that file BDS should somehow\n\n * contain a representation of the filename, therefore the following\n\n * suffices without querying the (exact_)filename of this BDS. */\n\n if (bs->file->bs->full_open_options) {\n\n qdict_put_obj(opts, \"driver\",\n\n QOBJECT(qstring_from_str(drv->format_name)));\n\n QINCREF(bs->file->bs->full_open_options);\n\n qdict_put_obj(opts, \"file\",\n\n QOBJECT(bs->file->bs->full_open_options));\n\n\n\n bs->full_open_options = opts;\n\n } else {\n\n QDECREF(opts);\n\n }\n\n } else if (!bs->full_open_options && qdict_size(bs->options)) {\n\n /* There is no underlying file BDS (at least referenced by BDS.file),\n\n * so the full options QDict should be equal to the options given\n\n * specifically for this block device when it was opened (plus the\n\n * driver specification).\n\n * Because those options don't change, there is no need to update\n\n * full_open_options when it's already set. */\n\n\n\n opts = qdict_new();\n\n append_open_options(opts, bs);\n\n qdict_put_obj(opts, \"driver\",\n\n QOBJECT(qstring_from_str(drv->format_name)));\n\n\n\n if (bs->exact_filename[0]) {\n\n /* This may not work for all block protocol drivers (some may\n\n * require this filename to be parsed), but we have to find some\n\n * default solution here, so just include it. If some block driver\n\n * does not support pure options without any filename at all or\n\n * needs some special format of the options QDict, it needs to\n\n * implement the driver-specific bdrv_refresh_filename() function.\n\n */\n\n qdict_put_obj(opts, \"filename\",\n\n QOBJECT(qstring_from_str(bs->exact_filename)));\n\n }\n\n\n\n bs->full_open_options = opts;\n\n }\n\n\n\n if (bs->exact_filename[0]) {\n\n pstrcpy(bs->filename, sizeof(bs->filename), bs->exact_filename);\n\n } else if (bs->full_open_options) {\n\n QString *json = qobject_to_json(QOBJECT(bs->full_open_options));\n\n snprintf(bs->filename, sizeof(bs->filename), \"json:%s\",\n\n qstring_get_str(json));\n\n QDECREF(json);\n\n }\n\n}\n", "idx": 2737}257{"project": "qemu", "commit_id": "9b990ee5a3cc6aa38f81266fb0c6ef37a36c45b9", "target": 0, "func": "static inline bool cpu_handle_exception(CPUState *cpu, int *ret)\n\n{\n\n if (cpu->exception_index >= 0) {\n\n if (cpu->exception_index >= EXCP_INTERRUPT) {\n\n /* exit request from the cpu execution loop */\n\n *ret = cpu->exception_index;\n\n if (*ret == EXCP_DEBUG) {\n\n cpu_handle_debug_exception(cpu);\n\n }\n\n cpu->exception_index = -1;\n\n return true;\n\n } else {\n\n#if defined(CONFIG_USER_ONLY)\n\n /* if user mode only, we simulate a fake exception\n\n which will be handled outside the cpu execution\n\n loop */\n\n#if defined(TARGET_I386)\n\n CPUClass *cc = CPU_GET_CLASS(cpu);\n\n cc->do_interrupt(cpu);\n\n#endif\n\n *ret = cpu->exception_index;\n\n cpu->exception_index = -1;\n\n return true;\n\n#else\n\n if (replay_exception()) {\n\n CPUClass *cc = CPU_GET_CLASS(cpu);\n\n qemu_mutex_lock_iothread();\n\n cc->do_interrupt(cpu);\n\n qemu_mutex_unlock_iothread();\n\n cpu->exception_index = -1;\n\n } else if (!replay_has_interrupt()) {\n\n /* give a chance to iothread in replay mode */\n\n *ret = EXCP_INTERRUPT;\n\n return true;\n\n }\n\n#endif\n\n }\n\n#ifndef CONFIG_USER_ONLY\n\n } else if (replay_has_exception()\n\n && cpu->icount_decr.u16.low + cpu->icount_extra == 0) {\n\n /* try to cause an exception pending in the log */\n\n cpu_exec_nocache(cpu, 1, tb_find(cpu, NULL, 0), true);\n\n *ret = -1;\n\n return true;\n\n#endif\n\n }\n\n\n\n return false;\n\n}\n", "idx": 2762}258{"project": "FFmpeg", "commit_id": "1169f0d0afc0454633cfcfad73643f0458521c67", "target": 0, "func": "void ff_dnxhdenc_init_x86(DNXHDEncContext *ctx)\n\n{\n\n#if HAVE_INLINE_ASM\n\n if (av_get_cpu_flags() & AV_CPU_FLAG_SSE2) {\n\n if (ctx->cid_table->bit_depth == 8)\n\n ctx->get_pixels_8x4_sym = get_pixels_8x4_sym_sse2;\n\n }\n\n#endif /* HAVE_INLINE_ASM */\n\n}\n", "idx": 2793}259{"project": "qemu", "commit_id": "59800ec8e52bcfa271fa61fb0aae19205ef1b7f1", "target": 0, "func": "uint64_t helper_fdiv(CPUPPCState *env, uint64_t arg1, uint64_t arg2)\n\n{\n\n CPU_DoubleU farg1, farg2;\n\n\n\n farg1.ll = arg1;\n\n farg2.ll = arg2;\n\n\n\n if (unlikely(float64_is_infinity(farg1.d) &&\n\n float64_is_infinity(farg2.d))) {\n\n /* Division of infinity by infinity */\n\n farg1.ll = fload_invalid_op_excp(env, POWERPC_EXCP_FP_VXIDI);\n\n } else if (unlikely(float64_is_zero(farg1.d) && float64_is_zero(farg2.d))) {\n\n /* Division of zero by zero */\n\n farg1.ll = fload_invalid_op_excp(env, POWERPC_EXCP_FP_VXZDZ);\n\n } else {\n\n if (unlikely(float64_is_signaling_nan(farg1.d) ||\n\n float64_is_signaling_nan(farg2.d))) {\n\n /* sNaN division */\n\n fload_invalid_op_excp(env, POWERPC_EXCP_FP_VXSNAN);\n\n }\n\n farg1.d = float64_div(farg1.d, farg2.d, &env->fp_status);\n\n }\n\n\n\n return farg1.ll;\n\n}\n", "idx": 2806}260{"project": "qemu", "commit_id": "e4d2edc9d0c58de421eb349871e90b67edec0b9c", "target": 0, "func": "static void test_io_channel_ipv4(bool async)\n\n{\n\n SocketAddress *listen_addr = g_new0(SocketAddress, 1);\n\n SocketAddress *connect_addr = g_new0(SocketAddress, 1);\n\n\n\n listen_addr->type = SOCKET_ADDRESS_KIND_INET;\n\n listen_addr->u.inet = g_new0(InetSocketAddress, 1);\n\n listen_addr->u.inet->host = g_strdup(\"0.0.0.0\");\n\n listen_addr->u.inet->port = NULL; /* Auto-select */\n\n\n\n connect_addr->type = SOCKET_ADDRESS_KIND_INET;\n\n connect_addr->u.inet = g_new0(InetSocketAddress, 1);\n\n connect_addr->u.inet->host = g_strdup(\"127.0.0.1\");\n\n connect_addr->u.inet->port = NULL; /* Filled in later */\n\n\n\n test_io_channel(async, listen_addr, connect_addr);\n\n\n\n qapi_free_SocketAddress(listen_addr);\n\n qapi_free_SocketAddress(connect_addr);\n\n}\n", "idx": 2817}261{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_loongson_multimedia(DisasContext *ctx, int rd, int rs, int rt)\n\n{\n\n const char *opn = \"loongson_cp2\";\n\n uint32_t opc, shift_max;\n\n TCGv_i64 t0, t1;\n\n\n\n opc = MASK_LMI(ctx->opcode);\n\n switch (opc) {\n\n case OPC_ADD_CP2:\n\n case OPC_SUB_CP2:\n\n case OPC_DADD_CP2:\n\n case OPC_DSUB_CP2:\n\n t0 = tcg_temp_local_new_i64();\n\n t1 = tcg_temp_local_new_i64();\n\n break;\n\n default:\n\n t0 = tcg_temp_new_i64();\n\n t1 = tcg_temp_new_i64();\n\n break;\n\n }\n\n\n\n gen_load_fpr64(ctx, t0, rs);\n\n gen_load_fpr64(ctx, t1, rt);\n\n\n\n#define LMI_HELPER(UP, LO) \\\n\n case OPC_##UP: gen_helper_##LO(t0, t0, t1); opn = #LO; break\n\n#define LMI_HELPER_1(UP, LO) \\\n\n case OPC_##UP: gen_helper_##LO(t0, t0); opn = #LO; break\n\n#define LMI_DIRECT(UP, LO, OP) \\\n\n case OPC_##UP: tcg_gen_##OP##_i64(t0, t0, t1); opn = #LO; break\n\n\n\n switch (opc) {\n\n LMI_HELPER(PADDSH, paddsh);\n\n LMI_HELPER(PADDUSH, paddush);\n\n LMI_HELPER(PADDH, paddh);\n\n LMI_HELPER(PADDW, paddw);\n\n LMI_HELPER(PADDSB, paddsb);\n\n LMI_HELPER(PADDUSB, paddusb);\n\n LMI_HELPER(PADDB, paddb);\n\n\n\n LMI_HELPER(PSUBSH, psubsh);\n\n LMI_HELPER(PSUBUSH, psubush);\n\n LMI_HELPER(PSUBH, psubh);\n\n LMI_HELPER(PSUBW, psubw);\n\n LMI_HELPER(PSUBSB, psubsb);\n\n LMI_HELPER(PSUBUSB, psubusb);\n\n LMI_HELPER(PSUBB, psubb);\n\n\n\n LMI_HELPER(PSHUFH, pshufh);\n\n LMI_HELPER(PACKSSWH, packsswh);\n\n LMI_HELPER(PACKSSHB, packsshb);\n\n LMI_HELPER(PACKUSHB, packushb);\n\n\n\n LMI_HELPER(PUNPCKLHW, punpcklhw);\n\n LMI_HELPER(PUNPCKHHW, punpckhhw);\n\n LMI_HELPER(PUNPCKLBH, punpcklbh);\n\n LMI_HELPER(PUNPCKHBH, punpckhbh);\n\n LMI_HELPER(PUNPCKLWD, punpcklwd);\n\n LMI_HELPER(PUNPCKHWD, punpckhwd);\n\n\n\n LMI_HELPER(PAVGH, pavgh);\n\n LMI_HELPER(PAVGB, pavgb);\n\n LMI_HELPER(PMAXSH, pmaxsh);\n\n LMI_HELPER(PMINSH, pminsh);\n\n LMI_HELPER(PMAXUB, pmaxub);\n\n LMI_HELPER(PMINUB, pminub);\n\n\n\n LMI_HELPER(PCMPEQW, pcmpeqw);\n\n LMI_HELPER(PCMPGTW, pcmpgtw);\n\n LMI_HELPER(PCMPEQH, pcmpeqh);\n\n LMI_HELPER(PCMPGTH, pcmpgth);\n\n LMI_HELPER(PCMPEQB, pcmpeqb);\n\n LMI_HELPER(PCMPGTB, pcmpgtb);\n\n\n\n LMI_HELPER(PSLLW, psllw);\n\n LMI_HELPER(PSLLH, psllh);\n\n LMI_HELPER(PSRLW, psrlw);\n\n LMI_HELPER(PSRLH, psrlh);\n\n LMI_HELPER(PSRAW, psraw);\n\n LMI_HELPER(PSRAH, psrah);\n\n\n\n LMI_HELPER(PMULLH, pmullh);\n\n LMI_HELPER(PMULHH, pmulhh);\n\n LMI_HELPER(PMULHUH, pmulhuh);\n\n LMI_HELPER(PMADDHW, pmaddhw);\n\n\n\n LMI_HELPER(PASUBUB, pasubub);\n\n LMI_HELPER_1(BIADD, biadd);\n\n LMI_HELPER_1(PMOVMSKB, pmovmskb);\n\n\n\n LMI_DIRECT(PADDD, paddd, add);\n\n LMI_DIRECT(PSUBD, psubd, sub);\n\n LMI_DIRECT(XOR_CP2, xor, xor);\n\n LMI_DIRECT(NOR_CP2, nor, nor);\n\n LMI_DIRECT(AND_CP2, and, and);\n\n LMI_DIRECT(PANDN, pandn, andc);\n\n LMI_DIRECT(OR, or, or);\n\n\n\n case OPC_PINSRH_0:\n\n tcg_gen_deposit_i64(t0, t0, t1, 0, 16);\n\n opn = \"pinsrh_0\";\n\n break;\n\n case OPC_PINSRH_1:\n\n tcg_gen_deposit_i64(t0, t0, t1, 16, 16);\n\n opn = \"pinsrh_1\";\n\n break;\n\n case OPC_PINSRH_2:\n\n tcg_gen_deposit_i64(t0, t0, t1, 32, 16);\n\n opn = \"pinsrh_2\";\n\n break;\n\n case OPC_PINSRH_3:\n\n tcg_gen_deposit_i64(t0, t0, t1, 48, 16);\n\n opn = \"pinsrh_3\";\n\n break;\n\n\n\n case OPC_PEXTRH:\n\n tcg_gen_andi_i64(t1, t1, 3);\n\n tcg_gen_shli_i64(t1, t1, 4);\n\n tcg_gen_shr_i64(t0, t0, t1);\n\n tcg_gen_ext16u_i64(t0, t0);\n\n opn = \"pextrh\";\n\n break;\n\n\n\n case OPC_ADDU_CP2:\n\n tcg_gen_add_i64(t0, t0, t1);\n\n tcg_gen_ext32s_i64(t0, t0);\n\n opn = \"addu\";\n\n break;\n\n case OPC_SUBU_CP2:\n\n tcg_gen_sub_i64(t0, t0, t1);\n\n tcg_gen_ext32s_i64(t0, t0);\n\n opn = \"addu\";\n\n break;\n\n\n\n case OPC_SLL_CP2:\n\n opn = \"sll\";\n\n shift_max = 32;\n\n goto do_shift;\n\n case OPC_SRL_CP2:\n\n opn = \"srl\";\n\n shift_max = 32;\n\n goto do_shift;\n\n case OPC_SRA_CP2:\n\n opn = \"sra\";\n\n shift_max = 32;\n\n goto do_shift;\n\n case OPC_DSLL_CP2:\n\n opn = \"dsll\";\n\n shift_max = 64;\n\n goto do_shift;\n\n case OPC_DSRL_CP2:\n\n opn = \"dsrl\";\n\n shift_max = 64;\n\n goto do_shift;\n\n case OPC_DSRA_CP2:\n\n opn = \"dsra\";\n\n shift_max = 64;\n\n goto do_shift;\n\n do_shift:\n\n /* Make sure shift count isn't TCG undefined behaviour. */\n\n tcg_gen_andi_i64(t1, t1, shift_max - 1);\n\n\n\n switch (opc) {\n\n case OPC_SLL_CP2:\n\n case OPC_DSLL_CP2:\n\n tcg_gen_shl_i64(t0, t0, t1);\n\n break;\n\n case OPC_SRA_CP2:\n\n case OPC_DSRA_CP2:\n\n /* Since SRA is UndefinedResult without sign-extended inputs,\n\n we can treat SRA and DSRA the same. */\n\n tcg_gen_sar_i64(t0, t0, t1);\n\n break;\n\n case OPC_SRL_CP2:\n\n /* We want to shift in zeros for SRL; zero-extend first. */\n\n tcg_gen_ext32u_i64(t0, t0);\n\n /* FALLTHRU */\n\n case OPC_DSRL_CP2:\n\n tcg_gen_shr_i64(t0, t0, t1);\n\n break;\n\n }\n\n\n\n if (shift_max == 32) {\n\n tcg_gen_ext32s_i64(t0, t0);\n\n }\n\n\n\n /* Shifts larger than MAX produce zero. */\n\n tcg_gen_setcondi_i64(TCG_COND_LTU, t1, t1, shift_max);\n\n tcg_gen_neg_i64(t1, t1);\n\n tcg_gen_and_i64(t0, t0, t1);\n\n break;\n\n\n\n case OPC_ADD_CP2:\n\n case OPC_DADD_CP2:\n\n {\n\n TCGv_i64 t2 = tcg_temp_new_i64();\n\n int lab = gen_new_label();\n\n\n\n tcg_gen_mov_i64(t2, t0);\n\n tcg_gen_add_i64(t0, t1, t2);\n\n if (opc == OPC_ADD_CP2) {\n\n tcg_gen_ext32s_i64(t0, t0);\n\n }\n\n tcg_gen_xor_i64(t1, t1, t2);\n\n tcg_gen_xor_i64(t2, t2, t0);\n\n tcg_gen_andc_i64(t1, t2, t1);\n\n tcg_temp_free_i64(t2);\n\n tcg_gen_brcondi_i64(TCG_COND_GE, t1, 0, lab);\n\n generate_exception(ctx, EXCP_OVERFLOW);\n\n gen_set_label(lab);\n\n\n\n opn = (opc == OPC_ADD_CP2 ? \"add\" : \"dadd\");\n\n break;\n\n }\n\n\n\n case OPC_SUB_CP2:\n\n case OPC_DSUB_CP2:\n\n {\n\n TCGv_i64 t2 = tcg_temp_new_i64();\n\n int lab = gen_new_label();\n\n\n\n tcg_gen_mov_i64(t2, t0);\n\n tcg_gen_sub_i64(t0, t1, t2);\n\n if (opc == OPC_SUB_CP2) {\n\n tcg_gen_ext32s_i64(t0, t0);\n\n }\n\n tcg_gen_xor_i64(t1, t1, t2);\n\n tcg_gen_xor_i64(t2, t2, t0);\n\n tcg_gen_and_i64(t1, t1, t2);\n\n tcg_temp_free_i64(t2);\n\n tcg_gen_brcondi_i64(TCG_COND_GE, t1, 0, lab);\n\n generate_exception(ctx, EXCP_OVERFLOW);\n\n gen_set_label(lab);\n\n\n\n opn = (opc == OPC_SUB_CP2 ? \"sub\" : \"dsub\");\n\n break;\n\n }\n\n\n\n case OPC_PMULUW:\n\n tcg_gen_ext32u_i64(t0, t0);\n\n tcg_gen_ext32u_i64(t1, t1);\n\n tcg_gen_mul_i64(t0, t0, t1);\n\n opn = \"pmuluw\";\n\n break;\n\n\n\n case OPC_SEQU_CP2:\n\n case OPC_SEQ_CP2:\n\n case OPC_SLTU_CP2:\n\n case OPC_SLT_CP2:\n\n case OPC_SLEU_CP2:\n\n case OPC_SLE_CP2:\n\n /* ??? Document is unclear: Set FCC[CC]. Does that mean the\n\n FD field is the CC field? */\n\n default:\n\n MIPS_INVAL(opn);\n\n generate_exception(ctx, EXCP_RI);\n\n return;\n\n }\n\n\n\n#undef LMI_HELPER\n\n#undef LMI_DIRECT\n\n\n\n gen_store_fpr64(ctx, t0, rd);\n\n\n\n (void)opn; /* avoid a compiler warning */\n\n MIPS_DEBUG(\"%s %s, %s, %s\", opn,\n\n fregnames[rd], fregnames[rs], fregnames[rt]);\n\n tcg_temp_free_i64(t0);\n\n tcg_temp_free_i64(t1);\n\n}\n", "idx": 2818}262{"project": "qemu", "commit_id": "ddca7f86ac022289840e0200fd4050b2b58e9176", "target": 0, "func": "static void v9fs_stat(void *opaque)\n\n{\n\n int32_t fid;\n\n V9fsStat v9stat;\n\n ssize_t err = 0;\n\n size_t offset = 7;\n\n struct stat stbuf;\n\n V9fsFidState *fidp;\n\n V9fsPDU *pdu = opaque;\n\n V9fsState *s = pdu->s;\n\n\n\n pdu_unmarshal(pdu, offset, \"d\", &fid);\n\n trace_v9fs_stat(pdu->tag, pdu->id, fid);\n\n\n\n fidp = get_fid(pdu, fid);\n\n if (fidp == NULL) {\n\n err = -ENOENT;\n\n goto out_nofid;\n\n }\n\n err = v9fs_co_lstat(pdu, &fidp->path, &stbuf);\n\n if (err < 0) {\n\n goto out;\n\n }\n\n err = stat_to_v9stat(pdu, &fidp->path, &stbuf, &v9stat);\n\n if (err < 0) {\n\n goto out;\n\n }\n\n offset += pdu_marshal(pdu, offset, \"wS\", 0, &v9stat);\n\n err = offset;\n\n trace_v9fs_stat_return(pdu->tag, pdu->id, v9stat.mode,\n\n v9stat.atime, v9stat.mtime, v9stat.length);\n\n v9fs_stat_free(&v9stat);\n\nout:\n\n put_fid(pdu, fidp);\n\nout_nofid:\n\n complete_pdu(s, pdu, err);\n\n}\n", "idx": 2820}263{"project": "qemu", "commit_id": "2958620f67dcfd11476e62b4ca704dae0b978ea3", "target": 1, "func": "uint64_t helper_addlv (uint64_t op1, uint64_t op2)\n\n{\n\n uint64_t tmp = op1;\n\n op1 = (uint32_t)(op1 + op2);\n\n if (unlikely((tmp ^ op2 ^ (-1UL)) & (tmp ^ op1) & (1UL << 31))) {\n\n arith_excp(env, GETPC(), EXC_M_IOV, 0);\n\n }\n\n return op1;\n\n}\n", "idx": 2832}264{"project": "qemu", "commit_id": "778358d0a8f74a76488daea3c1b6fb327d8135b4", "target": 1, "func": "static int of_dpa_cmd_add_l2_flood(OfDpa *of_dpa, OfDpaGroup *group,\n\n RockerTlv **group_tlvs)\n\n{\n\n OfDpaGroup *l2_group;\n\n RockerTlv **tlvs;\n\n int err;\n\n int i;\n\n\n\n if (!group_tlvs[ROCKER_TLV_OF_DPA_GROUP_COUNT] ||\n\n !group_tlvs[ROCKER_TLV_OF_DPA_GROUP_IDS]) {\n\n return -ROCKER_EINVAL;\n\n }\n\n\n\n group->l2_flood.group_count =\n\n rocker_tlv_get_le16(group_tlvs[ROCKER_TLV_OF_DPA_GROUP_COUNT]);\n\n\n\n tlvs = g_malloc0((group->l2_flood.group_count + 1) *\n\n sizeof(RockerTlv *));\n\n if (!tlvs) {\n\n return -ROCKER_ENOMEM;\n\n }\n\n\n\n g_free(group->l2_flood.group_ids);\n\n group->l2_flood.group_ids =\n\n g_malloc0(group->l2_flood.group_count * sizeof(uint32_t));\n\n if (!group->l2_flood.group_ids) {\n\n err = -ROCKER_ENOMEM;\n\n goto err_out;\n\n }\n\n\n\n rocker_tlv_parse_nested(tlvs, group->l2_flood.group_count,\n\n group_tlvs[ROCKER_TLV_OF_DPA_GROUP_IDS]);\n\n\n\n for (i = 0; i < group->l2_flood.group_count; i++) {\n\n group->l2_flood.group_ids[i] = rocker_tlv_get_le32(tlvs[i + 1]);\n\n }\n\n\n\n /* All of the L2 interface groups referenced by the L2 flood\n\n * must have same VLAN\n\n */\n\n\n\n for (i = 0; i < group->l2_flood.group_count; i++) {\n\n l2_group = of_dpa_group_find(of_dpa, group->l2_flood.group_ids[i]);\n\n if (!l2_group) {\n\n continue;\n\n }\n\n if ((ROCKER_GROUP_TYPE_GET(l2_group->id) ==\n\n ROCKER_OF_DPA_GROUP_TYPE_L2_INTERFACE) &&\n\n (ROCKER_GROUP_VLAN_GET(l2_group->id) !=\n\n ROCKER_GROUP_VLAN_GET(group->id))) {\n\n DPRINTF(\"l2 interface group 0x%08x VLAN doesn't match l2 \"\n\n \"flood group 0x%08x\\n\",\n\n group->l2_flood.group_ids[i], group->id);\n\n err = -ROCKER_EINVAL;\n\n goto err_out;\n\n }\n\n }\n\n\n\n g_free(tlvs);\n\n return ROCKER_OK;\n\n\n\nerr_out:\n\n group->l2_flood.group_count = 0;\n\n g_free(group->l2_flood.group_ids);\n\n g_free(tlvs);\n\n\n\n return err;\n\n}\n", "idx": 2846}265{"project": "FFmpeg", "commit_id": "8bdba1092f50d52e0af90f425811302ec91152f8", "target": 1, "func": "int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {\n\n const uint64_t fuzz_tag = FUZZ_TAG;\n\n FuzzDataBuffer buffer;\n\n const uint8_t *last = data;\n\n const uint8_t *end = data + size;\n\n uint32_t it = 0;\n\n\n\n if (!c)\n\n c = AVCodecInitialize(FFMPEG_CODEC); // Done once.\n\n\n\n AVCodecContext* ctx = avcodec_alloc_context3(NULL);\n\n if (!ctx)\n\n error(\"Failed memory allocation\");\n\n\n\n ctx->max_pixels = 4096 * 4096; //To reduce false positive OOM and hangs\n\n\n\n int res = avcodec_open2(ctx, c, NULL);\n\n if (res < 0)\n\n return res;\n\n\n\n FDBCreate(&buffer);\n\n int got_frame;\n\n AVFrame *frame = av_frame_alloc();\n\n if (!frame)\n\n error(\"Failed memory allocation\");\n\n\n\n // Read very simple container\n\n AVPacket avpkt;\n\n while (data < end && it < maxiteration) {\n\n // Search for the TAG\n\n while (data + sizeof(fuzz_tag) < end) {\n\n if (data[0] == (fuzz_tag & 0xFF) && *(const uint64_t *)(data) == fuzz_tag)\n\n break;\n\n data++;\n\n }\n\n if (data + sizeof(fuzz_tag) > end)\n\n data = end;\n\n\n\n FDBPrepare(&buffer, &avpkt, last, data - last);\n\n data += sizeof(fuzz_tag);\n\n last = data;\n\n\n\n // Iterate through all data\n\n while (avpkt.size > 0 && it++ < maxiteration) {\n\n av_frame_unref(frame);\n\n int ret = decode_handler(ctx, frame, &got_frame, &avpkt);\n\n\n\n if (it > 20)\n\n ctx->error_concealment = 0;\n\n\n\n if (ret <= 0 || ret > avpkt.size)\n\n break;\n\n\n\n avpkt.data += ret;\n\n avpkt.size -= ret;\n\n }\n\n }\n\n\n\n av_init_packet(&avpkt);\n\n avpkt.data = NULL;\n\n avpkt.size = 0;\n\n\n\n do {\n\n got_frame = 0;\n\n decode_handler(ctx, frame, &got_frame, &avpkt);\n\n } while (got_frame == 1 && it++ < maxiteration);\n\n\n\n av_frame_free(&frame);\n\n avcodec_free_context(&ctx);\n\n av_freep(&ctx);\n\n FDBDesroy(&buffer);\n\n return 0;\n\n}", "idx": 2857}266{"project": "qemu", "commit_id": "5e755519ac9d867f7da13f58a9d0c262db82e14c", "target": 0, "func": "void op_cp1_64bitmode(void)\n\n{\n\n if (!(env->CP0_Status & (1 << CP0St_FR))) {\n\n CALL_FROM_TB1(do_raise_exception, EXCP_RI);\n\n }\n\n RETURN();\n\n}\n", "idx": 2880}267{"project": "qemu", "commit_id": "40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe", "target": 0, "func": "void disas_a64_insn(CPUARMState *env, DisasContext *s)\n\n{\n\n uint32_t insn;\n\n\n\n insn = arm_ldl_code(env, s->pc, s->bswap_code);\n\n s->insn = insn;\n\n s->pc += 4;\n\n\n\n switch ((insn >> 24) & 0x1f) {\n\n default:\n\n unallocated_encoding(s);\n\n break;\n\n }\n\n\n\n if (unlikely(s->singlestep_enabled) && (s->is_jmp == DISAS_TB_JUMP)) {\n\n /* go through the main loop for single step */\n\n s->is_jmp = DISAS_JUMP;\n\n }\n\n}\n", "idx": 2884}268{"project": "qemu", "commit_id": "96d7073fb058e6f05257cd9041ffbbd736f6ccec", "target": 0, "func": "static inline void gen_op_mov_v_reg(int ot, TCGv t0, int reg)\n\n{\n\n switch(ot) {\n\n case OT_BYTE:\n\n if (reg < 4 X86_64_DEF( || reg >= 8 || x86_64_hregs)) {\n\n goto std_case;\n\n } else {\n\n tcg_gen_shri_tl(t0, cpu_regs[reg - 4], 8);\n\n tcg_gen_ext8u_tl(t0, t0);\n\n }\n\n break;\n\n default:\n\n std_case:\n\n tcg_gen_mov_tl(t0, cpu_regs[reg]);\n\n break;\n\n }\n\n}\n", "idx": 2895}269{"project": "qemu", "commit_id": "54421cb17bc744bad15f2b1adb4adefdaea83c10", "target": 0, "func": "static int hdev_open(BlockDriverState *bs, const char *filename, int flags)\n\n{\n\n BDRVRawState *s = bs->opaque;\n\n int access_flags, create_flags;\n\n DWORD overlapped;\n\n char device_name[64];\n\n\n\n if (strstart(filename, \"/dev/cdrom\", NULL)) {\n\n if (find_cdrom(device_name, sizeof(device_name)) < 0)\n\n return -ENOENT;\n\n filename = device_name;\n\n } else {\n\n /* transform drive letters into device name */\n\n if (((filename[0] >= 'a' && filename[0] <= 'z') ||\n\n (filename[0] >= 'A' && filename[0] <= 'Z')) &&\n\n filename[1] == ':' && filename[2] == '\\0') {\n\n snprintf(device_name, sizeof(device_name), \"\\\\\\\\.\\\\%c:\", filename[0]);\n\n filename = device_name;\n\n }\n\n }\n\n s->type = find_device_type(bs, filename);\n\n \n\n if ((flags & BDRV_O_ACCESS) == O_RDWR) {\n\n access_flags = GENERIC_READ | GENERIC_WRITE;\n\n } else {\n\n access_flags = GENERIC_READ;\n\n }\n\n create_flags = OPEN_EXISTING;\n\n\n\n#ifdef QEMU_TOOL\n\n overlapped = FILE_ATTRIBUTE_NORMAL;\n\n#else\n\n overlapped = FILE_FLAG_OVERLAPPED;\n\n#endif\n\n s->hfile = CreateFile(filename, access_flags, \n\n FILE_SHARE_READ, NULL,\n\n create_flags, overlapped, NULL);\n\n if (s->hfile == INVALID_HANDLE_VALUE) \n\n return -1;\n\n return 0;\n\n}\n", "idx": 2903}270{"project": "qemu", "commit_id": "62deb62d999cf9e2be61272c6b720104f764bd6a", "target": 0, "func": "static void sigp_store_adtl_status(CPUState *cs, run_on_cpu_data arg)\n\n{\n\n S390CPU *cpu = S390_CPU(cs);\n\n SigpInfo *si = arg.host_ptr;\n\n\n\n if (!s390_has_feat(S390_FEAT_VECTOR)) {\n\n set_sigp_status(si, SIGP_STAT_INVALID_ORDER);\n\n return;\n\n }\n\n\n\n /* cpu has to be stopped */\n\n if (s390_cpu_get_state(cpu) != CPU_STATE_STOPPED) {\n\n set_sigp_status(si, SIGP_STAT_INCORRECT_STATE);\n\n return;\n\n }\n\n\n\n /* parameter must be aligned to 1024-byte boundary */\n\n if (si->param & 0x3ff) {\n\n set_sigp_status(si, SIGP_STAT_INVALID_PARAMETER);\n\n return;\n\n }\n\n\n\n cpu_synchronize_state(cs);\n\n\n\n if (kvm_s390_store_adtl_status(cpu, si->param)) {\n\n set_sigp_status(si, SIGP_STAT_INVALID_PARAMETER);\n\n return;\n\n }\n\n si->cc = SIGP_CC_ORDER_CODE_ACCEPTED;\n\n}\n", "idx": 2911}271{"project": "qemu", "commit_id": "ff1d1977ffe1c276f5937a6ad4b6a5b6d2b1c6ae", "target": 0, "func": "static int cpu_gdb_write_register(CPUState *env, uint8_t *mem_buf, int n)\n\n{\n\n target_ulong tmp;\n\n\n\n tmp = ldtul_p(mem_buf);\n\n\n\n if (n < 32) {\n\n env->active_tc.gpr[n] = tmp;\n\n return sizeof(target_ulong);\n\n }\n\n if (env->CP0_Config1 & (1 << CP0C1_FP)\n\n && n >= 38 && n < 73) {\n\n if (n < 70) {\n\n if (env->CP0_Status & (1 << CP0St_FR))\n\n env->active_fpu.fpr[n - 38].d = tmp;\n\n else\n\n env->active_fpu.fpr[n - 38].w[FP_ENDIAN_IDX] = tmp;\n\n }\n\n switch (n) {\n\n case 70:\n\n env->active_fpu.fcr31 = tmp & 0xFF83FFFF;\n\n /* set rounding mode */\n\n RESTORE_ROUNDING_MODE;\n\n#ifndef CONFIG_SOFTFLOAT\n\n /* no floating point exception for native float */\n\n SET_FP_ENABLE(env->active_fpu.fcr31, 0);\n\n#endif\n\n break;\n\n case 71: env->active_fpu.fcr0 = tmp; break;\n\n }\n\n return sizeof(target_ulong);\n\n }\n\n switch (n) {\n\n case 32: env->CP0_Status = tmp; break;\n\n case 33: env->active_tc.LO[0] = tmp; break;\n\n case 34: env->active_tc.HI[0] = tmp; break;\n\n case 35: env->CP0_BadVAddr = tmp; break;\n\n case 36: env->CP0_Cause = tmp; break;\n\n case 37: env->active_tc.PC = tmp; break;\n\n case 72: /* fp, ignored */ break;\n\n default: \n\n\tif (n > 89)\n\n\t return 0;\n\n\t/* Other registers are readonly. Ignore writes. */\n\n\tbreak;\n\n }\n\n\n\n return sizeof(target_ulong);\n\n}\n", "idx": 2913}272{"project": "qemu", "commit_id": "3ba235a02284c39b34a68a2a588508ffb52a7b55", "target": 0, "func": "QEMUBH *aio_bh_new(AioContext *ctx, QEMUBHFunc *cb, void *opaque)\n\n{\n\n QEMUBH *bh;\n\n bh = g_malloc0(sizeof(QEMUBH));\n\n bh->ctx = ctx;\n\n bh->cb = cb;\n\n bh->opaque = opaque;\n\n qemu_mutex_lock(&ctx->bh_lock);\n\n bh->next = ctx->first_bh;\n\n /* Make sure that the members are ready before putting bh into list */\n\n smp_wmb();\n\n ctx->first_bh = bh;\n\n qemu_mutex_unlock(&ctx->bh_lock);\n\n return bh;\n\n}\n", "idx": 2914}273{"project": "FFmpeg", "commit_id": "37013fd018ae02679f177f42245f3e0e3c12d587", "target": 0, "func": "static void audiogen(void *data, enum AVSampleFormat sample_fmt,\n\n int channels, int sample_rate, int nb_samples)\n\n{\n\n int i, ch, k;\n\n double v, f, a, ampa;\n\n double tabf1[SWR_CH_MAX];\n\n double tabf2[SWR_CH_MAX];\n\n double taba[SWR_CH_MAX];\n\n unsigned static rnd;\n\n\n\n#define PUT_SAMPLE set(data, ch, k, channels, sample_fmt, v);\n\n#define uint_rand(x) (x = x * 1664525 + 1013904223)\n\n#define dbl_rand(x) (uint_rand(x)*2.0 / (double)UINT_MAX - 1)\n\n k = 0;\n\n\n\n /* 1 second of single freq sinus at 1000 Hz */\n\n a = 0;\n\n for (i = 0; i < 1 * sample_rate && k < nb_samples; i++, k++) {\n\n v = sin(a) * 0.30;\n\n for (ch = 0; ch < channels; ch++)\n\n PUT_SAMPLE\n\n a += M_PI * 1000.0 * 2.0 / sample_rate;\n\n }\n\n\n\n /* 1 second of varying frequency between 100 and 10000 Hz */\n\n a = 0;\n\n for (i = 0; i < 1 * sample_rate && k < nb_samples; i++, k++) {\n\n v = sin(a) * 0.30;\n\n for (ch = 0; ch < channels; ch++)\n\n PUT_SAMPLE\n\n f = 100.0 + (((10000.0 - 100.0) * i) / sample_rate);\n\n a += M_PI * f * 2.0 / sample_rate;\n\n }\n\n\n\n /* 0.5 second of low amplitude white noise */\n\n for (i = 0; i < sample_rate / 2 && k < nb_samples; i++, k++) {\n\n v = dbl_rand(rnd) * 0.30;\n\n for (ch = 0; ch < channels; ch++)\n\n PUT_SAMPLE\n\n }\n\n\n\n /* 0.5 second of high amplitude white noise */\n\n for (i = 0; i < sample_rate / 2 && k < nb_samples; i++, k++) {\n\n v = dbl_rand(rnd);\n\n for (ch = 0; ch < channels; ch++)\n\n PUT_SAMPLE\n\n }\n\n\n\n /* 1 second of unrelated ramps for each channel */\n\n for (ch = 0; ch < channels; ch++) {\n\n taba[ch] = 0;\n\n tabf1[ch] = 100 + uint_rand(rnd) % 5000;\n\n tabf2[ch] = 100 + uint_rand(rnd) % 5000;\n\n }\n\n for (i = 0; i < 1 * sample_rate && k < nb_samples; i++, k++) {\n\n for (ch = 0; ch < channels; ch++) {\n\n v = sin(taba[ch]) * 0.30;\n\n PUT_SAMPLE\n\n f = tabf1[ch] + (((tabf2[ch] - tabf1[ch]) * i) / sample_rate);\n\n taba[ch] += M_PI * f * 2.0 / sample_rate;\n\n }\n\n }\n\n\n\n /* 2 seconds of 500 Hz with varying volume */\n\n a = 0;\n\n ampa = 0;\n\n for (i = 0; i < 2 * sample_rate && k < nb_samples; i++, k++) {\n\n for (ch = 0; ch < channels; ch++) {\n\n double amp = (1.0 + sin(ampa)) * 0.15;\n\n if (ch & 1)\n\n amp = 0.30 - amp;\n\n v = sin(a) * amp;\n\n PUT_SAMPLE\n\n a += M_PI * 500.0 * 2.0 / sample_rate;\n\n ampa += M_PI * 2.0 / sample_rate;\n\n }\n\n }\n\n}\n", "idx": 2929}274{"project": "FFmpeg", "commit_id": "ea97859c8c218b83ab747a7eabcb88ca446f6751", "target": 1, "func": "static void paint_mouse_pointer(AVFormatContext *s1, struct gdigrab *gdigrab)\n\n{\n\n CURSORINFO ci = {0};\n\n\n\n#define CURSOR_ERROR(str) \\\n\n if (!gdigrab->cursor_error_printed) { \\\n\n WIN32_API_ERROR(str); \\\n\n gdigrab->cursor_error_printed = 1; \\\n\n }\n\n\n\n ci.cbSize = sizeof(ci);\n\n\n\n if (GetCursorInfo(&ci)) {\n\n HCURSOR icon = CopyCursor(ci.hCursor);\n\n ICONINFO info;\n\n POINT pos;\n\n RECT clip_rect = gdigrab->clip_rect;\n\n HWND hwnd = gdigrab->hwnd;\n\n info.hbmMask = NULL;\n\n info.hbmColor = NULL;\n\n\n\n if (ci.flags != CURSOR_SHOWING)\n\n return;\n\n\n\n if (!icon) {\n\n /* Use the standard arrow cursor as a fallback.\n\n * You'll probably only hit this in Wine, which can't fetch\n\n * the current system cursor. */\n\n icon = CopyCursor(LoadCursor(NULL, IDC_ARROW));\n\n }\n\n\n\n if (!GetIconInfo(icon, &info)) {\n\n CURSOR_ERROR(\"Could not get icon info\");\n\n goto icon_error;\n\n }\n\n\n\n pos.x = ci.ptScreenPos.x - clip_rect.left - info.xHotspot;\n\n pos.y = ci.ptScreenPos.y - clip_rect.top - info.yHotspot;\n\n\n\n if (hwnd) {\n\n RECT rect;\n\n\n\n if (GetWindowRect(hwnd, &rect)) {\n\n pos.x -= rect.left;\n\n pos.y -= rect.top;\n\n } else {\n\n CURSOR_ERROR(\"Couldn't get window rectangle\");\n\n goto icon_error;\n\n }\n\n }\n\n\n\n av_log(s1, AV_LOG_DEBUG, \"Cursor pos (%li,%li) -> (%li,%li)\\n\",\n\n ci.ptScreenPos.x, ci.ptScreenPos.y, pos.x, pos.y);\n\n\n\n if (pos.x >= 0 && pos.x <= clip_rect.right - clip_rect.left &&\n\n pos.y >= 0 && pos.y <= clip_rect.bottom - clip_rect.top) {\n\n if (!DrawIcon(gdigrab->dest_hdc, pos.x, pos.y, icon))\n\n CURSOR_ERROR(\"Couldn't draw icon\");\n\n }\n\n\n\nicon_error:\n\n\n\n\n\n if (icon)\n\n DestroyCursor(icon);\n\n } else {\n\n CURSOR_ERROR(\"Couldn't get cursor info\");\n\n }\n\n}", "idx": 2946}275{"project": "qemu", "commit_id": "75cc7f018328e708d94cca23c3a77e85363f25dc", "target": 1, "func": "static void machine_initfn(Object *obj)\n\n{\n\n MachineState *ms = MACHINE(obj);\n\n\n\n ms->kernel_irqchip_allowed = true;\n\n ms->kvm_shadow_mem = -1;\n\n ms->dump_guest_core = true;\n\n\n\n\n object_property_add_str(obj, \"accel\",\n\n machine_get_accel, machine_set_accel, NULL);\n\n object_property_set_description(obj, \"accel\",\n\n \"Accelerator list\",\n\n NULL);\n\n object_property_add_bool(obj, \"kernel-irqchip\",\n\n NULL,\n\n machine_set_kernel_irqchip,\n\n NULL);\n\n object_property_set_description(obj, \"kernel-irqchip\",\n\n \"Use KVM in-kernel irqchip\",\n\n NULL);\n\n object_property_add(obj, \"kvm-shadow-mem\", \"int\",\n\n machine_get_kvm_shadow_mem,\n\n machine_set_kvm_shadow_mem,\n\n NULL, NULL, NULL);\n\n object_property_set_description(obj, \"kvm-shadow-mem\",\n\n \"KVM shadow MMU size\",\n\n NULL);\n\n object_property_add_str(obj, \"kernel\",\n\n machine_get_kernel, machine_set_kernel, NULL);\n\n object_property_set_description(obj, \"kernel\",\n\n \"Linux kernel image file\",\n\n NULL);\n\n object_property_add_str(obj, \"initrd\",\n\n machine_get_initrd, machine_set_initrd, NULL);\n\n object_property_set_description(obj, \"initrd\",\n\n \"Linux initial ramdisk file\",\n\n NULL);\n\n object_property_add_str(obj, \"append\",\n\n machine_get_append, machine_set_append, NULL);\n\n object_property_set_description(obj, \"append\",\n\n \"Linux kernel command line\",\n\n NULL);\n\n object_property_add_str(obj, \"dtb\",\n\n machine_get_dtb, machine_set_dtb, NULL);\n\n object_property_set_description(obj, \"dtb\",\n\n \"Linux kernel device tree file\",\n\n NULL);\n\n object_property_add_str(obj, \"dumpdtb\",\n\n machine_get_dumpdtb, machine_set_dumpdtb, NULL);\n\n object_property_set_description(obj, \"dumpdtb\",\n\n \"Dump current dtb to a file and quit\",\n\n NULL);\n\n object_property_add(obj, \"phandle-start\", \"int\",\n\n machine_get_phandle_start,\n\n machine_set_phandle_start,\n\n NULL, NULL, NULL);\n\n object_property_set_description(obj, \"phandle-start\",\n\n \"The first phandle ID we may generate dynamically\",\n\n NULL);\n\n object_property_add_str(obj, \"dt-compatible\",\n\n machine_get_dt_compatible,\n\n machine_set_dt_compatible,\n\n NULL);\n\n object_property_set_description(obj, \"dt-compatible\",\n\n \"Overrides the \\\"compatible\\\" property of the dt root node\",\n\n NULL);\n\n object_property_add_bool(obj, \"dump-guest-core\",\n\n machine_get_dump_guest_core,\n\n machine_set_dump_guest_core,\n\n NULL);\n\n object_property_set_description(obj, \"dump-guest-core\",\n\n \"Include guest memory in a core dump\",\n\n NULL);\n\n object_property_add_bool(obj, \"mem-merge\",\n\n machine_get_mem_merge,\n\n machine_set_mem_merge, NULL);\n\n object_property_set_description(obj, \"mem-merge\",\n\n \"Enable/disable memory merge support\",\n\n NULL);\n\n object_property_add_bool(obj, \"usb\",\n\n machine_get_usb,\n\n machine_set_usb, NULL);\n\n object_property_set_description(obj, \"usb\",\n\n \"Set on/off to enable/disable usb\",\n\n NULL);\n\n object_property_add_str(obj, \"firmware\",\n\n machine_get_firmware,\n\n machine_set_firmware, NULL);\n\n object_property_set_description(obj, \"firmware\",\n\n \"Firmware image\",\n\n NULL);\n\n object_property_add_bool(obj, \"iommu\",\n\n machine_get_iommu,\n\n machine_set_iommu, NULL);\n\n object_property_set_description(obj, \"iommu\",\n\n \"Set on/off to enable/disable Intel IOMMU (VT-d)\",\n\n NULL);\n\n\n\n /* Register notifier when init is done for sysbus sanity checks */\n\n ms->sysbus_notifier.notify = machine_init_notify;\n\n qemu_add_machine_init_done_notifier(&ms->sysbus_notifier);\n\n}", "idx": 2950}276{"project": "qemu", "commit_id": "d22b2f41c470067758b3636a01b452dfeda7069f", "target": 1, "func": "void bdrv_delete(BlockDriverState *bs)\n\n{\n\n assert(!bs->peer);\n\n\n\n /* remove from list, if necessary */\n\n if (bs->device_name[0] != '\\0') {\n\n QTAILQ_REMOVE(&bdrv_states, bs, list);\n\n }\n\n\n\n bdrv_close(bs);\n\n if (bs->file != NULL) {\n\n bdrv_delete(bs->file);\n\n }\n\n\n\n assert(bs != bs_snapshots);\n\n qemu_free(bs);\n\n}\n", "idx": 2958}277{"project": "qemu", "commit_id": "dde3a2184074f5c4279fd7fbfc597b5dc5859fb8", "target": 1, "func": "static void hmp_migrate_status_cb(void *opaque)\n\n{\n\n MigrationStatus *status = opaque;\n\n MigrationInfo *info;\n\n\n\n info = qmp_query_migrate(NULL);\n\n if (!info->has_status || strcmp(info->status, \"active\") == 0) {\n\n if (info->has_disk) {\n\n int progress;\n\n\n\n if (info->disk->remaining) {\n\n progress = info->disk->transferred * 100 / info->disk->total;\n\n } else {\n\n progress = 100;\n\n }\n\n\n\n monitor_printf(status->mon, \"Completed %d %%\\r\", progress);\n\n monitor_flush(status->mon);\n\n }\n\n\n\n timer_mod(status->timer, qemu_clock_get_ms(QEMU_CLOCK_REALTIME) + 1000);\n\n } else {\n\n if (status->is_block_migration) {\n\n monitor_printf(status->mon, \"\\n\");\n\n }\n\n monitor_resume(status->mon);\n\n timer_del(status->timer);\n\n g_free(status);\n\n }\n\n\n\n qapi_free_MigrationInfo(info);\n\n}\n", "idx": 2967}278{"project": "qemu", "commit_id": "c34d440a728fd3b5099d11dec122d440ef092c23", "target": 0, "func": "int kvm_arch_on_sigbus(int code, void *addr)\n\n{\n\n#ifdef KVM_CAP_MCE\n\n if ((first_cpu->mcg_cap & MCG_SER_P) && addr && code == BUS_MCEERR_AO) {\n\n void *vaddr;\n\n ram_addr_t ram_addr;\n\n target_phys_addr_t paddr;\n\n\n\n /* Hope we are lucky for AO MCE */\n\n vaddr = addr;\n\n if (qemu_ram_addr_from_host(vaddr, &ram_addr) ||\n\n !kvm_physical_memory_addr_from_ram(first_cpu->kvm_state, ram_addr,\n\n &paddr)) {\n\n fprintf(stderr, \"Hardware memory error for memory used by \"\n\n \"QEMU itself instead of guest system!: %p\\n\", addr);\n\n return 0;\n\n }\n\n kvm_mce_inj_srao_memscrub2(first_cpu, paddr);\n\n } else\n\n#endif /* KVM_CAP_MCE */\n\n {\n\n if (code == BUS_MCEERR_AO) {\n\n return 0;\n\n } else if (code == BUS_MCEERR_AR) {\n\n hardware_memory_error();\n\n } else {\n\n return 1;\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 2996}279{"project": "qemu", "commit_id": "aef172ffdc2f9c41d9cc043a55f1259e7c07e587", "target": 1, "func": "coroutine_fn iscsi_co_pdiscard(BlockDriverState *bs, int64_t offset, int bytes)\n\n{\n\n IscsiLun *iscsilun = bs->opaque;\n\n struct IscsiTask iTask;\n\n struct unmap_list list;\n\n int r = 0;\n\n\n\n if (!is_byte_request_lun_aligned(offset, bytes, iscsilun)) {\n\n return -ENOTSUP;\n\n }\n\n\n\n if (!iscsilun->lbp.lbpu) {\n\n /* UNMAP is not supported by the target */\n\n return 0;\n\n }\n\n\n\n list.lba = offset / iscsilun->block_size;\n\n list.num = bytes / iscsilun->block_size;\n\n\n\n iscsi_co_init_iscsitask(iscsilun, &iTask);\n\n qemu_mutex_lock(&iscsilun->mutex);\n\nretry:\n\n if (iscsi_unmap_task(iscsilun->iscsi, iscsilun->lun, 0, 0, &list, 1,\n\n iscsi_co_generic_cb, &iTask) == NULL) {\n\n r = -ENOMEM;\n\n goto out_unlock;\n\n }\n\n\n\n while (!iTask.complete) {\n\n iscsi_set_events(iscsilun);\n\n qemu_mutex_unlock(&iscsilun->mutex);\n\n qemu_coroutine_yield();\n\n qemu_mutex_lock(&iscsilun->mutex);\n\n }\n\n\n\n if (iTask.task != NULL) {\n\n scsi_free_scsi_task(iTask.task);\n\n iTask.task = NULL;\n\n }\n\n\n\n if (iTask.do_retry) {\n\n iTask.complete = 0;\n\n goto retry;\n\n }\n\n\n\n if (iTask.status == SCSI_STATUS_CHECK_CONDITION) {\n\n /* the target might fail with a check condition if it\n\n is not happy with the alignment of the UNMAP request\n\n we silently fail in this case */\n\n goto out_unlock;\n\n }\n\n\n\n if (iTask.status != SCSI_STATUS_GOOD) {\n\n r = iTask.err_code;\n\n goto out_unlock;\n\n }\n\n\n\n iscsi_allocmap_set_invalid(iscsilun, offset >> BDRV_SECTOR_BITS,\n\n bytes >> BDRV_SECTOR_BITS);\n\n\n\nout_unlock:\n\n qemu_mutex_unlock(&iscsilun->mutex);\n\n return r;\n\n}\n", "idx": 3001}280{"project": "qemu", "commit_id": "def74c0cf05722b2e502d4b4f1219966c5b0cbd3", "target": 1, "func": "int mips_cpu_handle_mmu_fault(CPUState *cs, vaddr address, int rw,\n\n int mmu_idx)\n\n{\n\n MIPSCPU *cpu = MIPS_CPU(cs);\n\n CPUMIPSState *env = &cpu->env;\n\n#if !defined(CONFIG_USER_ONLY)\n\n hwaddr physical;\n\n int prot;\n\n int access_type;\n\n#endif\n\n int ret = 0;\n\n\n\n#if 0\n\n log_cpu_state(cs, 0);\n\n#endif\n\n qemu_log_mask(CPU_LOG_MMU,\n\n \"%s pc \" TARGET_FMT_lx \" ad %\" VADDR_PRIx \" rw %d mmu_idx %d\\n\",\n\n __func__, env->active_tc.PC, address, rw, mmu_idx);\n\n\n\n /* data access */\n\n#if !defined(CONFIG_USER_ONLY)\n\n /* XXX: put correct access by using cpu_restore_state()\n\n correctly */\n\n access_type = ACCESS_INT;\n\n ret = get_physical_address(env, &physical, &prot,\n\n address, rw, access_type);\n\n qemu_log_mask(CPU_LOG_MMU,\n\n \"%s address=%\" VADDR_PRIx \" ret %d physical \" TARGET_FMT_plx\n\n \" prot %d\\n\",\n\n __func__, address, ret, physical, prot);\n\n if (ret == TLBRET_MATCH) {\n\n tlb_set_page(cs, address & TARGET_PAGE_MASK,\n\n physical & TARGET_PAGE_MASK, prot | PAGE_EXEC,\n\n mmu_idx, TARGET_PAGE_SIZE);\n\n ret = 0;\n\n } else if (ret < 0)\n\n#endif\n\n {\n\n raise_mmu_exception(env, address, rw, ret);\n\n ret = 1;\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 3003}281{"project": "qemu", "commit_id": "e26110cfc67d48331a76e9b1e6f7fed7569e1ab3", "target": 0, "func": "static ModuleTypeList *find_type(module_init_type type)\n\n{\n\n ModuleTypeList *l;\n\n\n\n init_types();\n\n\n\n l = &init_type_list[type];\n\n\n\n return l;\n\n}\n", "idx": 3020}282{"project": "qemu", "commit_id": "8bd7f71d794b93ce027b856f5b79a98f4f82e44c", "target": 0, "func": "static int qemu_suspend_requested(void)\n\n{\n\n int r = suspend_requested;\n\n suspend_requested = 0;\n\n return r;\n\n}\n", "idx": 3040}283{"project": "FFmpeg", "commit_id": "f43a16049ef07585789d311f314f236a314f91f7", "target": 0, "func": "int opt_cpuflags(const char *opt, const char *arg)\n\n{\n\n#define CPUFLAG_MMX2 (AV_CPU_FLAG_MMX | AV_CPU_FLAG_MMX2)\n\n#define CPUFLAG_3DNOW (AV_CPU_FLAG_3DNOW | AV_CPU_FLAG_MMX)\n\n#define CPUFLAG_3DNOWEXT (AV_CPU_FLAG_3DNOWEXT | CPUFLAG_3DNOW)\n\n#define CPUFLAG_SSE (AV_CPU_FLAG_SSE | CPUFLAG_MMX2)\n\n#define CPUFLAG_SSE2 (AV_CPU_FLAG_SSE2 | CPUFLAG_SSE)\n\n#define CPUFLAG_SSE2SLOW (AV_CPU_FLAG_SSE2SLOW | CPUFLAG_SSE2)\n\n#define CPUFLAG_SSE3 (AV_CPU_FLAG_SSE3 | CPUFLAG_SSE2)\n\n#define CPUFLAG_SSE3SLOW (AV_CPU_FLAG_SSE3SLOW | CPUFLAG_SSE3)\n\n#define CPUFLAG_SSSE3 (AV_CPU_FLAG_SSSE3 | CPUFLAG_SSE3)\n\n#define CPUFLAG_SSE4 (AV_CPU_FLAG_SSE4 | CPUFLAG_SSSE3)\n\n#define CPUFLAG_SSE42 (AV_CPU_FLAG_SSE42 | CPUFLAG_SSE4)\n\n#define CPUFLAG_AVX (AV_CPU_FLAG_AVX | CPUFLAG_SSE42)\n\n#define CPUFLAG_XOP (AV_CPU_FLAG_XOP | CPUFLAG_AVX)\n\n#define CPUFLAG_FMA4 (AV_CPU_FLAG_FMA4 | CPUFLAG_AVX)\n\n static const AVOption cpuflags_opts[] = {\n\n { \"flags\" , NULL, 0, AV_OPT_TYPE_FLAGS, { 0 }, INT64_MIN, INT64_MAX, .unit = \"flags\" },\n\n { \"altivec\" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_ALTIVEC }, .unit = \"flags\" },\n\n { \"mmx\" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_MMX }, .unit = \"flags\" },\n\n { \"mmx2\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_MMX2 }, .unit = \"flags\" },\n\n { \"sse\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE }, .unit = \"flags\" },\n\n { \"sse2\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE2 }, .unit = \"flags\" },\n\n { \"sse2slow\", NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE2SLOW }, .unit = \"flags\" },\n\n { \"sse3\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE3 }, .unit = \"flags\" },\n\n { \"sse3slow\", NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE3SLOW }, .unit = \"flags\" },\n\n { \"ssse3\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSSE3 }, .unit = \"flags\" },\n\n { \"atom\" , NULL, 0, AV_OPT_TYPE_CONST, { AV_CPU_FLAG_ATOM }, .unit = \"flags\" },\n\n { \"sse4.1\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE4 }, .unit = \"flags\" },\n\n { \"sse4.2\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_SSE42 }, .unit = \"flags\" },\n\n { \"avx\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_AVX }, .unit = \"flags\" },\n\n { \"xop\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_XOP }, .unit = \"flags\" },\n\n { \"fma4\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_FMA4 }, .unit = \"flags\" },\n\n { \"3dnow\" , NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_3DNOW }, .unit = \"flags\" },\n\n { \"3dnowext\", NULL, 0, AV_OPT_TYPE_CONST, { CPUFLAG_3DNOWEXT }, .unit = \"flags\" },\n\n { NULL },\n\n };\n\n static const AVClass class = {\n\n .class_name = \"cpuflags\",\n\n .item_name = av_default_item_name,\n\n .option = cpuflags_opts,\n\n .version = LIBAVUTIL_VERSION_INT,\n\n };\n\n int flags = av_get_cpu_flags();\n\n int ret;\n\n const AVClass *pclass = &class;\n\n\n\n if ((ret = av_opt_eval_flags(&pclass, &cpuflags_opts[0], arg, &flags)) < 0)\n\n return ret;\n\n\n\n av_force_cpu_flags(flags);\n\n return 0;\n\n}\n", "idx": 3054}284{"project": "FFmpeg", "commit_id": "662234a9a22f1cd0f0ac83b8bb1ffadedca90c0a", "target": 0, "func": "void ff_put_h264_qpel8_mc21_msa(uint8_t *dst, const uint8_t *src,\n\n ptrdiff_t stride)\n\n{\n\n avc_luma_midv_qrt_8w_msa(src - (2 * stride) - 2, stride, dst, stride, 8, 0);\n\n}\n", "idx": 3065}285{"project": "qemu", "commit_id": "81174dae3f9189519cd60c7b79e91c291b021bbe", "target": 1, "func": "static void serial_tx_done(void *opaque)\n\n{\n\n SerialState *s = opaque;\n\n\n\n if (s->tx_burst < 0) {\n\n uint16_t divider;\n\n\n\n if (s->divider)\n\n divider = s->divider;\n\n else\n\n divider = 1;\n\n\n\n /* We assume 10 bits/char, OK for this purpose. */\n\n s->tx_burst = THROTTLE_TX_INTERVAL * 1000 /\n\n (1000000 * 10 / (s->baudbase / divider));\n\n }\n\n s->thr_ipending = 1;\n\n s->lsr |= UART_LSR_THRE;\n\n s->lsr |= UART_LSR_TEMT;\n\n serial_update_irq(s);\n\n}\n", "idx": 3070}286{"project": "qemu", "commit_id": "ab9509cceabef28071e41bdfa073083859c949a7", "target": 1, "func": "void qemu_spice_create_host_primary(SimpleSpiceDisplay *ssd)\n\n{\n\n QXLDevSurfaceCreate surface;\n\n\n\n memset(&surface, 0, sizeof(surface));\n\n\n\n dprint(1, \"%s/%d: %dx%d\\n\", __func__, ssd->qxl.id,\n\n surface_width(ssd->ds), surface_height(ssd->ds));\n\n\n\n surface.format = SPICE_SURFACE_FMT_32_xRGB;\n\n surface.width = surface_width(ssd->ds);\n\n surface.height = surface_height(ssd->ds);\n\n surface.stride = -surface.width * 4;\n\n surface.mouse_mode = true;\n\n surface.flags = 0;\n\n surface.type = 0;\n\n surface.mem = (uintptr_t)ssd->buf;\n\n surface.group_id = MEMSLOT_GROUP_HOST;\n\n\n\n qemu_spice_create_primary_surface(ssd, 0, &surface, QXL_SYNC);\n\n}\n", "idx": 3076}287{"project": "qemu", "commit_id": "9633fcc6a02f23e3ef00aa5fe3fe9c41f57c3456", "target": 1, "func": "static void init_proc_750fx (CPUPPCState *env)\n\n{\n\n gen_spr_ne_601(env);\n\n gen_spr_7xx(env);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_L2CR, \"L2CR\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, NULL,\n\n 0x00000000);\n\n /* Time base */\n\n gen_tbl(env);\n\n /* Thermal management */\n\n gen_spr_thrm(env);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_750_THRM4, \"THRM4\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n /* Hardware implementation registers */\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_HID0, \"HID0\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_HID1, \"HID1\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_750FX_HID2, \"HID2\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n /* Memory management */\n\n gen_low_BATs(env);\n\n /* PowerPC 750fx & 750gx has 8 DBATs and 8 IBATs */\n\n gen_high_BATs(env);\n\n init_excp_7x0(env);\n\n env->dcache_line_size = 32;\n\n env->icache_line_size = 32;\n\n /* Allocate hardware IRQ controller */\n\n ppc6xx_irq_init(env);\n\n}\n", "idx": 3082}288{"project": "qemu", "commit_id": "0b5538c300a56c3cfb33022840fe0b4968147e7a", "target": 1, "func": "void st_print_trace_file_status(FILE *stream, int (*stream_printf)(FILE *stream, const char *fmt, ...))\n\n{\n\n stream_printf(stream, \"Trace file \\\"%s\\\" %s.\\n\",\n\n trace_file_name, trace_file_enabled ? \"on\" : \"off\");\n\n}\n", "idx": 3098}289{"project": "FFmpeg", "commit_id": "9924f1bc34242bb9315c355108f3ce744c1f33c5", "target": 0, "func": "static int mkv_write_header(AVFormatContext *s)\n\n{\n\n MatroskaMuxContext *mkv = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n ebml_master ebml_header;\n\n AVDictionaryEntry *tag;\n\n int ret, i, version = 2;\n\n int64_t creation_time;\n\n\n\n if (!strcmp(s->oformat->name, \"webm\"))\n\n mkv->mode = MODE_WEBM;\n\n else\n\n mkv->mode = MODE_MATROSKAv2;\n\n\n\n if (mkv->mode != MODE_WEBM ||\n\n av_dict_get(s->metadata, \"stereo_mode\", NULL, 0) ||\n\n av_dict_get(s->metadata, \"alpha_mode\", NULL, 0))\n\n version = 4;\n\n\n\n if (s->nb_streams > MAX_TRACKS) {\n\n av_log(s, AV_LOG_ERROR,\n\n \"At most %d streams are supported for muxing in Matroska\\n\",\n\n MAX_TRACKS);\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n for (i = 0; i < s->nb_streams; i++) {\n\n if (s->streams[i]->codecpar->codec_id == AV_CODEC_ID_ATRAC3 ||\n\n s->streams[i]->codecpar->codec_id == AV_CODEC_ID_COOK ||\n\n s->streams[i]->codecpar->codec_id == AV_CODEC_ID_RA_288 ||\n\n s->streams[i]->codecpar->codec_id == AV_CODEC_ID_SIPR ||\n\n s->streams[i]->codecpar->codec_id == AV_CODEC_ID_RV10 ||\n\n s->streams[i]->codecpar->codec_id == AV_CODEC_ID_RV20) {\n\n av_log(s, AV_LOG_ERROR,\n\n \"The Matroska muxer does not yet support muxing %s\\n\",\n\n avcodec_get_name(s->streams[i]->codecpar->codec_id));\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n if (s->streams[i]->codecpar->codec_id == AV_CODEC_ID_OPUS ||\n\n av_dict_get(s->streams[i]->metadata, \"stereo_mode\", NULL, 0) ||\n\n av_dict_get(s->streams[i]->metadata, \"alpha_mode\", NULL, 0))\n\n version = 4;\n\n }\n\n\n\n mkv->tracks = av_mallocz_array(s->nb_streams, sizeof(*mkv->tracks));\n\n if (!mkv->tracks) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n ebml_header = start_ebml_master(pb, EBML_ID_HEADER, 0);\n\n put_ebml_uint (pb, EBML_ID_EBMLVERSION , 1);\n\n put_ebml_uint (pb, EBML_ID_EBMLREADVERSION , 1);\n\n put_ebml_uint (pb, EBML_ID_EBMLMAXIDLENGTH , 4);\n\n put_ebml_uint (pb, EBML_ID_EBMLMAXSIZELENGTH , 8);\n\n put_ebml_string (pb, EBML_ID_DOCTYPE , s->oformat->name);\n\n put_ebml_uint (pb, EBML_ID_DOCTYPEVERSION , version);\n\n put_ebml_uint (pb, EBML_ID_DOCTYPEREADVERSION , 2);\n\n end_ebml_master(pb, ebml_header);\n\n\n\n mkv->segment = start_ebml_master(pb, MATROSKA_ID_SEGMENT, 0);\n\n mkv->segment_offset = avio_tell(pb);\n\n\n\n // we write 2 seek heads - one at the end of the file to point to each\n\n // cluster, and one at the beginning to point to all other level one\n\n // elements (including the seek head at the end of the file), which\n\n // isn't more than 10 elements if we only write one of each other\n\n // currently defined level 1 element\n\n mkv->main_seekhead = mkv_start_seekhead(pb, mkv->segment_offset, 10);\n\n if (!mkv->main_seekhead) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n\n\n ret = mkv_add_seekhead_entry(mkv->main_seekhead, MATROSKA_ID_INFO, avio_tell(pb));\n\n if (ret < 0) goto fail;\n\n\n\n ret = start_ebml_master_crc32(pb, &mkv->info_bc, mkv, &mkv->info, MATROSKA_ID_INFO, 0);\n\n if (ret < 0)\n\n return ret;\n\n pb = mkv->info_bc;\n\n\n\n put_ebml_uint(pb, MATROSKA_ID_TIMECODESCALE, 1000000);\n\n if ((tag = av_dict_get(s->metadata, \"title\", NULL, 0)))\n\n put_ebml_string(pb, MATROSKA_ID_TITLE, tag->value);\n\n if (!(s->flags & AVFMT_FLAG_BITEXACT)) {\n\n put_ebml_string(pb, MATROSKA_ID_MUXINGAPP, LIBAVFORMAT_IDENT);\n\n if ((tag = av_dict_get(s->metadata, \"encoding_tool\", NULL, 0)))\n\n put_ebml_string(pb, MATROSKA_ID_WRITINGAPP, tag->value);\n\n else\n\n put_ebml_string(pb, MATROSKA_ID_WRITINGAPP, LIBAVFORMAT_IDENT);\n\n\n\n if (mkv->mode != MODE_WEBM) {\n\n uint32_t segment_uid[4];\n\n AVLFG lfg;\n\n\n\n av_lfg_init(&lfg, av_get_random_seed());\n\n\n\n for (i = 0; i < 4; i++)\n\n segment_uid[i] = av_lfg_get(&lfg);\n\n\n\n put_ebml_binary(pb, MATROSKA_ID_SEGMENTUID, segment_uid, 16);\n\n }\n\n } else {\n\n const char *ident = \"Lavf\";\n\n put_ebml_string(pb, MATROSKA_ID_MUXINGAPP , ident);\n\n put_ebml_string(pb, MATROSKA_ID_WRITINGAPP, ident);\n\n }\n\n\n\n if (ff_parse_creation_time_metadata(s, &creation_time, 0) > 0) {\n\n // Adjust time so it's relative to 2001-01-01 and convert to nanoseconds.\n\n int64_t date_utc = (creation_time - 978307200000000LL) * 1000;\n\n uint8_t date_utc_buf[8];\n\n AV_WB64(date_utc_buf, date_utc);\n\n put_ebml_binary(pb, MATROSKA_ID_DATEUTC, date_utc_buf, 8);\n\n }\n\n\n\n // reserve space for the duration\n\n mkv->duration = 0;\n\n mkv->duration_offset = avio_tell(pb);\n\n if (!mkv->is_live) {\n\n int64_t metadata_duration = get_metadata_duration(s);\n\n\n\n if (s->duration > 0) {\n\n int64_t scaledDuration = av_rescale(s->duration, 1000, AV_TIME_BASE);\n\n put_ebml_float(pb, MATROSKA_ID_DURATION, scaledDuration);\n\n av_log(s, AV_LOG_DEBUG, \"Write early duration from recording time = %\" PRIu64 \"\\n\", scaledDuration);\n\n } else if (metadata_duration > 0) {\n\n int64_t scaledDuration = av_rescale(metadata_duration, 1000, AV_TIME_BASE);\n\n put_ebml_float(pb, MATROSKA_ID_DURATION, scaledDuration);\n\n av_log(s, AV_LOG_DEBUG, \"Write early duration from metadata = %\" PRIu64 \"\\n\", scaledDuration);\n\n } else {\n\n put_ebml_void(pb, 11); // assumes double-precision float to be written\n\n }\n\n }\n\n if ((s->pb->seekable & AVIO_SEEKABLE_NORMAL) && !mkv->is_live)\n\n end_ebml_master_crc32_preliminary(s->pb, &mkv->info_bc, mkv, mkv->info);\n\n else\n\n end_ebml_master_crc32(s->pb, &mkv->info_bc, mkv, mkv->info);\n\n pb = s->pb;\n\n\n\n // initialize stream_duration fields\n\n mkv->stream_durations = av_mallocz(s->nb_streams * sizeof(int64_t));\n\n mkv->stream_duration_offsets = av_mallocz(s->nb_streams * sizeof(int64_t));\n\n\n\n ret = mkv_write_tracks(s);\n\n if (ret < 0)\n\n goto fail;\n\n\n\n for (i = 0; i < s->nb_chapters; i++)\n\n mkv->chapter_id_offset = FFMAX(mkv->chapter_id_offset, 1LL - s->chapters[i]->id);\n\n\n\n ret = mkv_write_chapters(s);\n\n if (ret < 0)\n\n goto fail;\n\n\n\n if (mkv->mode != MODE_WEBM) {\n\n ret = mkv_write_attachments(s);\n\n if (ret < 0)\n\n goto fail;\n\n }\n\n\n\n ret = mkv_write_tags(s);\n\n if (ret < 0)\n\n goto fail;\n\n\n\n if (!(s->pb->seekable & AVIO_SEEKABLE_NORMAL) && !mkv->is_live)\n\n mkv_write_seekhead(pb, mkv);\n\n\n\n mkv->cues = mkv_start_cues(mkv->segment_offset);\n\n if (!mkv->cues) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n if ((pb->seekable & AVIO_SEEKABLE_NORMAL) && mkv->reserve_cues_space) {\n\n mkv->cues_pos = avio_tell(pb);\n\n put_ebml_void(pb, mkv->reserve_cues_space);\n\n }\n\n\n\n av_init_packet(&mkv->cur_audio_pkt);\n\n mkv->cur_audio_pkt.size = 0;\n\n mkv->cluster_pos = -1;\n\n\n\n avio_flush(pb);\n\n\n\n // start a new cluster every 5 MB or 5 sec, or 32k / 1 sec for streaming or\n\n // after 4k and on a keyframe\n\n if (pb->seekable & AVIO_SEEKABLE_NORMAL) {\n\n if (mkv->cluster_time_limit < 0)\n\n mkv->cluster_time_limit = 5000;\n\n if (mkv->cluster_size_limit < 0)\n\n mkv->cluster_size_limit = 5 * 1024 * 1024;\n\n } else {\n\n if (mkv->cluster_time_limit < 0)\n\n mkv->cluster_time_limit = 1000;\n\n if (mkv->cluster_size_limit < 0)\n\n mkv->cluster_size_limit = 32 * 1024;\n\n }\n\n\n\n return 0;\n\nfail:\n\n mkv_free(mkv);\n\n return ret;\n\n}\n", "idx": 3117}290{"project": "qemu", "commit_id": "4105de6732f771ea64113851a2ee7172c34d3a7a", "target": 1, "func": "e1000_can_receive(void *opaque)\n\n{\n\n E1000State *s = opaque;\n\n\n\n return (!(s->mac_reg[RCTL] & E1000_RCTL_EN) ||\n\n s->mac_reg[RDH] != s->mac_reg[RDT]);\n\n}\n", "idx": 3130}291{"project": "FFmpeg", "commit_id": "e0c6cce44729d94e2a5507a4b6d031f23e8bd7b6", "target": 0, "func": "av_cold void ff_sws_init_swScale_mmx(SwsContext *c)\n\n{\n\n int cpu_flags = av_get_cpu_flags();\n\n\n\n#if HAVE_INLINE_ASM\n\n if (cpu_flags & AV_CPU_FLAG_MMX)\n\n sws_init_swScale_MMX(c);\n\n#if HAVE_MMXEXT_INLINE\n\n if (cpu_flags & AV_CPU_FLAG_MMXEXT)\n\n sws_init_swScale_MMX2(c);\n\n#endif\n\n#endif /* HAVE_INLINE_ASM */\n\n\n\n#if HAVE_YASM\n\n#define ASSIGN_SCALE_FUNC2(hscalefn, filtersize, opt1, opt2) do { \\\n\n if (c->srcBpc == 8) { \\\n\n hscalefn = c->dstBpc <= 10 ? ff_hscale8to15_ ## filtersize ## _ ## opt2 : \\\n\n ff_hscale8to19_ ## filtersize ## _ ## opt1; \\\n\n } else if (c->srcBpc == 9) { \\\n\n hscalefn = c->dstBpc <= 10 ? ff_hscale9to15_ ## filtersize ## _ ## opt2 : \\\n\n ff_hscale9to19_ ## filtersize ## _ ## opt1; \\\n\n } else if (c->srcBpc == 10) { \\\n\n hscalefn = c->dstBpc <= 10 ? ff_hscale10to15_ ## filtersize ## _ ## opt2 : \\\n\n ff_hscale10to19_ ## filtersize ## _ ## opt1; \\\n\n } else /* c->srcBpc == 16 */ { \\\n\n hscalefn = c->dstBpc <= 10 ? ff_hscale16to15_ ## filtersize ## _ ## opt2 : \\\n\n ff_hscale16to19_ ## filtersize ## _ ## opt1; \\\n\n } \\\n\n} while (0)\n\n#define ASSIGN_MMX_SCALE_FUNC(hscalefn, filtersize, opt1, opt2) \\\n\n switch (filtersize) { \\\n\n case 4: ASSIGN_SCALE_FUNC2(hscalefn, 4, opt1, opt2); break; \\\n\n case 8: ASSIGN_SCALE_FUNC2(hscalefn, 8, opt1, opt2); break; \\\n\n default: ASSIGN_SCALE_FUNC2(hscalefn, X, opt1, opt2); break; \\\n\n }\n\n#define ASSIGN_VSCALEX_FUNC(vscalefn, opt, do_16_case, condition_8bit) \\\n\nswitch(c->dstBpc){ \\\n\n case 16: do_16_case; break; \\\n\n case 10: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_10_ ## opt; break; \\\n\n case 9: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_9_ ## opt; break; \\\n\n default: if (condition_8bit) vscalefn = ff_yuv2planeX_8_ ## opt; break; \\\n\n }\n\n#define ASSIGN_VSCALE_FUNC(vscalefn, opt1, opt2, opt2chk) \\\n\n switch(c->dstBpc){ \\\n\n case 16: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2plane1_16_ ## opt1; break; \\\n\n case 10: if (!isBE(c->dstFormat) && opt2chk) vscalefn = ff_yuv2plane1_10_ ## opt2; break; \\\n\n case 9: if (!isBE(c->dstFormat) && opt2chk) vscalefn = ff_yuv2plane1_9_ ## opt2; break; \\\n\n default: vscalefn = ff_yuv2plane1_8_ ## opt1; break; \\\n\n }\n\n#define case_rgb(x, X, opt) \\\n\n case PIX_FMT_ ## X: \\\n\n c->lumToYV12 = ff_ ## x ## ToY_ ## opt; \\\n\n if (!c->chrSrcHSubSample) \\\n\n c->chrToYV12 = ff_ ## x ## ToUV_ ## opt; \\\n\n break\n\n#if ARCH_X86_32\n\n if (cpu_flags & AV_CPU_FLAG_MMX) {\n\n ASSIGN_MMX_SCALE_FUNC(c->hyScale, c->hLumFilterSize, mmx, mmx);\n\n ASSIGN_MMX_SCALE_FUNC(c->hcScale, c->hChrFilterSize, mmx, mmx);\n\n ASSIGN_VSCALE_FUNC(c->yuv2plane1, mmx, mmx2, cpu_flags & AV_CPU_FLAG_MMXEXT);\n\n\n\n switch (c->srcFormat) {\n\n case PIX_FMT_Y400A:\n\n c->lumToYV12 = ff_yuyvToY_mmx;\n\n if (c->alpPixBuf)\n\n c->alpToYV12 = ff_uyvyToY_mmx;\n\n break;\n\n case PIX_FMT_YUYV422:\n\n c->lumToYV12 = ff_yuyvToY_mmx;\n\n c->chrToYV12 = ff_yuyvToUV_mmx;\n\n break;\n\n case PIX_FMT_UYVY422:\n\n c->lumToYV12 = ff_uyvyToY_mmx;\n\n c->chrToYV12 = ff_uyvyToUV_mmx;\n\n break;\n\n case PIX_FMT_NV12:\n\n c->chrToYV12 = ff_nv12ToUV_mmx;\n\n break;\n\n case PIX_FMT_NV21:\n\n c->chrToYV12 = ff_nv21ToUV_mmx;\n\n break;\n\n case_rgb(rgb24, RGB24, mmx);\n\n case_rgb(bgr24, BGR24, mmx);\n\n case_rgb(bgra, BGRA, mmx);\n\n case_rgb(rgba, RGBA, mmx);\n\n case_rgb(abgr, ABGR, mmx);\n\n case_rgb(argb, ARGB, mmx);\n\n default:\n\n break;\n\n }\n\n }\n\n if (cpu_flags & AV_CPU_FLAG_MMXEXT) {\n\n ASSIGN_VSCALEX_FUNC(c->yuv2planeX, mmx2, , 1);\n\n }\n\n#endif /* ARCH_X86_32 */\n\n#define ASSIGN_SSE_SCALE_FUNC(hscalefn, filtersize, opt1, opt2) \\\n\n switch (filtersize) { \\\n\n case 4: ASSIGN_SCALE_FUNC2(hscalefn, 4, opt1, opt2); break; \\\n\n case 8: ASSIGN_SCALE_FUNC2(hscalefn, 8, opt1, opt2); break; \\\n\n default: if (filtersize & 4) ASSIGN_SCALE_FUNC2(hscalefn, X4, opt1, opt2); \\\n\n else ASSIGN_SCALE_FUNC2(hscalefn, X8, opt1, opt2); \\\n\n break; \\\n\n }\n\n if (cpu_flags & AV_CPU_FLAG_SSE2) {\n\n ASSIGN_SSE_SCALE_FUNC(c->hyScale, c->hLumFilterSize, sse2, sse2);\n\n ASSIGN_SSE_SCALE_FUNC(c->hcScale, c->hChrFilterSize, sse2, sse2);\n\n ASSIGN_VSCALEX_FUNC(c->yuv2planeX, sse2, ,\n\n HAVE_ALIGNED_STACK || ARCH_X86_64);\n\n ASSIGN_VSCALE_FUNC(c->yuv2plane1, sse2, sse2, 1);\n\n\n\n switch (c->srcFormat) {\n\n case PIX_FMT_Y400A:\n\n c->lumToYV12 = ff_yuyvToY_sse2;\n\n if (c->alpPixBuf)\n\n c->alpToYV12 = ff_uyvyToY_sse2;\n\n break;\n\n case PIX_FMT_YUYV422:\n\n c->lumToYV12 = ff_yuyvToY_sse2;\n\n c->chrToYV12 = ff_yuyvToUV_sse2;\n\n break;\n\n case PIX_FMT_UYVY422:\n\n c->lumToYV12 = ff_uyvyToY_sse2;\n\n c->chrToYV12 = ff_uyvyToUV_sse2;\n\n break;\n\n case PIX_FMT_NV12:\n\n c->chrToYV12 = ff_nv12ToUV_sse2;\n\n break;\n\n case PIX_FMT_NV21:\n\n c->chrToYV12 = ff_nv21ToUV_sse2;\n\n break;\n\n case_rgb(rgb24, RGB24, sse2);\n\n case_rgb(bgr24, BGR24, sse2);\n\n case_rgb(bgra, BGRA, sse2);\n\n case_rgb(rgba, RGBA, sse2);\n\n case_rgb(abgr, ABGR, sse2);\n\n case_rgb(argb, ARGB, sse2);\n\n default:\n\n break;\n\n }\n\n }\n\n if (cpu_flags & AV_CPU_FLAG_SSSE3) {\n\n ASSIGN_SSE_SCALE_FUNC(c->hyScale, c->hLumFilterSize, ssse3, ssse3);\n\n ASSIGN_SSE_SCALE_FUNC(c->hcScale, c->hChrFilterSize, ssse3, ssse3);\n\n switch (c->srcFormat) {\n\n case_rgb(rgb24, RGB24, ssse3);\n\n case_rgb(bgr24, BGR24, ssse3);\n\n default:\n\n break;\n\n }\n\n }\n\n if (cpu_flags & AV_CPU_FLAG_SSE4) {\n\n /* Xto15 don't need special sse4 functions */\n\n ASSIGN_SSE_SCALE_FUNC(c->hyScale, c->hLumFilterSize, sse4, ssse3);\n\n ASSIGN_SSE_SCALE_FUNC(c->hcScale, c->hChrFilterSize, sse4, ssse3);\n\n ASSIGN_VSCALEX_FUNC(c->yuv2planeX, sse4,\n\n if (!isBE(c->dstFormat)) c->yuv2planeX = ff_yuv2planeX_16_sse4,\n\n HAVE_ALIGNED_STACK || ARCH_X86_64);\n\n if (c->dstBpc == 16 && !isBE(c->dstFormat))\n\n c->yuv2plane1 = ff_yuv2plane1_16_sse4;\n\n }\n\n\n\n if (cpu_flags & AV_CPU_FLAG_AVX) {\n\n ASSIGN_VSCALEX_FUNC(c->yuv2planeX, avx, ,\n\n HAVE_ALIGNED_STACK || ARCH_X86_64);\n\n ASSIGN_VSCALE_FUNC(c->yuv2plane1, avx, avx, 1);\n\n\n\n switch (c->srcFormat) {\n\n case PIX_FMT_YUYV422:\n\n c->chrToYV12 = ff_yuyvToUV_avx;\n\n break;\n\n case PIX_FMT_UYVY422:\n\n c->chrToYV12 = ff_uyvyToUV_avx;\n\n break;\n\n case PIX_FMT_NV12:\n\n c->chrToYV12 = ff_nv12ToUV_avx;\n\n break;\n\n case PIX_FMT_NV21:\n\n c->chrToYV12 = ff_nv21ToUV_avx;\n\n break;\n\n case_rgb(rgb24, RGB24, avx);\n\n case_rgb(bgr24, BGR24, avx);\n\n case_rgb(bgra, BGRA, avx);\n\n case_rgb(rgba, RGBA, avx);\n\n case_rgb(abgr, ABGR, avx);\n\n case_rgb(argb, ARGB, avx);\n\n default:\n\n break;\n\n }\n\n }\n\n#endif\n\n}\n", "idx": 3153}292{"project": "FFmpeg", "commit_id": "0a467a9b594dd67aa96bad687d05f8845b009f18", "target": 1, "func": "static unsigned tget(const uint8_t **p, int type, int le)\n\n{\n\n switch (type) {\n\n case TIFF_BYTE:\n\n return *(*p)++;\n\n case TIFF_SHORT:\n\n return tget_short(p, le);\n\n case TIFF_LONG:\n\n return tget_long(p, le);\n\n default:\n\n return UINT_MAX;\n\n }\n\n}\n", "idx": 3158}293{"project": "FFmpeg", "commit_id": "c43485f70765cb488bfdf95dc783bb9b14eb1179", "target": 1, "func": "static int decode_hq_slice(AVCodecContext *avctx, void *arg)\n\n{\n\n int i, quant, level, orientation, quant_idx;\n\n uint8_t quants[MAX_DWT_LEVELS][4];\n\n DiracContext *s = avctx->priv_data;\n\n DiracSlice *slice = arg;\n\n GetBitContext *gb = &slice->gb;\n\n\n\n skip_bits_long(gb, 8*s->highquality.prefix_bytes);\n\n quant_idx = get_bits(gb, 8);\n\n\n\n /* Slice quantization (slice_quantizers() in the specs) */\n\n for (level = 0; level < s->wavelet_depth; level++) {\n\n for (orientation = !!level; orientation < 4; orientation++) {\n\n quant = FFMAX(quant_idx - s->lowdelay.quant[level][orientation], 0);\n\n quants[level][orientation] = quant;\n\n }\n\n }\n\n\n\n /* Luma + 2 Chroma planes */\n\n for (i = 0; i < 3; i++) {\n\n int64_t length = s->highquality.size_scaler * get_bits(gb, 8);\n\n int64_t bits_left = 8 * length;\n\n int64_t bits_end = get_bits_count(gb) + bits_left;\n\n\n\n if (bits_end >= INT_MAX) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"end too far away\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n for (level = 0; level < s->wavelet_depth; level++) {\n\n for (orientation = !!level; orientation < 4; orientation++) {\n\n decode_subband(s, gb, quants[level][orientation], slice->slice_x, slice->slice_y, bits_end,\n\n &s->plane[i].band[level][orientation], NULL);\n\n }\n\n }\n\n skip_bits_long(gb, bits_end - get_bits_count(gb));\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 3160}294{"project": "FFmpeg", "commit_id": "a8bdf2405c6027f45a899eaaa6ba74e97c1c2701", "target": 1, "func": "static av_cold int amr_wb_encode_init(AVCodecContext *avctx)\n\n{\n\n AMRWBContext *s = avctx->priv_data;\n\n\n\n if (avctx->sample_rate != 16000) {\n\n av_log(avctx, AV_LOG_ERROR, \"Only 16000Hz sample rate supported\\n\");\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n if (avctx->channels != 1) {\n\n av_log(avctx, AV_LOG_ERROR, \"Only mono supported\\n\");\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n s->mode = get_wb_bitrate_mode(avctx->bit_rate, avctx);\n\n s->last_bitrate = avctx->bit_rate;\n\n\n\n avctx->frame_size = 320;\n\n avctx->coded_frame = avcodec_alloc_frame();\n\n\n\n\n\n s->state = E_IF_init();\n\n\n\n return 0;\n\n}", "idx": 3161}295{"project": "qemu", "commit_id": "45bbbb466cf4a6280076ea5a51f67ef5bedee345", "target": 1, "func": "uint32_t div32(uint32_t *q_ptr, uint64_t num, uint32_t den)\n\n{\n\n *q_ptr = num / den;\n\n return num % den;\n\n}\n", "idx": 3162}296{"project": "FFmpeg", "commit_id": "69ee915e1c628fdf8b270de8c19ff357333e354a", "target": 1, "func": "void ff_fetch_timestamp(AVCodecParserContext *s, int off, int remove)\n\n{\n\n int i;\n\n\n\n s->dts =\n\n s->pts = AV_NOPTS_VALUE;\n\n s->pos = -1;\n\n s->offset = 0;\n\n for (i = 0; i < AV_PARSER_PTS_NB; i++) {\n\n if (s->cur_offset + off >= s->cur_frame_offset[i] &&\n\n (s->frame_offset < s->cur_frame_offset[i] ||\n\n (!s->frame_offset && !s->next_frame_offset)) && // first field/frame\n\n // check disabled since MPEG-TS does not send complete PES packets\n\n /*s->next_frame_offset + off <*/ s->cur_frame_end[i]){\n\n\n\n s->dts = s->cur_frame_dts[i];\n\n s->pts = s->cur_frame_pts[i];\n\n s->pos = s->cur_frame_pos[i];\n\n s->offset = s->next_frame_offset - s->cur_frame_offset[i];\n\n if (remove)\n\n s->cur_frame_offset[i] = INT64_MAX;\n\n if (s->cur_offset + off < s->cur_frame_end[i])\n\n break;\n\n }\n\n }\n\n}\n", "idx": 3176}297{"project": "qemu", "commit_id": "aec4b054ea36c53c8b887da99f20010133b84378", "target": 1, "func": "static void simple_whitespace(void)\n\n{\n\n int i;\n\n struct {\n\n const char *encoded;\n\n LiteralQObject decoded;\n\n } test_cases[] = {\n\n {\n\n .encoded = \" [ 43 , 42 ]\",\n\n .decoded = QLIT_QLIST(((LiteralQObject[]){\n\n QLIT_QINT(43),\n\n QLIT_QINT(42),\n\n { }\n\n })),\n\n },\n\n {\n\n .encoded = \" [ 43 , { 'h' : 'b' }, [ ], 42 ]\",\n\n .decoded = QLIT_QLIST(((LiteralQObject[]){\n\n QLIT_QINT(43),\n\n QLIT_QDICT(((LiteralQDictEntry[]){\n\n { \"h\", QLIT_QSTR(\"b\") },\n\n { }})),\n\n QLIT_QLIST(((LiteralQObject[]){\n\n { }})),\n\n QLIT_QINT(42),\n\n { }\n\n })),\n\n },\n\n {\n\n .encoded = \" [ 43 , { 'h' : 'b' , 'a' : 32 }, [ ], 42 ]\",\n\n .decoded = QLIT_QLIST(((LiteralQObject[]){\n\n QLIT_QINT(43),\n\n QLIT_QDICT(((LiteralQDictEntry[]){\n\n { \"h\", QLIT_QSTR(\"b\") },\n\n { \"a\", QLIT_QINT(32) },\n\n { }})),\n\n QLIT_QLIST(((LiteralQObject[]){\n\n { }})),\n\n QLIT_QINT(42),\n\n { }\n\n })),\n\n },\n\n { }\n\n };\n\n\n\n for (i = 0; test_cases[i].encoded; i++) {\n\n QObject *obj;\n\n QString *str;\n\n\n\n obj = qobject_from_json(test_cases[i].encoded, NULL);\n\n g_assert(compare_litqobj_to_qobj(&test_cases[i].decoded, obj) == 1);\n\n\n\n str = qobject_to_json(obj);\n\n qobject_decref(obj);\n\n\n\n obj = qobject_from_json(qstring_get_str(str), NULL);\n\n g_assert(compare_litqobj_to_qobj(&test_cases[i].decoded, obj) == 1);\n\n\n\n qobject_decref(obj);\n\n QDECREF(str);\n\n }\n\n}\n", "idx": 3179}298{"project": "qemu", "commit_id": "0857a06ef784783887e756d4b7b5f874512c506c", "target": 1, "func": "static void gen_check_sr(DisasContext *dc, uint32_t sr, unsigned access)\n\n{\n\n if (!xtensa_option_bits_enabled(dc->config, sregnames[sr].opt_bits)) {\n\n if (sregnames[sr].name) {\n\n qemu_log(\"SR %s is not configured\\n\", sregnames[sr].name);\n\n } else {\n\n qemu_log(\"SR %d is not implemented\\n\", sr);\n\n }\n\n gen_exception_cause(dc, ILLEGAL_INSTRUCTION_CAUSE);\n\n } else if (!(sregnames[sr].access & access)) {\n\n static const char * const access_text[] = {\n\n [SR_R] = \"rsr\",\n\n [SR_W] = \"wsr\",\n\n [SR_X] = \"xsr\",\n\n };\n\n assert(access < ARRAY_SIZE(access_text) && access_text[access]);\n\n qemu_log(\"SR %s is not available for %s\\n\", sregnames[sr].name,\n\n access_text[access]);\n\n gen_exception_cause(dc, ILLEGAL_INSTRUCTION_CAUSE);\n\n }\n\n}\n", "idx": 3180}299{"project": "qemu", "commit_id": "e41029b378b4a65a0b89b5a8dc087aca6b5d012d", "target": 1, "func": "static void gen_lswi(DisasContext *ctx)\n\n{\n\n TCGv t0;\n\n TCGv_i32 t1, t2;\n\n int nb = NB(ctx->opcode);\n\n int start = rD(ctx->opcode);\n\n int ra = rA(ctx->opcode);\n\n int nr;\n\n\n\n if (nb == 0)\n\n nb = 32;\n\n nr = (nb + 3) / 4;\n\n if (unlikely(lsw_reg_in_range(start, nr, ra))) {\n\n gen_inval_exception(ctx, POWERPC_EXCP_INVAL_LSWX);\n\n return;\n\n }\n\n gen_set_access_type(ctx, ACCESS_INT);\n\n /* NIP cannot be restored if the memory exception comes from an helper */\n\n gen_update_nip(ctx, ctx->nip - 4);\n\n t0 = tcg_temp_new();\n\n gen_addr_register(ctx, t0);\n\n t1 = tcg_const_i32(nb);\n\n t2 = tcg_const_i32(start);\n\n gen_helper_lsw(cpu_env, t0, t1, t2);\n\n tcg_temp_free(t0);\n\n tcg_temp_free_i32(t1);\n\n tcg_temp_free_i32(t2);\n\n}\n", "idx": 3182}300{"project": "FFmpeg", "commit_id": "c61b28e0421f0f9502dfb21495a03cda191def15", "target": 0, "func": "static int decode_frame(AVCodecContext *avctx, const uint8_t *databuf,\n\n float **out_samples)\n\n{\n\n ATRAC3Context *q = avctx->priv_data;\n\n int ret, i;\n\n uint8_t *ptr1;\n\n\n\n if (q->coding_mode == JOINT_STEREO) {\n\n /* channel coupling mode */\n\n /* decode Sound Unit 1 */\n\n init_get_bits(&q->gb, databuf, avctx->block_align * 8);\n\n\n\n ret = decode_channel_sound_unit(q, &q->gb, q->units, out_samples[0], 0,\n\n JOINT_STEREO);\n\n if (ret != 0)\n\n return ret;\n\n\n\n /* Framedata of the su2 in the joint-stereo mode is encoded in\n\n * reverse byte order so we need to swap it first. */\n\n if (databuf == q->decoded_bytes_buffer) {\n\n uint8_t *ptr2 = q->decoded_bytes_buffer + avctx->block_align - 1;\n\n ptr1 = q->decoded_bytes_buffer;\n\n for (i = 0; i < avctx->block_align / 2; i++, ptr1++, ptr2--)\n\n FFSWAP(uint8_t, *ptr1, *ptr2);\n\n } else {\n\n const uint8_t *ptr2 = databuf + avctx->block_align - 1;\n\n for (i = 0; i < avctx->block_align; i++)\n\n q->decoded_bytes_buffer[i] = *ptr2--;\n\n }\n\n\n\n /* Skip the sync codes (0xF8). */\n\n ptr1 = q->decoded_bytes_buffer;\n\n for (i = 4; *ptr1 == 0xF8; i++, ptr1++) {\n\n if (i >= avctx->block_align)\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n\n\n /* set the bitstream reader at the start of the second Sound Unit*/\n\n init_get_bits8(&q->gb, ptr1, q->decoded_bytes_buffer + avctx->block_align - ptr1);\n\n\n\n /* Fill the Weighting coeffs delay buffer */\n\n memmove(q->weighting_delay, &q->weighting_delay[2],\n\n 4 * sizeof(*q->weighting_delay));\n\n q->weighting_delay[4] = get_bits1(&q->gb);\n\n q->weighting_delay[5] = get_bits(&q->gb, 3);\n\n\n\n for (i = 0; i < 4; i++) {\n\n q->matrix_coeff_index_prev[i] = q->matrix_coeff_index_now[i];\n\n q->matrix_coeff_index_now[i] = q->matrix_coeff_index_next[i];\n\n q->matrix_coeff_index_next[i] = get_bits(&q->gb, 2);\n\n }\n\n\n\n /* Decode Sound Unit 2. */\n\n ret = decode_channel_sound_unit(q, &q->gb, &q->units[1],\n\n out_samples[1], 1, JOINT_STEREO);\n\n if (ret != 0)\n\n return ret;\n\n\n\n /* Reconstruct the channel coefficients. */\n\n reverse_matrixing(out_samples[0], out_samples[1],\n\n q->matrix_coeff_index_prev,\n\n q->matrix_coeff_index_now);\n\n\n\n channel_weighting(out_samples[0], out_samples[1], q->weighting_delay);\n\n } else {\n\n /* single channels */\n\n /* Decode the channel sound units. */\n\n for (i = 0; i < avctx->channels; i++) {\n\n /* Set the bitstream reader at the start of a channel sound unit. */\n\n init_get_bits(&q->gb,\n\n databuf + i * avctx->block_align / avctx->channels,\n\n avctx->block_align * 8 / avctx->channels);\n\n\n\n ret = decode_channel_sound_unit(q, &q->gb, &q->units[i],\n\n out_samples[i], i, q->coding_mode);\n\n if (ret != 0)\n\n return ret;\n\n }\n\n }\n\n\n\n /* Apply the iQMF synthesis filter. */\n\n for (i = 0; i < avctx->channels; i++) {\n\n float *p1 = out_samples[i];\n\n float *p2 = p1 + 256;\n\n float *p3 = p2 + 256;\n\n float *p4 = p3 + 256;\n\n ff_atrac_iqmf(p1, p2, 256, p1, q->units[i].delay_buf1, q->temp_buf);\n\n ff_atrac_iqmf(p4, p3, 256, p3, q->units[i].delay_buf2, q->temp_buf);\n\n ff_atrac_iqmf(p1, p3, 512, p1, q->units[i].delay_buf3, q->temp_buf);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 3183}301{"project": "qemu", "commit_id": "367790cce8e14131426f5190dfd7d1bdbf656e4d", "target": 1, "func": "uint32_t HELPER(shr_cc)(CPUM68KState *env, uint32_t val, uint32_t shift)\n\n{\n\n uint64_t temp;\n\n uint32_t result;\n\n\n\n shift &= 63;\n\n temp = (uint64_t)val << 32 >> shift;\n\n result = temp >> 32;\n\n\n\n env->cc_c = (temp >> 31) & 1;\n\n env->cc_n = result;\n\n env->cc_z = result;\n\n env->cc_v = 0;\n\n env->cc_x = shift ? env->cc_c : env->cc_x;\n\n\n\n return result;\n\n}\n", "idx": 3184}302{"project": "qemu", "commit_id": "95ce326e5b47b4b841849f8a2ac7b96d6e204dfb", "target": 1, "func": "static void term_down_char(void)\n\n{\n\n if (term_hist_entry == TERM_MAX_CMDS - 1 || term_hist_entry == -1)\n\n\treturn;\n\n if (term_history[++term_hist_entry] != NULL) {\n\n\tstrcpy(term_cmd_buf, term_history[term_hist_entry]);\n\n } else {\n\n\tterm_hist_entry = -1;\n\n }\n\n term_printf(\"\\n\");\n\n term_print_cmdline(term_cmd_buf);\n\n term_cmd_buf_index = term_cmd_buf_size = strlen(term_cmd_buf);\n\n}\n", "idx": 3205}303{"project": "FFmpeg", "commit_id": "3d2c3ef4b46d96023d6f0d358e4d7d65568da67c", "target": 0, "func": "static int decode_cabac_mb_cbp_luma( H264Context *h) {\n\n int cbp_b, cbp_a, ctx, cbp = 0;\n\n\n\n cbp_a = h->slice_table[h->left_mb_xy[0]] == h->slice_num ? h->left_cbp : -1;\n\n cbp_b = h->slice_table[h->top_mb_xy] == h->slice_num ? h->top_cbp : -1;\n\n\n\n ctx = !(cbp_a & 0x02) + 2 * !(cbp_b & 0x04);\n\n cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]);\n\n ctx = !(cbp & 0x01) + 2 * !(cbp_b & 0x08);\n\n cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 1;\n\n ctx = !(cbp_a & 0x08) + 2 * !(cbp & 0x01);\n\n cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 2;\n\n ctx = !(cbp & 0x04) + 2 * !(cbp & 0x02);\n\n cbp |= get_cabac_noinline(&h->cabac, &h->cabac_state[73 + ctx]) << 3;\n\n return cbp;\n\n}\n", "idx": 3211}304{"project": "FFmpeg", "commit_id": "f0adb99d068e659178c00271a46cd469dfc01a6e", "target": 1, "func": "void ff_qsv_decode_reset(AVCodecContext *avctx, QSVContext *q)\n\n{\n\n QSVFrame *cur;\n\n AVPacket pkt;\n\n int ret = 0;\n\n mfxVideoParam param = { { 0 } };\n\n\n\n if (q->reinit_pending) {\n\n close_decoder(q);\n\n } else if (q->engine_ready) {\n\n ret = MFXVideoDECODE_GetVideoParam(q->session, ¶m);\n\n if (ret < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"MFX decode get param error %d\\n\", ret);\n\n }\n\n\n\n ret = MFXVideoDECODE_Reset(q->session, ¶m);\n\n if (ret < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"MFX decode reset error %d\\n\", ret);\n\n }\n\n\n\n /* Free all frames*/\n\n cur = q->work_frames;\n\n while (cur) {\n\n q->work_frames = cur->next;\n\n av_frame_free(&cur->frame);\n\n av_freep(&cur);\n\n cur = q->work_frames;\n\n }\n\n }\n\n\n\n /* Reset output surfaces */\n\n av_fifo_reset(q->async_fifo);\n\n\n\n /* Reset input packets fifo */\n\n while (av_fifo_size(q->pkt_fifo)) {\n\n av_fifo_generic_read(q->pkt_fifo, &pkt, sizeof(pkt), NULL);\n\n av_packet_unref(&pkt);\n\n }\n\n\n\n /* Reset input bitstream fifo */\n\n av_fifo_reset(q->input_fifo);\n\n}\n", "idx": 3227}305{"project": "qemu", "commit_id": "0fcec41eec0432c77645b4a407d3a3e030c4abc4", "target": 1, "func": "target_ulong helper_sdiv(target_ulong a, target_ulong b)\n\n{\n\n int64_t x0;\n\n int32_t x1;\n\n\n\n x0 = (a & 0xffffffff) | ((int64_t) (env->y) << 32);\n\n x1 = (b & 0xffffffff);\n\n\n\n if (x1 == 0) {\n\n raise_exception(TT_DIV_ZERO);\n\n }\n\n\n\n x0 = x0 / x1;\n\n if ((int32_t) x0 != x0) {\n\n env->cc_src2 = 1;\n\n return x0 < 0? 0x80000000: 0x7fffffff;\n\n } else {\n\n env->cc_src2 = 0;\n\n return x0;\n\n }\n\n}\n", "idx": 3228}306{"project": "qemu", "commit_id": "898248a32915024a4f01ce4f0c3519509fb703cb", "target": 1, "func": "static void xhci_reset(DeviceState *dev)\n\n{\n\n XHCIState *xhci = XHCI(dev);\n\n int i;\n\n\n\n trace_usb_xhci_reset();\n\n if (!(xhci->usbsts & USBSTS_HCH)) {\n\n DPRINTF(\"xhci: reset while running!\\n\");\n\n }\n\n\n\n xhci->usbcmd = 0;\n\n xhci->usbsts = USBSTS_HCH;\n\n xhci->dnctrl = 0;\n\n xhci->crcr_low = 0;\n\n xhci->crcr_high = 0;\n\n xhci->dcbaap_low = 0;\n\n xhci->dcbaap_high = 0;\n\n xhci->config = 0;\n\n\n\n for (i = 0; i < xhci->numslots; i++) {\n\n xhci_disable_slot(xhci, i+1);\n\n }\n\n\n\n for (i = 0; i < xhci->numports; i++) {\n\n xhci_port_update(xhci->ports + i, 0);\n\n }\n\n\n\n for (i = 0; i < xhci->numintrs; i++) {\n\n xhci->intr[i].iman = 0;\n\n xhci->intr[i].imod = 0;\n\n xhci->intr[i].erstsz = 0;\n\n xhci->intr[i].erstba_low = 0;\n\n xhci->intr[i].erstba_high = 0;\n\n xhci->intr[i].erdp_low = 0;\n\n xhci->intr[i].erdp_high = 0;\n\n xhci->intr[i].msix_used = 0;\n\n\n\n xhci->intr[i].er_ep_idx = 0;\n\n xhci->intr[i].er_pcs = 1;\n\n xhci->intr[i].er_full = 0;\n\n xhci->intr[i].ev_buffer_put = 0;\n\n xhci->intr[i].ev_buffer_get = 0;\n\n }\n\n\n\n xhci->mfindex_start = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);\n\n xhci_mfwrap_update(xhci);\n\n}\n", "idx": 3236}307{"project": "qemu", "commit_id": "068abdc8a57023eeafe1025b964a50f8a39929b4", "target": 1, "func": "int ppc_find_by_pvr (uint32_t pvr, ppc_def_t **def)\n\n{\n\n int i, ret;\n\n\n\n ret = -1;\n\n *def = NULL;\n\n for (i = 0; ppc_defs[i].name != NULL; i++) {\n\n if ((pvr & ppc_defs[i].pvr_mask) ==\n\n (ppc_defs[i].pvr & ppc_defs[i].pvr_mask)) {\n\n *def = &ppc_defs[i];\n\n ret = 0;\n\n break;\n\n }\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 3237}308{"project": "qemu", "commit_id": "ef29a70d18c2d551cf4bb74b8aa9638caac3391b", "target": 0, "func": "void helper_tlb_update(uint32_t T0)\n\n{\n\n#if !defined(CONFIG_USER_ONLY)\n\n\tuint32_t vaddr;\n\n\tuint32_t srs = env->pregs[PR_SRS];\n\n\n\n\tif (srs != 1 && srs != 2)\n\n\t\treturn;\n\n\n\n\tvaddr = cris_mmu_tlb_latest_update(env, T0);\n\n\tD(printf(\"flush old_vaddr=%x vaddr=%x T0=%x\\n\", vaddr, \n\n\t\t env->sregs[SFR_R_MM_CAUSE] & TARGET_PAGE_MASK, T0));\n\n\ttlb_flush_page(env, vaddr);\n\n#endif\n\n}\n", "idx": 3256}309{"project": "qemu", "commit_id": "99fd437dee468609de8218f0eb3b16621fb6a9c9", "target": 0, "func": "static void patch_pcihp(int slot, uint8_t *ssdt_ptr, uint32_t eject)\n\n{\n\n ssdt_ptr[ACPI_PCIHP_OFFSET_HEX] = acpi_get_hex(slot >> 4);\n\n ssdt_ptr[ACPI_PCIHP_OFFSET_HEX + 1] = acpi_get_hex(slot);\n\n ssdt_ptr[ACPI_PCIHP_OFFSET_ID] = slot;\n\n ssdt_ptr[ACPI_PCIHP_OFFSET_ADR + 2] = slot;\n\n\n\n /* Runtime patching of ACPI_EJ0: to disable hotplug for a slot,\n\n * replace the method name: _EJ0 by ACPI_EJ0_.\n\n */\n\n /* Sanity check */\n\n assert(!memcmp(ssdt_ptr + ACPI_PCIHP_OFFSET_EJ0, \"_EJ0\", 4));\n\n\n\n if (!eject) {\n\n memcpy(ssdt_ptr + ACPI_PCIHP_OFFSET_EJ0, \"EJ0_\", 4);\n\n }\n\n}\n", "idx": 3266}310{"project": "FFmpeg", "commit_id": "03931ecf71710452fc9e89d4f18354f0b5e05395", "target": 0, "func": "static float ssim_plane(uint8_t *main, int main_stride,\n\n uint8_t *ref, int ref_stride,\n\n int width, int height, void *temp)\n\n{\n\n int z = 0;\n\n int x, y;\n\n float ssim = 0.0;\n\n int (*sum0)[4] = temp;\n\n int (*sum1)[4] = sum0 + (width >> 2) + 3;\n\n\n\n width >>= 2;\n\n height >>= 2;\n\n\n\n for (y = 1; y < height; y++) {\n\n for (; z <= y; z++) {\n\n FFSWAP(void*, sum0, sum1);\n\n for (x = 0; x < width; x+=2)\n\n ssim_4x4x2_core(&main[4 * (x + z * main_stride)], main_stride,\n\n &ref[4 * (x + z * ref_stride)], ref_stride,\n\n &sum0[x]);\n\n }\n\n\n\n ssim += ssim_endn(sum0, sum1, width - 1);\n\n }\n\n\n\n return ssim / ((height - 1) * (width - 1));\n\n}\n", "idx": 3274}311{"project": "qemu", "commit_id": "a907ec52cc1aefc820768b6e341b56f8f3caaca7", "target": 1, "func": "static void nvme_instance_init(Object *obj)\n\n{\n\n object_property_add(obj, \"bootindex\", \"int32\",\n\n nvme_get_bootindex,\n\n nvme_set_bootindex, NULL, NULL, NULL);\n\n object_property_set_int(obj, -1, \"bootindex\", NULL);\n\n}\n", "idx": 3278}312{"project": "qemu", "commit_id": "7e39d3a2dd34a84900e10b4ea1567f3b352659af", "target": 1, "func": "static int blkverify_open(BlockDriverState *bs, QDict *options, int flags,\n\n Error **errp)\n\n{\n\n BDRVBlkverifyState *s = bs->opaque;\n\n QemuOpts *opts;\n\n Error *local_err = NULL;\n\n int ret;\n\n\n\n opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);\n\n qemu_opts_absorb_qdict(opts, options, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n ret = -EINVAL;\n\n goto fail;\n\n\n\n\n /* Open the raw file */\n\n bs->file = bdrv_open_child(qemu_opt_get(opts, \"x-raw\"), options, \"raw\",\n\n bs, &child_file, false, &local_err);\n\n if (local_err) {\n\n ret = -EINVAL;\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n\n\n\n /* Open the test file */\n\n s->test_file = bdrv_open_child(qemu_opt_get(opts, \"x-image\"), options,\n\n \"test\", bs, &child_format, false,\n\n &local_err);\n\n if (local_err) {\n\n ret = -EINVAL;\n\n error_propagate(errp, local_err);\n\n goto fail;\n\n\n\n\n ret = 0;\n\nfail:\n\n\n\n\n qemu_opts_del(opts);\n\n return ret;\n", "idx": 3279}313{"project": "qemu", "commit_id": "f2488736371ae902f345cf9270d141f0a6797731", "target": 1, "func": "static void tcg_out_tlb_read(TCGContext *s, TCGReg addrlo, TCGReg addrhi,\n\n int s_bits, int tlb_offset)\n\n{\n\n TCGReg base = TCG_AREG0;\n\n\n\n /* Should generate something like the following:\n\n * pre-v7:\n\n * shr tmp, addr_reg, #TARGET_PAGE_BITS (1)\n\n * add r2, env, #off & 0xff00\n\n * and r0, tmp, #(CPU_TLB_SIZE - 1) (2)\n\n * add r2, r2, r0, lsl #CPU_TLB_ENTRY_BITS (3)\n\n * ldr r0, [r2, #off & 0xff]! (4)\n\n * tst addr_reg, #s_mask\n\n * cmpeq r0, tmp, lsl #TARGET_PAGE_BITS (5)\n\n *\n\n * v7 (not implemented yet):\n\n * ubfx r2, addr_reg, #TARGET_PAGE_BITS, #CPU_TLB_BITS (1)\n\n * movw tmp, #~TARGET_PAGE_MASK & ~s_mask\n\n * movw r0, #off\n\n * add r2, env, r2, lsl #CPU_TLB_ENTRY_BITS (2)\n\n * bic tmp, addr_reg, tmp\n\n * ldr r0, [r2, r0]! (3)\n\n * cmp r0, tmp (4)\n\n */\n\n# if CPU_TLB_BITS > 8\n\n# error\n\n# endif\n\n tcg_out_dat_reg(s, COND_AL, ARITH_MOV, TCG_REG_TMP,\n\n 0, addrlo, SHIFT_IMM_LSR(TARGET_PAGE_BITS));\n\n\n\n /* We assume that the offset is contained within 16 bits. */\n\n assert((tlb_offset & ~0xffff) == 0);\n\n if (tlb_offset > 0xff) {\n\n tcg_out_dat_imm(s, COND_AL, ARITH_ADD, TCG_REG_R2, base,\n\n (24 << 7) | (tlb_offset >> 8));\n\n tlb_offset &= 0xff;\n\n base = TCG_REG_R2;\n\n }\n\n\n\n tcg_out_dat_imm(s, COND_AL, ARITH_AND,\n\n TCG_REG_R0, TCG_REG_TMP, CPU_TLB_SIZE - 1);\n\n tcg_out_dat_reg(s, COND_AL, ARITH_ADD, TCG_REG_R2, base,\n\n TCG_REG_R0, SHIFT_IMM_LSL(CPU_TLB_ENTRY_BITS));\n\n\n\n /* Load the tlb comparator. Use ldrd if needed and available,\n\n but due to how the pointer needs setting up, ldm isn't useful.\n\n Base arm5 doesn't have ldrd, but armv5te does. */\n\n if (use_armv6_instructions && TARGET_LONG_BITS == 64) {\n\n tcg_out_memop_8(s, COND_AL, INSN_LDRD_IMM, TCG_REG_R0,\n\n TCG_REG_R2, tlb_offset, 1, 1);\n\n } else {\n\n tcg_out_memop_12(s, COND_AL, INSN_LDR_IMM, TCG_REG_R0,\n\n TCG_REG_R2, tlb_offset, 1, 1);\n\n if (TARGET_LONG_BITS == 64) {\n\n tcg_out_memop_12(s, COND_AL, INSN_LDR_IMM, TCG_REG_R1,\n\n TCG_REG_R2, 4, 1, 0);\n\n }\n\n }\n\n\n\n /* Check alignment. */\n\n if (s_bits) {\n\n tcg_out_dat_imm(s, COND_AL, ARITH_TST,\n\n 0, addrlo, (1 << s_bits) - 1);\n\n }\n\n\n\n tcg_out_dat_reg(s, (s_bits ? COND_EQ : COND_AL), ARITH_CMP, 0,\n\n TCG_REG_R0, TCG_REG_TMP, SHIFT_IMM_LSL(TARGET_PAGE_BITS));\n\n\n\n if (TARGET_LONG_BITS == 64) {\n\n tcg_out_dat_reg(s, COND_EQ, ARITH_CMP, 0,\n\n TCG_REG_R1, addrhi, SHIFT_IMM_LSL(0));\n\n }\n\n}\n", "idx": 3288}314{"project": "FFmpeg", "commit_id": "4b1f5e5090abed6c618c8ba380cd7d28d140f867", "target": 0, "func": "static void qdm2_decode_super_block(QDM2Context *q)\n\n{\n\n GetBitContext gb;\n\n QDM2SubPacket header, *packet;\n\n int i, packet_bytes, sub_packet_size, sub_packets_D;\n\n unsigned int next_index = 0;\n\n\n\n memset(q->tone_level_idx_hi1, 0, sizeof(q->tone_level_idx_hi1));\n\n memset(q->tone_level_idx_mid, 0, sizeof(q->tone_level_idx_mid));\n\n memset(q->tone_level_idx_hi2, 0, sizeof(q->tone_level_idx_hi2));\n\n\n\n q->sub_packets_B = 0;\n\n sub_packets_D = 0;\n\n\n\n average_quantized_coeffs(q); // average elements in quantized_coeffs[max_ch][10][8]\n\n\n\n init_get_bits(&gb, q->compressed_data, q->compressed_size * 8);\n\n qdm2_decode_sub_packet_header(&gb, &header);\n\n\n\n if (header.type < 2 || header.type >= 8) {\n\n q->has_errors = 1;\n\n av_log(NULL, AV_LOG_ERROR, \"bad superblock type\\n\");\n\n return;\n\n }\n\n\n\n q->superblocktype_2_3 = (header.type == 2 || header.type == 3);\n\n packet_bytes = (q->compressed_size - get_bits_count(&gb) / 8);\n\n\n\n init_get_bits(&gb, header.data, header.size * 8);\n\n\n\n if (header.type == 2 || header.type == 4 || header.type == 5) {\n\n int csum = 257 * get_bits(&gb, 8);\n\n csum += 2 * get_bits(&gb, 8);\n\n\n\n csum = qdm2_packet_checksum(q->compressed_data, q->checksum_size, csum);\n\n\n\n if (csum != 0) {\n\n q->has_errors = 1;\n\n av_log(NULL, AV_LOG_ERROR, \"bad packet checksum\\n\");\n\n return;\n\n }\n\n }\n\n\n\n q->sub_packet_list_B[0].packet = NULL;\n\n q->sub_packet_list_D[0].packet = NULL;\n\n\n\n for (i = 0; i < 6; i++)\n\n if (--q->fft_level_exp[i] < 0)\n\n q->fft_level_exp[i] = 0;\n\n\n\n for (i = 0; packet_bytes > 0; i++) {\n\n int j;\n\n\n\n if (i >= FF_ARRAY_ELEMS(q->sub_packet_list_A)) {\n\n SAMPLES_NEEDED_2(\"too many packet bytes\");\n\n return;\n\n }\n\n\n\n q->sub_packet_list_A[i].next = NULL;\n\n\n\n if (i > 0) {\n\n q->sub_packet_list_A[i - 1].next = &q->sub_packet_list_A[i];\n\n\n\n /* seek to next block */\n\n init_get_bits(&gb, header.data, header.size * 8);\n\n skip_bits(&gb, next_index * 8);\n\n\n\n if (next_index >= header.size)\n\n break;\n\n }\n\n\n\n /* decode subpacket */\n\n packet = &q->sub_packets[i];\n\n qdm2_decode_sub_packet_header(&gb, packet);\n\n next_index = packet->size + get_bits_count(&gb) / 8;\n\n sub_packet_size = ((packet->size > 0xff) ? 1 : 0) + packet->size + 2;\n\n\n\n if (packet->type == 0)\n\n break;\n\n\n\n if (sub_packet_size > packet_bytes) {\n\n if (packet->type != 10 && packet->type != 11 && packet->type != 12)\n\n break;\n\n packet->size += packet_bytes - sub_packet_size;\n\n }\n\n\n\n packet_bytes -= sub_packet_size;\n\n\n\n /* add subpacket to 'all subpackets' list */\n\n q->sub_packet_list_A[i].packet = packet;\n\n\n\n /* add subpacket to related list */\n\n if (packet->type == 8) {\n\n SAMPLES_NEEDED_2(\"packet type 8\");\n\n return;\n\n } else if (packet->type >= 9 && packet->type <= 12) {\n\n /* packets for MPEG Audio like Synthesis Filter */\n\n QDM2_LIST_ADD(q->sub_packet_list_D, sub_packets_D, packet);\n\n } else if (packet->type == 13) {\n\n for (j = 0; j < 6; j++)\n\n q->fft_level_exp[j] = get_bits(&gb, 6);\n\n } else if (packet->type == 14) {\n\n for (j = 0; j < 6; j++)\n\n q->fft_level_exp[j] = qdm2_get_vlc(&gb, &fft_level_exp_vlc, 0, 2);\n\n } else if (packet->type == 15) {\n\n SAMPLES_NEEDED_2(\"packet type 15\")\n\n return;\n\n } else if (packet->type >= 16 && packet->type < 48 &&\n\n !fft_subpackets[packet->type - 16]) {\n\n /* packets for FFT */\n\n QDM2_LIST_ADD(q->sub_packet_list_B, q->sub_packets_B, packet);\n\n }\n\n } // Packet bytes loop\n\n\n\n if (q->sub_packet_list_D[0].packet != NULL) {\n\n process_synthesis_subpackets(q, q->sub_packet_list_D);\n\n q->do_synth_filter = 1;\n\n } else if (q->do_synth_filter) {\n\n process_subpacket_10(q, NULL);\n\n process_subpacket_11(q, NULL);\n\n process_subpacket_12(q, NULL);\n\n }\n\n}\n", "idx": 3290}315{"project": "FFmpeg", "commit_id": "2254b559cbcfc0418135f09add37c0a5866b1981", "target": 1, "func": "static void hScale8To15_c(SwsContext *c, int16_t *dst, int dstW, const uint8_t *src,\n\n const int16_t *filter, const int16_t *filterPos,\n\n int filterSize)\n\n{\n\n int i;\n\n for (i=0; i<dstW; i++) {\n\n int j;\n\n int srcPos= filterPos[i];\n\n int val=0;\n\n for (j=0; j<filterSize; j++) {\n\n val += ((int)src[srcPos + j])*filter[filterSize*i + j];\n\n }\n\n //filter += hFilterSize;\n\n dst[i] = FFMIN(val>>7, (1<<15)-1); // the cubic equation does overflow ...\n\n //dst[i] = val>>7;\n\n }\n\n}\n", "idx": 3293}316{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "MigrationState *migrate_get_current(void)\n\n{\n\n static MigrationState current_migration = {\n\n .state = MIG_STATE_NONE,\n\n .bandwidth_limit = MAX_THROTTLE,\n\n .xbzrle_cache_size = DEFAULT_MIGRATE_CACHE_SIZE,\n\n .mbps = -1,\n\n };\n\n\n\n return ¤t_migration;\n\n}\n", "idx": 3320}317{"project": "qemu", "commit_id": "25e5e4c7e9d5ec3e95c9526d1abaca40ada50ab0", "target": 1, "func": "qemu_co_sendv_recvv(int sockfd, struct iovec *iov, unsigned iov_cnt,\n\n size_t offset, size_t bytes, bool do_send)\n\n{\n\n size_t done = 0;\n\n ssize_t ret;\n\n while (done < bytes) {\n\n ret = iov_send_recv(sockfd, iov,\n\n offset + done, bytes - done, do_send);\n\n if (ret > 0) {\n\n done += ret;\n\n } else if (ret < 0) {\n\n if (errno == EAGAIN) {\n\n qemu_coroutine_yield();\n\n } else if (done == 0) {\n\n return -1;\n\n } else {\n\n break;\n\n }\n\n } else if (ret == 0 && !do_send) {\n\n /* write (send) should never return 0.\n\n * read (recv) returns 0 for end-of-file (-data).\n\n * In both cases there's little point retrying,\n\n * but we do for write anyway, just in case */\n\n break;\n\n }\n\n }\n\n return done;\n\n}\n", "idx": 3322}318{"project": "qemu", "commit_id": "e24e49e6194626e4ec9f1aecce6d6a6847320bce", "target": 1, "func": "static int qcow2_change_backing_file(BlockDriverState *bs,\n\n const char *backing_file, const char *backing_fmt)\n\n{\n\n return qcow2_update_ext_header(bs, backing_file, backing_fmt);\n\n}\n", "idx": 3327}319{"project": "FFmpeg", "commit_id": "a4f6be86d67ae30d494fbe8a470bc32b715d75a9", "target": 0, "func": "static void av_always_inline filter_mb_edgech( uint8_t *pix, int stride, const int16_t bS[4], unsigned int qp, H264Context *h ) {\n\n const int qp_bd_offset = 6 * (h->sps.bit_depth_luma - 8);\n\n const unsigned int index_a = qp - qp_bd_offset + h->slice_alpha_c0_offset;\n\n const int alpha = alpha_table[index_a];\n\n const int beta = beta_table[qp - qp_bd_offset + h->slice_beta_offset];\n\n if (alpha ==0 || beta == 0) return;\n\n\n\n if( bS[0] < 4 ) {\n\n int8_t tc[4];\n\n tc[0] = tc0_table[index_a][bS[0]]+1;\n\n tc[1] = tc0_table[index_a][bS[1]]+1;\n\n tc[2] = tc0_table[index_a][bS[2]]+1;\n\n tc[3] = tc0_table[index_a][bS[3]]+1;\n\n h->h264dsp.h264_v_loop_filter_chroma(pix, stride, alpha, beta, tc);\n\n } else {\n\n h->h264dsp.h264_v_loop_filter_chroma_intra(pix, stride, alpha, beta);\n\n }\n\n}\n", "idx": 3330}320{"project": "qemu", "commit_id": "0ae18ceeaaa2c1749e742c4b112f6c3bf0896408", "target": 0, "func": "static void sun4d_hw_init(const struct sun4d_hwdef *hwdef, ram_addr_t RAM_size,\n\n const char *boot_device,\n\n DisplayState *ds, const char *kernel_filename,\n\n const char *kernel_cmdline,\n\n const char *initrd_filename, const char *cpu_model)\n\n{\n\n CPUState *env, *envs[MAX_CPUS];\n\n unsigned int i;\n\n void *iounits[MAX_IOUNITS], *espdma, *ledma, *main_esp, *nvram, *sbi;\n\n qemu_irq *cpu_irqs[MAX_CPUS], *sbi_irq, *sbi_cpu_irq,\n\n *espdma_irq, *ledma_irq;\n\n qemu_irq *esp_reset, *le_reset;\n\n ram_addr_t ram_offset, prom_offset, tcx_offset;\n\n unsigned long kernel_size;\n\n int ret;\n\n char buf[1024];\n\n int drive_index;\n\n void *fw_cfg;\n\n\n\n /* init CPUs */\n\n if (!cpu_model)\n\n cpu_model = hwdef->default_cpu_model;\n\n\n\n for (i = 0; i < smp_cpus; i++) {\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"qemu: Unable to find Sparc CPU definition\\n\");\n\n exit(1);\n\n }\n\n cpu_sparc_set_id(env, i);\n\n envs[i] = env;\n\n if (i == 0) {\n\n qemu_register_reset(main_cpu_reset, env);\n\n } else {\n\n qemu_register_reset(secondary_cpu_reset, env);\n\n env->halted = 1;\n\n }\n\n cpu_irqs[i] = qemu_allocate_irqs(cpu_set_irq, envs[i], MAX_PILS);\n\n env->prom_addr = hwdef->slavio_base;\n\n }\n\n\n\n for (i = smp_cpus; i < MAX_CPUS; i++)\n\n cpu_irqs[i] = qemu_allocate_irqs(dummy_cpu_set_irq, NULL, MAX_PILS);\n\n\n\n /* allocate RAM */\n\n if ((uint64_t)RAM_size > hwdef->max_mem) {\n\n fprintf(stderr,\n\n \"qemu: Too much memory for this machine: %d, maximum %d\\n\",\n\n (unsigned int)(RAM_size / (1024 * 1024)),\n\n (unsigned int)(hwdef->max_mem / (1024 * 1024)));\n\n exit(1);\n\n }\n\n ram_offset = qemu_ram_alloc(RAM_size);\n\n cpu_register_physical_memory(0, RAM_size, ram_offset);\n\n\n\n /* load boot prom */\n\n prom_offset = qemu_ram_alloc(PROM_SIZE_MAX);\n\n cpu_register_physical_memory(hwdef->slavio_base,\n\n (PROM_SIZE_MAX + TARGET_PAGE_SIZE - 1) &\n\n TARGET_PAGE_MASK,\n\n prom_offset | IO_MEM_ROM);\n\n\n\n if (bios_name == NULL)\n\n bios_name = PROM_FILENAME;\n\n snprintf(buf, sizeof(buf), \"%s/%s\", bios_dir, bios_name);\n\n ret = load_elf(buf, hwdef->slavio_base - PROM_VADDR, NULL, NULL, NULL);\n\n if (ret < 0 || ret > PROM_SIZE_MAX)\n\n ret = load_image_targphys(buf, hwdef->slavio_base, PROM_SIZE_MAX);\n\n if (ret < 0 || ret > PROM_SIZE_MAX) {\n\n fprintf(stderr, \"qemu: could not load prom '%s'\\n\",\n\n buf);\n\n exit(1);\n\n }\n\n\n\n /* set up devices */\n\n sbi = sbi_init(hwdef->sbi_base, &sbi_irq, &sbi_cpu_irq, cpu_irqs);\n\n\n\n for (i = 0; i < MAX_IOUNITS; i++)\n\n if (hwdef->iounit_bases[i] != (target_phys_addr_t)-1)\n\n iounits[i] = iommu_init(hwdef->iounit_bases[i],\n\n hwdef->iounit_version,\n\n sbi_irq[hwdef->me_irq]);\n\n\n\n espdma = sparc32_dma_init(hwdef->espdma_base, sbi_irq[hwdef->esp_irq],\n\n iounits[0], &espdma_irq, &esp_reset);\n\n\n\n ledma = sparc32_dma_init(hwdef->ledma_base, sbi_irq[hwdef->le_irq],\n\n iounits[0], &ledma_irq, &le_reset);\n\n\n\n if (graphic_depth != 8 && graphic_depth != 24) {\n\n fprintf(stderr, \"qemu: Unsupported depth: %d\\n\", graphic_depth);\n\n exit (1);\n\n }\n\n tcx_offset = qemu_ram_alloc(hwdef->vram_size);\n\n tcx_init(ds, hwdef->tcx_base, phys_ram_base + tcx_offset, tcx_offset,\n\n hwdef->vram_size, graphic_width, graphic_height, graphic_depth);\n\n\n\n if (nd_table[0].model == NULL)\n\n nd_table[0].model = \"lance\";\n\n if (strcmp(nd_table[0].model, \"lance\") == 0) {\n\n lance_init(&nd_table[0], hwdef->le_base, ledma, *ledma_irq, le_reset);\n\n } else if (strcmp(nd_table[0].model, \"?\") == 0) {\n\n fprintf(stderr, \"qemu: Supported NICs: lance\\n\");\n\n exit (1);\n\n } else {\n\n fprintf(stderr, \"qemu: Unsupported NIC: %s\\n\", nd_table[0].model);\n\n exit (1);\n\n }\n\n\n\n nvram = m48t59_init(sbi_irq[0], hwdef->nvram_base, 0,\n\n hwdef->nvram_size, 8);\n\n\n\n slavio_timer_init_all(hwdef->counter_base, sbi_irq[hwdef->clock1_irq],\n\n sbi_cpu_irq, smp_cpus);\n\n\n\n slavio_serial_ms_kbd_init(hwdef->ms_kb_base, sbi_irq[hwdef->ms_kb_irq],\n\n nographic, ESCC_CLOCK, 1);\n\n // Slavio TTYA (base+4, Linux ttyS0) is the first Qemu serial device\n\n // Slavio TTYB (base+0, Linux ttyS1) is the second Qemu serial device\n\n escc_init(hwdef->serial_base, sbi_irq[hwdef->ser_irq], serial_hds[1],\n\n serial_hds[0], ESCC_CLOCK, 1);\n\n\n\n if (drive_get_max_bus(IF_SCSI) > 0) {\n\n fprintf(stderr, \"qemu: too many SCSI bus\\n\");\n\n exit(1);\n\n }\n\n\n\n main_esp = esp_init(hwdef->esp_base, 2,\n\n espdma_memory_read, espdma_memory_write,\n\n espdma, *espdma_irq, esp_reset);\n\n\n\n for (i = 0; i < ESP_MAX_DEVS; i++) {\n\n drive_index = drive_get_index(IF_SCSI, 0, i);\n\n if (drive_index == -1)\n\n continue;\n\n esp_scsi_attach(main_esp, drives_table[drive_index].bdrv, i);\n\n }\n\n\n\n kernel_size = sun4m_load_kernel(kernel_filename, initrd_filename,\n\n RAM_size);\n\n\n\n nvram_init(nvram, (uint8_t *)&nd_table[0].macaddr, kernel_cmdline,\n\n boot_device, RAM_size, kernel_size, graphic_width,\n\n graphic_height, graphic_depth, hwdef->nvram_machine_id,\n\n \"Sun4d\");\n\n\n\n fw_cfg = fw_cfg_init(0, 0, CFG_ADDR, CFG_ADDR + 2);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1);\n\n fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, hwdef->machine_id);\n\n}\n", "idx": 3333}321{"project": "qemu", "commit_id": "88571882516a7cb4291a329c537eb79fd126e1f2", "target": 0, "func": "static int qemu_rdma_block_for_wrid(RDMAContext *rdma, int wrid_requested)\n\n{\n\n int num_cq_events = 0, ret = 0;\n\n struct ibv_cq *cq;\n\n void *cq_ctx;\n\n uint64_t wr_id = RDMA_WRID_NONE, wr_id_in;\n\n\n\n if (ibv_req_notify_cq(rdma->cq, 0)) {\n\n return -1;\n\n }\n\n /* poll cq first */\n\n while (wr_id != wrid_requested) {\n\n ret = qemu_rdma_poll(rdma, &wr_id_in);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n wr_id = wr_id_in & RDMA_WRID_TYPE_MASK;\n\n\n\n if (wr_id == RDMA_WRID_NONE) {\n\n break;\n\n }\n\n if (wr_id != wrid_requested) {\n\n DDDPRINTF(\"A Wanted wrid %s (%d) but got %s (%\" PRIu64 \")\\n\",\n\n print_wrid(wrid_requested),\n\n wrid_requested, print_wrid(wr_id), wr_id);\n\n }\n\n }\n\n\n\n if (wr_id == wrid_requested) {\n\n return 0;\n\n }\n\n\n\n while (1) {\n\n /*\n\n * Coroutine doesn't start until process_incoming_migration()\n\n * so don't yield unless we know we're running inside of a coroutine.\n\n */\n\n if (rdma->migration_started_on_destination) {\n\n yield_until_fd_readable(rdma->comp_channel->fd);\n\n }\n\n\n\n if (ibv_get_cq_event(rdma->comp_channel, &cq, &cq_ctx)) {\n\n perror(\"ibv_get_cq_event\");\n\n goto err_block_for_wrid;\n\n }\n\n\n\n num_cq_events++;\n\n\n\n if (ibv_req_notify_cq(cq, 0)) {\n\n goto err_block_for_wrid;\n\n }\n\n\n\n while (wr_id != wrid_requested) {\n\n ret = qemu_rdma_poll(rdma, &wr_id_in);\n\n if (ret < 0) {\n\n goto err_block_for_wrid;\n\n }\n\n\n\n wr_id = wr_id_in & RDMA_WRID_TYPE_MASK;\n\n\n\n if (wr_id == RDMA_WRID_NONE) {\n\n break;\n\n }\n\n if (wr_id != wrid_requested) {\n\n DDDPRINTF(\"B Wanted wrid %s (%d) but got %s (%\" PRIu64 \")\\n\",\n\n print_wrid(wrid_requested), wrid_requested,\n\n print_wrid(wr_id), wr_id);\n\n }\n\n }\n\n\n\n if (wr_id == wrid_requested) {\n\n goto success_block_for_wrid;\n\n }\n\n }\n\n\n\nsuccess_block_for_wrid:\n\n if (num_cq_events) {\n\n ibv_ack_cq_events(cq, num_cq_events);\n\n }\n\n return 0;\n\n\n\nerr_block_for_wrid:\n\n if (num_cq_events) {\n\n ibv_ack_cq_events(cq, num_cq_events);\n\n }\n\n return ret;\n\n}\n", "idx": 3348}322{"project": "FFmpeg", "commit_id": "90540c2d5ace46a1e9789c75fde0b1f7dbb12a9b", "target": 1, "func": "static inline void RENAME(rgb15to32)(const uint8_t *src, uint8_t *dst, int src_size)\n\n{\n\n const uint16_t *end;\n\n const uint16_t *mm_end;\n\n uint8_t *d = dst;\n\n const uint16_t *s = (const uint16_t *)src;\n\n end = s + src_size/2;\n\n __asm__ volatile(PREFETCH\" %0\"::\"m\"(*s):\"memory\");\n\n __asm__ volatile(\"pxor %%mm7,%%mm7 \\n\\t\":::\"memory\");\n\n __asm__ volatile(\"pcmpeqd %%mm6,%%mm6 \\n\\t\":::\"memory\");\n\n mm_end = end - 3;\n\n while (s < mm_end) {\n\n __asm__ volatile(\n\n PREFETCH\" 32%1 \\n\\t\"\n\n \"movq %1, %%mm0 \\n\\t\"\n\n \"movq %1, %%mm1 \\n\\t\"\n\n \"movq %1, %%mm2 \\n\\t\"\n\n \"pand %2, %%mm0 \\n\\t\"\n\n \"pand %3, %%mm1 \\n\\t\"\n\n \"pand %4, %%mm2 \\n\\t\"\n\n \"psllq $3, %%mm0 \\n\\t\"\n\n \"psrlq $2, %%mm1 \\n\\t\"\n\n \"psrlq $7, %%mm2 \\n\\t\"\n\n PACK_RGB32\n\n :\"=m\"(*d)\n\n :\"m\"(*s),\"m\"(mask15b),\"m\"(mask15g),\"m\"(mask15r)\n\n :\"memory\");\n\n d += 16;\n\n s += 4;\n\n }\n\n __asm__ volatile(SFENCE:::\"memory\");\n\n __asm__ volatile(EMMS:::\"memory\");\n\n while (s < end) {\n\n register uint16_t bgr;\n\n bgr = *s++;\n\n *d++ = (bgr&0x1F)<<3;\n\n *d++ = (bgr&0x3E0)>>2;\n\n *d++ = (bgr&0x7C00)>>7;\n\n *d++ = 255;\n\n }\n\n}\n", "idx": 3375}323{"project": "qemu", "commit_id": "a80bf99fa3dd829ecea88b9bfb4f7cf146208f07", "target": 1, "func": "static int mux_chr_can_read(void *opaque)\n\n{\n\n CharDriverState *chr = opaque;\n\n MuxDriver *d = chr->opaque;\n\n\n\n if ((d->prod - d->cons) < MUX_BUFFER_SIZE)\n\n return 1;\n\n if (d->chr_can_read[chr->focus])\n\n return d->chr_can_read[chr->focus](d->ext_opaque[chr->focus]);\n\n return 0;\n\n}\n", "idx": 3392}324{"project": "qemu", "commit_id": "8991c460be5a0811194fd4d2b49ba7146a23526b", "target": 1, "func": "static inline bool vtd_queued_inv_enable_check(IntelIOMMUState *s)\n\n{\n\n return s->iq_tail == 0;\n\n}\n", "idx": 3394}325{"project": "FFmpeg", "commit_id": "2254b559cbcfc0418135f09add37c0a5866b1981", "target": 1, "func": "static av_always_inline void hcscale(SwsContext *c, int16_t *dst1, int16_t *dst2, int dstWidth,\n\n const uint8_t *src_in[4],\n\n int srcW, int xInc, const int16_t *hChrFilter,\n\n const int16_t *hChrFilterPos, int hChrFilterSize,\n\n uint8_t *formatConvBuffer, uint32_t *pal)\n\n{\n\n const uint8_t *src1 = src_in[1], *src2 = src_in[2];\n\n if (c->chrToYV12) {\n\n uint8_t *buf2 = formatConvBuffer + FFALIGN(srcW * FFALIGN(c->srcBpc, 8) >> 3, 16);\n\n c->chrToYV12(formatConvBuffer, buf2, src1, src2, srcW, pal);\n\n src1= formatConvBuffer;\n\n src2= buf2;\n\n } else if (c->readChrPlanar) {\n\n uint8_t *buf2 = formatConvBuffer + FFALIGN(srcW * FFALIGN(c->srcBpc, 8) >> 3, 16);\n\n c->readChrPlanar(formatConvBuffer, buf2, src_in, srcW);\n\n src1= formatConvBuffer;\n\n src2= buf2;\n\n }\n\n\n\n if (!c->hcscale_fast) {\n\n c->hcScale(c, dst1, dstWidth, src1, hChrFilter, hChrFilterPos, hChrFilterSize);\n\n c->hcScale(c, dst2, dstWidth, src2, hChrFilter, hChrFilterPos, hChrFilterSize);\n\n } else { // fast bilinear upscale / crap downscale\n\n c->hcscale_fast(c, dst1, dst2, dstWidth, src1, src2, srcW, xInc);\n\n }\n\n\n\n if (c->chrConvertRange)\n\n c->chrConvertRange(dst1, dst2, dstWidth);\n\n}\n", "idx": 3397}326{"project": "qemu", "commit_id": "d470ad42acfc73c45d3e8ed5311a491160b4c100", "target": 1, "func": "static int coroutine_fn bdrv_co_do_copy_on_readv(BdrvChild *child,\n int64_t offset, unsigned int bytes, QEMUIOVector *qiov)\n{\n BlockDriverState *bs = child->bs;\n /* Perform I/O through a temporary buffer so that users who scribble over\n * their read buffer while the operation is in progress do not end up\n * modifying the image file. This is critical for zero-copy guest I/O\n * where anything might happen inside guest memory.\n */\n void *bounce_buffer;\n BlockDriver *drv = bs->drv;\n struct iovec iov;\n QEMUIOVector local_qiov;\n int64_t cluster_offset;\n int64_t cluster_bytes;\n size_t skip_bytes;\n int ret;\n int max_transfer = MIN_NON_ZERO(bs->bl.max_transfer,\n BDRV_REQUEST_MAX_BYTES);\n unsigned int progress = 0;\n /* FIXME We cannot require callers to have write permissions when all they\n * are doing is a read request. If we did things right, write permissions\n * would be obtained anyway, but internally by the copy-on-read code. As\n * long as it is implemented here rather than in a separate filter driver,\n * the copy-on-read code doesn't have its own BdrvChild, however, for which\n * it could request permissions. Therefore we have to bypass the permission\n * system for the moment. */\n // assert(child->perm & (BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE));\n /* Cover entire cluster so no additional backing file I/O is required when\n * allocating cluster in the image file. Note that this value may exceed\n * BDRV_REQUEST_MAX_BYTES (even when the original read did not), which\n * is one reason we loop rather than doing it all at once.\n */\n bdrv_round_to_clusters(bs, offset, bytes, &cluster_offset, &cluster_bytes);\n skip_bytes = offset - cluster_offset;\n trace_bdrv_co_do_copy_on_readv(bs, offset, bytes,\n cluster_offset, cluster_bytes);\n bounce_buffer = qemu_try_blockalign(bs,\n MIN(MIN(max_transfer, cluster_bytes),\n MAX_BOUNCE_BUFFER));\n if (bounce_buffer == NULL) {\n ret = -ENOMEM;\n goto err;\n while (cluster_bytes) {\n int64_t pnum;\n ret = bdrv_is_allocated(bs, cluster_offset,\n MIN(cluster_bytes, max_transfer), &pnum);\n if (ret < 0) {\n /* Safe to treat errors in querying allocation as if\n * unallocated; we'll probably fail again soon on the\n * read, but at least that will set a decent errno.\n */\n pnum = MIN(cluster_bytes, max_transfer);\n assert(skip_bytes < pnum);\n if (ret <= 0) {\n /* Must copy-on-read; use the bounce buffer */\n iov.iov_base = bounce_buffer;\n iov.iov_len = pnum = MIN(pnum, MAX_BOUNCE_BUFFER);\n qemu_iovec_init_external(&local_qiov, &iov, 1);\n ret = bdrv_driver_preadv(bs, cluster_offset, pnum,\n &local_qiov, 0);\n if (ret < 0) {\n goto err;\n bdrv_debug_event(bs, BLKDBG_COR_WRITE);\n if (drv->bdrv_co_pwrite_zeroes &&\n buffer_is_zero(bounce_buffer, pnum)) {\n /* FIXME: Should we (perhaps conditionally) be setting\n * BDRV_REQ_MAY_UNMAP, if it will allow for a sparser copy\n * that still correctly reads as zero? */\n ret = bdrv_co_do_pwrite_zeroes(bs, cluster_offset, pnum, 0);\n } else {\n /* This does not change the data on the disk, it is not\n * necessary to flush even in cache=writethrough mode.\n */\n ret = bdrv_driver_pwritev(bs, cluster_offset, pnum,\n &local_qiov, 0);\n if (ret < 0) {\n /* It might be okay to ignore write errors for guest\n * requests. If this is a deliberate copy-on-read\n * then we don't want to ignore the error. Simply\n * report it in all cases.\n */\n goto err;\n qemu_iovec_from_buf(qiov, progress, bounce_buffer + skip_bytes,\n pnum - skip_bytes);\n } else {\n /* Read directly into the destination */\n qemu_iovec_init(&local_qiov, qiov->niov);\n qemu_iovec_concat(&local_qiov, qiov, progress, pnum - skip_bytes);\n ret = bdrv_driver_preadv(bs, offset + progress, local_qiov.size,\n &local_qiov, 0);\n qemu_iovec_destroy(&local_qiov);\n if (ret < 0) {\n goto err;\n cluster_offset += pnum;\n cluster_bytes -= pnum;\n progress += pnum - skip_bytes;\n skip_bytes = 0;\n ret = 0;\nerr:\n qemu_vfree(bounce_buffer);\n return ret;", "idx": 3398}327{"project": "qemu", "commit_id": "2cbe2de5454cf9af44b620b2b40d56361a12a45f", "target": 1, "func": "static void virtio_scsi_device_unrealize(DeviceState *dev, Error **errp)\n{\n virtio_scsi_common_unrealize(dev, errp);\n}", "idx": 3399}328{"project": "qemu", "commit_id": "bea60dd7679364493a0d7f5b54316c767cf894ef", "target": 1, "func": "static int protocol_client_init(VncState *vs, uint8_t *data, size_t len)\n\n{\n\n char buf[1024];\n\n VncShareMode mode;\n\n int size;\n\n\n\n mode = data[0] ? VNC_SHARE_MODE_SHARED : VNC_SHARE_MODE_EXCLUSIVE;\n\n switch (vs->vd->share_policy) {\n\n case VNC_SHARE_POLICY_IGNORE:\n\n /*\n\n * Ignore the shared flag. Nothing to do here.\n\n *\n\n * Doesn't conform to the rfb spec but is traditional qemu\n\n * behavior, thus left here as option for compatibility\n\n * reasons.\n\n */\n\n break;\n\n case VNC_SHARE_POLICY_ALLOW_EXCLUSIVE:\n\n /*\n\n * Policy: Allow clients ask for exclusive access.\n\n *\n\n * Implementation: When a client asks for exclusive access,\n\n * disconnect all others. Shared connects are allowed as long\n\n * as no exclusive connection exists.\n\n *\n\n * This is how the rfb spec suggests to handle the shared flag.\n\n */\n\n if (mode == VNC_SHARE_MODE_EXCLUSIVE) {\n\n VncState *client;\n\n QTAILQ_FOREACH(client, &vs->vd->clients, next) {\n\n if (vs == client) {\n\n continue;\n\n }\n\n if (client->share_mode != VNC_SHARE_MODE_EXCLUSIVE &&\n\n client->share_mode != VNC_SHARE_MODE_SHARED) {\n\n continue;\n\n }\n\n vnc_disconnect_start(client);\n\n }\n\n }\n\n if (mode == VNC_SHARE_MODE_SHARED) {\n\n if (vs->vd->num_exclusive > 0) {\n\n vnc_disconnect_start(vs);\n\n return 0;\n\n }\n\n }\n\n break;\n\n case VNC_SHARE_POLICY_FORCE_SHARED:\n\n /*\n\n * Policy: Shared connects only.\n\n * Implementation: Disallow clients asking for exclusive access.\n\n *\n\n * Useful for shared desktop sessions where you don't want\n\n * someone forgetting to say -shared when running the vnc\n\n * client disconnect everybody else.\n\n */\n\n if (mode == VNC_SHARE_MODE_EXCLUSIVE) {\n\n vnc_disconnect_start(vs);\n\n return 0;\n\n }\n\n break;\n\n }\n\n vnc_set_share_mode(vs, mode);\n\n\n\n vs->client_width = surface_width(vs->vd->ds);\n\n vs->client_height = surface_height(vs->vd->ds);\n\n vnc_write_u16(vs, vs->client_width);\n\n vnc_write_u16(vs, vs->client_height);\n\n\n\n pixel_format_message(vs);\n\n\n\n if (qemu_name)\n\n size = snprintf(buf, sizeof(buf), \"QEMU (%s)\", qemu_name);\n\n else\n\n size = snprintf(buf, sizeof(buf), \"QEMU\");\n\n\n\n vnc_write_u32(vs, size);\n\n vnc_write(vs, buf, size);\n\n vnc_flush(vs);\n\n\n\n vnc_client_cache_auth(vs);\n\n vnc_qmp_event(vs, QAPI_EVENT_VNC_INITIALIZED);\n\n\n\n vnc_read_when(vs, protocol_client_msg, 1);\n\n\n\n return 0;\n\n}\n", "idx": 3401}329{"project": "FFmpeg", "commit_id": "1181d93231e9b807965724587d363c1cfd5a1d0d", "target": 0, "func": "static void avc_luma_hv_qrt_and_aver_dst_4x4_msa(const uint8_t *src_x,\n\n const uint8_t *src_y,\n\n int32_t src_stride,\n\n uint8_t *dst,\n\n int32_t dst_stride)\n\n{\n\n v16i8 src_hz0, src_hz1, src_hz2, src_hz3;\n\n v16u8 dst0, dst1, dst2, dst3;\n\n v16i8 src_vt0, src_vt1, src_vt2, src_vt3, src_vt4;\n\n v16i8 src_vt5, src_vt6, src_vt7, src_vt8;\n\n v16i8 mask0, mask1, mask2;\n\n v8i16 hz_out0, hz_out1, vert_out0, vert_out1;\n\n v8i16 res0, res1;\n\n v16u8 res;\n\n\n\n LD_SB3(&luma_mask_arr[48], 16, mask0, mask1, mask2);\n\n LD_SB5(src_y, src_stride, src_vt0, src_vt1, src_vt2, src_vt3, src_vt4);\n\n src_y += (5 * src_stride);\n\n\n\n src_vt0 = (v16i8) __msa_insve_w((v4i32) src_vt0, 1, (v4i32) src_vt1);\n\n src_vt1 = (v16i8) __msa_insve_w((v4i32) src_vt1, 1, (v4i32) src_vt2);\n\n src_vt2 = (v16i8) __msa_insve_w((v4i32) src_vt2, 1, (v4i32) src_vt3);\n\n src_vt3 = (v16i8) __msa_insve_w((v4i32) src_vt3, 1, (v4i32) src_vt4);\n\n\n\n XORI_B4_128_SB(src_vt0, src_vt1, src_vt2, src_vt3);\n\n LD_SB4(src_x, src_stride, src_hz0, src_hz1, src_hz2, src_hz3);\n\n LD_UB4(dst, dst_stride, dst0, dst1, dst2, dst3);\n\n XORI_B4_128_SB(src_hz0, src_hz1, src_hz2, src_hz3);\n\n hz_out0 = AVC_XOR_VSHF_B_AND_APPLY_6TAP_HORIZ_FILT_SH(src_hz0, src_hz1,\n\n mask0, mask1, mask2);\n\n hz_out1 = AVC_XOR_VSHF_B_AND_APPLY_6TAP_HORIZ_FILT_SH(src_hz2, src_hz3,\n\n mask0, mask1, mask2);\n\n SRARI_H2_SH(hz_out0, hz_out1, 5);\n\n SAT_SH2_SH(hz_out0, hz_out1, 7);\n\n LD_SB4(src_y, src_stride, src_vt5, src_vt6, src_vt7, src_vt8);\n\n\n\n src_vt4 = (v16i8) __msa_insve_w((v4i32) src_vt4, 1, (v4i32) src_vt5);\n\n src_vt5 = (v16i8) __msa_insve_w((v4i32) src_vt5, 1, (v4i32) src_vt6);\n\n src_vt6 = (v16i8) __msa_insve_w((v4i32) src_vt6, 1, (v4i32) src_vt7);\n\n src_vt7 = (v16i8) __msa_insve_w((v4i32) src_vt7, 1, (v4i32) src_vt8);\n\n\n\n XORI_B4_128_SB(src_vt4, src_vt5, src_vt6, src_vt7);\n\n\n\n /* filter calc */\n\n vert_out0 = AVC_CALC_DPADD_B_6PIX_2COEFF_R_SH(src_vt0, src_vt1, src_vt2,\n\n src_vt3, src_vt4, src_vt5);\n\n vert_out1 = AVC_CALC_DPADD_B_6PIX_2COEFF_R_SH(src_vt2, src_vt3, src_vt4,\n\n src_vt5, src_vt6, src_vt7);\n\n SRARI_H2_SH(vert_out0, vert_out1, 5);\n\n SAT_SH2_SH(vert_out0, vert_out1, 7);\n\n\n\n res1 = __msa_srari_h((hz_out1 + vert_out1), 1);\n\n res0 = __msa_srari_h((hz_out0 + vert_out0), 1);\n\n\n\n SAT_SH2_SH(res0, res1, 7);\n\n res = PCKEV_XORI128_UB(res0, res1);\n\n\n\n dst0 = (v16u8) __msa_insve_w((v4i32) dst0, 1, (v4i32) dst1);\n\n dst1 = (v16u8) __msa_insve_w((v4i32) dst2, 1, (v4i32) dst3);\n\n dst0 = (v16u8) __msa_insve_d((v2i64) dst0, 1, (v2i64) dst1);\n\n dst0 = __msa_aver_u_b(res, dst0);\n\n\n\n ST4x4_UB(dst0, dst0, 0, 1, 2, 3, dst, dst_stride);\n\n}\n", "idx": 3416}330{"project": "qemu", "commit_id": "a27365265cc2fed1178bf25a205e8ee02a9c0caf", "target": 0, "func": "static BlockDriverAIOCB *raw_aio_readv(BlockDriverState *bs,\n\n int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,\n\n BlockDriverCompletionFunc *cb, void *opaque)\n\n{\n\n BDRVRawState *s = bs->opaque;\n\n return paio_submit(bs, s->hfile, sector_num, qiov, nb_sectors,\n\n cb, opaque, QEMU_AIO_READ);\n\n}\n", "idx": 3440}331{"project": "qemu", "commit_id": "973945804d95878375b487c0c5c9b2556c5e4543", "target": 0, "func": "static void tcx_blit_writel(void *opaque, hwaddr addr,\n\n uint64_t val, unsigned size)\n\n{\n\n TCXState *s = opaque;\n\n uint32_t adsr, len;\n\n int i;\n\n\n\n if (!(addr & 4)) {\n\n s->tmpblit = val;\n\n } else {\n\n addr = (addr >> 3) & 0xfffff;\n\n adsr = val & 0xffffff;\n\n len = ((val >> 24) & 0x1f) + 1;\n\n if (adsr == 0xffffff) {\n\n memset(&s->vram[addr], s->tmpblit, len);\n\n if (s->depth == 24) {\n\n val = s->tmpblit & 0xffffff;\n\n val = cpu_to_be32(val);\n\n for (i = 0; i < len; i++) {\n\n s->vram24[addr + i] = val;\n\n }\n\n }\n\n } else {\n\n memcpy(&s->vram[addr], &s->vram[adsr], len);\n\n if (s->depth == 24) {\n\n memcpy(&s->vram24[addr], &s->vram24[adsr], len * 4);\n\n }\n\n }\n\n memory_region_set_dirty(&s->vram_mem, addr, len);\n\n }\n\n}\n", "idx": 3449}332{"project": "FFmpeg", "commit_id": "bcd7bf7eeb09a395cc01698842d1b8be9af483fc", "target": 0, "func": "static void avc_loopfilter_cb_or_cr_intra_edge_ver_msa(uint8_t *data_cb_or_cr,\n\n uint8_t alpha_in,\n\n uint8_t beta_in,\n\n uint32_t img_width)\n\n{\n\n uint16_t out0, out1, out2, out3;\n\n v8i16 tmp1;\n\n v16u8 alpha, beta, is_less_than;\n\n v8i16 p0_or_q0, q0_or_p0;\n\n v16u8 p1_or_q1_org, p0_or_q0_org, q0_or_p0_org, q1_or_p1_org;\n\n v16i8 zero = { 0 };\n\n v16u8 p0_asub_q0, p1_asub_p0, q1_asub_q0;\n\n v16u8 is_less_than_alpha, is_less_than_beta;\n\n v8i16 p1_org_r, p0_org_r, q0_org_r, q1_org_r;\n\n\n\n {\n\n v16u8 row0, row1, row2, row3, row4, row5, row6, row7;\n\n\n\n LOAD_8VECS_UB((data_cb_or_cr - 2), img_width,\n\n row0, row1, row2, row3, row4, row5, row6, row7);\n\n\n\n TRANSPOSE8x4_B_UB(row0, row1, row2, row3, row4, row5, row6, row7,\n\n p1_or_q1_org, p0_or_q0_org,\n\n q0_or_p0_org, q1_or_p1_org);\n\n }\n\n\n\n alpha = (v16u8) __msa_fill_b(alpha_in);\n\n beta = (v16u8) __msa_fill_b(beta_in);\n\n\n\n p0_asub_q0 = __msa_asub_u_b(p0_or_q0_org, q0_or_p0_org);\n\n p1_asub_p0 = __msa_asub_u_b(p1_or_q1_org, p0_or_q0_org);\n\n q1_asub_q0 = __msa_asub_u_b(q1_or_p1_org, q0_or_p0_org);\n\n\n\n is_less_than_alpha = (p0_asub_q0 < alpha);\n\n is_less_than_beta = (p1_asub_p0 < beta);\n\n is_less_than = is_less_than_beta & is_less_than_alpha;\n\n is_less_than_beta = (q1_asub_q0 < beta);\n\n is_less_than = is_less_than_beta & is_less_than;\n\n\n\n is_less_than = (v16u8) __msa_ilvr_d((v2i64) zero, (v2i64) is_less_than);\n\n\n\n if (!__msa_test_bz_v(is_less_than)) {\n\n p1_org_r = (v8i16) __msa_ilvr_b(zero, (v16i8) p1_or_q1_org);\n\n p0_org_r = (v8i16) __msa_ilvr_b(zero, (v16i8) p0_or_q0_org);\n\n q0_org_r = (v8i16) __msa_ilvr_b(zero, (v16i8) q0_or_p0_org);\n\n q1_org_r = (v8i16) __msa_ilvr_b(zero, (v16i8) q1_or_p1_org);\n\n\n\n AVC_LOOP_FILTER_P0_OR_Q0(p0_org_r, q1_org_r, p1_org_r, p0_or_q0);\n\n AVC_LOOP_FILTER_P0_OR_Q0(q0_org_r, p1_org_r, q1_org_r, q0_or_p0);\n\n\n\n /* convert 16 bit output into 8 bit output */\n\n p0_or_q0 = (v8i16) __msa_pckev_b(zero, (v16i8) p0_or_q0);\n\n q0_or_p0 = (v8i16) __msa_pckev_b(zero, (v16i8) q0_or_p0);\n\n\n\n p0_or_q0_org =\n\n __msa_bmnz_v(p0_or_q0_org, (v16u8) p0_or_q0, is_less_than);\n\n q0_or_p0_org =\n\n __msa_bmnz_v(q0_or_p0_org, (v16u8) q0_or_p0, is_less_than);\n\n\n\n tmp1 = (v8i16) __msa_ilvr_b((v16i8) q0_or_p0_org, (v16i8) p0_or_q0_org);\n\n\n\n data_cb_or_cr -= 1;\n\n\n\n out0 = __msa_copy_u_h(tmp1, 0);\n\n out1 = __msa_copy_u_h(tmp1, 1);\n\n out2 = __msa_copy_u_h(tmp1, 2);\n\n out3 = __msa_copy_u_h(tmp1, 3);\n\n\n\n STORE_HWORD(data_cb_or_cr, out0);\n\n data_cb_or_cr += img_width;\n\n STORE_HWORD(data_cb_or_cr, out1);\n\n data_cb_or_cr += img_width;\n\n STORE_HWORD(data_cb_or_cr, out2);\n\n data_cb_or_cr += img_width;\n\n STORE_HWORD(data_cb_or_cr, out3);\n\n data_cb_or_cr += img_width;\n\n\n\n out0 = __msa_copy_u_h(tmp1, 4);\n\n out1 = __msa_copy_u_h(tmp1, 5);\n\n out2 = __msa_copy_u_h(tmp1, 6);\n\n out3 = __msa_copy_u_h(tmp1, 7);\n\n\n\n STORE_HWORD(data_cb_or_cr, out0);\n\n data_cb_or_cr += img_width;\n\n STORE_HWORD(data_cb_or_cr, out1);\n\n data_cb_or_cr += img_width;\n\n STORE_HWORD(data_cb_or_cr, out2);\n\n data_cb_or_cr += img_width;\n\n STORE_HWORD(data_cb_or_cr, out3);\n\n }\n\n}\n", "idx": 3452}333{"project": "FFmpeg", "commit_id": "e15824e75b5549e53eb5c1ffb79766321ac8d122", "target": 1, "func": "int ff_h261_handle_packet(AVFormatContext *ctx, PayloadContext *data,\n\n AVStream *st, AVPacket *pkt, uint32_t *timestamp,\n\n const uint8_t *buf, int len, uint16_t seq, int flags)\n\n{\n\n int sbit, ebit, gobn, mbap, quant;\n\n int res;\n\n\n\n //av_log(ctx, AV_LOG_DEBUG, \"got h261 RTP packet with time: %u\\n\", timestamp);\n\n\n\n /* drop data of previous packets in case of non-continuous (loss) packet stream */\n\n if (data->buf && data->timestamp != *timestamp) {\n\n h261_free_dyn_buffer(&data->buf);\n\n }\n\n\n\n /* sanity check for size of input packet */\n\n if (len < 5 /* 4 bytes header and 1 byte payload at least */) {\n\n av_log(ctx, AV_LOG_ERROR, \"Too short H.261 RTP packet\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n /*\n\n decode the H.261 payload header according to section 4.1 of RFC 4587:\n\n (uses 4 bytes between RTP header and H.261 stream per packet)\n\n\n\n 0 1 2 3\n\n 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1\n\n +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n\n |SBIT |EBIT |I|V| GOBN | MBAP | QUANT | HMVD | VMVD |\n\n +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+\n\n\n\n Start bit position (SBIT): 3 bits\n\n End bit position (EBIT): 3 bits\n\n INTRA-frame encoded data (I): 1 bit\n\n Motion Vector flag (V): 1 bit\n\n GOB number (GOBN): 4 bits\n\n Macroblock address predictor (MBAP): 5 bits\n\n Quantizer (QUANT): 5 bits\n\n Horizontal motion vector data (HMVD): 5 bits\n\n Vertical motion vector data (VMVD): 5 bits\n\n\n\n */\n\n sbit = (buf[0] >> 5) & 0x07;\n\n ebit = (buf[0] >> 2) & 0x07;\n\n gobn = (buf[1] >> 4) & 0x0f;\n\n mbap = ((buf[1] << 1) & 0x1e) | ((buf[1] >> 7) & 0x01);\n\n quant = (buf[1] >> 4) & 0x0f;\n\n\n\n /* pass the H.261 payload header and continue with the actual payload */\n\n buf += RTP_H261_PAYLOAD_HEADER_SIZE;\n\n len -= RTP_H261_PAYLOAD_HEADER_SIZE;\n\n\n\n /* start frame buffering with new dynamic buffer */\n\n if (!data->buf) {\n\n /* sanity check: a new frame starts with gobn=0, sbit=0, mbap=0, uqnat=0 */\n\n if (!gobn && !sbit && !mbap && !quant){\n\n res = avio_open_dyn_buf(&data->buf);\n\n if (res < 0)\n\n return res;\n\n /* update the timestamp in the frame packet with the one from the RTP packet */\n\n data->timestamp = *timestamp;\n\n } else {\n\n /* frame not started yet, need more packets */\n\n return AVERROR(EAGAIN);\n\n }\n\n }\n\n\n\n /* do the \"byte merging\" at the boundaries of two consecutive frame fragments */\n\n if (data->endbyte_bits || sbit) {\n\n if (data->endbyte_bits == sbit) {\n\n data->endbyte |= buf[0] & (0xff >> sbit);\n\n data->endbyte_bits = 0;\n\n buf++;\n\n len--;\n\n avio_w8(data->buf, data->endbyte);\n\n } else {\n\n /* ebit/sbit values inconsistent, assuming packet loss */\n\n GetBitContext gb;\n\n init_get_bits(&gb, buf, len*8 - ebit);\n\n skip_bits(&gb, sbit);\n\n if (data->endbyte_bits) {\n\n data->endbyte |= get_bits(&gb, 8 - data->endbyte_bits);\n\n avio_w8(data->buf, data->endbyte);\n\n }\n\n while (get_bits_left(&gb) >= 8)\n\n avio_w8(data->buf, get_bits(&gb, 8));\n\n data->endbyte_bits = get_bits_left(&gb);\n\n if (data->endbyte_bits)\n\n data->endbyte = get_bits(&gb, data->endbyte_bits) <<\n\n (8 - data->endbyte_bits);\n\n ebit = 0;\n\n len = 0;\n\n }\n\n }\n\n if (ebit) {\n\n if (len > 0)\n\n avio_write(data->buf, buf, len - 1);\n\n data->endbyte_bits = 8 - ebit;\n\n data->endbyte = buf[len - 1] & (0xff << ebit);\n\n } else {\n\n avio_write(data->buf, buf, len);\n\n }\n\n\n\n /* RTP marker bit means: last fragment of current frame was received;\n\n otherwise, an additional fragment is needed for the current frame */\n\n if (!(flags & RTP_FLAG_MARKER))\n\n return AVERROR(EAGAIN);\n\n\n\n /* write the completed last byte from the \"byte merging\" */\n\n if (data->endbyte_bits)\n\n avio_w8(data->buf, data->endbyte);\n\n data->endbyte_bits = 0;\n\n\n\n /* close frame buffering and create resulting A/V packet */\n\n res = ff_rtp_finalize_packet(pkt, &data->buf, st->index);\n\n if (res < 0)\n\n return res;\n\n\n\n return 0;\n\n}\n", "idx": 3456}334{"project": "FFmpeg", "commit_id": "f6774f905fb3cfdc319523ac640be30b14c1bc55", "target": 1, "func": "static int vdpau_mpeg_start_frame(AVCodecContext *avctx,\n\n const uint8_t *buffer, uint32_t size)\n\n{\n\n MpegEncContext * const s = avctx->priv_data;\n\n Picture *pic = s->current_picture_ptr;\n\n struct vdpau_picture_context *pic_ctx = pic->hwaccel_picture_private;\n\n VdpPictureInfoMPEG1Or2 *info = &pic_ctx->info.mpeg;\n\n VdpVideoSurface ref;\n\n int i;\n\n\n\n /* fill VdpPictureInfoMPEG1Or2 struct */\n\n info->forward_reference = VDP_INVALID_HANDLE;\n\n info->backward_reference = VDP_INVALID_HANDLE;\n\n\n\n switch (s->pict_type) {\n\n case AV_PICTURE_TYPE_B:\n\n ref = ff_vdpau_get_surface_id(&s->next_picture.f);\n\n assert(ref != VDP_INVALID_HANDLE);\n\n info->backward_reference = ref;\n\n /* fall through to forward prediction */\n\n case AV_PICTURE_TYPE_P:\n\n ref = ff_vdpau_get_surface_id(&s->last_picture.f);\n\n info->forward_reference = ref;\n\n }\n\n\n\n info->slice_count = 0;\n\n info->picture_structure = s->picture_structure;\n\n info->picture_coding_type = s->pict_type;\n\n info->intra_dc_precision = s->intra_dc_precision;\n\n info->frame_pred_frame_dct = s->frame_pred_frame_dct;\n\n info->concealment_motion_vectors = s->concealment_motion_vectors;\n\n info->intra_vlc_format = s->intra_vlc_format;\n\n info->alternate_scan = s->alternate_scan;\n\n info->q_scale_type = s->q_scale_type;\n\n info->top_field_first = s->top_field_first;\n\n // Both for MPEG-1 only, zero for MPEG-2:\n\n info->full_pel_forward_vector = s->full_pel[0];\n\n info->full_pel_backward_vector = s->full_pel[1];\n\n // For MPEG-1 fill both horizontal & vertical:\n\n info->f_code[0][0] = s->mpeg_f_code[0][0];\n\n info->f_code[0][1] = s->mpeg_f_code[0][1];\n\n info->f_code[1][0] = s->mpeg_f_code[1][0];\n\n info->f_code[1][1] = s->mpeg_f_code[1][1];\n\n for (i = 0; i < 64; ++i) {\n\n info->intra_quantizer_matrix[i] = s->intra_matrix[i];\n\n info->non_intra_quantizer_matrix[i] = s->inter_matrix[i];\n\n }\n\n\n\n return ff_vdpau_common_start_frame(pic_ctx, buffer, size);\n\n}\n", "idx": 3460}335{"project": "FFmpeg", "commit_id": "073c2593c9f0aa4445a6fc1b9b24e6e52a8cc2c1", "target": 1, "func": "void h263_decode_init_vlc(MpegEncContext *s)\n\n{\n\n static int done = 0;\n\n\n\n if (!done) {\n\n done = 1;\n\n\n\n init_vlc(&intra_MCBPC_vlc, INTRA_MCBPC_VLC_BITS, 9, \n\n intra_MCBPC_bits, 1, 1,\n\n intra_MCBPC_code, 1, 1);\n\n init_vlc(&inter_MCBPC_vlc, INTER_MCBPC_VLC_BITS, 28, \n\n inter_MCBPC_bits, 1, 1,\n\n inter_MCBPC_code, 1, 1);\n\n init_vlc(&cbpy_vlc, CBPY_VLC_BITS, 16,\n\n &cbpy_tab[0][1], 2, 1,\n\n &cbpy_tab[0][0], 2, 1);\n\n init_vlc(&mv_vlc, MV_VLC_BITS, 33,\n\n &mvtab[0][1], 2, 1,\n\n &mvtab[0][0], 2, 1);\n\n init_rl(&rl_inter);\n\n init_rl(&rl_intra);\n\n init_rl(&rvlc_rl_inter);\n\n init_rl(&rvlc_rl_intra);\n\n init_rl(&rl_intra_aic);\n\n init_vlc_rl(&rl_inter);\n\n init_vlc_rl(&rl_intra);\n\n init_vlc_rl(&rvlc_rl_inter);\n\n init_vlc_rl(&rvlc_rl_intra);\n\n init_vlc_rl(&rl_intra_aic);\n\n init_vlc(&dc_lum, DC_VLC_BITS, 10 /* 13 */,\n\n &DCtab_lum[0][1], 2, 1,\n\n &DCtab_lum[0][0], 2, 1);\n\n init_vlc(&dc_chrom, DC_VLC_BITS, 10 /* 13 */,\n\n &DCtab_chrom[0][1], 2, 1,\n\n &DCtab_chrom[0][0], 2, 1);\n\n init_vlc(&sprite_trajectory, SPRITE_TRAJ_VLC_BITS, 15,\n\n &sprite_trajectory_tab[0][1], 4, 2,\n\n &sprite_trajectory_tab[0][0], 4, 2);\n\n init_vlc(&mb_type_b_vlc, MB_TYPE_B_VLC_BITS, 4,\n\n &mb_type_b_tab[0][1], 2, 1,\n\n &mb_type_b_tab[0][0], 2, 1);\n\n init_vlc(&h263_mbtype_b_vlc, H263_MBTYPE_B_VLC_BITS, 15,\n\n &h263_mbtype_b_tab[0][1], 2, 1,\n\n &h263_mbtype_b_tab[0][0], 2, 1);\n\n init_vlc(&cbpc_b_vlc, CBPC_B_VLC_BITS, 4,\n\n &cbpc_b_tab[0][1], 2, 1,\n\n &cbpc_b_tab[0][0], 2, 1);\n\n }\n\n}\n", "idx": 3476}336{"project": "qemu", "commit_id": "ee71c984342408a357a74f65915bf66484ba445a", "target": 1, "func": "static uint64_t icp_pit_read(void *opaque, target_phys_addr_t offset,\n\n unsigned size)\n\n{\n\n icp_pit_state *s = (icp_pit_state *)opaque;\n\n int n;\n\n\n\n /* ??? Don't know the PrimeCell ID for this device. */\n\n n = offset >> 8;\n\n if (n > 3) {\n\n hw_error(\"sp804_read: Bad timer %d\\n\", n);\n\n }\n\n\n\n return arm_timer_read(s->timer[n], offset & 0xff);\n\n}\n", "idx": 3484}337{"project": "FFmpeg", "commit_id": "d7e9533aa06f4073a27812349b35ba5fede11ca1", "target": 1, "func": "static int mpeg1_decode_sequence(AVCodecContext *avctx, \n\n UINT8 *buf, int buf_size)\n\n{\n\n Mpeg1Context *s1 = avctx->priv_data;\n\n MpegEncContext *s = &s1->mpeg_enc_ctx;\n\n int width, height, i, v, j;\n\n \n\n init_get_bits(&s->gb, buf, buf_size);\n\n\n\n width = get_bits(&s->gb, 12);\n\n height = get_bits(&s->gb, 12);\n\n skip_bits(&s->gb, 4);\n\n s->frame_rate_index = get_bits(&s->gb, 4);\n\n if (s->frame_rate_index == 0)\n\n return -1;\n\n s->bit_rate = get_bits(&s->gb, 18) * 400;\n\n if (get_bits1(&s->gb) == 0) /* marker */\n\n return -1;\n\n if (width <= 0 || height <= 0 ||\n\n (width % 2) != 0 || (height % 2) != 0)\n\n return -1;\n\n if (width != s->width ||\n\n height != s->height) {\n\n /* start new mpeg1 context decoding */\n\n s->out_format = FMT_MPEG1;\n\n if (s1->mpeg_enc_ctx_allocated) {\n\n MPV_common_end(s);\n\n }\n\n s->width = width;\n\n s->height = height;\n\n s->has_b_frames = 1;\n\n s->avctx = avctx;\n\n avctx->width = width;\n\n avctx->height = height;\n\n avctx->frame_rate = frame_rate_tab[s->frame_rate_index];\n\n s->frame_rate = avctx->frame_rate;\n\n avctx->bit_rate = s->bit_rate;\n\n \n\n if (MPV_common_init(s) < 0)\n\n return -1;\n\n mpeg1_init_vlc(s);\n\n s1->mpeg_enc_ctx_allocated = 1;\n\n }\n\n\n\n skip_bits(&s->gb, 10); /* vbv_buffer_size */\n\n skip_bits(&s->gb, 1);\n\n\n\n /* get matrix */\n\n if (get_bits1(&s->gb)) {\n\n for(i=0;i<64;i++) {\n\n v = get_bits(&s->gb, 8);\n\n j = zigzag_direct[i];\n\n s->intra_matrix[j] = v;\n\n s->chroma_intra_matrix[j] = v;\n\n }\n\n#ifdef DEBUG\n\n dprintf(\"intra matrix present\\n\");\n\n for(i=0;i<64;i++)\n\n dprintf(\" %d\", s->intra_matrix[zigzag_direct[i]]);\n\n printf(\"\\n\");\n\n#endif\n\n } else {\n\n for(i=0;i<64;i++) {\n\n v = default_intra_matrix[i];\n\n s->intra_matrix[i] = v;\n\n s->chroma_intra_matrix[i] = v;\n\n }\n\n }\n\n if (get_bits1(&s->gb)) {\n\n for(i=0;i<64;i++) {\n\n v = get_bits(&s->gb, 8);\n\n j = zigzag_direct[i];\n\n s->non_intra_matrix[j] = v;\n\n s->chroma_non_intra_matrix[j] = v;\n\n }\n\n#ifdef DEBUG\n\n dprintf(\"non intra matrix present\\n\");\n\n for(i=0;i<64;i++)\n\n dprintf(\" %d\", s->non_intra_matrix[zigzag_direct[i]]);\n\n printf(\"\\n\");\n\n#endif\n\n } else {\n\n for(i=0;i<64;i++) {\n\n v = default_non_intra_matrix[i];\n\n s->non_intra_matrix[i] = v;\n\n s->chroma_non_intra_matrix[i] = v;\n\n }\n\n }\n\n\n\n /* we set mpeg2 parameters so that it emulates mpeg1 */\n\n s->progressive_sequence = 1;\n\n s->progressive_frame = 1;\n\n s->picture_structure = PICT_FRAME;\n\n s->frame_pred_frame_dct = 1;\n\n s->mpeg2 = 0;\n\n return 0;\n\n}\n", "idx": 3499}338{"project": "FFmpeg", "commit_id": "d600b18f224e02f8bfc6660bfa442e7ff3fb057c", "target": 1, "func": "void ff_rfps_calculate(AVFormatContext *ic)\n{\n int i, j;\n for (i = 0; i<ic->nb_streams; i++) {\n AVStream *st = ic->streams[i];\n if (st->codec->codec_type != AVMEDIA_TYPE_VIDEO)\n // the check for tb_unreliable() is not completely correct, since this is not about handling\n // a unreliable/inexact time base, but a time base that is finer than necessary, as e.g.\n // ipmovie.c produces.\n if (tb_unreliable(st->codec) && st->info->duration_count > 15 && st->info->duration_gcd > FFMAX(1, st->time_base.den/(500LL*st->time_base.num)) && !st->r_frame_rate.num)\n av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den, st->time_base.den, st->time_base.num * st->info->duration_gcd, INT_MAX);\n if (st->info->duration_count>1 && !st->r_frame_rate.num\n && tb_unreliable(st->codec)) {\n int num = 0;\n double best_error= 0.01;\n for (j=0; j<MAX_STD_TIMEBASES; j++) {\n int k;\n if(st->info->codec_info_duration && st->info->codec_info_duration*av_q2d(st->time_base) < (1001*12.0)/get_std_framerate(j))\n if(!st->info->codec_info_duration && 1.0 < (1001*12.0)/get_std_framerate(j))\n for(k=0; k<2; k++){\n int n= st->info->duration_count;\n double a= st->info->duration_error[k][0][j] / n;\n double error= st->info->duration_error[k][1][j]/n - a*a;\n if(error < best_error && best_error> 0.000000001){\n best_error= error;\n num = get_std_framerate(j);\n }\n if(error < 0.02)\n av_log(NULL, AV_LOG_DEBUG, \"rfps: %f %f\\n\", get_std_framerate(j) / 12.0/1001, error);\n }\n }\n // do not increase frame rate by more than 1 % in order to match a standard rate.\n if (num && (!st->r_frame_rate.num || (double)num/(12*1001) < 1.01 * av_q2d(st->r_frame_rate)))\n av_reduce(&st->r_frame_rate.num, &st->r_frame_rate.den, num, 12*1001, INT_MAX);\n }\n av_freep(&st->info->duration_error);\n st->info->last_dts = AV_NOPTS_VALUE;\n st->info->duration_count = 0;\n st->info->rfps_duration_sum = 0;\n }\n}", "idx": 3502}339{"project": "qemu", "commit_id": "bec93d7283b635aabaf0bbff67b6da7fc99e020a", "target": 0, "func": "static void gen_compute_eflags_o(DisasContext *s, TCGv reg)\n\n{\n\n gen_compute_eflags(s);\n\n tcg_gen_shri_tl(reg, cpu_cc_src, 11);\n\n tcg_gen_andi_tl(reg, reg, 1);\n\n}\n", "idx": 3513}340{"project": "FFmpeg", "commit_id": "3176217c60ca7828712985092d9102d331ea4f3d", "target": 0, "func": "static void pred_spatial_direct_motion(const H264Context *const h, H264SliceContext *sl,\n\n int *mb_type)\n\n{\n\n int b8_stride = 2;\n\n int b4_stride = h->b_stride;\n\n int mb_xy = sl->mb_xy, mb_y = sl->mb_y;\n\n int mb_type_col[2];\n\n const int16_t (*l1mv0)[2], (*l1mv1)[2];\n\n const int8_t *l1ref0, *l1ref1;\n\n const int is_b8x8 = IS_8X8(*mb_type);\n\n unsigned int sub_mb_type = MB_TYPE_L0L1;\n\n int i8, i4;\n\n int ref[2];\n\n int mv[2];\n\n int list;\n\n\n\n assert(sl->ref_list[1][0].reference & 3);\n\n\n\n await_reference_mb_row(h, sl->ref_list[1][0].parent,\n\n sl->mb_y + !!IS_INTERLACED(*mb_type));\n\n\n\n#define MB_TYPE_16x16_OR_INTRA (MB_TYPE_16x16 | MB_TYPE_INTRA4x4 | \\\n\n MB_TYPE_INTRA16x16 | MB_TYPE_INTRA_PCM)\n\n\n\n /* ref = min(neighbors) */\n\n for (list = 0; list < 2; list++) {\n\n int left_ref = sl->ref_cache[list][scan8[0] - 1];\n\n int top_ref = sl->ref_cache[list][scan8[0] - 8];\n\n int refc = sl->ref_cache[list][scan8[0] - 8 + 4];\n\n const int16_t *C = sl->mv_cache[list][scan8[0] - 8 + 4];\n\n if (refc == PART_NOT_AVAILABLE) {\n\n refc = sl->ref_cache[list][scan8[0] - 8 - 1];\n\n C = sl->mv_cache[list][scan8[0] - 8 - 1];\n\n }\n\n ref[list] = FFMIN3((unsigned)left_ref,\n\n (unsigned)top_ref,\n\n (unsigned)refc);\n\n if (ref[list] >= 0) {\n\n /* This is just pred_motion() but with the cases removed that\n\n * cannot happen for direct blocks. */\n\n const int16_t *const A = sl->mv_cache[list][scan8[0] - 1];\n\n const int16_t *const B = sl->mv_cache[list][scan8[0] - 8];\n\n\n\n int match_count = (left_ref == ref[list]) +\n\n (top_ref == ref[list]) +\n\n (refc == ref[list]);\n\n\n\n if (match_count > 1) { // most common\n\n mv[list] = pack16to32(mid_pred(A[0], B[0], C[0]),\n\n mid_pred(A[1], B[1], C[1]));\n\n } else {\n\n assert(match_count == 1);\n\n if (left_ref == ref[list])\n\n mv[list] = AV_RN32A(A);\n\n else if (top_ref == ref[list])\n\n mv[list] = AV_RN32A(B);\n\n else\n\n mv[list] = AV_RN32A(C);\n\n }\n\n } else {\n\n int mask = ~(MB_TYPE_L0 << (2 * list));\n\n mv[list] = 0;\n\n ref[list] = -1;\n\n if (!is_b8x8)\n\n *mb_type &= mask;\n\n sub_mb_type &= mask;\n\n }\n\n }\n\n if (ref[0] < 0 && ref[1] < 0) {\n\n ref[0] = ref[1] = 0;\n\n if (!is_b8x8)\n\n *mb_type |= MB_TYPE_L0L1;\n\n sub_mb_type |= MB_TYPE_L0L1;\n\n }\n\n\n\n if (!(is_b8x8 | mv[0] | mv[1])) {\n\n fill_rectangle(&sl->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1);\n\n fill_rectangle(&sl->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1);\n\n fill_rectangle(&sl->mv_cache[0][scan8[0]], 4, 4, 8, 0, 4);\n\n fill_rectangle(&sl->mv_cache[1][scan8[0]], 4, 4, 8, 0, 4);\n\n *mb_type = (*mb_type & ~(MB_TYPE_8x8 | MB_TYPE_16x8 | MB_TYPE_8x16 |\n\n MB_TYPE_P1L0 | MB_TYPE_P1L1)) |\n\n MB_TYPE_16x16 | MB_TYPE_DIRECT2;\n\n return;\n\n }\n\n\n\n if (IS_INTERLACED(sl->ref_list[1][0].parent->mb_type[mb_xy])) { // AFL/AFR/FR/FL -> AFL/FL\n\n if (!IS_INTERLACED(*mb_type)) { // AFR/FR -> AFL/FL\n\n mb_y = (sl->mb_y & ~1) + sl->col_parity;\n\n mb_xy = sl->mb_x +\n\n ((sl->mb_y & ~1) + sl->col_parity) * h->mb_stride;\n\n b8_stride = 0;\n\n } else {\n\n mb_y += sl->col_fieldoff;\n\n mb_xy += h->mb_stride * sl->col_fieldoff; // non-zero for FL -> FL & differ parity\n\n }\n\n goto single_col;\n\n } else { // AFL/AFR/FR/FL -> AFR/FR\n\n if (IS_INTERLACED(*mb_type)) { // AFL /FL -> AFR/FR\n\n mb_y = sl->mb_y & ~1;\n\n mb_xy = (sl->mb_y & ~1) * h->mb_stride + sl->mb_x;\n\n mb_type_col[0] = sl->ref_list[1][0].parent->mb_type[mb_xy];\n\n mb_type_col[1] = sl->ref_list[1][0].parent->mb_type[mb_xy + h->mb_stride];\n\n b8_stride = 2 + 4 * h->mb_stride;\n\n b4_stride *= 6;\n\n if (IS_INTERLACED(mb_type_col[0]) !=\n\n IS_INTERLACED(mb_type_col[1])) {\n\n mb_type_col[0] &= ~MB_TYPE_INTERLACED;\n\n mb_type_col[1] &= ~MB_TYPE_INTERLACED;\n\n }\n\n\n\n sub_mb_type |= MB_TYPE_16x16 | MB_TYPE_DIRECT2; /* B_SUB_8x8 */\n\n if ((mb_type_col[0] & MB_TYPE_16x16_OR_INTRA) &&\n\n (mb_type_col[1] & MB_TYPE_16x16_OR_INTRA) &&\n\n !is_b8x8) {\n\n *mb_type |= MB_TYPE_16x8 | MB_TYPE_DIRECT2; /* B_16x8 */\n\n } else {\n\n *mb_type |= MB_TYPE_8x8;\n\n }\n\n } else { // AFR/FR -> AFR/FR\n\nsingle_col:\n\n mb_type_col[0] =\n\n mb_type_col[1] = sl->ref_list[1][0].parent->mb_type[mb_xy];\n\n\n\n sub_mb_type |= MB_TYPE_16x16 | MB_TYPE_DIRECT2; /* B_SUB_8x8 */\n\n if (!is_b8x8 && (mb_type_col[0] & MB_TYPE_16x16_OR_INTRA)) {\n\n *mb_type |= MB_TYPE_16x16 | MB_TYPE_DIRECT2; /* B_16x16 */\n\n } else if (!is_b8x8 &&\n\n (mb_type_col[0] & (MB_TYPE_16x8 | MB_TYPE_8x16))) {\n\n *mb_type |= MB_TYPE_DIRECT2 |\n\n (mb_type_col[0] & (MB_TYPE_16x8 | MB_TYPE_8x16));\n\n } else {\n\n if (!h->sps.direct_8x8_inference_flag) {\n\n /* FIXME: Save sub mb types from previous frames (or derive\n\n * from MVs) so we know exactly what block size to use. */\n\n sub_mb_type += (MB_TYPE_8x8 - MB_TYPE_16x16); /* B_SUB_4x4 */\n\n }\n\n *mb_type |= MB_TYPE_8x8;\n\n }\n\n }\n\n }\n\n\n\n await_reference_mb_row(h, sl->ref_list[1][0].parent, mb_y);\n\n\n\n l1mv0 = &sl->ref_list[1][0].parent->motion_val[0][h->mb2b_xy[mb_xy]];\n\n l1mv1 = &sl->ref_list[1][0].parent->motion_val[1][h->mb2b_xy[mb_xy]];\n\n l1ref0 = &sl->ref_list[1][0].parent->ref_index[0][4 * mb_xy];\n\n l1ref1 = &sl->ref_list[1][0].parent->ref_index[1][4 * mb_xy];\n\n if (!b8_stride) {\n\n if (sl->mb_y & 1) {\n\n l1ref0 += 2;\n\n l1ref1 += 2;\n\n l1mv0 += 2 * b4_stride;\n\n l1mv1 += 2 * b4_stride;\n\n }\n\n }\n\n\n\n if (IS_INTERLACED(*mb_type) != IS_INTERLACED(mb_type_col[0])) {\n\n int n = 0;\n\n for (i8 = 0; i8 < 4; i8++) {\n\n int x8 = i8 & 1;\n\n int y8 = i8 >> 1;\n\n int xy8 = x8 + y8 * b8_stride;\n\n int xy4 = x8 * 3 + y8 * b4_stride;\n\n int a, b;\n\n\n\n if (is_b8x8 && !IS_DIRECT(sl->sub_mb_type[i8]))\n\n continue;\n\n sl->sub_mb_type[i8] = sub_mb_type;\n\n\n\n fill_rectangle(&sl->ref_cache[0][scan8[i8 * 4]], 2, 2, 8,\n\n (uint8_t)ref[0], 1);\n\n fill_rectangle(&sl->ref_cache[1][scan8[i8 * 4]], 2, 2, 8,\n\n (uint8_t)ref[1], 1);\n\n if (!IS_INTRA(mb_type_col[y8]) && !sl->ref_list[1][0].parent->long_ref &&\n\n ((l1ref0[xy8] == 0 &&\n\n FFABS(l1mv0[xy4][0]) <= 1 &&\n\n FFABS(l1mv0[xy4][1]) <= 1) ||\n\n (l1ref0[xy8] < 0 &&\n\n l1ref1[xy8] == 0 &&\n\n FFABS(l1mv1[xy4][0]) <= 1 &&\n\n FFABS(l1mv1[xy4][1]) <= 1))) {\n\n a =\n\n b = 0;\n\n if (ref[0] > 0)\n\n a = mv[0];\n\n if (ref[1] > 0)\n\n b = mv[1];\n\n n++;\n\n } else {\n\n a = mv[0];\n\n b = mv[1];\n\n }\n\n fill_rectangle(&sl->mv_cache[0][scan8[i8 * 4]], 2, 2, 8, a, 4);\n\n fill_rectangle(&sl->mv_cache[1][scan8[i8 * 4]], 2, 2, 8, b, 4);\n\n }\n\n if (!is_b8x8 && !(n & 3))\n\n *mb_type = (*mb_type & ~(MB_TYPE_8x8 | MB_TYPE_16x8 | MB_TYPE_8x16 |\n\n MB_TYPE_P1L0 | MB_TYPE_P1L1)) |\n\n MB_TYPE_16x16 | MB_TYPE_DIRECT2;\n\n } else if (IS_16X16(*mb_type)) {\n\n int a, b;\n\n\n\n fill_rectangle(&sl->ref_cache[0][scan8[0]], 4, 4, 8, (uint8_t)ref[0], 1);\n\n fill_rectangle(&sl->ref_cache[1][scan8[0]], 4, 4, 8, (uint8_t)ref[1], 1);\n\n if (!IS_INTRA(mb_type_col[0]) && !sl->ref_list[1][0].parent->long_ref &&\n\n ((l1ref0[0] == 0 &&\n\n FFABS(l1mv0[0][0]) <= 1 &&\n\n FFABS(l1mv0[0][1]) <= 1) ||\n\n (l1ref0[0] < 0 && !l1ref1[0] &&\n\n FFABS(l1mv1[0][0]) <= 1 &&\n\n FFABS(l1mv1[0][1]) <= 1 &&\n\n h->x264_build > 33U))) {\n\n a = b = 0;\n\n if (ref[0] > 0)\n\n a = mv[0];\n\n if (ref[1] > 0)\n\n b = mv[1];\n\n } else {\n\n a = mv[0];\n\n b = mv[1];\n\n }\n\n fill_rectangle(&sl->mv_cache[0][scan8[0]], 4, 4, 8, a, 4);\n\n fill_rectangle(&sl->mv_cache[1][scan8[0]], 4, 4, 8, b, 4);\n\n } else {\n\n int n = 0;\n\n for (i8 = 0; i8 < 4; i8++) {\n\n const int x8 = i8 & 1;\n\n const int y8 = i8 >> 1;\n\n\n\n if (is_b8x8 && !IS_DIRECT(sl->sub_mb_type[i8]))\n\n continue;\n\n sl->sub_mb_type[i8] = sub_mb_type;\n\n\n\n fill_rectangle(&sl->mv_cache[0][scan8[i8 * 4]], 2, 2, 8, mv[0], 4);\n\n fill_rectangle(&sl->mv_cache[1][scan8[i8 * 4]], 2, 2, 8, mv[1], 4);\n\n fill_rectangle(&sl->ref_cache[0][scan8[i8 * 4]], 2, 2, 8,\n\n (uint8_t)ref[0], 1);\n\n fill_rectangle(&sl->ref_cache[1][scan8[i8 * 4]], 2, 2, 8,\n\n (uint8_t)ref[1], 1);\n\n\n\n assert(b8_stride == 2);\n\n /* col_zero_flag */\n\n if (!IS_INTRA(mb_type_col[0]) && !sl->ref_list[1][0].parent->long_ref &&\n\n (l1ref0[i8] == 0 ||\n\n (l1ref0[i8] < 0 &&\n\n l1ref1[i8] == 0 &&\n\n h->x264_build > 33U))) {\n\n const int16_t (*l1mv)[2] = l1ref0[i8] == 0 ? l1mv0 : l1mv1;\n\n if (IS_SUB_8X8(sub_mb_type)) {\n\n const int16_t *mv_col = l1mv[x8 * 3 + y8 * 3 * b4_stride];\n\n if (FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1) {\n\n if (ref[0] == 0)\n\n fill_rectangle(&sl->mv_cache[0][scan8[i8 * 4]], 2, 2,\n\n 8, 0, 4);\n\n if (ref[1] == 0)\n\n fill_rectangle(&sl->mv_cache[1][scan8[i8 * 4]], 2, 2,\n\n 8, 0, 4);\n\n n += 4;\n\n }\n\n } else {\n\n int m = 0;\n\n for (i4 = 0; i4 < 4; i4++) {\n\n const int16_t *mv_col = l1mv[x8 * 2 + (i4 & 1) +\n\n (y8 * 2 + (i4 >> 1)) * b4_stride];\n\n if (FFABS(mv_col[0]) <= 1 && FFABS(mv_col[1]) <= 1) {\n\n if (ref[0] == 0)\n\n AV_ZERO32(sl->mv_cache[0][scan8[i8 * 4 + i4]]);\n\n if (ref[1] == 0)\n\n AV_ZERO32(sl->mv_cache[1][scan8[i8 * 4 + i4]]);\n\n m++;\n\n }\n\n }\n\n if (!(m & 3))\n\n sl->sub_mb_type[i8] += MB_TYPE_16x16 - MB_TYPE_8x8;\n\n n += m;\n\n }\n\n }\n\n }\n\n if (!is_b8x8 && !(n & 15))\n\n *mb_type = (*mb_type & ~(MB_TYPE_8x8 | MB_TYPE_16x8 | MB_TYPE_8x16 |\n\n MB_TYPE_P1L0 | MB_TYPE_P1L1)) |\n\n MB_TYPE_16x16 | MB_TYPE_DIRECT2;\n\n }\n\n}\n", "idx": 3517}341{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static void gem_write(void *opaque, target_phys_addr_t offset, uint64_t val,\n\n unsigned size)\n\n{\n\n GemState *s = (GemState *)opaque;\n\n uint32_t readonly;\n\n\n\n DB_PRINT(\"offset: 0x%04x write: 0x%08x \", offset, (unsigned)val);\n\n offset >>= 2;\n\n\n\n /* Squash bits which are read only in write value */\n\n val &= ~(s->regs_ro[offset]);\n\n /* Preserve (only) bits which are read only in register */\n\n readonly = s->regs[offset];\n\n readonly &= s->regs_ro[offset];\n\n\n\n /* Squash bits which are write 1 to clear */\n\n val &= ~(s->regs_w1c[offset] & val);\n\n\n\n /* Copy register write to backing store */\n\n s->regs[offset] = val | readonly;\n\n\n\n /* Handle register write side effects */\n\n switch (offset) {\n\n case GEM_NWCTRL:\n\n if (val & GEM_NWCTRL_TXSTART) {\n\n gem_transmit(s);\n\n }\n\n if (!(val & GEM_NWCTRL_TXENA)) {\n\n /* Reset to start of Q when transmit disabled. */\n\n s->tx_desc_addr = s->regs[GEM_TXQBASE];\n\n }\n\n if (!(val & GEM_NWCTRL_RXENA)) {\n\n /* Reset to start of Q when receive disabled. */\n\n s->rx_desc_addr = s->regs[GEM_RXQBASE];\n\n }\n\n break;\n\n\n\n case GEM_TXSTATUS:\n\n gem_update_int_status(s);\n\n break;\n\n case GEM_RXQBASE:\n\n s->rx_desc_addr = val;\n\n break;\n\n case GEM_TXQBASE:\n\n s->tx_desc_addr = val;\n\n break;\n\n case GEM_RXSTATUS:\n\n gem_update_int_status(s);\n\n break;\n\n case GEM_IER:\n\n s->regs[GEM_IMR] &= ~val;\n\n gem_update_int_status(s);\n\n break;\n\n case GEM_IDR:\n\n s->regs[GEM_IMR] |= val;\n\n gem_update_int_status(s);\n\n break;\n\n case GEM_PHYMNTNC:\n\n if (val & GEM_PHYMNTNC_OP_W) {\n\n uint32_t phy_addr, reg_num;\n\n\n\n phy_addr = (val & GEM_PHYMNTNC_ADDR) >> GEM_PHYMNTNC_ADDR_SHFT;\n\n if (phy_addr == BOARD_PHY_ADDRESS) {\n\n reg_num = (val & GEM_PHYMNTNC_REG) >> GEM_PHYMNTNC_REG_SHIFT;\n\n gem_phy_write(s, reg_num, val);\n\n }\n\n }\n\n break;\n\n }\n\n\n\n DB_PRINT(\"newval: 0x%08x\\n\", s->regs[offset]);\n\n}\n", "idx": 3521}342{"project": "qemu", "commit_id": "0b1bcb00fb2baf5f3227dd9cd849fa69bf50d7a8", "target": 1, "func": "void cpu_loop(CPUMIPSState *env)\n\n{\n\n target_siginfo_t info;\n\n int trapnr, ret;\n\n unsigned int syscall_num;\n\n\n\n for(;;) {\n\n trapnr = cpu_mips_exec(env);\n\n switch(trapnr) {\n\n case EXCP_SYSCALL:\n\n syscall_num = env->active_tc.gpr[2] - 4000;\n\n env->active_tc.PC += 4;\n\n if (syscall_num >= sizeof(mips_syscall_args)) {\n\n ret = -ENOSYS;\n\n } else {\n\n int nb_args;\n\n abi_ulong sp_reg;\n\n abi_ulong arg5 = 0, arg6 = 0, arg7 = 0, arg8 = 0;\n\n\n\n nb_args = mips_syscall_args[syscall_num];\n\n sp_reg = env->active_tc.gpr[29];\n\n switch (nb_args) {\n\n /* these arguments are taken from the stack */\n\n /* FIXME - what to do if get_user() fails? */\n\n case 8: get_user_ual(arg8, sp_reg + 28);\n\n case 7: get_user_ual(arg7, sp_reg + 24);\n\n case 6: get_user_ual(arg6, sp_reg + 20);\n\n case 5: get_user_ual(arg5, sp_reg + 16);\n\n default:\n\n\n\n ret = do_syscall(env, env->active_tc.gpr[2],\n\n env->active_tc.gpr[4],\n\n env->active_tc.gpr[5],\n\n env->active_tc.gpr[6],\n\n env->active_tc.gpr[7],\n\n arg5, arg6/*, arg7, arg8*/);\n\n\n\n\n\n\n\n if ((unsigned int)ret >= (unsigned int)(-1133)) {\n\n env->active_tc.gpr[7] = 1; /* error flag */\n\n ret = -ret;\n\n } else {\n\n env->active_tc.gpr[7] = 0; /* error flag */\n\n\n env->active_tc.gpr[2] = ret;\n\n\n case EXCP_TLBL:\n\n case EXCP_TLBS:\n\n info.si_signo = TARGET_SIGSEGV;\n\n info.si_errno = 0;\n\n /* XXX: check env->error_code */\n\n info.si_code = TARGET_SEGV_MAPERR;\n\n info._sifields._sigfault._addr = env->CP0_BadVAddr;\n\n queue_signal(env, info.si_signo, &info);\n\n\n case EXCP_CpU:\n\n case EXCP_RI:\n\n info.si_signo = TARGET_SIGILL;\n\n info.si_errno = 0;\n\n info.si_code = 0;\n\n queue_signal(env, info.si_signo, &info);\n\n\n case EXCP_INTERRUPT:\n\n /* just indicate that signals should be handled asap */\n\n\n case EXCP_DEBUG:\n\n {\n\n int sig;\n\n\n\n sig = gdb_handlesig (env, TARGET_SIGTRAP);\n\n if (sig)\n\n {\n\n info.si_signo = sig;\n\n info.si_errno = 0;\n\n info.si_code = TARGET_TRAP_BRKPT;\n\n queue_signal(env, info.si_signo, &info);\n\n\n\n\n default:\n\n // error:\n\n fprintf(stderr, \"qemu: unhandled CPU exception 0x%x - aborting\\n\",\n\n trapnr);\n\n cpu_dump_state(env, stderr, fprintf, 0);\n\n abort();\n\n\n process_pending_signals(env);\n\n", "idx": 3540}343{"project": "FFmpeg", "commit_id": "066ad0926a53ea6ee9d5cb3e348160a881145e73", "target": 1, "func": "static int tmv_read_seek(AVFormatContext *s, int stream_index,\n\n int64_t timestamp, int flags)\n\n{\n\n TMVContext *tmv = s->priv_data;\n\n int64_t pos;\n\n\n\n if (stream_index)\n\n return -1;\n\n\n\n pos = timestamp *\n\n (tmv->audio_chunk_size + tmv->video_chunk_size + tmv->padding);\n\n\n\n avio_seek(s->pb, pos + TMV_HEADER_SIZE, SEEK_SET);\n\n tmv->stream_index = 0;\n\n return 0;\n\n}\n", "idx": 3551}344{"project": "qemu", "commit_id": "58d479786b11a7e982419c1e0905b8490ef9a787", "target": 1, "func": "static void bonito_ldma_writel(void *opaque, hwaddr addr,\n uint64_t val, unsigned size)\n{\n PCIBonitoState *s = opaque;\n ((uint32_t *)(&s->bonldma))[addr/sizeof(uint32_t)] = val & 0xffffffff;", "idx": 3555}345{"project": "FFmpeg", "commit_id": "3d5822d9cf07d08bce82903e4715658f46b01b5c", "target": 1, "func": "static int jpeg2000_decode_packet(Jpeg2000DecoderContext *s, Jpeg2000Tile *tile, int *tp_index,\n\n Jpeg2000CodingStyle *codsty,\n\n Jpeg2000ResLevel *rlevel, int precno,\n\n int layno, uint8_t *expn, int numgbits)\n\n{\n\n int bandno, cblkno, ret, nb_code_blocks;\n\n int cwsno;\n\n\n\n if (layno < rlevel->band[0].prec[precno].decoded_layers)\n\n return 0;\n\n rlevel->band[0].prec[precno].decoded_layers = layno + 1;\n\n\n\n if (bytestream2_get_bytes_left(&s->g) == 0 && s->bit_index == 8) {\n\n if (*tp_index < FF_ARRAY_ELEMS(tile->tile_part) - 1) {\n\n s->g = tile->tile_part[++(*tp_index)].tpg;\n\n }\n\n }\n\n\n\n if (bytestream2_peek_be32(&s->g) == JPEG2000_SOP_FIXED_BYTES)\n\n bytestream2_skip(&s->g, JPEG2000_SOP_BYTE_LENGTH);\n\n\n\n if (!(ret = get_bits(s, 1))) {\n\n jpeg2000_flush(s);\n\n return 0;\n\n } else if (ret < 0)\n\n return ret;\n\n\n\n for (bandno = 0; bandno < rlevel->nbands; bandno++) {\n\n Jpeg2000Band *band = rlevel->band + bandno;\n\n Jpeg2000Prec *prec = band->prec + precno;\n\n\n\n if (band->coord[0][0] == band->coord[0][1] ||\n\n band->coord[1][0] == band->coord[1][1])\n\n continue;\n\n nb_code_blocks = prec->nb_codeblocks_height *\n\n prec->nb_codeblocks_width;\n\n for (cblkno = 0; cblkno < nb_code_blocks; cblkno++) {\n\n Jpeg2000Cblk *cblk = prec->cblk + cblkno;\n\n int incl, newpasses, llen;\n\n\n\n if (cblk->npasses)\n\n incl = get_bits(s, 1);\n\n else\n\n incl = tag_tree_decode(s, prec->cblkincl + cblkno, layno + 1) == layno;\n\n if (!incl)\n\n continue;\n\n else if (incl < 0)\n\n return incl;\n\n\n\n if (!cblk->npasses) {\n\n int v = expn[bandno] + numgbits - 1 -\n\n tag_tree_decode(s, prec->zerobits + cblkno, 100);\n\n if (v < 0 || v > 30) {\n\n av_log(s->avctx, AV_LOG_ERROR,\n\n \"nonzerobits %d invalid or unsupported\\n\", v);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n cblk->nonzerobits = v;\n\n }\n\n if ((newpasses = getnpasses(s)) < 0)\n\n return newpasses;\n\n av_assert2(newpasses > 0);\n\n if (cblk->npasses + newpasses >= JPEG2000_MAX_PASSES) {\n\n avpriv_request_sample(s->avctx, \"Too many passes\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n if ((llen = getlblockinc(s)) < 0)\n\n return llen;\n\n if (cblk->lblock + llen + av_log2(newpasses) > 16) {\n\n avpriv_request_sample(s->avctx,\n\n \"Block with length beyond 16 bits\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n cblk->lblock += llen;\n\n\n\n cblk->nb_lengthinc = 0;\n\n cblk->nb_terminationsinc = 0;\n\n do {\n\n int newpasses1 = 0;\n\n\n\n while (newpasses1 < newpasses) {\n\n newpasses1 ++;\n\n if (needs_termination(codsty->cblk_style, cblk->npasses + newpasses1 - 1)) {\n\n cblk->nb_terminationsinc ++;\n\n break;\n\n }\n\n }\n\n\n\n if ((ret = get_bits(s, av_log2(newpasses1) + cblk->lblock)) < 0)\n\n return ret;\n\n if (ret > sizeof(cblk->data)) {\n\n avpriv_request_sample(s->avctx,\n\n \"Block with lengthinc greater than %\"SIZE_SPECIFIER\"\",\n\n sizeof(cblk->data));\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n cblk->lengthinc[cblk->nb_lengthinc++] = ret;\n\n cblk->npasses += newpasses1;\n\n newpasses -= newpasses1;\n\n } while(newpasses);\n\n }\n\n }\n\n jpeg2000_flush(s);\n\n\n\n if (codsty->csty & JPEG2000_CSTY_EPH) {\n\n if (bytestream2_peek_be16(&s->g) == JPEG2000_EPH)\n\n bytestream2_skip(&s->g, 2);\n\n else\n\n av_log(s->avctx, AV_LOG_ERROR, \"EPH marker not found. instead %X\\n\", bytestream2_peek_be32(&s->g));\n\n }\n\n\n\n for (bandno = 0; bandno < rlevel->nbands; bandno++) {\n\n Jpeg2000Band *band = rlevel->band + bandno;\n\n Jpeg2000Prec *prec = band->prec + precno;\n\n\n\n nb_code_blocks = prec->nb_codeblocks_height * prec->nb_codeblocks_width;\n\n for (cblkno = 0; cblkno < nb_code_blocks; cblkno++) {\n\n Jpeg2000Cblk *cblk = prec->cblk + cblkno;\n\n for (cwsno = 0; cwsno < cblk->nb_lengthinc; cwsno ++) {\n\n if ( bytestream2_get_bytes_left(&s->g) < cblk->lengthinc[cwsno]\n\n || sizeof(cblk->data) < cblk->length + cblk->lengthinc[cwsno] + 4\n\n ) {\n\n av_log(s->avctx, AV_LOG_ERROR,\n\n \"Block length %\"PRIu16\" or lengthinc %d is too large, left %d\\n\",\n\n cblk->length, cblk->lengthinc[cwsno], bytestream2_get_bytes_left(&s->g));\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n bytestream2_get_bufferu(&s->g, cblk->data + cblk->length, cblk->lengthinc[cwsno]);\n\n cblk->length += cblk->lengthinc[cwsno];\n\n cblk->lengthinc[cwsno] = 0;\n\n if (cblk->nb_terminationsinc) {\n\n cblk->nb_terminationsinc--;\n\n cblk->nb_terminations++;\n\n cblk->data[cblk->length++] = 0xFF;\n\n cblk->data[cblk->length++] = 0xFF;\n\n cblk->data_start[cblk->nb_terminations] = cblk->length;\n\n }\n\n }\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 3561}346{"project": "qemu", "commit_id": "bba4e1b591531c087fce4ae501dc1ca299d8fb42", "target": 1, "func": "static void curses_refresh(DisplayChangeListener *dcl)\n\n{\n\n int chr, nextchr, keysym, keycode, keycode_alt;\n\n\n\n curses_winch_check();\n\n\n\n if (invalidate) {\n\n clear();\n\n refresh();\n\n curses_calc_pad();\n\n graphic_hw_invalidate(NULL);\n\n invalidate = 0;\n\n }\n\n\n\n graphic_hw_text_update(NULL, screen);\n\n\n\n nextchr = ERR;\n\n while (1) {\n\n /* while there are any pending key strokes to process */\n\n if (nextchr == ERR)\n\n chr = getch();\n\n else {\n\n chr = nextchr;\n\n nextchr = ERR;\n\n }\n\n\n\n if (chr == ERR)\n\n break;\n\n\n\n#ifdef KEY_RESIZE\n\n /* this shouldn't occur when we use a custom SIGWINCH handler */\n\n if (chr == KEY_RESIZE) {\n\n clear();\n\n refresh();\n\n curses_calc_pad();\n\n curses_update(dcl, 0, 0, width, height);\n\n continue;\n\n }\n\n#endif\n\n\n\n keycode = curses2keycode[chr];\n\n keycode_alt = 0;\n\n\n\n /* alt key */\n\n if (keycode == 1) {\n\n nextchr = getch();\n\n\n\n if (nextchr != ERR) {\n\n chr = nextchr;\n\n keycode_alt = ALT;\n\n keycode = curses2keycode[nextchr];\n\n nextchr = ERR;\n\n\n\n if (keycode != -1) {\n\n keycode |= ALT;\n\n\n\n /* process keys reserved for qemu */\n\n if (keycode >= QEMU_KEY_CONSOLE0 &&\n\n keycode < QEMU_KEY_CONSOLE0 + 9) {\n\n erase();\n\n wnoutrefresh(stdscr);\n\n console_select(keycode - QEMU_KEY_CONSOLE0);\n\n\n\n invalidate = 1;\n\n continue;\n\n }\n\n }\n\n }\n\n }\n\n\n\n if (kbd_layout) {\n\n keysym = -1;\n\n if (chr < CURSES_KEYS)\n\n keysym = curses2keysym[chr];\n\n\n\n if (keysym == -1) {\n\n if (chr < ' ') {\n\n keysym = chr + '@';\n\n if (keysym >= 'A' && keysym <= 'Z')\n\n keysym += 'a' - 'A';\n\n keysym |= KEYSYM_CNTRL;\n\n } else\n\n keysym = chr;\n\n }\n\n\n\n keycode = keysym2scancode(kbd_layout, keysym & KEYSYM_MASK);\n\n if (keycode == 0)\n\n continue;\n\n\n\n keycode |= (keysym & ~KEYSYM_MASK) >> 16;\n\n keycode |= keycode_alt;\n\n }\n\n\n\n if (keycode == -1)\n\n continue;\n\n\n\n if (qemu_console_is_graphic(NULL)) {\n\n /* since terminals don't know about key press and release\n\n * events, we need to emit both for each key received */\n\n if (keycode & SHIFT) {\n\n qemu_input_event_send_key_number(NULL, SHIFT_CODE, true);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n if (keycode & CNTRL) {\n\n qemu_input_event_send_key_number(NULL, CNTRL_CODE, true);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n if (keycode & ALT) {\n\n qemu_input_event_send_key_number(NULL, ALT_CODE, true);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n if (keycode & ALTGR) {\n\n qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, true);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n\n\n qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, true);\n\n qemu_input_event_send_key_delay(0);\n\n qemu_input_event_send_key_number(NULL, keycode & KEY_MASK, false);\n\n qemu_input_event_send_key_delay(0);\n\n\n\n if (keycode & ALTGR) {\n\n qemu_input_event_send_key_number(NULL, GREY | ALT_CODE, false);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n if (keycode & ALT) {\n\n qemu_input_event_send_key_number(NULL, ALT_CODE, false);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n if (keycode & CNTRL) {\n\n qemu_input_event_send_key_number(NULL, CNTRL_CODE, false);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n if (keycode & SHIFT) {\n\n qemu_input_event_send_key_number(NULL, SHIFT_CODE, false);\n\n qemu_input_event_send_key_delay(0);\n\n }\n\n } else {\n\n keysym = curses2qemu[chr];\n\n if (keysym == -1)\n\n keysym = chr;\n\n\n\n kbd_put_keysym(keysym);\n\n }\n\n }\n\n}\n", "idx": 3582}347{"project": "FFmpeg", "commit_id": "b84a7330af41cec93384bf59ed68c67b09d105cd", "target": 1, "func": "static int64_t read_ts(char **line, int *duration)\n\n{\n\n int64_t start, end;\n\n\n\n if (sscanf(*line, \"%\"SCNd64\",%\"SCNd64, &start, &end) == 2) {\n\n *line += strcspn(*line, \"\\\"\") + 1;\n\n *duration = end - start;\n\n return start;\n\n }\n\n return AV_NOPTS_VALUE;\n\n}\n", "idx": 3596}348{"project": "qemu", "commit_id": "efec3dd631d94160288392721a5f9c39e50fb2bc", "target": 1, "func": "static void raven_class_init(ObjectClass *klass, void *data)\n\n{\n\n PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);\n\n DeviceClass *dc = DEVICE_CLASS(klass);\n\n\n\n k->init = raven_init;\n\n k->vendor_id = PCI_VENDOR_ID_MOTOROLA;\n\n k->device_id = PCI_DEVICE_ID_MOTOROLA_RAVEN;\n\n k->revision = 0x00;\n\n k->class_id = PCI_CLASS_BRIDGE_HOST;\n\n dc->desc = \"PReP Host Bridge - Motorola Raven\";\n\n dc->vmsd = &vmstate_raven;\n\n dc->no_user = 1;\n\n}\n", "idx": 3598}349{"project": "qemu", "commit_id": "f8ed85ac992c48814d916d5df4d44f9a971c5de4", "target": 1, "func": "static void pci_add_option_rom(PCIDevice *pdev, bool is_default_rom,\n\n Error **errp)\n\n{\n\n int size;\n\n char *path;\n\n void *ptr;\n\n char name[32];\n\n const VMStateDescription *vmsd;\n\n\n\n if (!pdev->romfile)\n\n return;\n\n if (strlen(pdev->romfile) == 0)\n\n return;\n\n\n\n if (!pdev->rom_bar) {\n\n /*\n\n * Load rom via fw_cfg instead of creating a rom bar,\n\n * for 0.11 compatibility.\n\n */\n\n int class = pci_get_word(pdev->config + PCI_CLASS_DEVICE);\n\n\n\n /*\n\n * Hot-plugged devices can't use the option ROM\n\n * if the rom bar is disabled.\n\n */\n\n if (DEVICE(pdev)->hotplugged) {\n\n error_setg(errp, \"Hot-plugged device without ROM bar\"\n\n \" can't have an option ROM\");\n\n return;\n\n }\n\n\n\n if (class == 0x0300) {\n\n rom_add_vga(pdev->romfile);\n\n } else {\n\n rom_add_option(pdev->romfile, -1);\n\n }\n\n return;\n\n }\n\n\n\n path = qemu_find_file(QEMU_FILE_TYPE_BIOS, pdev->romfile);\n\n if (path == NULL) {\n\n path = g_strdup(pdev->romfile);\n\n }\n\n\n\n size = get_image_size(path);\n\n if (size < 0) {\n\n error_setg(errp, \"failed to find romfile \\\"%s\\\"\", pdev->romfile);\n\n g_free(path);\n\n return;\n\n } else if (size == 0) {\n\n error_setg(errp, \"romfile \\\"%s\\\" is empty\", pdev->romfile);\n\n g_free(path);\n\n return;\n\n }\n\n size = pow2ceil(size);\n\n\n\n vmsd = qdev_get_vmsd(DEVICE(pdev));\n\n\n\n if (vmsd) {\n\n snprintf(name, sizeof(name), \"%s.rom\", vmsd->name);\n\n } else {\n\n snprintf(name, sizeof(name), \"%s.rom\", object_get_typename(OBJECT(pdev)));\n\n }\n\n pdev->has_rom = true;\n\n memory_region_init_ram(&pdev->rom, OBJECT(pdev), name, size, &error_abort);\n\n vmstate_register_ram(&pdev->rom, &pdev->qdev);\n\n ptr = memory_region_get_ram_ptr(&pdev->rom);\n\n load_image(path, ptr);\n\n g_free(path);\n\n\n\n if (is_default_rom) {\n\n /* Only the default rom images will be patched (if needed). */\n\n pci_patch_ids(pdev, ptr, size);\n\n }\n\n\n\n pci_register_bar(pdev, PCI_ROM_SLOT, 0, &pdev->rom);\n\n}\n", "idx": 3602}350{"project": "FFmpeg", "commit_id": "21bffa93a6fc73e1f1859f8bc224409eaaf27658", "target": 1, "func": "static void mov_write_uuidprof_tag(AVIOContext *pb, AVFormatContext *s)\n\n{\n\n AVStream *video_st = s->streams[0];\n\n AVCodecParameters *video_par = s->streams[0]->codecpar;\n\n AVCodecParameters *audio_par = s->streams[1]->codecpar;\n\n int audio_rate = audio_par->sample_rate;\n\n // TODO: should be avg_frame_rate\n\n int frame_rate = ((video_st->time_base.den) * (0x10000)) / (video_st->time_base.num);\n\n int audio_kbitrate = audio_par->bit_rate / 1000;\n\n int video_kbitrate = FFMIN(video_par->bit_rate / 1000, 800 - audio_kbitrate);\n\n\n\n avio_wb32(pb, 0x94); /* size */\n\n ffio_wfourcc(pb, \"uuid\");\n\n ffio_wfourcc(pb, \"PROF\");\n\n\n\n avio_wb32(pb, 0x21d24fce); /* 96 bit UUID */\n\n avio_wb32(pb, 0xbb88695c);\n\n avio_wb32(pb, 0xfac9c740);\n\n\n\n avio_wb32(pb, 0x0); /* ? */\n\n avio_wb32(pb, 0x3); /* 3 sections ? */\n\n\n\n avio_wb32(pb, 0x14); /* size */\n\n ffio_wfourcc(pb, \"FPRF\");\n\n avio_wb32(pb, 0x0); /* ? */\n\n avio_wb32(pb, 0x0); /* ? */\n\n avio_wb32(pb, 0x0); /* ? */\n\n\n\n avio_wb32(pb, 0x2c); /* size */\n\n ffio_wfourcc(pb, \"APRF\"); /* audio */\n\n avio_wb32(pb, 0x0);\n\n avio_wb32(pb, 0x2); /* TrackID */\n\n ffio_wfourcc(pb, \"mp4a\");\n\n avio_wb32(pb, 0x20f);\n\n avio_wb32(pb, 0x0);\n\n avio_wb32(pb, audio_kbitrate);\n\n avio_wb32(pb, audio_kbitrate);\n\n avio_wb32(pb, audio_rate);\n\n avio_wb32(pb, audio_par->channels);\n\n\n\n avio_wb32(pb, 0x34); /* size */\n\n ffio_wfourcc(pb, \"VPRF\"); /* video */\n\n avio_wb32(pb, 0x0);\n\n avio_wb32(pb, 0x1); /* TrackID */\n\n if (video_par->codec_id == AV_CODEC_ID_H264) {\n\n ffio_wfourcc(pb, \"avc1\");\n\n avio_wb16(pb, 0x014D);\n\n avio_wb16(pb, 0x0015);\n\n } else {\n\n ffio_wfourcc(pb, \"mp4v\");\n\n avio_wb16(pb, 0x0000);\n\n avio_wb16(pb, 0x0103);\n\n }\n\n avio_wb32(pb, 0x0);\n\n avio_wb32(pb, video_kbitrate);\n\n avio_wb32(pb, video_kbitrate);\n\n avio_wb32(pb, frame_rate);\n\n avio_wb32(pb, frame_rate);\n\n avio_wb16(pb, video_par->width);\n\n avio_wb16(pb, video_par->height);\n\n avio_wb32(pb, 0x010001); /* ? */\n\n}\n", "idx": 3610}351{"project": "qemu", "commit_id": "8f68760561abf90156456fec6ad55c3b2a066d46", "target": 1, "func": "static char *spapr_phb_vfio_get_loc_code(sPAPRPHBState *sphb, PCIDevice *pdev)\n\n{\n\n char *path = NULL, *buf = NULL, *host = NULL;\n\n\n\n /* Get the PCI VFIO host id */\n\n host = object_property_get_str(OBJECT(pdev), \"host\", NULL);\n\n if (!host) {\n\n goto err_out;\n\n }\n\n\n\n /* Construct the path of the file that will give us the DT location */\n\n path = g_strdup_printf(\"/sys/bus/pci/devices/%s/devspec\", host);\n\n g_free(host);\n\n if (!path || !g_file_get_contents(path, &buf, NULL, NULL)) {\n\n goto err_out;\n\n }\n\n g_free(path);\n\n\n\n /* Construct and read from host device tree the loc-code */\n\n path = g_strdup_printf(\"/proc/device-tree%s/ibm,loc-code\", buf);\n\n g_free(buf);\n\n if (!path || !g_file_get_contents(path, &buf, NULL, NULL)) {\n\n goto err_out;\n\n }\n\n return buf;\n\n\n\nerr_out:\n\n g_free(path);\n\n return NULL;\n\n}\n", "idx": 3611}352{"project": "FFmpeg", "commit_id": "8b2fce0d3f5a56c40c28899c9237210ca8f9cf75", "target": 1, "func": "static inline void yuv2nv12XinC(int16_t *lumFilter, int16_t **lumSrc, int lumFilterSize,\n\n int16_t *chrFilter, int16_t **chrSrc, int chrFilterSize,\n\n uint8_t *dest, uint8_t *uDest, int dstW, int chrDstW, int dstFormat)\n\n{\n\n //FIXME Optimize (just quickly writen not opti..)\n\n int i;\n\n for (i=0; i<dstW; i++)\n\n {\n\n int val=1<<18;\n\n int j;\n\n for (j=0; j<lumFilterSize; j++)\n\n val += lumSrc[j][i] * lumFilter[j];\n\n\n\n dest[i]= av_clip_uint8(val>>19);\n\n }\n\n\n\n if (!uDest)\n\n return;\n\n\n\n if (dstFormat == PIX_FMT_NV12)\n\n for (i=0; i<chrDstW; i++)\n\n {\n\n int u=1<<18;\n\n int v=1<<18;\n\n int j;\n\n for (j=0; j<chrFilterSize; j++)\n\n {\n\n u += chrSrc[j][i] * chrFilter[j];\n\n v += chrSrc[j][i + 2048] * chrFilter[j];\n\n }\n\n\n\n uDest[2*i]= av_clip_uint8(u>>19);\n\n uDest[2*i+1]= av_clip_uint8(v>>19);\n\n }\n\n else\n\n for (i=0; i<chrDstW; i++)\n\n {\n\n int u=1<<18;\n\n int v=1<<18;\n\n int j;\n\n for (j=0; j<chrFilterSize; j++)\n\n {\n\n u += chrSrc[j][i] * chrFilter[j];\n\n v += chrSrc[j][i + 2048] * chrFilter[j];\n\n }\n\n\n\n uDest[2*i]= av_clip_uint8(v>>19);\n\n uDest[2*i+1]= av_clip_uint8(u>>19);\n\n }\n\n}\n", "idx": 3621}353{"project": "qemu", "commit_id": "1ee24514aed34760fb2863d98bea3a1b705d9c9f", "target": 1, "func": "static void nvme_process_db(NvmeCtrl *n, hwaddr addr, int val)\n\n{\n\n uint32_t qid;\n\n\n\n if (addr & ((1 << 2) - 1)) {\n\n return;\n\n }\n\n\n\n if (((addr - 0x1000) >> 2) & 1) {\n\n uint16_t new_head = val & 0xffff;\n\n int start_sqs;\n\n NvmeCQueue *cq;\n\n\n\n qid = (addr - (0x1000 + (1 << 2))) >> 3;\n\n if (nvme_check_cqid(n, qid)) {\n\n return;\n\n }\n\n\n\n cq = n->cq[qid];\n\n if (new_head >= cq->size) {\n\n return;\n\n }\n\n\n\n start_sqs = nvme_cq_full(cq) ? 1 : 0;\n\n cq->head = new_head;\n\n if (start_sqs) {\n\n NvmeSQueue *sq;\n\n QTAILQ_FOREACH(sq, &cq->sq_list, entry) {\n\n timer_mod(sq->timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + 500);\n\n }\n\n timer_mod(cq->timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + 500);\n\n }\n\n\n\n if (cq->tail != cq->head) {\n\n nvme_isr_notify(n, cq);\n\n }\n\n } else {\n\n uint16_t new_tail = val & 0xffff;\n\n NvmeSQueue *sq;\n\n\n\n qid = (addr - 0x1000) >> 3;\n\n if (nvme_check_sqid(n, qid)) {\n\n return;\n\n }\n\n\n\n sq = n->sq[qid];\n\n if (new_tail >= sq->size) {\n\n return;\n\n }\n\n\n\n sq->tail = new_tail;\n\n timer_mod(sq->timer, qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL) + 500);\n\n }\n\n}\n", "idx": 3634}354{"project": "FFmpeg", "commit_id": "8b27f76bf8790536afccb96780b5feb9c65636be", "target": 0, "func": "static av_cold void build_modpred(Indeo3DecodeContext *s)\n\n{\n\n int i, j;\n\n\n\n s->ModPred = av_malloc(8 * 128);\n\n\n\n for (i=0; i < 128; ++i) {\n\n s->ModPred[i+0*128] = i > 126 ? 254 : 2*(i + 1 - ((i + 1) % 2));\n\n s->ModPred[i+1*128] = i == 7 ? 20 :\n\n i == 119 ||\n\n i == 120 ? 236 : 2*(i + 2 - ((i + 1) % 3));\n\n s->ModPred[i+2*128] = i > 125 ? 248 : 2*(i + 2 - ((i + 2) % 4));\n\n s->ModPred[i+3*128] = 2*(i + 1 - ((i - 3) % 5));\n\n s->ModPred[i+4*128] = i == 8 ? 20 : 2*(i + 1 - ((i - 3) % 6));\n\n s->ModPred[i+5*128] = 2*(i + 4 - ((i + 3) % 7));\n\n s->ModPred[i+6*128] = i > 123 ? 240 : 2*(i + 4 - ((i + 4) % 8));\n\n s->ModPred[i+7*128] = 2*(i + 5 - ((i + 4) % 9));\n\n }\n\n\n\n s->corrector_type = av_malloc(24 * 256);\n\n\n\n for (i=0; i < 24; ++i) {\n\n for (j=0; j < 256; ++j) {\n\n s->corrector_type[i*256+j] = j < corrector_type_0[i] ? 1 :\n\n j < 248 || (i == 16 && j == 248) ? 0 :\n\n corrector_type_2[j - 248];\n\n }\n\n }\n\n}\n", "idx": 3658}355{"project": "qemu", "commit_id": "7d1b0095bff7157e856d1d0e6c4295641ced2752", "target": 1, "func": "static void gen_storeq_reg(DisasContext *s, int rlow, int rhigh, TCGv_i64 val)\n\n{\n\n TCGv tmp;\n\n tmp = new_tmp();\n\n tcg_gen_trunc_i64_i32(tmp, val);\n\n store_reg(s, rlow, tmp);\n\n tmp = new_tmp();\n\n tcg_gen_shri_i64(val, val, 32);\n\n tcg_gen_trunc_i64_i32(tmp, val);\n\n store_reg(s, rhigh, tmp);\n\n}\n", "idx": 3681}356{"project": "qemu", "commit_id": "4f4321c11ff6e98583846bfd6f0e81954924b003", "target": 1, "func": "static int ccid_bulk_in_copy_to_guest(USBCCIDState *s, uint8_t *data, int len)\n\n{\n\n int ret = 0;\n\n\n\n assert(len > 0);\n\n ccid_bulk_in_get(s);\n\n if (s->current_bulk_in != NULL) {\n\n ret = MIN(s->current_bulk_in->len - s->current_bulk_in->pos, len);\n\n memcpy(data, s->current_bulk_in->data + s->current_bulk_in->pos, ret);\n\n s->current_bulk_in->pos += ret;\n\n if (s->current_bulk_in->pos == s->current_bulk_in->len) {\n\n ccid_bulk_in_release(s);\n\n }\n\n } else {\n\n /* return when device has no data - usb 2.0 spec Table 8-4 */\n\n ret = USB_RET_NAK;\n\n }\n\n if (ret > 0) {\n\n DPRINTF(s, D_MORE_INFO,\n\n \"%s: %d/%d req/act to guest (BULK_IN)\\n\", __func__, len, ret);\n\n }\n\n if (ret != USB_RET_NAK && ret < len) {\n\n DPRINTF(s, 1,\n\n \"%s: returning short (EREMOTEIO) %d < %d\\n\", __func__, ret, len);\n\n }\n\n return ret;\n\n}\n", "idx": 3691}357{"project": "FFmpeg", "commit_id": "29c2fcb6776f80a0a5551bb82b43bc14c8202331", "target": 1, "func": "static void lms_update(WmallDecodeCtx *s, int ich, int ilms, int16_t input, int16_t pred)\n\n{\n\n int16_t icoef;\n\n int recent = s->cdlms[ich][ilms].recent;\n\n int16_t range = 1 << (s->bits_per_sample - 1);\n\n int bps = s->bits_per_sample > 16 ? 4 : 2; // bytes per sample\n\n\n\n if (input > pred) {\n\n for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++)\n\n s->cdlms[ich][ilms].coefs[icoef] +=\n\n s->cdlms[ich][ilms].lms_updates[icoef + recent];\n\n } else {\n\n for (icoef = 0; icoef < s->cdlms[ich][ilms].order; icoef++)\n\n s->cdlms[ich][ilms].coefs[icoef] -=\n\n s->cdlms[ich][ilms].lms_updates[icoef]; // XXX: [icoef + recent] ?\n\n }\n\n s->cdlms[ich][ilms].recent--;\n\n s->cdlms[ich][ilms].lms_prevvalues[recent] = av_clip(input, -range, range - 1);\n\n\n\n if (input > pred)\n\n s->cdlms[ich][ilms].lms_updates[recent] = s->update_speed[ich];\n\n else if (input < pred)\n\n s->cdlms[ich][ilms].lms_updates[recent] = -s->update_speed[ich];\n\n\n\n /* XXX: spec says:\n\n cdlms[iCh][ilms].updates[iRecent + cdlms[iCh][ilms].order >> 4] >>= 2;\n\n lms_updates[iCh][ilms][iRecent + cdlms[iCh][ilms].order >> 3] >>= 1;\n\n\n\n Questions is - are cdlms[iCh][ilms].updates[] and lms_updates[][][] two\n\n seperate buffers? Here I've assumed that the two are same which makes\n\n more sense to me.\n\n */\n\n s->cdlms[ich][ilms].lms_updates[recent + s->cdlms[ich][ilms].order >> 4] >>= 2;\n\n s->cdlms[ich][ilms].lms_updates[recent + s->cdlms[ich][ilms].order >> 3] >>= 1;\n\n /* XXX: recent + (s->cdlms[ich][ilms].order >> 4) ? */\n\n\n\n if (s->cdlms[ich][ilms].recent == 0) {\n\n /* XXX: This memcpy()s will probably fail if a fixed 32-bit buffer is used.\n\n follow kshishkov's suggestion of using a union. */\n\n memcpy(s->cdlms[ich][ilms].lms_prevvalues + s->cdlms[ich][ilms].order,\n\n s->cdlms[ich][ilms].lms_prevvalues,\n\n bps * s->cdlms[ich][ilms].order);\n\n memcpy(s->cdlms[ich][ilms].lms_updates + s->cdlms[ich][ilms].order,\n\n s->cdlms[ich][ilms].lms_updates,\n\n bps * s->cdlms[ich][ilms].order);\n\n s->cdlms[ich][ilms].recent = s->cdlms[ich][ilms].order;\n\n }\n\n}\n", "idx": 3714}358{"project": "FFmpeg", "commit_id": "2f86e7bd12d8023da3349f10490b1e5b64531e23", "target": 1, "func": "static int create_filter(AVFilterContext **filt_ctx, AVFilterGraph *ctx, int index,\n\n const char *filt_name, const char *args, AVClass *log_ctx)\n\n{\n\n AVFilter *filt;\n\n char inst_name[30];\n\n char tmp_args[256];\n\n int ret;\n\n\n\n snprintf(inst_name, sizeof(inst_name), \"Parsed filter %d %s\", index, filt_name);\n\n\n\n filt = avfilter_get_by_name(filt_name);\n\n\n\n if (!filt) {\n\n av_log(log_ctx, AV_LOG_ERROR,\n\n \"No such filter: '%s'\\n\", filt_name);\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n ret = avfilter_open(filt_ctx, filt, inst_name);\n\n if (!*filt_ctx) {\n\n av_log(log_ctx, AV_LOG_ERROR,\n\n \"Error creating filter '%s'\\n\", filt_name);\n\n return ret;\n\n }\n\n\n\n if ((ret = avfilter_graph_add_filter(ctx, *filt_ctx)) < 0) {\n\n avfilter_free(*filt_ctx);\n\n return ret;\n\n }\n\n\n\n if (!strcmp(filt_name, \"scale\") && !strstr(args, \"flags\")) {\n\n snprintf(tmp_args, sizeof(tmp_args), \"%s:%s\",\n\n args, ctx->scale_sws_opts);\n\n args = tmp_args;\n\n }\n\n\n\n if ((ret = avfilter_init_filter(*filt_ctx, args, NULL)) < 0) {\n\n av_log(log_ctx, AV_LOG_ERROR,\n\n \"Error initializing filter '%s' with args '%s'\\n\", filt_name, args);\n\n return ret;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 3721}359{"project": "FFmpeg", "commit_id": "dae7ff04160901a30a35af05f2f149b289c4f0b1", "target": 1, "func": "static void decode_mclms(WmallDecodeCtx *s)\n\n{\n\n s->mclms_order = (get_bits(&s->gb, 4) + 1) * 2;\n\n s->mclms_scaling = get_bits(&s->gb, 4);\n\n if(get_bits1(&s->gb)) {\n\n\t// mclms_send_coef\n\n\tint i;\n\n\tint send_coef_bits;\n\n\tint cbits = av_log2(s->mclms_scaling + 1);\n\n\tassert(cbits == my_log2(s->mclms_scaling + 1));\n\n\tif(1 << cbits < s->mclms_scaling + 1)\n\n\t cbits++;\n\n\n\n\tsend_coef_bits = (cbits ? get_bits(&s->gb, cbits) : 0) + 2;\n\n\n\n\tfor(i = 0; i < s->mclms_order * s->num_channels * s->num_channels; i++) {\n\n\t s->mclms_coeffs[i] = get_bits(&s->gb, send_coef_bits);\n\n\t}\n\n\n\n\tfor(i = 0; i < s->num_channels; i++) {\n\n\t int c;\n\n\t for(c = 0; c < i; c++) {\n\n\t\ts->mclms_coeffs_cur[i * s->num_channels + c] = get_bits(&s->gb, send_coef_bits);\n\n\t }\n\n\t}\n\n }\n\n}\n", "idx": 3722}360{"project": "qemu", "commit_id": "ad0ebb91cd8b5fdc4a583b03645677771f420a46", "target": 1, "func": "static void ppc_spapr_init(ram_addr_t ram_size,\n const char *boot_device,\n const char *kernel_filename,\n const char *kernel_cmdline,\n const char *initrd_filename,\n const char *cpu_model)\n{\n PowerPCCPU *cpu;\n CPUPPCState *env;\n int i;\n MemoryRegion *sysmem = get_system_memory();\n MemoryRegion *ram = g_new(MemoryRegion, 1);\n target_phys_addr_t rma_alloc_size, rma_size;\n uint32_t initrd_base = 0;\n long kernel_size = 0, initrd_size = 0;\n long load_limit, rtas_limit, fw_size;\n long pteg_shift = 17;\n char *filename;\n spapr = g_malloc0(sizeof(*spapr));\n QLIST_INIT(&spapr->phbs);\n cpu_ppc_hypercall = emulate_spapr_hypercall;\n /* Allocate RMA if necessary */\n rma_alloc_size = kvmppc_alloc_rma(\"ppc_spapr.rma\", sysmem);\n if (rma_alloc_size == -1) {\n hw_error(\"qemu: Unable to create RMA\\n\");\n exit(1);\n }\n if (rma_alloc_size && (rma_alloc_size < ram_size)) {\n rma_size = rma_alloc_size;\n } else {\n rma_size = ram_size;\n }\n /* We place the device tree and RTAS just below either the top of the RMA,\n * or just below 2GB, whichever is lowere, so that it can be\n * processed with 32-bit real mode code if necessary */\n rtas_limit = MIN(rma_size, 0x80000000);\n spapr->rtas_addr = rtas_limit - RTAS_MAX_SIZE;\n spapr->fdt_addr = spapr->rtas_addr - FDT_MAX_SIZE;\n load_limit = spapr->fdt_addr - FW_OVERHEAD;\n /* init CPUs */\n if (cpu_model == NULL) {\n cpu_model = kvm_enabled() ? \"host\" : \"POWER7\";\n }\n for (i = 0; i < smp_cpus; i++) {\n cpu = cpu_ppc_init(cpu_model);\n if (cpu == NULL) {\n fprintf(stderr, \"Unable to find PowerPC CPU definition\\n\");\n exit(1);\n }\n env = &cpu->env;\n /* Set time-base frequency to 512 MHz */\n cpu_ppc_tb_init(env, TIMEBASE_FREQ);\n qemu_register_reset(spapr_cpu_reset, cpu);\n env->hreset_vector = 0x60;\n env->hreset_excp_prefix = 0;\n env->gpr[3] = env->cpu_index;\n }\n /* allocate RAM */\n spapr->ram_limit = ram_size;\n if (spapr->ram_limit > rma_alloc_size) {\n ram_addr_t nonrma_base = rma_alloc_size;\n ram_addr_t nonrma_size = spapr->ram_limit - rma_alloc_size;\n memory_region_init_ram(ram, \"ppc_spapr.ram\", nonrma_size);\n vmstate_register_ram_global(ram);\n memory_region_add_subregion(sysmem, nonrma_base, ram);\n }\n /* allocate hash page table. For now we always make this 16mb,\n * later we should probably make it scale to the size of guest\n * RAM */\n spapr->htab_size = 1ULL << (pteg_shift + 7);\n spapr->htab = qemu_memalign(spapr->htab_size, spapr->htab_size);\n for (env = first_cpu; env != NULL; env = env->next_cpu) {\n env->external_htab = spapr->htab;\n env->htab_base = -1;\n env->htab_mask = spapr->htab_size - 1;\n /* Tell KVM that we're in PAPR mode */\n env->spr[SPR_SDR1] = (unsigned long)spapr->htab |\n ((pteg_shift + 7) - 18);\n env->spr[SPR_HIOR] = 0;\n if (kvm_enabled()) {\n kvmppc_set_papr(env);\n }\n }\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, \"spapr-rtas.bin\");\n spapr->rtas_size = load_image_targphys(filename, spapr->rtas_addr,\n rtas_limit - spapr->rtas_addr);\n if (spapr->rtas_size < 0) {\n hw_error(\"qemu: could not load LPAR rtas '%s'\\n\", filename);\n exit(1);\n }\n if (spapr->rtas_size > RTAS_MAX_SIZE) {\n hw_error(\"RTAS too big ! 0x%lx bytes (max is 0x%x)\\n\",\n spapr->rtas_size, RTAS_MAX_SIZE);\n exit(1);\n }\n g_free(filename);\n /* Set up Interrupt Controller */\n spapr->icp = xics_system_init(XICS_IRQS);\n spapr->next_irq = 16;\n /* Set up VIO bus */\n spapr->vio_bus = spapr_vio_bus_init();\n for (i = 0; i < MAX_SERIAL_PORTS; i++) {\n if (serial_hds[i]) {\n spapr_vty_create(spapr->vio_bus, serial_hds[i]);\n }\n }\n /* Set up PCI */\n spapr_create_phb(spapr, \"pci\", SPAPR_PCI_BUID,\n SPAPR_PCI_MEM_WIN_ADDR,\n SPAPR_PCI_MEM_WIN_SIZE,\n SPAPR_PCI_IO_WIN_ADDR);\n for (i = 0; i < nb_nics; i++) {\n NICInfo *nd = &nd_table[i];\n if (!nd->model) {\n nd->model = g_strdup(\"ibmveth\");\n }\n if (strcmp(nd->model, \"ibmveth\") == 0) {\n spapr_vlan_create(spapr->vio_bus, nd);\n } else {\n pci_nic_init_nofail(&nd_table[i], nd->model, NULL);\n }\n }\n for (i = 0; i <= drive_get_max_bus(IF_SCSI); i++) {\n spapr_vscsi_create(spapr->vio_bus);\n }\n if (rma_size < (MIN_RMA_SLOF << 20)) {\n fprintf(stderr, \"qemu: pSeries SLOF firmware requires >= \"\n \"%ldM guest RMA (Real Mode Area memory)\\n\", MIN_RMA_SLOF);\n exit(1);\n }\n fprintf(stderr, \"sPAPR memory map:\\n\");\n fprintf(stderr, \"RTAS : 0x%08lx..%08lx\\n\",\n (unsigned long)spapr->rtas_addr,\n (unsigned long)(spapr->rtas_addr + spapr->rtas_size - 1));\n fprintf(stderr, \"FDT : 0x%08lx..%08lx\\n\",\n (unsigned long)spapr->fdt_addr,\n (unsigned long)(spapr->fdt_addr + FDT_MAX_SIZE - 1));\n if (kernel_filename) {\n uint64_t lowaddr = 0;\n kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL,\n NULL, &lowaddr, NULL, 1, ELF_MACHINE, 0);\n if (kernel_size < 0) {\n kernel_size = load_image_targphys(kernel_filename,\n KERNEL_LOAD_ADDR,\n load_limit - KERNEL_LOAD_ADDR);\n }\n if (kernel_size < 0) {\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\",\n kernel_filename);\n exit(1);\n }\n fprintf(stderr, \"Kernel : 0x%08x..%08lx\\n\",\n KERNEL_LOAD_ADDR, KERNEL_LOAD_ADDR + kernel_size - 1);\n /* load initrd */\n if (initrd_filename) {\n /* Try to locate the initrd in the gap between the kernel\n * and the firmware. Add a bit of space just in case\n */\n initrd_base = (KERNEL_LOAD_ADDR + kernel_size + 0x1ffff) & ~0xffff;\n initrd_size = load_image_targphys(initrd_filename, initrd_base,\n load_limit - initrd_base);\n if (initrd_size < 0) {\n fprintf(stderr, \"qemu: could not load initial ram disk '%s'\\n\",\n initrd_filename);\n exit(1);\n }\n fprintf(stderr, \"Ramdisk : 0x%08lx..%08lx\\n\",\n (long)initrd_base, (long)(initrd_base + initrd_size - 1));\n } else {\n initrd_base = 0;\n initrd_size = 0;\n }\n }\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, FW_FILE_NAME);\n fw_size = load_image_targphys(filename, 0, FW_MAX_SIZE);\n if (fw_size < 0) {\n hw_error(\"qemu: could not load LPAR rtas '%s'\\n\", filename);\n exit(1);\n }\n g_free(filename);\n fprintf(stderr, \"Firmware load : 0x%08x..%08lx\\n\",\n 0, fw_size);\n fprintf(stderr, \"Firmware runtime : 0x%08lx..%08lx\\n\",\n load_limit, (unsigned long)spapr->fdt_addr);\n spapr->entry_point = 0x100;\n /* SLOF will startup the secondary CPUs using RTAS */\n for (env = first_cpu; env != NULL; env = env->next_cpu) {\n env->halted = 1;\n }\n /* Prepare the device tree */\n spapr->fdt_skel = spapr_create_fdt_skel(cpu_model, rma_size,\n initrd_base, initrd_size,\n kernel_size,\n boot_device, kernel_cmdline,\n pteg_shift + 7);\n assert(spapr->fdt_skel != NULL);\n qemu_register_reset(spapr_reset, spapr);\n}", "idx": 3731}361{"project": "FFmpeg", "commit_id": "69d0a2922f76e4e121c9f434bdf29f55b26c0c66", "target": 0, "func": "static av_cold int sonic_encode_init(AVCodecContext *avctx)\n\n{\n\n SonicContext *s = avctx->priv_data;\n\n PutBitContext pb;\n\n int i, version = 0;\n\n\n\n if (avctx->channels > MAX_CHANNELS)\n\n {\n\n av_log(avctx, AV_LOG_ERROR, \"Only mono and stereo streams are supported by now\\n\");\n\n return AVERROR(EINVAL); /* only stereo or mono for now */\n\n }\n\n\n\n if (avctx->channels == 2)\n\n s->decorrelation = MID_SIDE;\n\n else\n\n s->decorrelation = 3;\n\n\n\n if (avctx->codec->id == AV_CODEC_ID_SONIC_LS)\n\n {\n\n s->lossless = 1;\n\n s->num_taps = 32;\n\n s->downsampling = 1;\n\n s->quantization = 0.0;\n\n }\n\n else\n\n {\n\n s->num_taps = 128;\n\n s->downsampling = 2;\n\n s->quantization = 1.0;\n\n }\n\n\n\n // max tap 2048\n\n if ((s->num_taps < 32) || (s->num_taps > 1024) ||\n\n ((s->num_taps>>5)<<5 != s->num_taps))\n\n {\n\n av_log(avctx, AV_LOG_ERROR, \"Invalid number of taps\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n // generate taps\n\n s->tap_quant = av_calloc(s->num_taps, sizeof(*s->tap_quant));\n\n for (i = 0; i < s->num_taps; i++)\n\n s->tap_quant[i] = ff_sqrt(i+1);\n\n\n\n s->channels = avctx->channels;\n\n s->samplerate = avctx->sample_rate;\n\n\n\n s->block_align = 2048LL*s->samplerate/(44100*s->downsampling);\n\n s->frame_size = s->channels*s->block_align*s->downsampling;\n\n\n\n s->tail_size = s->num_taps*s->channels;\n\n s->tail = av_calloc(s->tail_size, sizeof(*s->tail));\n\n if (!s->tail)\n\n return AVERROR(ENOMEM);\n\n\n\n s->predictor_k = av_calloc(s->num_taps, sizeof(*s->predictor_k) );\n\n if (!s->predictor_k)\n\n return AVERROR(ENOMEM);\n\n\n\n for (i = 0; i < s->channels; i++)\n\n {\n\n s->coded_samples[i] = av_calloc(s->block_align, sizeof(**s->coded_samples));\n\n if (!s->coded_samples[i])\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n s->int_samples = av_calloc(s->frame_size, sizeof(*s->int_samples));\n\n\n\n s->window_size = ((2*s->tail_size)+s->frame_size);\n\n s->window = av_calloc(s->window_size, sizeof(*s->window));\n\n if (!s->window)\n\n return AVERROR(ENOMEM);\n\n\n\n avctx->extradata = av_mallocz(16);\n\n if (!avctx->extradata)\n\n return AVERROR(ENOMEM);\n\n init_put_bits(&pb, avctx->extradata, 16*8);\n\n\n\n put_bits(&pb, 2, version); // version\n\n if (version == 1)\n\n {\n\n put_bits(&pb, 2, s->channels);\n\n put_bits(&pb, 4, code_samplerate(s->samplerate));\n\n }\n\n put_bits(&pb, 1, s->lossless);\n\n if (!s->lossless)\n\n put_bits(&pb, 3, SAMPLE_SHIFT); // XXX FIXME: sample precision\n\n put_bits(&pb, 2, s->decorrelation);\n\n put_bits(&pb, 2, s->downsampling);\n\n put_bits(&pb, 5, (s->num_taps >> 5)-1); // 32..1024\n\n put_bits(&pb, 1, 0); // XXX FIXME: no custom tap quant table\n\n\n\n flush_put_bits(&pb);\n\n avctx->extradata_size = put_bits_count(&pb)/8;\n\n\n\n av_log(avctx, AV_LOG_INFO, \"Sonic: ver: %d ls: %d dr: %d taps: %d block: %d frame: %d downsamp: %d\\n\",\n\n version, s->lossless, s->decorrelation, s->num_taps, s->block_align, s->frame_size, s->downsampling);\n\n\n\n avctx->frame_size = s->block_align*s->downsampling;\n\n\n\n return 0;\n\n}\n", "idx": 3743}362{"project": "FFmpeg", "commit_id": "2005fddcbb4e18e8f7c34326e40609e4a2d83c31", "target": 0, "func": "int ff_h264_check_intra_pred_mode(H264Context *h, int mode, int is_chroma)\n\n{\n\n static const int8_t top[7] = { LEFT_DC_PRED8x8, 1, -1, -1 };\n\n static const int8_t left[7] = { TOP_DC_PRED8x8, -1, 2, -1, DC_128_PRED8x8 };\n\n\n\n if (mode > 6U) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"out of range intra chroma pred mode at %d %d\\n\",\n\n h->mb_x, h->mb_y);\n\n return -1;\n\n }\n\n\n\n if (!(h->top_samples_available & 0x8000)) {\n\n mode = top[mode];\n\n if (mode < 0) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"top block unavailable for requested intra mode at %d %d\\n\",\n\n h->mb_x, h->mb_y);\n\n return -1;\n\n }\n\n }\n\n\n\n if ((h->left_samples_available & 0x8080) != 0x8080) {\n\n mode = left[mode];\n\n if (is_chroma && (h->left_samples_available & 0x8080)) {\n\n // mad cow disease mode, aka MBAFF + constrained_intra_pred\n\n mode = ALZHEIMER_DC_L0T_PRED8x8 +\n\n (!(h->left_samples_available & 0x8000)) +\n\n 2 * (mode == DC_128_PRED8x8);\n\n }\n\n if (mode < 0) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"left block unavailable for requested intra mode at %d %d\\n\",\n\n h->mb_x, h->mb_y);\n\n return -1;\n\n }\n\n }\n\n\n\n return mode;\n\n}\n", "idx": 3748}363{"project": "qemu", "commit_id": "1ea879e5580f63414693655fcf0328559cdce138", "target": 0, "func": "void audio_pcm_init_info (struct audio_pcm_info *info, audsettings_t *as)\n\n{\n\n int bits = 8, sign = 0, shift = 0;\n\n\n\n switch (as->fmt) {\n\n case AUD_FMT_S8:\n\n sign = 1;\n\n case AUD_FMT_U8:\n\n break;\n\n\n\n case AUD_FMT_S16:\n\n sign = 1;\n\n case AUD_FMT_U16:\n\n bits = 16;\n\n shift = 1;\n\n break;\n\n\n\n case AUD_FMT_S32:\n\n sign = 1;\n\n case AUD_FMT_U32:\n\n bits = 32;\n\n shift = 2;\n\n break;\n\n }\n\n\n\n info->freq = as->freq;\n\n info->bits = bits;\n\n info->sign = sign;\n\n info->nchannels = as->nchannels;\n\n info->shift = (as->nchannels == 2) + shift;\n\n info->align = (1 << info->shift) - 1;\n\n info->bytes_per_second = info->freq << info->shift;\n\n info->swap_endianness = (as->endianness != AUDIO_HOST_ENDIANNESS);\n\n}\n", "idx": 3755}364{"project": "qemu", "commit_id": "4fb588e95bacb770746cc794ef165fd71a4d27ea", "target": 0, "func": "static void block_job_completed_txn_abort(BlockJob *job)\n\n{\n\n AioContext *ctx;\n\n BlockJobTxn *txn = job->txn;\n\n BlockJob *other_job, *next;\n\n\n\n if (txn->aborting) {\n\n /*\n\n * We are cancelled by another job, which will handle everything.\n\n */\n\n return;\n\n }\n\n txn->aborting = true;\n\n /* We are the first failed job. Cancel other jobs. */\n\n QLIST_FOREACH(other_job, &txn->jobs, txn_list) {\n\n ctx = blk_get_aio_context(other_job->blk);\n\n aio_context_acquire(ctx);\n\n }\n\n QLIST_FOREACH(other_job, &txn->jobs, txn_list) {\n\n if (other_job == job || other_job->completed) {\n\n /* Other jobs are \"effectively\" cancelled by us, set the status for\n\n * them; this job, however, may or may not be cancelled, depending\n\n * on the caller, so leave it. */\n\n if (other_job != job) {\n\n block_job_cancel_async(other_job);\n\n }\n\n continue;\n\n }\n\n block_job_cancel_sync(other_job);\n\n assert(other_job->completed);\n\n }\n\n QLIST_FOREACH_SAFE(other_job, &txn->jobs, txn_list, next) {\n\n ctx = blk_get_aio_context(other_job->blk);\n\n block_job_completed_single(other_job);\n\n aio_context_release(ctx);\n\n }\n\n}\n", "idx": 3763}365{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "void isa_mmio_setup(MemoryRegion *mr, target_phys_addr_t size)\n\n{\n\n memory_region_init_io(mr, &isa_mmio_ops, NULL, \"isa-mmio\", size);\n\n}\n", "idx": 3766}366{"project": "qemu", "commit_id": "bd269ebc82fbaa5fe7ce5bc7c1770ac8acecd884", "target": 0, "func": "int qio_channel_socket_dgram_sync(QIOChannelSocket *ioc,\n\n SocketAddressLegacy *localAddr,\n\n SocketAddressLegacy *remoteAddr,\n\n Error **errp)\n\n{\n\n int fd;\n\n\n\n trace_qio_channel_socket_dgram_sync(ioc, localAddr, remoteAddr);\n\n fd = socket_dgram(remoteAddr, localAddr, errp);\n\n if (fd < 0) {\n\n trace_qio_channel_socket_dgram_fail(ioc);\n\n return -1;\n\n }\n\n\n\n trace_qio_channel_socket_dgram_complete(ioc, fd);\n\n if (qio_channel_socket_set_fd(ioc, fd, errp) < 0) {\n\n close(fd);\n\n return -1;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 3770}367{"project": "qemu", "commit_id": "bb3cb951ef530da7d248051347c974e4d20e6ea0", "target": 0, "func": "static void dec_bit(DisasContext *dc)\n\n{\n\n TCGv t0, t1;\n\n unsigned int op;\n\n int mem_index = cpu_mmu_index(dc->env);\n\n\n\n op = dc->ir & ((1 << 9) - 1);\n\n switch (op) {\n\n case 0x21:\n\n /* src. */\n\n t0 = tcg_temp_new();\n\n\n\n LOG_DIS(\"src r%d r%d\\n\", dc->rd, dc->ra);\n\n tcg_gen_andi_tl(t0, cpu_R[dc->ra], 1);\n\n if (dc->rd) {\n\n t1 = tcg_temp_new();\n\n read_carry(dc, t1);\n\n tcg_gen_shli_tl(t1, t1, 31);\n\n\n\n tcg_gen_shri_tl(cpu_R[dc->rd], cpu_R[dc->ra], 1);\n\n tcg_gen_or_tl(cpu_R[dc->rd], cpu_R[dc->rd], t1);\n\n tcg_temp_free(t1);\n\n }\n\n\n\n /* Update carry. */\n\n write_carry(dc, t0);\n\n tcg_temp_free(t0);\n\n break;\n\n\n\n case 0x1:\n\n case 0x41:\n\n /* srl. */\n\n t0 = tcg_temp_new();\n\n LOG_DIS(\"srl r%d r%d\\n\", dc->rd, dc->ra);\n\n\n\n /* Update carry. */\n\n tcg_gen_andi_tl(t0, cpu_R[dc->ra], 1);\n\n write_carry(dc, t0);\n\n tcg_temp_free(t0);\n\n if (dc->rd) {\n\n if (op == 0x41)\n\n tcg_gen_shri_tl(cpu_R[dc->rd], cpu_R[dc->ra], 1);\n\n else\n\n tcg_gen_sari_tl(cpu_R[dc->rd], cpu_R[dc->ra], 1);\n\n }\n\n break;\n\n case 0x60:\n\n LOG_DIS(\"ext8s r%d r%d\\n\", dc->rd, dc->ra);\n\n tcg_gen_ext8s_i32(cpu_R[dc->rd], cpu_R[dc->ra]);\n\n break;\n\n case 0x61:\n\n LOG_DIS(\"ext16s r%d r%d\\n\", dc->rd, dc->ra);\n\n tcg_gen_ext16s_i32(cpu_R[dc->rd], cpu_R[dc->ra]);\n\n break;\n\n case 0x64:\n\n case 0x66:\n\n case 0x74:\n\n case 0x76:\n\n /* wdc. */\n\n LOG_DIS(\"wdc r%d\\n\", dc->ra);\n\n if ((dc->tb_flags & MSR_EE_FLAG)\n\n && mem_index == MMU_USER_IDX) {\n\n tcg_gen_movi_tl(cpu_SR[SR_ESR], ESR_EC_PRIVINSN);\n\n t_gen_raise_exception(dc, EXCP_HW_EXCP);\n\n return;\n\n }\n\n break;\n\n case 0x68:\n\n /* wic. */\n\n LOG_DIS(\"wic r%d\\n\", dc->ra);\n\n if ((dc->tb_flags & MSR_EE_FLAG)\n\n && mem_index == MMU_USER_IDX) {\n\n tcg_gen_movi_tl(cpu_SR[SR_ESR], ESR_EC_PRIVINSN);\n\n t_gen_raise_exception(dc, EXCP_HW_EXCP);\n\n return;\n\n }\n\n break;\n\n case 0xe0:\n\n if ((dc->tb_flags & MSR_EE_FLAG)\n\n && (dc->env->pvr.regs[2] & PVR2_ILL_OPCODE_EXC_MASK)\n\n && !((dc->env->pvr.regs[2] & PVR2_USE_PCMP_INSTR))) {\n\n tcg_gen_movi_tl(cpu_SR[SR_ESR], ESR_EC_ILLEGAL_OP);\n\n t_gen_raise_exception(dc, EXCP_HW_EXCP);\n\n }\n\n if (dc->env->pvr.regs[2] & PVR2_USE_PCMP_INSTR) {\n\n gen_helper_clz(cpu_R[dc->rd], cpu_R[dc->ra]);\n\n }\n\n break;\n\n case 0x1e0:\n\n /* swapb */\n\n LOG_DIS(\"swapb r%d r%d\\n\", dc->rd, dc->ra);\n\n tcg_gen_bswap32_i32(cpu_R[dc->rd], cpu_R[dc->ra]);\n\n break;\n\n case 0x1e2:\n\n /*swaph */\n\n LOG_DIS(\"swaph r%d r%d\\n\", dc->rd, dc->ra);\n\n tcg_gen_rotri_i32(cpu_R[dc->rd], cpu_R[dc->ra], 16);\n\n break;\n\n default:\n\n cpu_abort(dc->env, \"unknown bit oc=%x op=%x rd=%d ra=%d rb=%d\\n\",\n\n dc->pc, op, dc->rd, dc->ra, dc->rb);\n\n break;\n\n }\n\n}\n", "idx": 3778}368{"project": "qemu", "commit_id": "ec05ec26f940564b1e07bf88857035ec27e21dd8", "target": 0, "func": "int memory_region_get_fd(MemoryRegion *mr)\n\n{\n\n if (mr->alias) {\n\n return memory_region_get_fd(mr->alias);\n\n }\n\n\n\n assert(mr->terminates);\n\n\n\n return qemu_get_ram_fd(mr->ram_addr & TARGET_PAGE_MASK);\n\n}\n", "idx": 3795}369{"project": "qemu", "commit_id": "eabb7b91b36b202b4dac2df2d59d698e3aff197a", "target": 0, "func": "static void tcg_out_insn_3314(TCGContext *s, AArch64Insn insn,\n\n TCGReg r1, TCGReg r2, TCGReg rn,\n\n tcg_target_long ofs, bool pre, bool w)\n\n{\n\n insn |= 1u << 31; /* ext */\n\n insn |= pre << 24;\n\n insn |= w << 23;\n\n\n\n assert(ofs >= -0x200 && ofs < 0x200 && (ofs & 7) == 0);\n\n insn |= (ofs & (0x7f << 3)) << (15 - 3);\n\n\n\n tcg_out32(s, insn | r2 << 10 | rn << 5 | r1);\n\n}\n", "idx": 3811}370{"project": "qemu", "commit_id": "2e84849aa2cc7f220d3b3668f5f7e3c57bb1b590", "target": 0, "func": "static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, void *opaque,\n\n const char *name, Error **errp)\n\n{\n\n X86CPU *cpu = X86_CPU(obj);\n\n const int64_t min = 0;\n\n const int64_t max = INT_MAX;\n\n int64_t value;\n\n\n\n visit_type_int(v, &value, name, errp);\n\n if (error_is_set(errp)) {\n\n return;\n\n }\n\n if (value < min || value > max) {\n\n error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE, \"\",\n\n name ? name : \"null\", value, min, max);\n\n return;\n\n }\n\n\n\n cpu->env.tsc_khz = value / 1000;\n\n}\n", "idx": 3815}371{"project": "qemu", "commit_id": "6764579f894950afe87d8ec3b323adde8925d4fd", "target": 1, "func": "static int cow_create(const char *filename, QemuOpts *opts, Error **errp)\n\n{\n\n struct cow_header_v2 cow_header;\n\n struct stat st;\n\n int64_t image_sectors = 0;\n\n char *image_filename = NULL;\n\n Error *local_err = NULL;\n\n int ret;\n\n BlockDriverState *cow_bs;\n\n\n\n /* Read out options */\n\n image_sectors = qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0) / 512;\n\n image_filename = qemu_opt_get_del(opts, BLOCK_OPT_BACKING_FILE);\n\n\n\n ret = bdrv_create_file(filename, opts, &local_err);\n\n if (ret < 0) {\n\n error_propagate(errp, local_err);\n\n goto exit;\n\n }\n\n\n\n cow_bs = NULL;\n\n ret = bdrv_open(&cow_bs, filename, NULL, NULL,\n\n BDRV_O_RDWR | BDRV_O_PROTOCOL, NULL, &local_err);\n\n if (ret < 0) {\n\n error_propagate(errp, local_err);\n\n goto exit;\n\n }\n\n\n\n memset(&cow_header, 0, sizeof(cow_header));\n\n cow_header.magic = cpu_to_be32(COW_MAGIC);\n\n cow_header.version = cpu_to_be32(COW_VERSION);\n\n if (image_filename) {\n\n /* Note: if no file, we put a dummy mtime */\n\n cow_header.mtime = cpu_to_be32(0);\n\n\n\n if (stat(image_filename, &st) != 0) {\n\n goto mtime_fail;\n\n }\n\n cow_header.mtime = cpu_to_be32(st.st_mtime);\n\n mtime_fail:\n\n pstrcpy(cow_header.backing_file, sizeof(cow_header.backing_file),\n\n image_filename);\n\n }\n\n cow_header.sectorsize = cpu_to_be32(512);\n\n cow_header.size = cpu_to_be64(image_sectors * 512);\n\n ret = bdrv_pwrite(cow_bs, 0, &cow_header, sizeof(cow_header));\n\n if (ret < 0) {\n\n goto exit;\n\n }\n\n\n\n /* resize to include at least all the bitmap */\n\n ret = bdrv_truncate(cow_bs,\n\n sizeof(cow_header) + ((image_sectors + 7) >> 3));\n\n if (ret < 0) {\n\n goto exit;\n\n }\n\n\n\nexit:\n\n g_free(image_filename);\n\n bdrv_unref(cow_bs);\n\n return ret;\n\n}\n", "idx": 3824}372{"project": "FFmpeg", "commit_id": "4a023d5b53132ced3643d0e8397baa80cf75f656", "target": 0, "func": "static av_cold int check_format(AVCodecContext *avctx)\n\n{\n\n AVCodecParserContext *parser;\n\n uint8_t *pout;\n\n int psize;\n\n int index;\n\n H264Context *h;\n\n int ret = -1;\n\n\n\n /* init parser & parse file */\n\n parser = av_parser_init(avctx->codec->id);\n\n if (!parser) {\n\n av_log(avctx, AV_LOG_ERROR, \"Failed to open H.264 parser.\\n\");\n\n goto final;\n\n }\n\n parser->flags = PARSER_FLAG_COMPLETE_FRAMES;\n\n index = av_parser_parse2(parser, avctx, &pout, &psize, NULL, 0, 0, 0, 0);\n\n if (index < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"Failed to parse this file.\\n\");\n\n goto release_parser;\n\n }\n\n\n\n /* check if support */\n\n h = parser->priv_data;\n\n switch (h->sps.bit_depth_luma) {\n\n case 8:\n\n if (!CHROMA444(h) && !CHROMA422(h)) {\n\n // only this will H.264 decoder switch to hwaccel\n\n ret = 0;\n\n break;\n\n }\n\n default:\n\n av_log(avctx, AV_LOG_ERROR, \"Unsupported file.\\n\");\n\n }\n\n\n\nrelease_parser:\n\n av_parser_close(parser);\n\n\n\nfinal:\n\n return ret;\n\n}\n", "idx": 3832}373{"project": "qemu", "commit_id": "a7812ae412311d7d47f8aa85656faadac9d64b56", "target": 0, "func": "static unsigned int dec_move_mr(DisasContext *dc)\n\n{\n\n\tint memsize = memsize_zz(dc);\n\n\tint insn_len;\n\n\tDIS(fprintf (logfile, \"move.%c [$r%u%s, $r%u\\n\",\n\n\t\t memsize_char(memsize),\n\n\t\t dc->op1, dc->postinc ? \"+]\" : \"]\",\n\n\t\t dc->op2));\n\n\n\n\tif (memsize == 4) {\n\n\t\tinsn_len = dec_prep_move_m(dc, 0, 4, cpu_R[dc->op2]);\n\n\t\tcris_cc_mask(dc, CC_MASK_NZ);\n\n\t\tcris_update_cc_op(dc, CC_OP_MOVE, 4);\n\n\t\tcris_update_cc_x(dc);\n\n\t\tcris_update_result(dc, cpu_R[dc->op2]);\n\n\t}\n\n\telse {\n\n\t\tTCGv t0;\n\n\n\n\t\tt0 = tcg_temp_new(TCG_TYPE_TL);\n\n\t\tinsn_len = dec_prep_move_m(dc, 0, memsize, t0);\n\n\t\tcris_cc_mask(dc, CC_MASK_NZ);\n\n\t\tcris_alu(dc, CC_OP_MOVE,\n\n\t\t\t cpu_R[dc->op2], cpu_R[dc->op2], t0, memsize);\n\n\t\ttcg_temp_free(t0);\n\n\t}\n\n\tdo_postinc(dc, memsize);\n\n\treturn insn_len;\n\n}\n", "idx": 3834}374{"project": "qemu", "commit_id": "048c74c4379789d03c857cea038ec00d95b68eaf", "target": 0, "func": "static int rtc_initfn(ISADevice *dev)\n\n{\n\n RTCState *s = DO_UPCAST(RTCState, dev, dev);\n\n int base = 0x70;\n\n int isairq = 8;\n\n\n\n isa_init_irq(dev, &s->irq, isairq);\n\n\n\n s->cmos_data[RTC_REG_A] = 0x26;\n\n s->cmos_data[RTC_REG_B] = 0x02;\n\n s->cmos_data[RTC_REG_C] = 0x00;\n\n s->cmos_data[RTC_REG_D] = 0x80;\n\n\n\n rtc_set_date_from_host(s);\n\n\n\n s->periodic_timer = qemu_new_timer(rtc_clock, rtc_periodic_timer, s);\n\n#ifdef TARGET_I386\n\n if (rtc_td_hack)\n\n s->coalesced_timer =\n\n qemu_new_timer(rtc_clock, rtc_coalesced_timer, s);\n\n#endif\n\n s->second_timer = qemu_new_timer(rtc_clock, rtc_update_second, s);\n\n s->second_timer2 = qemu_new_timer(rtc_clock, rtc_update_second2, s);\n\n\n\n s->next_second_time =\n\n qemu_get_clock(rtc_clock) + (get_ticks_per_sec() * 99) / 100;\n\n qemu_mod_timer(s->second_timer2, s->next_second_time);\n\n\n\n register_ioport_write(base, 2, 1, cmos_ioport_write, s);\n\n register_ioport_read(base, 2, 1, cmos_ioport_read, s);\n\n\n\n register_savevm(\"mc146818rtc\", base, 1, rtc_save, rtc_load, s);\n\n#ifdef TARGET_I386\n\n if (rtc_td_hack)\n\n register_savevm(\"mc146818rtc-td\", base, 1, rtc_save_td, rtc_load_td, s);\n\n#endif\n\n qemu_register_reset(rtc_reset, s);\n\n return 0;\n\n}\n", "idx": 3838}375{"project": "qemu", "commit_id": "1f8828ef573c83365b4a87a776daf8bcef1caa21", "target": 0, "func": "static int virtio_net_load(QEMUFile *f, void *opaque, int version_id)\n\n{\n\n VirtIONet *n = opaque;\n\n VirtIODevice *vdev = VIRTIO_DEVICE(n);\n\n\n\n if (version_id < 2 || version_id > VIRTIO_NET_VM_VERSION)\n\n return -EINVAL;\n\n\n\n return virtio_load(vdev, f, version_id);\n\n}\n", "idx": 3845}376{"project": "FFmpeg", "commit_id": "3f8148911c6e6e1f2a042bd4ca3ad8516a92130c", "target": 0, "func": "static int read_packet(AVFormatContext *s1, AVPacket *pkt)\n\n{\n\n VideoDemuxData *s = s1->priv_data;\n\n char filename_bytes[1024];\n\n char *filename = filename_bytes;\n\n int i;\n\n int size[3]={0}, ret[3]={0};\n\n AVIOContext *f[3] = {NULL};\n\n AVCodecContext *codec= s1->streams[0]->codec;\n\n\n\n if (!s->is_pipe) {\n\n /* loop over input */\n\n if (s->loop && s->img_number > s->img_last) {\n\n s->img_number = s->img_first;\n\n }\n\n if (s->img_number > s->img_last)\n\n return AVERROR_EOF;\n\n if (s->use_glob) {\n\n#if HAVE_GLOB\n\n filename = s->globstate.gl_pathv[s->img_number];\n\n#endif\n\n } else {\n\n if (av_get_frame_filename(filename_bytes, sizeof(filename_bytes),\n\n s->path, s->img_number)<0 && s->img_number > 1)\n\n return AVERROR(EIO);\n\n }\n\n for(i=0; i<3; i++){\n\n if (avio_open2(&f[i], filename, AVIO_FLAG_READ,\n\n &s1->interrupt_callback, NULL) < 0) {\n\n if(i>=1)\n\n break;\n\n av_log(s1, AV_LOG_ERROR, \"Could not open file : %s\\n\",filename);\n\n return AVERROR(EIO);\n\n }\n\n size[i]= avio_size(f[i]);\n\n\n\n if(!s->split_planes)\n\n break;\n\n filename[ strlen(filename) - 1 ]= 'U' + i;\n\n }\n\n\n\n if(codec->codec_id == AV_CODEC_ID_RAWVIDEO && !codec->width)\n\n infer_size(&codec->width, &codec->height, size[0]);\n\n } else {\n\n f[0] = s1->pb;\n\n if (url_feof(f[0]))\n\n return AVERROR(EIO);\n\n size[0]= 4096;\n\n }\n\n\n\n av_new_packet(pkt, size[0] + size[1] + size[2]);\n\n pkt->stream_index = 0;\n\n pkt->flags |= AV_PKT_FLAG_KEY;\n\n\n\n pkt->size= 0;\n\n for(i=0; i<3; i++){\n\n if(f[i]){\n\n ret[i]= avio_read(f[i], pkt->data + pkt->size, size[i]);\n\n if (!s->is_pipe)\n\n avio_close(f[i]);\n\n if(ret[i]>0)\n\n pkt->size += ret[i];\n\n }\n\n }\n\n\n\n if (ret[0] <= 0 || ret[1]<0 || ret[2]<0) {\n\n av_free_packet(pkt);\n\n return AVERROR(EIO); /* signal EOF */\n\n } else {\n\n s->img_count++;\n\n s->img_number++;\n\n return 0;\n\n }\n\n}\n", "idx": 3901}377{"project": "FFmpeg", "commit_id": "7ed47e97297fd5ef473d0cc93f0455adbadaac83", "target": 1, "func": "static int smacker_read_header(AVFormatContext *s)\n{\n AVIOContext *pb = s->pb;\n SmackerContext *smk = s->priv_data;\n AVStream *st, *ast[7];\n int i, ret;\n int tbase;\n /* read and check header */\n smk->magic = avio_rl32(pb);\n if (smk->magic != MKTAG('S', 'M', 'K', '2') && smk->magic != MKTAG('S', 'M', 'K', '4'))\n smk->width = avio_rl32(pb);\n smk->height = avio_rl32(pb);\n smk->frames = avio_rl32(pb);\n smk->pts_inc = (int32_t)avio_rl32(pb);\n smk->flags = avio_rl32(pb);\n if(smk->flags & SMACKER_FLAG_RING_FRAME)\n smk->frames++;\n for(i = 0; i < 7; i++)\n smk->audio[i] = avio_rl32(pb);\n smk->treesize = avio_rl32(pb);\n if(smk->treesize >= UINT_MAX/4){ // smk->treesize + 16 must not overflow (this check is probably redundant)\n av_log(s, AV_LOG_ERROR, \"treesize too large\\n\");\n//FIXME remove extradata \"rebuilding\"\n smk->mmap_size = avio_rl32(pb);\n smk->mclr_size = avio_rl32(pb);\n smk->full_size = avio_rl32(pb);\n smk->type_size = avio_rl32(pb);\n for(i = 0; i < 7; i++) {\n smk->rates[i] = avio_rl24(pb);\n smk->aflags[i] = avio_r8(pb);\n smk->pad = avio_rl32(pb);\n /* setup data */\n if(smk->frames > 0xFFFFFF) {\n av_log(s, AV_LOG_ERROR, \"Too many frames: %\"PRIu32\"\\n\", smk->frames);\n smk->frm_size = av_malloc_array(smk->frames, sizeof(*smk->frm_size));\n smk->frm_flags = av_malloc(smk->frames);\n if (!smk->frm_size || !smk->frm_flags) {\n av_freep(&smk->frm_size);\n av_freep(&smk->frm_flags);\n return AVERROR(ENOMEM);\n smk->is_ver4 = (smk->magic != MKTAG('S', 'M', 'K', '2'));\n /* read frame info */\n for(i = 0; i < smk->frames; i++) {\n smk->frm_size[i] = avio_rl32(pb);\n for(i = 0; i < smk->frames; i++) {\n smk->frm_flags[i] = avio_r8(pb);\n /* init video codec */\n st = avformat_new_stream(s, NULL);\n if (!st)\n return AVERROR(ENOMEM);\n smk->videoindex = st->index;\n st->codec->width = smk->width;\n st->codec->height = smk->height;\n st->codec->pix_fmt = AV_PIX_FMT_PAL8;\n st->codec->codec_type = AVMEDIA_TYPE_VIDEO;\n st->codec->codec_id = AV_CODEC_ID_SMACKVIDEO;\n st->codec->codec_tag = smk->magic;\n /* Smacker uses 100000 as internal timebase */\n if(smk->pts_inc < 0)\n smk->pts_inc = -smk->pts_inc;\n else\n smk->pts_inc *= 100;\n tbase = 100000;\n av_reduce(&tbase, &smk->pts_inc, tbase, smk->pts_inc, (1UL<<31)-1);\n avpriv_set_pts_info(st, 33, smk->pts_inc, tbase);\n st->duration = smk->frames;\n /* handle possible audio streams */\n for(i = 0; i < 7; i++) {\n smk->indexes[i] = -1;\n if (smk->rates[i]) {\n ast[i] = avformat_new_stream(s, NULL);\n if (!ast[i])\n return AVERROR(ENOMEM);\n smk->indexes[i] = ast[i]->index;\n ast[i]->codec->codec_type = AVMEDIA_TYPE_AUDIO;\n if (smk->aflags[i] & SMK_AUD_BINKAUD) {\n ast[i]->codec->codec_id = AV_CODEC_ID_BINKAUDIO_RDFT;\n } else if (smk->aflags[i] & SMK_AUD_USEDCT) {\n ast[i]->codec->codec_id = AV_CODEC_ID_BINKAUDIO_DCT;\n } else if (smk->aflags[i] & SMK_AUD_PACKED){\n ast[i]->codec->codec_id = AV_CODEC_ID_SMACKAUDIO;\n ast[i]->codec->codec_tag = MKTAG('S', 'M', 'K', 'A');\n } else {\n ast[i]->codec->codec_id = AV_CODEC_ID_PCM_U8;\n if (smk->aflags[i] & SMK_AUD_STEREO) {\n ast[i]->codec->channels = 2;\n ast[i]->codec->channel_layout = AV_CH_LAYOUT_STEREO;\n } else {\n ast[i]->codec->channels = 1;\n ast[i]->codec->channel_layout = AV_CH_LAYOUT_MONO;\n ast[i]->codec->sample_rate = smk->rates[i];\n ast[i]->codec->bits_per_coded_sample = (smk->aflags[i] & SMK_AUD_16BITS) ? 16 : 8;\n if(ast[i]->codec->bits_per_coded_sample == 16 && ast[i]->codec->codec_id == AV_CODEC_ID_PCM_U8)\n ast[i]->codec->codec_id = AV_CODEC_ID_PCM_S16LE;\n avpriv_set_pts_info(ast[i], 64, 1, ast[i]->codec->sample_rate\n * ast[i]->codec->channels * ast[i]->codec->bits_per_coded_sample / 8);\n /* load trees to extradata, they will be unpacked by decoder */\n if(ff_alloc_extradata(st->codec, smk->treesize + 16)){\n av_log(s, AV_LOG_ERROR,\n \"Cannot allocate %\"PRIu32\" bytes of extradata\\n\",\n smk->treesize + 16);\n av_freep(&smk->frm_size);\n av_freep(&smk->frm_flags);\n return AVERROR(ENOMEM);\n ret = avio_read(pb, st->codec->extradata + 16, st->codec->extradata_size - 16);\n if(ret != st->codec->extradata_size - 16){\n av_freep(&smk->frm_size);\n av_freep(&smk->frm_flags);\n return AVERROR(EIO);\n ((int32_t*)st->codec->extradata)[0] = av_le2ne32(smk->mmap_size);\n ((int32_t*)st->codec->extradata)[1] = av_le2ne32(smk->mclr_size);\n ((int32_t*)st->codec->extradata)[2] = av_le2ne32(smk->full_size);\n ((int32_t*)st->codec->extradata)[3] = av_le2ne32(smk->type_size);\n smk->curstream = -1;\n smk->nextpos = avio_tell(pb);\n return 0;", "idx": 3913}378{"project": "qemu", "commit_id": "9f1963b3f72521f75a549f8afd61b19e7da63c6f", "target": 0, "func": "static int coroutine_fn raw_co_discard(BlockDriverState *bs,\n\n int64_t sector_num, int nb_sectors)\n\n{\n\n return bdrv_co_discard(bs->file->bs, sector_num, nb_sectors);\n\n}\n", "idx": 3920}379{"project": "qemu", "commit_id": "61007b316cd71ee7333ff7a0a749a8949527575f", "target": 0, "func": "BlockAIOCB *bdrv_aio_write_zeroes(BlockDriverState *bs,\n\n int64_t sector_num, int nb_sectors, BdrvRequestFlags flags,\n\n BlockCompletionFunc *cb, void *opaque)\n\n{\n\n trace_bdrv_aio_write_zeroes(bs, sector_num, nb_sectors, flags, opaque);\n\n\n\n return bdrv_co_aio_rw_vector(bs, sector_num, NULL, nb_sectors,\n\n BDRV_REQ_ZERO_WRITE | flags,\n\n cb, opaque, true);\n\n}\n", "idx": 3924}380{"project": "qemu", "commit_id": "25db9ebe15125deb32958c6df74996f745edf1f9", "target": 0, "func": "static void virtio_pci_reset(DeviceState *d)\n\n{\n\n VirtIOPCIProxy *proxy = container_of(d, VirtIOPCIProxy, pci_dev.qdev);\n\n virtio_reset(proxy->vdev);\n\n msix_reset(&proxy->pci_dev);\n\n proxy->flags = 0;\n\n}\n", "idx": 3926}381{"project": "qemu", "commit_id": "eabb7b91b36b202b4dac2df2d59d698e3aff197a", "target": 0, "func": "static void tcg_out_dat_rIK(TCGContext *s, int cond, int opc, int opinv,\n\n TCGReg dst, TCGReg lhs, TCGArg rhs,\n\n bool rhs_is_const)\n\n{\n\n /* Emit either the reg,imm or reg,reg form of a data-processing insn.\n\n * rhs must satisfy the \"rIK\" constraint.\n\n */\n\n if (rhs_is_const) {\n\n int rot = encode_imm(rhs);\n\n if (rot < 0) {\n\n rhs = ~rhs;\n\n rot = encode_imm(rhs);\n\n assert(rot >= 0);\n\n opc = opinv;\n\n }\n\n tcg_out_dat_imm(s, cond, opc, dst, lhs, rotl(rhs, rot) | (rot << 7));\n\n } else {\n\n tcg_out_dat_reg(s, cond, opc, dst, lhs, rhs, SHIFT_IMM_LSL(0));\n\n }\n\n}\n", "idx": 3933}382{"project": "qemu", "commit_id": "7bd427d801e1e3293a634d3c83beadaa90ffb911", "target": 0, "func": "static int twl92230_init(i2c_slave *i2c)\n\n{\n\n MenelausState *s = FROM_I2C_SLAVE(MenelausState, i2c);\n\n\n\n s->rtc.hz_tm = qemu_new_timer(rt_clock, menelaus_rtc_hz, s);\n\n /* Three output pins plus one interrupt pin. */\n\n qdev_init_gpio_out(&i2c->qdev, s->out, 4);\n\n qdev_init_gpio_in(&i2c->qdev, menelaus_gpio_set, 3);\n\n s->pwrbtn = qemu_allocate_irqs(menelaus_pwrbtn_set, s, 1)[0];\n\n\n\n menelaus_reset(&s->i2c);\n\n\n\n return 0;\n\n}\n", "idx": 3946}383{"project": "FFmpeg", "commit_id": "e8c4df40e399fc87c6167c5557c11e0d904ca720", "target": 1, "func": "static int mov_write_packet(AVFormatContext *s, AVPacket *pkt)\n\n{\n\n MOVContext *mov = s->priv_data;\n\n ByteIOContext *pb = s->pb;\n\n MOVTrack *trk = &mov->tracks[pkt->stream_index];\n\n AVCodecContext *enc = trk->enc;\n\n unsigned int samplesInChunk = 0;\n\n int size= pkt->size;\n\n\n\n if (url_is_streamed(s->pb)) return 0; /* Can't handle that */\n\n if (!size) return 0; /* Discard 0 sized packets */\n\n\n\n if (enc->codec_id == CODEC_ID_AMR_NB) {\n\n /* We must find out how many AMR blocks there are in one packet */\n\n static uint16_t packed_size[16] =\n\n {13, 14, 16, 18, 20, 21, 27, 32, 6, 0, 0, 0, 0, 0, 0, 0};\n\n int len = 0;\n\n\n\n while (len < size && samplesInChunk < 100) {\n\n len += packed_size[(pkt->data[len] >> 3) & 0x0F];\n\n samplesInChunk++;\n\n }\n\n if(samplesInChunk > 1){\n\n av_log(s, AV_LOG_ERROR, \"fatal error, input is not a single packet, implement a AVParser for it\\n\");\n\n return -1;\n\n }\n\n } else if (trk->sampleSize)\n\n samplesInChunk = size/trk->sampleSize;\n\n else\n\n samplesInChunk = 1;\n\n\n\n /* copy extradata if it exists */\n\n if (trk->vosLen == 0 && enc->extradata_size > 0) {\n\n trk->vosLen = enc->extradata_size;\n\n trk->vosData = av_malloc(trk->vosLen);\n\n memcpy(trk->vosData, enc->extradata, trk->vosLen);\n\n }\n\n\n\n if (enc->codec_id == CODEC_ID_H264 && trk->vosLen > 0 && *(uint8_t *)trk->vosData != 1) {\n\n /* from x264 or from bytestream h264 */\n\n /* nal reformating needed */\n\n int ret = ff_avc_parse_nal_units(pkt->data, &pkt->data, &pkt->size);\n\n if (ret < 0)\n\n return ret;\n\n assert(pkt->size);\n\n size = pkt->size;\n\n } else if (enc->codec_id == CODEC_ID_DNXHD && !trk->vosLen) {\n\n /* copy frame to create needed atoms */\n\n trk->vosLen = size;\n\n trk->vosData = av_malloc(size);\n\n\n\n memcpy(trk->vosData, pkt->data, size);\n\n }\n\n\n\n if (!(trk->entry % MOV_INDEX_CLUSTER_SIZE)) {\n\n trk->cluster = av_realloc(trk->cluster, (trk->entry + MOV_INDEX_CLUSTER_SIZE) * sizeof(*trk->cluster));\n\n if (!trk->cluster)\n\n return -1;\n\n }\n\n\n\n trk->cluster[trk->entry].pos = url_ftell(pb);\n\n trk->cluster[trk->entry].samplesInChunk = samplesInChunk;\n\n trk->cluster[trk->entry].size = size;\n\n trk->cluster[trk->entry].entries = samplesInChunk;\n\n trk->cluster[trk->entry].dts = pkt->dts;\n\n trk->trackDuration = pkt->dts - trk->cluster[0].dts + pkt->duration;\n\n\n\n if (pkt->pts == AV_NOPTS_VALUE) {\n\n av_log(s, AV_LOG_WARNING, \"pts has no value\\n\");\n\n pkt->pts = pkt->dts;\n\n }\n\n if (pkt->dts != pkt->pts)\n\n trk->hasBframes = 1;\n\n trk->cluster[trk->entry].cts = pkt->pts - pkt->dts;\n\n trk->cluster[trk->entry].key_frame = !!(pkt->flags & PKT_FLAG_KEY);\n\n if(trk->cluster[trk->entry].key_frame)\n\n trk->hasKeyframes++;\n\n trk->entry++;\n\n trk->sampleCount += samplesInChunk;\n\n mov->mdat_size += size;\n\n\n\n put_buffer(pb, pkt->data, size);\n\n\n\n put_flush_packet(pb);\n\n return 0;\n\n}", "idx": 3956}384{"project": "qemu", "commit_id": "b835e919f022d768abdf00e8dc94f1a23fdcab15", "target": 1, "func": "static void gen_st_cond (DisasContext *ctx, uint32_t opc, int rt,\n\n int base, int16_t offset)\n\n{\n\n const char *opn = \"st_cond\";\n\n TCGv t0, t1;\n\n\n\n t0 = tcg_temp_local_new();\n\n\n\n gen_base_offset_addr(ctx, t0, base, offset);\n\n /* Don't do NOP if destination is zero: we must perform the actual\n\n memory access. */\n\n\n\n t1 = tcg_temp_local_new();\n\n gen_load_gpr(t1, rt);\n\n switch (opc) {\n\n#if defined(TARGET_MIPS64)\n\n case OPC_SCD:\n\n save_cpu_state(ctx, 0);\n\n op_st_scd(t1, t0, rt, ctx);\n\n opn = \"scd\";\n\n break;\n\n#endif\n\n case OPC_SC:\n\n save_cpu_state(ctx, 1);\n\n op_st_sc(t1, t0, rt, ctx);\n\n opn = \"sc\";\n\n break;\n\n }\n\n (void)opn; /* avoid a compiler warning */\n\n MIPS_DEBUG(\"%s %s, %d(%s)\", opn, regnames[rt], offset, regnames[base]);\n\n tcg_temp_free(t1);\n\n tcg_temp_free(t0);\n\n}\n", "idx": 3960}385{"project": "qemu", "commit_id": "a718978ed58abc1ad92567a9c17525136be02a71", "target": 1, "func": "static int32_t bmdma_prepare_buf(IDEDMA *dma, int is_write)\n\n{\n\n BMDMAState *bm = DO_UPCAST(BMDMAState, dma, dma);\n\n IDEState *s = bmdma_active_if(bm);\n\n PCIDevice *pci_dev = PCI_DEVICE(bm->pci_dev);\n\n struct {\n\n uint32_t addr;\n\n uint32_t size;\n\n } prd;\n\n int l, len;\n\n\n\n pci_dma_sglist_init(&s->sg, pci_dev,\n\n s->nsector / (BMDMA_PAGE_SIZE / 512) + 1);\n\n s->io_buffer_size = 0;\n\n for(;;) {\n\n if (bm->cur_prd_len == 0) {\n\n /* end of table (with a fail safe of one page) */\n\n if (bm->cur_prd_last ||\n\n (bm->cur_addr - bm->addr) >= BMDMA_PAGE_SIZE) {\n\n return s->io_buffer_size;\n\n }\n\n pci_dma_read(pci_dev, bm->cur_addr, &prd, 8);\n\n bm->cur_addr += 8;\n\n prd.addr = le32_to_cpu(prd.addr);\n\n prd.size = le32_to_cpu(prd.size);\n\n len = prd.size & 0xfffe;\n\n if (len == 0)\n\n len = 0x10000;\n\n bm->cur_prd_len = len;\n\n bm->cur_prd_addr = prd.addr;\n\n bm->cur_prd_last = (prd.size & 0x80000000);\n\n }\n\n l = bm->cur_prd_len;\n\n if (l > 0) {\n\n qemu_sglist_add(&s->sg, bm->cur_prd_addr, l);\n\n\n\n /* Note: We limit the max transfer to be 2GiB.\n\n * This should accommodate the largest ATA transaction\n\n * for LBA48 (65,536 sectors) and 32K sector sizes. */\n\n if (s->sg.size > INT32_MAX) {\n\n error_report(\"IDE: sglist describes more than 2GiB.\");\n\n break;\n\n }\n\n bm->cur_prd_addr += l;\n\n bm->cur_prd_len -= l;\n\n s->io_buffer_size += l;\n\n }\n\n }\n\n\n\n qemu_sglist_destroy(&s->sg);\n\n s->io_buffer_size = 0;\n\n return -1;\n\n}\n", "idx": 3970}386{"project": "FFmpeg", "commit_id": "5a2ad7ede33b5d63c1f1b1313a218da62e1c0d48", "target": 0, "func": "static int apply_window_and_mdct(vorbis_enc_context *venc,\n\n float *audio, int samples)\n\n{\n\n int channel;\n\n const float * win = venc->win[0];\n\n int window_len = 1 << (venc->log2_blocksize[0] - 1);\n\n float n = (float)(1 << venc->log2_blocksize[0]) / 4.0;\n\n AVFloatDSPContext *fdsp = venc->fdsp;\n\n\n\n if (!venc->have_saved && !samples)\n\n return 0;\n\n\n\n if (venc->have_saved) {\n\n for (channel = 0; channel < venc->channels; channel++)\n\n memcpy(venc->samples + channel * window_len * 2,\n\n venc->saved + channel * window_len, sizeof(float) * window_len);\n\n } else {\n\n for (channel = 0; channel < venc->channels; channel++)\n\n memset(venc->samples + channel * window_len * 2, 0,\n\n sizeof(float) * window_len);\n\n }\n\n\n\n if (samples) {\n\n for (channel = 0; channel < venc->channels; channel++) {\n\n float *offset = venc->samples + channel * window_len * 2 + window_len;\n\n\n\n fdsp->vector_fmul_reverse(offset, audio + channel * window_len, win, samples);\n\n fdsp->vector_fmul_scalar(offset, offset, 1/n, samples);\n\n }\n\n } else {\n\n for (channel = 0; channel < venc->channels; channel++)\n\n memset(venc->samples + channel * window_len * 2 + window_len,\n\n 0, sizeof(float) * window_len);\n\n }\n\n\n\n for (channel = 0; channel < venc->channels; channel++)\n\n venc->mdct[0].mdct_calc(&venc->mdct[0], venc->coeffs + channel * window_len,\n\n venc->samples + channel * window_len * 2);\n\n\n\n if (samples) {\n\n for (channel = 0; channel < venc->channels; channel++) {\n\n float *offset = venc->saved + channel * window_len;\n\n\n\n fdsp->vector_fmul(offset, audio + channel * window_len, win, samples);\n\n fdsp->vector_fmul_scalar(offset, offset, 1/n, samples);\n\n }\n\n venc->have_saved = 1;\n\n } else {\n\n venc->have_saved = 0;\n\n }\n\n return 1;\n\n}\n", "idx": 3971}387{"project": "qemu", "commit_id": "591b320ad046b2780c1b2841b836b50ba8192f02", "target": 1, "func": "static inline int popcountl(unsigned long l)\n\n{\n\n return BITS_PER_LONG == 32 ? ctpop32(l) : ctpop64(l);\n\n}\n", "idx": 3977}388{"project": "FFmpeg", "commit_id": "8542f9c4f17125d483c40c0c5723842f1c982f81", "target": 1, "func": "static int32_t parse_gain(const char *gain)\n\n{\n\n char *fraction;\n\n int scale = 10000;\n\n int32_t mb = 0;\n\n int sign = 1;\n\n int db;\n\n\n\n if (!gain)\n\n return INT32_MIN;\n\n\n\n gain += strspn(gain, \" \\t\");\n\n\n\n if (*gain == '-')\n\n sign = -1;\n\n\n\n db = strtol(gain, &fraction, 0);\n\n if (*fraction++ == '.') {\n\n while (av_isdigit(*fraction) && scale) {\n\n mb += scale * (*fraction - '0');\n\n scale /= 10;\n\n fraction++;\n\n }\n\n }\n\n\n\n if (abs(db) > (INT32_MAX - mb) / 100000)\n\n return INT32_MIN;\n\n\n\n return db * 100000 + sign * mb;\n\n}\n", "idx": 3984}389{"project": "qemu", "commit_id": "c641483fbe0aa08cd7c0580d019dc2d5a7e71138", "target": 1, "func": "static inline void ide_dma_submit_check(IDEState *s,\n\n BlockDriverCompletionFunc *dma_cb)\n\n{\n\n if (s->bus->dma->aiocb)\n\n\treturn;\n\n dma_cb(s, -1);\n\n}\n", "idx": 3988}390{"project": "qemu", "commit_id": "d3c8c67469ee70fcae116d5abc277a7ebc8a19fd", "target": 1, "func": "static BlockStats *bdrv_query_bds_stats(const BlockDriverState *bs,\n\n bool query_backing)\n\n{\n\n BlockStats *s = NULL;\n\n\n\n s = g_malloc0(sizeof(*s));\n\n s->stats = g_malloc0(sizeof(*s->stats));\n\n\n\n if (!bs) {\n\n return s;\n\n }\n\n\n\n if (bdrv_get_node_name(bs)[0]) {\n\n s->has_node_name = true;\n\n s->node_name = g_strdup(bdrv_get_node_name(bs));\n\n }\n\n\n\n s->stats->wr_highest_offset = stat64_get(&bs->wr_highest_offset);\n\n\n\n if (bs->file) {\n\n s->has_parent = true;\n\n s->parent = bdrv_query_bds_stats(bs->file->bs, query_backing);\n\n }\n\n\n\n if (query_backing && bs->backing) {\n\n s->has_backing = true;\n\n s->backing = bdrv_query_bds_stats(bs->backing->bs, query_backing);\n\n }\n\n\n\n return s;\n\n}\n", "idx": 4006}391{"project": "FFmpeg", "commit_id": "6f1b2967712e25e4c39c506862982b3011e06532", "target": 1, "func": "static int lag_decode_zero_run_line(LagarithContext *l, uint8_t *dst,\n\n const uint8_t *src, const uint8_t *src_end,\n\n int width, int esc_count)\n\n{\n\n int i = 0;\n\n int count;\n\n uint8_t zero_run = 0;\n\n const uint8_t *src_start = src;\n\n uint8_t mask1 = -(esc_count < 2);\n\n uint8_t mask2 = -(esc_count < 3);\n\n uint8_t *end = dst + (width - 2);\n\n\n\n avpriv_request_sample(l->avctx, \"zero_run_line\");\n\n return AVERROR_PATCHWELCOME;\n\n\n\noutput_zeros:\n\n if (l->zeros_rem) {\n\n count = FFMIN(l->zeros_rem, width - i);\n\n if (end - dst < count) {\n\n av_log(l->avctx, AV_LOG_ERROR, \"Too many zeros remaining.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n memset(dst, 0, count);\n\n l->zeros_rem -= count;\n\n dst += count;\n\n }\n\n\n\n while (dst < end) {\n\n i = 0;\n\n while (!zero_run && dst + i < end) {\n\n i++;\n\n if (i+2 >= src_end - src)\n\n return AVERROR_INVALIDDATA;\n\n zero_run =\n\n !(src[i] | (src[i + 1] & mask1) | (src[i + 2] & mask2));\n\n }\n\n if (zero_run) {\n\n zero_run = 0;\n\n i += esc_count;\n\n memcpy(dst, src, i);\n\n dst += i;\n\n l->zeros_rem = lag_calc_zero_run(src[i]);\n\n\n\n src += i + 1;\n\n goto output_zeros;\n\n } else {\n\n memcpy(dst, src, i);\n\n src += i;\n\n dst += i;\n\n }\n\n }\n\n return src - src_start;\n\n}\n", "idx": 4009}392{"project": "qemu", "commit_id": "84593a0807004d852132eaa56edf24d55793d480", "target": 1, "func": "static int ram_init_all(RAMState **rsp)\n\n{\n\n Error *local_err = NULL;\n\n\n\n if (ram_state_init(rsp)) {\n\n return -1;\n\n }\n\n\n\n if (migrate_use_xbzrle()) {\n\n XBZRLE_cache_lock();\n\n XBZRLE.zero_target_page = g_malloc0(TARGET_PAGE_SIZE);\n\n XBZRLE.cache = cache_init(migrate_xbzrle_cache_size(),\n\n TARGET_PAGE_SIZE, &local_err);\n\n if (!XBZRLE.cache) {\n\n XBZRLE_cache_unlock();\n\n error_report_err(local_err);\n\n g_free(*rsp);\n\n *rsp = NULL;\n\n return -1;\n\n }\n\n XBZRLE_cache_unlock();\n\n\n\n /* We prefer not to abort if there is no memory */\n\n XBZRLE.encoded_buf = g_try_malloc0(TARGET_PAGE_SIZE);\n\n if (!XBZRLE.encoded_buf) {\n\n error_report(\"Error allocating encoded_buf\");\n\n g_free(*rsp);\n\n *rsp = NULL;\n\n return -1;\n\n }\n\n\n\n XBZRLE.current_buf = g_try_malloc(TARGET_PAGE_SIZE);\n\n if (!XBZRLE.current_buf) {\n\n error_report(\"Error allocating current_buf\");\n\n g_free(XBZRLE.encoded_buf);\n\n XBZRLE.encoded_buf = NULL;\n\n g_free(*rsp);\n\n *rsp = NULL;\n\n return -1;\n\n }\n\n }\n\n\n\n /* For memory_global_dirty_log_start below. */\n\n qemu_mutex_lock_iothread();\n\n\n\n qemu_mutex_lock_ramlist();\n\n rcu_read_lock();\n\n\n\n /* Skip setting bitmap if there is no RAM */\n\n if (ram_bytes_total()) {\n\n RAMBlock *block;\n\n\n\n QLIST_FOREACH_RCU(block, &ram_list.blocks, next) {\n\n unsigned long pages = block->max_length >> TARGET_PAGE_BITS;\n\n\n\n block->bmap = bitmap_new(pages);\n\n bitmap_set(block->bmap, 0, pages);\n\n if (migrate_postcopy_ram()) {\n\n block->unsentmap = bitmap_new(pages);\n\n bitmap_set(block->unsentmap, 0, pages);\n\n }\n\n }\n\n }\n\n\n\n memory_global_dirty_log_start();\n\n migration_bitmap_sync(*rsp);\n\n qemu_mutex_unlock_ramlist();\n\n qemu_mutex_unlock_iothread();\n\n rcu_read_unlock();\n\n\n\n return 0;\n\n}\n", "idx": 4017}393{"project": "FFmpeg", "commit_id": "86b0d9cd58137fc499f263267c3219ac6186b98e", "target": 0, "func": "static void av_always_inline filter_mb_edgecv( uint8_t *pix, int stride, int16_t bS[4], unsigned int qp, H264Context *h ) {\n\n const unsigned int index_a = qp + h->slice_alpha_c0_offset;\n\n const int alpha = alpha_table[index_a];\n\n const int beta = beta_table[qp + h->slice_beta_offset];\n\n if (alpha ==0 || beta == 0) return;\n\n\n\n if( bS[0] < 4 ) {\n\n int8_t tc[4];\n\n tc[0] = tc0_table[index_a][bS[0]]+1;\n\n tc[1] = tc0_table[index_a][bS[1]]+1;\n\n tc[2] = tc0_table[index_a][bS[2]]+1;\n\n tc[3] = tc0_table[index_a][bS[3]]+1;\n\n h->h264dsp.h264_h_loop_filter_chroma(pix, stride, alpha, beta, tc);\n\n } else {\n\n h->h264dsp.h264_h_loop_filter_chroma_intra(pix, stride, alpha, beta);\n\n }\n\n}\n", "idx": 4025}394{"project": "FFmpeg", "commit_id": "8c5cd1c9d33b4b287f85d42efb1aecfaee31de6c", "target": 1, "func": "static int decode_entropy_coded_image(WebPContext *s, enum ImageRole role,\n\n int w, int h)\n\n{\n\n ImageContext *img;\n\n HuffReader *hg;\n\n int i, j, ret, x, y, width;\n\n\n\n img = &s->image[role];\n\n img->role = role;\n\n\n\n if (!img->frame) {\n\n img->frame = av_frame_alloc();\n\n if (!img->frame)\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n img->frame->format = AV_PIX_FMT_ARGB;\n\n img->frame->width = w;\n\n img->frame->height = h;\n\n\n\n if (role == IMAGE_ROLE_ARGB && !img->is_alpha_primary) {\n\n ThreadFrame pt = { .f = img->frame };\n\n ret = ff_thread_get_buffer(s->avctx, &pt, 0);\n\n } else\n\n ret = av_frame_get_buffer(img->frame, 1);\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (get_bits1(&s->gb)) {\n\n img->color_cache_bits = get_bits(&s->gb, 4);\n\n if (img->color_cache_bits < 1 || img->color_cache_bits > 11) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"invalid color cache bits: %d\\n\",\n\n img->color_cache_bits);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n img->color_cache = av_mallocz_array(1 << img->color_cache_bits,\n\n sizeof(*img->color_cache));\n\n if (!img->color_cache)\n\n return AVERROR(ENOMEM);\n\n } else {\n\n img->color_cache_bits = 0;\n\n }\n\n\n\n img->nb_huffman_groups = 1;\n\n if (role == IMAGE_ROLE_ARGB && get_bits1(&s->gb)) {\n\n ret = decode_entropy_image(s);\n\n if (ret < 0)\n\n return ret;\n\n img->nb_huffman_groups = s->nb_huffman_groups;\n\n }\n\n img->huffman_groups = av_mallocz_array(img->nb_huffman_groups *\n\n HUFFMAN_CODES_PER_META_CODE,\n\n sizeof(*img->huffman_groups));\n\n if (!img->huffman_groups)\n\n return AVERROR(ENOMEM);\n\n\n\n for (i = 0; i < img->nb_huffman_groups; i++) {\n\n hg = &img->huffman_groups[i * HUFFMAN_CODES_PER_META_CODE];\n\n for (j = 0; j < HUFFMAN_CODES_PER_META_CODE; j++) {\n\n int alphabet_size = alphabet_sizes[j];\n\n if (!j && img->color_cache_bits > 0)\n\n alphabet_size += 1 << img->color_cache_bits;\n\n\n\n if (get_bits1(&s->gb)) {\n\n read_huffman_code_simple(s, &hg[j]);\n\n } else {\n\n ret = read_huffman_code_normal(s, &hg[j], alphabet_size);\n\n if (ret < 0)\n\n return ret;\n\n }\n\n }\n\n }\n\n\n\n width = img->frame->width;\n\n if (role == IMAGE_ROLE_ARGB && s->reduced_width > 0)\n\n width = s->reduced_width;\n\n\n\n x = 0; y = 0;\n\n while (y < img->frame->height) {\n\n int v;\n\n\n\n hg = get_huffman_group(s, img, x, y);\n\n v = huff_reader_get_symbol(&hg[HUFF_IDX_GREEN], &s->gb);\n\n if (v < NUM_LITERAL_CODES) {\n\n /* literal pixel values */\n\n uint8_t *p = GET_PIXEL(img->frame, x, y);\n\n p[2] = v;\n\n p[1] = huff_reader_get_symbol(&hg[HUFF_IDX_RED], &s->gb);\n\n p[3] = huff_reader_get_symbol(&hg[HUFF_IDX_BLUE], &s->gb);\n\n p[0] = huff_reader_get_symbol(&hg[HUFF_IDX_ALPHA], &s->gb);\n\n if (img->color_cache_bits)\n\n color_cache_put(img, AV_RB32(p));\n\n x++;\n\n if (x == width) {\n\n x = 0;\n\n y++;\n\n }\n\n } else if (v < NUM_LITERAL_CODES + NUM_LENGTH_CODES) {\n\n /* LZ77 backwards mapping */\n\n int prefix_code, length, distance, ref_x, ref_y;\n\n\n\n /* parse length and distance */\n\n prefix_code = v - NUM_LITERAL_CODES;\n\n if (prefix_code < 4) {\n\n length = prefix_code + 1;\n\n } else {\n\n int extra_bits = (prefix_code - 2) >> 1;\n\n int offset = 2 + (prefix_code & 1) << extra_bits;\n\n length = offset + get_bits(&s->gb, extra_bits) + 1;\n\n }\n\n prefix_code = huff_reader_get_symbol(&hg[HUFF_IDX_DIST], &s->gb);\n\n if (prefix_code > 39) {\n\n av_log(s->avctx, AV_LOG_ERROR,\n\n \"distance prefix code too large: %d\\n\", prefix_code);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (prefix_code < 4) {\n\n distance = prefix_code + 1;\n\n } else {\n\n int extra_bits = prefix_code - 2 >> 1;\n\n int offset = 2 + (prefix_code & 1) << extra_bits;\n\n distance = offset + get_bits(&s->gb, extra_bits) + 1;\n\n }\n\n\n\n /* find reference location */\n\n if (distance <= NUM_SHORT_DISTANCES) {\n\n int xi = lz77_distance_offsets[distance - 1][0];\n\n int yi = lz77_distance_offsets[distance - 1][1];\n\n distance = FFMAX(1, xi + yi * width);\n\n } else {\n\n distance -= NUM_SHORT_DISTANCES;\n\n }\n\n ref_x = x;\n\n ref_y = y;\n\n if (distance <= x) {\n\n ref_x -= distance;\n\n distance = 0;\n\n } else {\n\n ref_x = 0;\n\n distance -= x;\n\n }\n\n while (distance >= width) {\n\n ref_y--;\n\n distance -= width;\n\n }\n\n if (distance > 0) {\n\n ref_x = width - distance;\n\n ref_y--;\n\n }\n\n ref_x = FFMAX(0, ref_x);\n\n ref_y = FFMAX(0, ref_y);\n\n\n\n /* copy pixels\n\n * source and dest regions can overlap and wrap lines, so just\n\n * copy per-pixel */\n\n for (i = 0; i < length; i++) {\n\n uint8_t *p_ref = GET_PIXEL(img->frame, ref_x, ref_y);\n\n uint8_t *p = GET_PIXEL(img->frame, x, y);\n\n\n\n AV_COPY32(p, p_ref);\n\n if (img->color_cache_bits)\n\n color_cache_put(img, AV_RB32(p));\n\n x++;\n\n ref_x++;\n\n if (x == width) {\n\n x = 0;\n\n y++;\n\n }\n\n if (ref_x == width) {\n\n ref_x = 0;\n\n ref_y++;\n\n }\n\n if (y == img->frame->height || ref_y == img->frame->height)\n\n break;\n\n }\n\n } else {\n\n /* read from color cache */\n\n uint8_t *p = GET_PIXEL(img->frame, x, y);\n\n int cache_idx = v - (NUM_LITERAL_CODES + NUM_LENGTH_CODES);\n\n\n\n if (!img->color_cache_bits) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"color cache not found\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (cache_idx >= 1 << img->color_cache_bits) {\n\n av_log(s->avctx, AV_LOG_ERROR,\n\n \"color cache index out-of-bounds\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n AV_WB32(p, img->color_cache[cache_idx]);\n\n x++;\n\n if (x == width) {\n\n x = 0;\n\n y++;\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 4029}395{"project": "FFmpeg", "commit_id": "c341f734e5f9d6af4a8fdcceb6f5d12de6395c76", "target": 1, "func": "void ff_mspel_motion(MpegEncContext *s,\n\n uint8_t *dest_y, uint8_t *dest_cb, uint8_t *dest_cr,\n\n uint8_t **ref_picture, op_pixels_func (*pix_op)[4],\n\n int motion_x, int motion_y, int h)\n\n{\n\n Wmv2Context * const w= (Wmv2Context*)s;\n\n uint8_t *ptr;\n\n int dxy, offset, mx, my, src_x, src_y, v_edge_pos, linesize, uvlinesize;\n\n int emu=0;\n\n\n\n dxy = ((motion_y & 1) << 1) | (motion_x & 1);\n\n dxy = 2*dxy + w->hshift;\n\n src_x = s->mb_x * 16 + (motion_x >> 1);\n\n src_y = s->mb_y * 16 + (motion_y >> 1);\n\n\n\n /* WARNING: do no forget half pels */\n\n v_edge_pos = s->v_edge_pos;\n\n src_x = av_clip(src_x, -16, s->width);\n\n src_y = av_clip(src_y, -16, s->height);\n\n\n\n if(src_x<=-16 || src_x >= s->width)\n\n dxy &= ~3;\n\n if(src_y<=-16 || src_y >= s->height)\n\n dxy &= ~4;\n\n\n\n linesize = s->linesize;\n\n uvlinesize = s->uvlinesize;\n\n ptr = ref_picture[0] + (src_y * linesize) + src_x;\n\n\n\n if(src_x<1 || src_y<1 || src_x + 17 >= s->h_edge_pos\n\n || src_y + h+1 >= v_edge_pos){\n\n s->vdsp.emulated_edge_mc(s->edge_emu_buffer, ptr - 1 - s->linesize, s->linesize, 19, 19,\n\n src_x-1, src_y-1, s->h_edge_pos, s->v_edge_pos);\n\n ptr= s->edge_emu_buffer + 1 + s->linesize;\n\n emu=1;\n\n }\n\n\n\n s->dsp.put_mspel_pixels_tab[dxy](dest_y , ptr , linesize);\n\n s->dsp.put_mspel_pixels_tab[dxy](dest_y+8 , ptr+8 , linesize);\n\n s->dsp.put_mspel_pixels_tab[dxy](dest_y +8*linesize, ptr +8*linesize, linesize);\n\n s->dsp.put_mspel_pixels_tab[dxy](dest_y+8+8*linesize, ptr+8+8*linesize, linesize);\n\n\n\n if(s->flags&CODEC_FLAG_GRAY) return;\n\n\n\n if (s->out_format == FMT_H263) {\n\n dxy = 0;\n\n if ((motion_x & 3) != 0)\n\n dxy |= 1;\n\n if ((motion_y & 3) != 0)\n\n dxy |= 2;\n\n mx = motion_x >> 2;\n\n my = motion_y >> 2;\n\n } else {\n\n mx = motion_x / 2;\n\n my = motion_y / 2;\n\n dxy = ((my & 1) << 1) | (mx & 1);\n\n mx >>= 1;\n\n my >>= 1;\n\n }\n\n\n\n src_x = s->mb_x * 8 + mx;\n\n src_y = s->mb_y * 8 + my;\n\n src_x = av_clip(src_x, -8, s->width >> 1);\n\n if (src_x == (s->width >> 1))\n\n dxy &= ~1;\n\n src_y = av_clip(src_y, -8, s->height >> 1);\n\n if (src_y == (s->height >> 1))\n\n dxy &= ~2;\n\n offset = (src_y * uvlinesize) + src_x;\n\n ptr = ref_picture[1] + offset;\n\n if(emu){\n\n s->vdsp.emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9,\n\n src_x, src_y, s->h_edge_pos>>1, s->v_edge_pos>>1);\n\n ptr= s->edge_emu_buffer;\n\n }\n\n pix_op[1][dxy](dest_cb, ptr, uvlinesize, h >> 1);\n\n\n\n ptr = ref_picture[2] + offset;\n\n if(emu){\n\n s->vdsp.emulated_edge_mc(s->edge_emu_buffer, ptr, s->uvlinesize, 9, 9,\n\n src_x, src_y, s->h_edge_pos>>1, s->v_edge_pos>>1);\n\n ptr= s->edge_emu_buffer;\n\n }\n\n pix_op[1][dxy](dest_cr, ptr, uvlinesize, h >> 1);\n\n}\n", "idx": 4041}396{"project": "FFmpeg", "commit_id": "f6774f905fb3cfdc319523ac640be30b14c1bc55", "target": 1, "func": "static int svq1_encode_plane(SVQ1Context *s, int plane,\n\n unsigned char *src_plane,\n\n unsigned char *ref_plane,\n\n unsigned char *decoded_plane,\n\n int width, int height, int src_stride, int stride)\n\n{\n\n const AVFrame *f = s->avctx->coded_frame;\n\n int x, y;\n\n int i;\n\n int block_width, block_height;\n\n int level;\n\n int threshold[6];\n\n uint8_t *src = s->scratchbuf + stride * 16;\n\n const int lambda = (f->quality * f->quality) >>\n\n (2 * FF_LAMBDA_SHIFT);\n\n\n\n /* figure out the acceptable level thresholds in advance */\n\n threshold[5] = QUALITY_THRESHOLD;\n\n for (level = 4; level >= 0; level--)\n\n threshold[level] = threshold[level + 1] * THRESHOLD_MULTIPLIER;\n\n\n\n block_width = (width + 15) / 16;\n\n block_height = (height + 15) / 16;\n\n\n\n if (f->pict_type == AV_PICTURE_TYPE_P) {\n\n s->m.avctx = s->avctx;\n\n s->m.current_picture_ptr = &s->m.current_picture;\n\n s->m.last_picture_ptr = &s->m.last_picture;\n\n s->m.last_picture.f.data[0] = ref_plane;\n\n s->m.linesize =\n\n s->m.last_picture.f.linesize[0] =\n\n s->m.new_picture.f.linesize[0] =\n\n s->m.current_picture.f.linesize[0] = stride;\n\n s->m.width = width;\n\n s->m.height = height;\n\n s->m.mb_width = block_width;\n\n s->m.mb_height = block_height;\n\n s->m.mb_stride = s->m.mb_width + 1;\n\n s->m.b8_stride = 2 * s->m.mb_width + 1;\n\n s->m.f_code = 1;\n\n s->m.pict_type = f->pict_type;\n\n s->m.me_method = s->avctx->me_method;\n\n s->m.me.scene_change_score = 0;\n\n s->m.flags = s->avctx->flags;\n\n // s->m.out_format = FMT_H263;\n\n // s->m.unrestricted_mv = 1;\n\n s->m.lambda = f->quality;\n\n s->m.qscale = s->m.lambda * 139 +\n\n FF_LAMBDA_SCALE * 64 >>\n\n FF_LAMBDA_SHIFT + 7;\n\n s->m.lambda2 = s->m.lambda * s->m.lambda +\n\n FF_LAMBDA_SCALE / 2 >>\n\n FF_LAMBDA_SHIFT;\n\n\n\n if (!s->motion_val8[plane]) {\n\n s->motion_val8[plane] = av_mallocz((s->m.b8_stride *\n\n block_height * 2 + 2) *\n\n 2 * sizeof(int16_t));\n\n s->motion_val16[plane] = av_mallocz((s->m.mb_stride *\n\n (block_height + 2) + 1) *\n\n 2 * sizeof(int16_t));\n\n }\n\n\n\n s->m.mb_type = s->mb_type;\n\n\n\n // dummies, to avoid segfaults\n\n s->m.current_picture.mb_mean = (uint8_t *)s->dummy;\n\n s->m.current_picture.mb_var = (uint16_t *)s->dummy;\n\n s->m.current_picture.mc_mb_var = (uint16_t *)s->dummy;\n\n s->m.current_picture.mb_type = s->dummy;\n\n\n\n s->m.current_picture.motion_val[0] = s->motion_val8[plane] + 2;\n\n s->m.p_mv_table = s->motion_val16[plane] +\n\n s->m.mb_stride + 1;\n\n s->m.dsp = s->dsp; // move\n\n ff_init_me(&s->m);\n\n\n\n s->m.me.dia_size = s->avctx->dia_size;\n\n s->m.first_slice_line = 1;\n\n for (y = 0; y < block_height; y++) {\n\n s->m.new_picture.f.data[0] = src - y * 16 * stride; // ugly\n\n s->m.mb_y = y;\n\n\n\n for (i = 0; i < 16 && i + 16 * y < height; i++) {\n\n memcpy(&src[i * stride], &src_plane[(i + 16 * y) * src_stride],\n\n width);\n\n for (x = width; x < 16 * block_width; x++)\n\n src[i * stride + x] = src[i * stride + x - 1];\n\n }\n\n for (; i < 16 && i + 16 * y < 16 * block_height; i++)\n\n memcpy(&src[i * stride], &src[(i - 1) * stride],\n\n 16 * block_width);\n\n\n\n for (x = 0; x < block_width; x++) {\n\n s->m.mb_x = x;\n\n ff_init_block_index(&s->m);\n\n ff_update_block_index(&s->m);\n\n\n\n ff_estimate_p_frame_motion(&s->m, x, y);\n\n }\n\n s->m.first_slice_line = 0;\n\n }\n\n\n\n ff_fix_long_p_mvs(&s->m);\n\n ff_fix_long_mvs(&s->m, NULL, 0, s->m.p_mv_table, s->m.f_code,\n\n CANDIDATE_MB_TYPE_INTER, 0);\n\n }\n\n\n\n s->m.first_slice_line = 1;\n\n for (y = 0; y < block_height; y++) {\n\n for (i = 0; i < 16 && i + 16 * y < height; i++) {\n\n memcpy(&src[i * stride], &src_plane[(i + 16 * y) * src_stride],\n\n width);\n\n for (x = width; x < 16 * block_width; x++)\n\n src[i * stride + x] = src[i * stride + x - 1];\n\n }\n\n for (; i < 16 && i + 16 * y < 16 * block_height; i++)\n\n memcpy(&src[i * stride], &src[(i - 1) * stride], 16 * block_width);\n\n\n\n s->m.mb_y = y;\n\n for (x = 0; x < block_width; x++) {\n\n uint8_t reorder_buffer[3][6][7 * 32];\n\n int count[3][6];\n\n int offset = y * 16 * stride + x * 16;\n\n uint8_t *decoded = decoded_plane + offset;\n\n uint8_t *ref = ref_plane + offset;\n\n int score[4] = { 0, 0, 0, 0 }, best;\n\n uint8_t *temp = s->scratchbuf;\n\n\n\n if (s->pb.buf_end - s->pb.buf -\n\n (put_bits_count(&s->pb) >> 3) < 3000) { // FIXME: check size\n\n av_log(s->avctx, AV_LOG_ERROR, \"encoded frame too large\\n\");\n\n return -1;\n\n }\n\n\n\n s->m.mb_x = x;\n\n ff_init_block_index(&s->m);\n\n ff_update_block_index(&s->m);\n\n\n\n if (f->pict_type == AV_PICTURE_TYPE_I ||\n\n (s->m.mb_type[x + y * s->m.mb_stride] &\n\n CANDIDATE_MB_TYPE_INTRA)) {\n\n for (i = 0; i < 6; i++)\n\n init_put_bits(&s->reorder_pb[i], reorder_buffer[0][i],\n\n 7 * 32);\n\n if (f->pict_type == AV_PICTURE_TYPE_P) {\n\n const uint8_t *vlc = ff_svq1_block_type_vlc[SVQ1_BLOCK_INTRA];\n\n put_bits(&s->reorder_pb[5], vlc[1], vlc[0]);\n\n score[0] = vlc[1] * lambda;\n\n }\n\n score[0] += encode_block(s, src + 16 * x, NULL, temp, stride,\n\n 5, 64, lambda, 1);\n\n for (i = 0; i < 6; i++) {\n\n count[0][i] = put_bits_count(&s->reorder_pb[i]);\n\n flush_put_bits(&s->reorder_pb[i]);\n\n }\n\n } else\n\n score[0] = INT_MAX;\n\n\n\n best = 0;\n\n\n\n if (f->pict_type == AV_PICTURE_TYPE_P) {\n\n const uint8_t *vlc = ff_svq1_block_type_vlc[SVQ1_BLOCK_INTER];\n\n int mx, my, pred_x, pred_y, dxy;\n\n int16_t *motion_ptr;\n\n\n\n motion_ptr = ff_h263_pred_motion(&s->m, 0, 0, &pred_x, &pred_y);\n\n if (s->m.mb_type[x + y * s->m.mb_stride] &\n\n CANDIDATE_MB_TYPE_INTER) {\n\n for (i = 0; i < 6; i++)\n\n init_put_bits(&s->reorder_pb[i], reorder_buffer[1][i],\n\n 7 * 32);\n\n\n\n put_bits(&s->reorder_pb[5], vlc[1], vlc[0]);\n\n\n\n s->m.pb = s->reorder_pb[5];\n\n mx = motion_ptr[0];\n\n my = motion_ptr[1];\n\n assert(mx >= -32 && mx <= 31);\n\n assert(my >= -32 && my <= 31);\n\n assert(pred_x >= -32 && pred_x <= 31);\n\n assert(pred_y >= -32 && pred_y <= 31);\n\n ff_h263_encode_motion(&s->m, mx - pred_x, 1);\n\n ff_h263_encode_motion(&s->m, my - pred_y, 1);\n\n s->reorder_pb[5] = s->m.pb;\n\n score[1] += lambda * put_bits_count(&s->reorder_pb[5]);\n\n\n\n dxy = (mx & 1) + 2 * (my & 1);\n\n\n\n s->hdsp.put_pixels_tab[0][dxy](temp + 16,\n\n ref + (mx >> 1) +\n\n stride * (my >> 1),\n\n stride, 16);\n\n\n\n score[1] += encode_block(s, src + 16 * x, temp + 16,\n\n decoded, stride, 5, 64, lambda, 0);\n\n best = score[1] <= score[0];\n\n\n\n vlc = ff_svq1_block_type_vlc[SVQ1_BLOCK_SKIP];\n\n score[2] = s->dsp.sse[0](NULL, src + 16 * x, ref,\n\n stride, 16);\n\n score[2] += vlc[1] * lambda;\n\n if (score[2] < score[best] && mx == 0 && my == 0) {\n\n best = 2;\n\n s->hdsp.put_pixels_tab[0][0](decoded, ref, stride, 16);\n\n for (i = 0; i < 6; i++)\n\n count[2][i] = 0;\n\n put_bits(&s->pb, vlc[1], vlc[0]);\n\n }\n\n }\n\n\n\n if (best == 1) {\n\n for (i = 0; i < 6; i++) {\n\n count[1][i] = put_bits_count(&s->reorder_pb[i]);\n\n flush_put_bits(&s->reorder_pb[i]);\n\n }\n\n } else {\n\n motion_ptr[0] =\n\n motion_ptr[1] =\n\n motion_ptr[2] =\n\n motion_ptr[3] =\n\n motion_ptr[0 + 2 * s->m.b8_stride] =\n\n motion_ptr[1 + 2 * s->m.b8_stride] =\n\n motion_ptr[2 + 2 * s->m.b8_stride] =\n\n motion_ptr[3 + 2 * s->m.b8_stride] = 0;\n\n }\n\n }\n\n\n\n s->rd_total += score[best];\n\n\n\n for (i = 5; i >= 0; i--)\n\n avpriv_copy_bits(&s->pb, reorder_buffer[best][i],\n\n count[best][i]);\n\n if (best == 0)\n\n s->hdsp.put_pixels_tab[0][0](decoded, temp, stride, 16);\n\n }\n\n s->m.first_slice_line = 0;\n\n }\n\n return 0;\n\n}\n", "idx": 4062}397{"project": "FFmpeg", "commit_id": "39f01e346cab464ef6c0d4ec58cc13b7123e60d8", "target": 1, "func": "static int ffmmal_add_packet(AVCodecContext *avctx, AVPacket *avpkt,\n\n int is_extradata)\n\n{\n\n MMALDecodeContext *ctx = avctx->priv_data;\n\n AVBufferRef *buf = NULL;\n\n int size = 0;\n\n uint8_t *data = (uint8_t *)\"\";\n\n uint8_t *start;\n\n int ret = 0;\n\n\n\n if (avpkt->size) {\n\n if (avpkt->buf) {\n\n buf = av_buffer_ref(avpkt->buf);\n\n size = avpkt->size;\n\n data = avpkt->data;\n\n } else {\n\n buf = av_buffer_alloc(avpkt->size);\n\n if (buf) {\n\n memcpy(buf->data, avpkt->data, avpkt->size);\n\n size = buf->size;\n\n data = buf->data;\n\n }\n\n }\n\n if (!buf) {\n\n ret = AVERROR(ENOMEM);\n\n goto done;\n\n }\n\n if (!is_extradata)\n\n ctx->packets_sent++;\n\n } else {\n\n if (!ctx->packets_sent) {\n\n // Short-cut the flush logic to avoid upsetting MMAL.\n\n ctx->eos_sent = 1;\n\n ctx->eos_received = 1;\n\n goto done;\n\n }\n\n }\n\n\n\n start = data;\n\n\n\n do {\n\n FFBufferEntry *buffer = av_mallocz(sizeof(*buffer));\n\n if (!buffer) {\n\n ret = AVERROR(ENOMEM);\n\n goto done;\n\n }\n\n\n\n buffer->data = data;\n\n buffer->length = FFMIN(size, ctx->decoder->input[0]->buffer_size);\n\n\n\n if (is_extradata)\n\n buffer->flags |= MMAL_BUFFER_HEADER_FLAG_CONFIG;\n\n\n\n if (data == start)\n\n buffer->flags |= MMAL_BUFFER_HEADER_FLAG_FRAME_START;\n\n\n\n data += buffer->length;\n\n size -= buffer->length;\n\n\n\n buffer->pts = avpkt->pts == AV_NOPTS_VALUE ? MMAL_TIME_UNKNOWN : avpkt->pts;\n\n buffer->dts = avpkt->dts == AV_NOPTS_VALUE ? MMAL_TIME_UNKNOWN : avpkt->dts;\n\n\n\n if (!size)\n\n buffer->flags |= MMAL_BUFFER_HEADER_FLAG_FRAME_END;\n\n\n\n if (!buffer->length) {\n\n buffer->flags |= MMAL_BUFFER_HEADER_FLAG_EOS;\n\n ctx->eos_sent = 1;\n\n }\n\n\n\n if (buf) {\n\n buffer->ref = av_buffer_ref(buf);\n\n if (!buffer->ref) {\n\n av_free(buffer);\n\n ret = AVERROR(ENOMEM);\n\n goto done;\n\n }\n\n }\n\n\n\n // Insert at end of the list\n\n if (!ctx->waiting_buffers)\n\n ctx->waiting_buffers = buffer;\n\n if (ctx->waiting_buffers_tail)\n\n ctx->waiting_buffers_tail->next = buffer;\n\n ctx->waiting_buffers_tail = buffer;\n\n } while (size);\n\n\n\ndone:\n\n av_buffer_unref(&buf);\n\n return ret;\n\n}\n", "idx": 4064}398{"project": "FFmpeg", "commit_id": "969267482de97b08503d27d2fe090ec820273e40", "target": 1, "func": "static void write_frame(AVFormatContext *s, AVPacket *pkt, OutputStream *ost)\n\n{\n\n AVBitStreamFilterContext *bsfc = ost->bitstream_filters;\n\n AVCodecContext *avctx = ost->st->codec;\n\n int ret;\n\n\n\n if ((avctx->codec_type == AVMEDIA_TYPE_VIDEO && video_sync_method == VSYNC_DROP) ||\n\n (avctx->codec_type == AVMEDIA_TYPE_AUDIO && audio_sync_method < 0))\n\n pkt->pts = pkt->dts = AV_NOPTS_VALUE;\n\n\n\n if (avctx->codec_type == AVMEDIA_TYPE_AUDIO && pkt->dts != AV_NOPTS_VALUE) {\n\n int64_t max = ost->st->cur_dts + !(s->oformat->flags & AVFMT_TS_NONSTRICT);\n\n if (ost->st->cur_dts && ost->st->cur_dts != AV_NOPTS_VALUE && max > pkt->dts) {\n\n av_log(s, max - pkt->dts > 2 ? AV_LOG_WARNING : AV_LOG_DEBUG, \"Audio timestamp %\"PRId64\" < %\"PRId64\" invalid, cliping\\n\", pkt->dts, max);\n\n pkt->pts = pkt->dts = max;\n\n\n\n\n\n /*\n\n * Audio encoders may split the packets -- #frames in != #packets out.\n\n * But there is no reordering, so we can limit the number of output packets\n\n * by simply dropping them here.\n\n * Counting encoded video frames needs to be done separately because of\n\n * reordering, see do_video_out()\n\n */\n\n if (!(avctx->codec_type == AVMEDIA_TYPE_VIDEO && avctx->codec)) {\n\n if (ost->frame_number >= ost->max_frames) {\n\n av_free_packet(pkt);\n\n return;\n\n\n ost->frame_number++;\n\n\n\n\n while (bsfc) {\n\n AVPacket new_pkt = *pkt;\n\n int a = av_bitstream_filter_filter(bsfc, avctx, NULL,\n\n &new_pkt.data, &new_pkt.size,\n\n pkt->data, pkt->size,\n\n pkt->flags & AV_PKT_FLAG_KEY);\n\n\n\n\n\n\n\n\n\n\n\n if (a > 0) {\n\n av_free_packet(pkt);\n\n new_pkt.destruct = av_destruct_packet;\n\n } else if (a < 0) {\n\n av_log(NULL, AV_LOG_ERROR, \"Failed to open bitstream filter %s for stream %d with codec %s\",\n\n bsfc->filter->name, pkt->stream_index,\n\n avctx->codec ? avctx->codec->name : \"copy\");\n\n print_error(\"\", a);\n\n if (exit_on_error)\n\n exit_program(1);\n\n\n *pkt = new_pkt;\n\n\n\n bsfc = bsfc->next;\n\n\n\n\n pkt->stream_index = ost->index;\n\n ret = av_interleaved_write_frame(s, pkt);\n\n if (ret < 0) {\n\n print_error(\"av_interleaved_write_frame()\", ret);\n\n exit_program(1);\n\n", "idx": 4070}399{"project": "qemu", "commit_id": "14fe292d86da90b79e2fb56a4986d27346339a00", "target": 1, "func": "void qed_commit_l2_cache_entry(L2TableCache *l2_cache, CachedL2Table *l2_table)\n\n{\n\n CachedL2Table *entry;\n\n\n\n entry = qed_find_l2_cache_entry(l2_cache, l2_table->offset);\n\n if (entry) {\n\n qed_unref_l2_cache_entry(entry);\n\n qed_unref_l2_cache_entry(l2_table);\n\n return;\n\n }\n\n\n\n if (l2_cache->n_entries >= MAX_L2_CACHE_SIZE) {\n\n entry = QTAILQ_FIRST(&l2_cache->entries);\n\n QTAILQ_REMOVE(&l2_cache->entries, entry, node);\n\n l2_cache->n_entries--;\n\n qed_unref_l2_cache_entry(entry);\n\n }\n\n\n\n l2_cache->n_entries++;\n\n QTAILQ_INSERT_TAIL(&l2_cache->entries, l2_table, node);\n\n}\n", "idx": 4080}400{"project": "FFmpeg", "commit_id": "bc488ec28aec4bc91ba47283c49c9f7f25696eaa", "target": 1, "func": "av_cold void ff_pixblockdsp_init_x86(PixblockDSPContext *c,\n\n AVCodecContext *avctx,\n\n unsigned high_bit_depth)\n\n{\n\n int cpu_flags = av_get_cpu_flags();\n\n\n\n if (EXTERNAL_MMX(cpu_flags)) {\n\n if (!high_bit_depth)\n\n c->get_pixels = ff_get_pixels_mmx;\n\n\n c->diff_pixels = ff_diff_pixels_mmx;\n\n }\n\n\n\n if (EXTERNAL_SSE2(cpu_flags)) {\n\n if (!high_bit_depth)\n\n c->get_pixels = ff_get_pixels_sse2;\n\n\n c->diff_pixels = ff_diff_pixels_sse2;\n\n }\n\n}", "idx": 4091}401{"project": "qemu", "commit_id": "d44168fffa07fc57e61a37da65e9348661dec887", "target": 1, "func": "static USBDevice *usb_net_init(const char *cmdline)\n\n{\n\n USBDevice *dev;\n\n QemuOpts *opts;\n\n int idx;\n\n\n\n opts = qemu_opts_parse(&qemu_net_opts, cmdline, NULL);\n\n if (!opts) {\n\n\n\n qemu_opt_set(opts, \"type\", \"nic\");\n\n qemu_opt_set(opts, \"model\", \"usb\");\n\n\n\n idx = net_client_init(NULL, opts, 0);\n\n if (idx == -1) {\n\n\n\n\n\n dev = usb_create(NULL /* FIXME */, \"usb-net\");\n\n\n\n\n qdev_set_nic_properties(&dev->qdev, &nd_table[idx]);\n\n qdev_init_nofail(&dev->qdev);\n\n return dev;\n", "idx": 4093}402{"project": "FFmpeg", "commit_id": "238ddd6482d7aea2e917760a9bef291030a11e61", "target": 1, "func": "static void pkt_dump_internal(void *avcl, FILE *f, int level, const AVPacket *pkt,\n\n int dump_payload, AVRational time_base)\n\n{\n\n HEXDUMP_PRINT(\"stream #%d:\\n\", pkt->stream_index);\n\n HEXDUMP_PRINT(\" keyframe=%d\\n\", (pkt->flags & AV_PKT_FLAG_KEY) != 0);\n\n HEXDUMP_PRINT(\" duration=%0.3f\\n\", pkt->duration * av_q2d(time_base));\n\n /* DTS is _always_ valid after av_read_frame() */\n\n HEXDUMP_PRINT(\" dts=\");\n\n if (pkt->dts == AV_NOPTS_VALUE)\n\n HEXDUMP_PRINT(\"N/A\");\n\n else\n\n HEXDUMP_PRINT(\"%0.3f\", pkt->dts * av_q2d(time_base));\n\n /* PTS may not be known if B-frames are present. */\n\n HEXDUMP_PRINT(\" pts=\");\n\n if (pkt->pts == AV_NOPTS_VALUE)\n\n HEXDUMP_PRINT(\"N/A\");\n\n else\n\n HEXDUMP_PRINT(\"%0.3f\", pkt->pts * av_q2d(time_base));\n\n HEXDUMP_PRINT(\"\\n\");\n\n HEXDUMP_PRINT(\" size=%d\\n\", pkt->size);\n\n if (dump_payload)\n\n av_hex_dump(f, pkt->data, pkt->size);\n\n}\n", "idx": 4095}403{"project": "qemu", "commit_id": "d20a580bc0eac9d489884f6d2ed28105880532b6", "target": 0, "func": "static void handle_mousewheel(SDL_Event *ev)\n\n{\n\n struct sdl2_console *scon = get_scon_from_window(ev->key.windowID);\n\n SDL_MouseWheelEvent *wev = &ev->wheel;\n\n InputButton btn;\n\n\n\n if (wev->y > 0) {\n\n btn = INPUT_BUTTON_WHEEL_UP;\n\n } else if (wev->y < 0) {\n\n btn = INPUT_BUTTON_WHEEL_DOWN;\n\n } else {\n\n return;\n\n }\n\n\n\n qemu_input_queue_btn(scon->dcl.con, btn, true);\n\n qemu_input_event_sync();\n\n qemu_input_queue_btn(scon->dcl.con, btn, false);\n\n qemu_input_event_sync();\n\n}\n", "idx": 4104}404{"project": "qemu", "commit_id": "0c0eb30260b424d2a68603b89f1d829db18772c2", "target": 1, "func": "static void init_virtio_dev(TestServer *s)\n\n{\n\n QPCIBus *bus;\n\n QVirtioPCIDevice *dev;\n\n uint32_t features;\n\n\n\n bus = qpci_init_pc(NULL);\n\n g_assert_nonnull(bus);\n\n\n\n dev = qvirtio_pci_device_find(bus, VIRTIO_ID_NET);\n\n g_assert_nonnull(dev);\n\n\n\n qvirtio_pci_device_enable(dev);\n\n qvirtio_reset(&dev->vdev);\n\n qvirtio_set_acknowledge(&dev->vdev);\n\n qvirtio_set_driver(&dev->vdev);\n\n\n\n features = qvirtio_get_features(&dev->vdev);\n\n features = features & VIRTIO_NET_F_MAC;\n\n qvirtio_set_features(&dev->vdev, features);\n\n\n\n qvirtio_set_driver_ok(&dev->vdev);\n\n}\n", "idx": 4141}405{"project": "FFmpeg", "commit_id": "9f36ea57ae6eefb42432220feab0350494f4144c", "target": 1, "func": "int av_packet_split_side_data(AVPacket *pkt){\n\n if (!pkt->side_data_elems && pkt->size >12 && AV_RB64(pkt->data + pkt->size - 8) == FF_MERGE_MARKER){\n\n int i;\n\n unsigned int size;\n\n uint8_t *p;\n\n\n\n p = pkt->data + pkt->size - 8 - 5;\n\n for (i=1; ; i++){\n\n size = AV_RB32(p);\n\n if (size>INT_MAX || p - pkt->data < size)\n\n return 0;\n\n if (p[4]&128)\n\n break;\n\n p-= size+5;\n\n }\n\n\n\n pkt->side_data = av_malloc_array(i, sizeof(*pkt->side_data));\n\n if (!pkt->side_data)\n\n return AVERROR(ENOMEM);\n\n\n\n p= pkt->data + pkt->size - 8 - 5;\n\n for (i=0; ; i++){\n\n size= AV_RB32(p);\n\n av_assert0(size<=INT_MAX && p - pkt->data >= size);\n\n pkt->side_data[i].data = av_mallocz(size + AV_INPUT_BUFFER_PADDING_SIZE);\n\n pkt->side_data[i].size = size;\n\n pkt->side_data[i].type = p[4]&127;\n\n if (!pkt->side_data[i].data)\n\n return AVERROR(ENOMEM);\n\n memcpy(pkt->side_data[i].data, p-size, size);\n\n pkt->size -= size + 5;\n\n if(p[4]&128)\n\n break;\n\n p-= size+5;\n\n }\n\n pkt->size -= 8;\n\n pkt->side_data_elems = i+1;\n\n return 1;\n\n }\n\n return 0;\n\n}\n", "idx": 4159}406{"project": "qemu", "commit_id": "d3ac1a87b228bcd231d19acf1ebe9844b7639237", "target": 1, "func": "static void usb_msd_cancel_io(USBDevice *dev, USBPacket *p)\n\n{\n\n MSDState *s = DO_UPCAST(MSDState, dev, dev);\n\n scsi_req_cancel(s->req);\n\n}\n", "idx": 4165}407{"project": "qemu", "commit_id": "4508d81a788f451c83604e1d0033243e191d71a7", "target": 1, "func": "ram_addr_t ppc405_set_bootinfo (CPUState *env, ppc4xx_bd_info_t *bd,\n\n uint32_t flags)\n\n{\n\n ram_addr_t bdloc;\n\n int i, n;\n\n\n\n /* We put the bd structure at the top of memory */\n\n if (bd->bi_memsize >= 0x01000000UL)\n\n bdloc = 0x01000000UL - sizeof(struct ppc4xx_bd_info_t);\n\n else\n\n bdloc = bd->bi_memsize - sizeof(struct ppc4xx_bd_info_t);\n\n stl_phys(bdloc + 0x00, bd->bi_memstart);\n\n stl_phys(bdloc + 0x04, bd->bi_memsize);\n\n stl_phys(bdloc + 0x08, bd->bi_flashstart);\n\n stl_phys(bdloc + 0x0C, bd->bi_flashsize);\n\n stl_phys(bdloc + 0x10, bd->bi_flashoffset);\n\n stl_phys(bdloc + 0x14, bd->bi_sramstart);\n\n stl_phys(bdloc + 0x18, bd->bi_sramsize);\n\n stl_phys(bdloc + 0x1C, bd->bi_bootflags);\n\n stl_phys(bdloc + 0x20, bd->bi_ipaddr);\n\n for (i = 0; i < 6; i++)\n\n stb_phys(bdloc + 0x24 + i, bd->bi_enetaddr[i]);\n\n stw_phys(bdloc + 0x2A, bd->bi_ethspeed);\n\n stl_phys(bdloc + 0x2C, bd->bi_intfreq);\n\n stl_phys(bdloc + 0x30, bd->bi_busfreq);\n\n stl_phys(bdloc + 0x34, bd->bi_baudrate);\n\n for (i = 0; i < 4; i++)\n\n stb_phys(bdloc + 0x38 + i, bd->bi_s_version[i]);\n\n for (i = 0; i < 32; i++)\n\n stb_phys(bdloc + 0x3C + i, bd->bi_s_version[i]);\n\n stl_phys(bdloc + 0x5C, bd->bi_plb_busfreq);\n\n stl_phys(bdloc + 0x60, bd->bi_pci_busfreq);\n\n for (i = 0; i < 6; i++)\n\n stb_phys(bdloc + 0x64 + i, bd->bi_pci_enetaddr[i]);\n\n n = 0x6A;\n\n if (flags & 0x00000001) {\n\n for (i = 0; i < 6; i++)\n\n stb_phys(bdloc + n++, bd->bi_pci_enetaddr2[i]);\n\n }\n\n stl_phys(bdloc + n, bd->bi_opbfreq);\n\n n += 4;\n\n for (i = 0; i < 2; i++) {\n\n stl_phys(bdloc + n, bd->bi_iic_fast[i]);\n\n n += 4;\n\n }\n\n\n\n return bdloc;\n\n}\n", "idx": 4166}408{"project": "qemu", "commit_id": "92cb05574b7bd489be81f9c58497dc7dfe5d8859", "target": 0, "func": "bool virtio_ipl_disk_is_valid(void)\n\n{\n\n return blk_cfg.blk_size && (virtio_disk_is_scsi() || virtio_disk_is_eckd());\n\n}\n", "idx": 4173}409{"project": "qemu", "commit_id": "c60bf3391bf4cb79b7adc6650094e21671ddaabd", "target": 0, "func": "static void bdrv_password_cb(Monitor *mon, const char *password, void *opaque)\n\n{\n\n BlockDriverState *bs = opaque;\n\n int ret = 0;\n\n\n\n if (bdrv_set_key(bs, password) != 0) {\n\n monitor_printf(mon, \"invalid password\\n\");\n\n ret = -EPERM;\n\n }\n\n if (mon->password_completion_cb)\n\n mon->password_completion_cb(mon->password_opaque, ret);\n\n\n\n monitor_read_command(mon, 1);\n\n}\n", "idx": 4178}410{"project": "FFmpeg", "commit_id": "9c3a8693a20da3ad89a327bf778e13c2cd74c81c", "target": 0, "func": "dshow_cycle_devices(AVFormatContext *avctx, ICreateDevEnum *devenum,\n\n enum dshowDeviceType devtype, IBaseFilter **pfilter)\n\n{\n\n struct dshow_ctx *ctx = avctx->priv_data;\n\n IBaseFilter *device_filter = NULL;\n\n IEnumMoniker *classenum = NULL;\n\n IMoniker *m = NULL;\n\n const char *device_name = ctx->device_name[devtype];\n\n int skip = (devtype == VideoDevice) ? ctx->video_device_number\n\n : ctx->audio_device_number;\n\n int r;\n\n\n\n const GUID *device_guid[2] = { &CLSID_VideoInputDeviceCategory,\n\n &CLSID_AudioInputDeviceCategory };\n\n const char *devtypename = (devtype == VideoDevice) ? \"video\" : \"audio\";\n\n\n\n r = ICreateDevEnum_CreateClassEnumerator(devenum, device_guid[devtype],\n\n (IEnumMoniker **) &classenum, 0);\n\n if (r != S_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Could not enumerate %s devices.\\n\",\n\n devtypename);\n\n return AVERROR(EIO);\n\n }\n\n\n\n while (!device_filter && IEnumMoniker_Next(classenum, 1, &m, NULL) == S_OK) {\n\n IPropertyBag *bag = NULL;\n\n char *buf = NULL;\n\n VARIANT var;\n\n\n\n r = IMoniker_BindToStorage(m, 0, 0, &IID_IPropertyBag, (void *) &bag);\n\n if (r != S_OK)\n\n goto fail1;\n\n\n\n var.vt = VT_BSTR;\n\n r = IPropertyBag_Read(bag, L\"FriendlyName\", &var, NULL);\n\n if (r != S_OK)\n\n goto fail1;\n\n\n\n buf = dup_wchar_to_utf8(var.bstrVal);\n\n\n\n if (pfilter) {\n\n if (strcmp(device_name, buf))\n\n goto fail1;\n\n\n\n if (!skip--)\n\n IMoniker_BindToObject(m, 0, 0, &IID_IBaseFilter, (void *) &device_filter);\n\n } else {\n\n av_log(avctx, AV_LOG_INFO, \" \\\"%s\\\"\\n\", buf);\n\n }\n\n\n\nfail1:\n\n if (buf)\n\n av_free(buf);\n\n if (bag)\n\n IPropertyBag_Release(bag);\n\n IMoniker_Release(m);\n\n }\n\n\n\n IEnumMoniker_Release(classenum);\n\n\n\n if (pfilter) {\n\n if (!device_filter) {\n\n av_log(avctx, AV_LOG_ERROR, \"Could not find %s device.\\n\",\n\n devtypename);\n\n return AVERROR(EIO);\n\n }\n\n *pfilter = device_filter;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 4196}411{"project": "FFmpeg", "commit_id": "a755b725ec1d657609c8bd726ce37e7cf193d03f", "target": 0, "func": "static int do_decode(AVCodecContext *avctx, AVPacket *pkt)\n\n{\n\n int got_frame;\n\n int ret;\n\n\n\n av_assert0(!avctx->internal->buffer_frame->buf[0]);\n\n\n\n if (!pkt)\n\n pkt = avctx->internal->buffer_pkt;\n\n\n\n // This is the lesser evil. The field is for compatibility with legacy users\n\n // of the legacy API, and users using the new API should not be forced to\n\n // even know about this field.\n\n avctx->refcounted_frames = 1;\n\n\n\n // Some codecs (at least wma lossless) will crash when feeding drain packets\n\n // after EOF was signaled.\n\n if (avctx->internal->draining_done)\n\n return AVERROR_EOF;\n\n\n\n if (avctx->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n ret = avcodec_decode_video2(avctx, avctx->internal->buffer_frame,\n\n &got_frame, pkt);\n\n if (ret >= 0 && !(avctx->flags & AV_CODEC_FLAG_TRUNCATED))\n\n ret = pkt->size;\n\n } else if (avctx->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n ret = avcodec_decode_audio4(avctx, avctx->internal->buffer_frame,\n\n &got_frame, pkt);\n\n } else {\n\n ret = AVERROR(EINVAL);\n\n }\n\n\n\n if (ret == AVERROR(EAGAIN))\n\n ret = pkt->size;\n\n\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (avctx->internal->draining && !got_frame)\n\n avctx->internal->draining_done = 1;\n\n\n\n if (ret >= pkt->size) {\n\n av_packet_unref(avctx->internal->buffer_pkt);\n\n } else {\n\n int consumed = ret;\n\n\n\n if (pkt != avctx->internal->buffer_pkt) {\n\n av_packet_unref(avctx->internal->buffer_pkt);\n\n if ((ret = av_packet_ref(avctx->internal->buffer_pkt, pkt)) < 0)\n\n return ret;\n\n }\n\n\n\n avctx->internal->buffer_pkt->data += consumed;\n\n avctx->internal->buffer_pkt->size -= consumed;\n\n avctx->internal->buffer_pkt->pts = AV_NOPTS_VALUE;\n\n avctx->internal->buffer_pkt->dts = AV_NOPTS_VALUE;\n\n }\n\n\n\n if (got_frame)\n\n av_assert0(avctx->internal->buffer_frame->buf[0]);\n\n\n\n return 0;\n\n}\n", "idx": 4198}412{"project": "qemu", "commit_id": "e8f1f9db8787be08e0ae3ed5a94da68966dbfff1", "target": 0, "func": "void net_host_device_remove(Monitor *mon, int vlan_id, const char *device)\n\n{\n\n VLANState *vlan;\n\n VLANClientState *vc;\n\n\n\n vlan = qemu_find_vlan(vlan_id);\n\n\n\n for(vc = vlan->first_client; vc != NULL; vc = vc->next)\n\n if (!strcmp(vc->name, device))\n\n break;\n\n\n\n if (!vc) {\n\n monitor_printf(mon, \"can't find device %s\\n\", device);\n\n return;\n\n }\n\n qemu_del_vlan_client(vc);\n\n}\n", "idx": 4209}413{"project": "qemu", "commit_id": "82ca891283a08cddd659b534592fe00f2159bc74", "target": 0, "func": "static void vfio_bar_write(void *opaque, hwaddr addr,\n\n uint64_t data, unsigned size)\n\n{\n\n VFIOBAR *bar = opaque;\n\n union {\n\n uint8_t byte;\n\n uint16_t word;\n\n uint32_t dword;\n\n uint64_t qword;\n\n } buf;\n\n\n\n switch (size) {\n\n case 1:\n\n buf.byte = data;\n\n break;\n\n case 2:\n\n buf.word = cpu_to_le16(data);\n\n break;\n\n case 4:\n\n buf.dword = cpu_to_le32(data);\n\n break;\n\n default:\n\n hw_error(\"vfio: unsupported write size, %d bytes\\n\", size);\n\n break;\n\n }\n\n\n\n if (pwrite(bar->fd, &buf, size, bar->fd_offset + addr) != size) {\n\n error_report(\"%s(,0x%\"HWADDR_PRIx\", 0x%\"PRIx64\", %d) failed: %m\",\n\n __func__, addr, data, size);\n\n }\n\n\n\n DPRINTF(\"%s(BAR%d+0x%\"HWADDR_PRIx\", 0x%\"PRIx64\", %d)\\n\",\n\n __func__, bar->nr, addr, data, size);\n\n\n\n /*\n\n * A read or write to a BAR always signals an INTx EOI. This will\n\n * do nothing if not pending (including not in INTx mode). We assume\n\n * that a BAR access is in response to an interrupt and that BAR\n\n * accesses will service the interrupt. Unfortunately, we don't know\n\n * which access will service the interrupt, so we're potentially\n\n * getting quite a few host interrupts per guest interrupt.\n\n */\n\n vfio_eoi(container_of(bar, VFIODevice, bars[bar->nr]));\n\n}\n", "idx": 4211}414{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static void mcf5208evb_init(QEMUMachineInitArgs *args)\n\n{\n\n ram_addr_t ram_size = args->ram_size;\n\n const char *cpu_model = args->cpu_model;\n\n const char *kernel_filename = args->kernel_filename;\n\n CPUM68KState *env;\n\n int kernel_size;\n\n uint64_t elf_entry;\n\n target_phys_addr_t entry;\n\n qemu_irq *pic;\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n MemoryRegion *ram = g_new(MemoryRegion, 1);\n\n MemoryRegion *sram = g_new(MemoryRegion, 1);\n\n\n\n if (!cpu_model)\n\n cpu_model = \"m5208\";\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"Unable to find m68k CPU definition\\n\");\n\n exit(1);\n\n }\n\n\n\n /* Initialize CPU registers. */\n\n env->vbr = 0;\n\n /* TODO: Configure BARs. */\n\n\n\n /* DRAM at 0x40000000 */\n\n memory_region_init_ram(ram, \"mcf5208.ram\", ram_size);\n\n vmstate_register_ram_global(ram);\n\n memory_region_add_subregion(address_space_mem, 0x40000000, ram);\n\n\n\n /* Internal SRAM. */\n\n memory_region_init_ram(sram, \"mcf5208.sram\", 16384);\n\n vmstate_register_ram_global(sram);\n\n memory_region_add_subregion(address_space_mem, 0x80000000, sram);\n\n\n\n /* Internal peripherals. */\n\n pic = mcf_intc_init(address_space_mem, 0xfc048000, env);\n\n\n\n mcf_uart_mm_init(address_space_mem, 0xfc060000, pic[26], serial_hds[0]);\n\n mcf_uart_mm_init(address_space_mem, 0xfc064000, pic[27], serial_hds[1]);\n\n mcf_uart_mm_init(address_space_mem, 0xfc068000, pic[28], serial_hds[2]);\n\n\n\n mcf5208_sys_init(address_space_mem, pic);\n\n\n\n if (nb_nics > 1) {\n\n fprintf(stderr, \"Too many NICs\\n\");\n\n exit(1);\n\n }\n\n if (nd_table[0].used)\n\n mcf_fec_init(address_space_mem, &nd_table[0],\n\n 0xfc030000, pic + 36);\n\n\n\n /* 0xfc000000 SCM. */\n\n /* 0xfc004000 XBS. */\n\n /* 0xfc008000 FlexBus CS. */\n\n /* 0xfc030000 FEC. */\n\n /* 0xfc040000 SCM + Power management. */\n\n /* 0xfc044000 eDMA. */\n\n /* 0xfc048000 INTC. */\n\n /* 0xfc058000 I2C. */\n\n /* 0xfc05c000 QSPI. */\n\n /* 0xfc060000 UART0. */\n\n /* 0xfc064000 UART0. */\n\n /* 0xfc068000 UART0. */\n\n /* 0xfc070000 DMA timers. */\n\n /* 0xfc080000 PIT0. */\n\n /* 0xfc084000 PIT1. */\n\n /* 0xfc088000 EPORT. */\n\n /* 0xfc08c000 Watchdog. */\n\n /* 0xfc090000 clock module. */\n\n /* 0xfc0a0000 CCM + reset. */\n\n /* 0xfc0a4000 GPIO. */\n\n /* 0xfc0a8000 SDRAM controller. */\n\n\n\n /* Load kernel. */\n\n if (!kernel_filename) {\n\n fprintf(stderr, \"Kernel image must be specified\\n\");\n\n exit(1);\n\n }\n\n\n\n kernel_size = load_elf(kernel_filename, NULL, NULL, &elf_entry,\n\n NULL, NULL, 1, ELF_MACHINE, 0);\n\n entry = elf_entry;\n\n if (kernel_size < 0) {\n\n kernel_size = load_uimage(kernel_filename, &entry, NULL, NULL);\n\n }\n\n if (kernel_size < 0) {\n\n kernel_size = load_image_targphys(kernel_filename, 0x40000000,\n\n ram_size);\n\n entry = 0x40000000;\n\n }\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\", kernel_filename);\n\n exit(1);\n\n }\n\n\n\n env->pc = entry;\n\n}\n", "idx": 4213}415{"project": "qemu", "commit_id": "9bada8971173345ceb37ed1a47b00a01a4dd48cf", "target": 0, "func": "static QObject *parse_escape(JSONParserContext *ctxt, va_list *ap)\n\n{\n\n QObject *token;\n\n const char *val;\n\n\n\n if (ap == NULL) {\n\n return NULL;\n\n }\n\n\n\n token = parser_context_pop_token(ctxt);\n\n assert(token && token_get_type(token) == JSON_ESCAPE);\n\n val = token_get_value(token);\n\n\n\n if (!strcmp(val, \"%p\")) {\n\n return va_arg(*ap, QObject *);\n\n } else if (!strcmp(val, \"%i\")) {\n\n return QOBJECT(qbool_from_bool(va_arg(*ap, int)));\n\n } else if (!strcmp(val, \"%d\")) {\n\n return QOBJECT(qint_from_int(va_arg(*ap, int)));\n\n } else if (!strcmp(val, \"%ld\")) {\n\n return QOBJECT(qint_from_int(va_arg(*ap, long)));\n\n } else if (!strcmp(val, \"%lld\") ||\n\n !strcmp(val, \"%I64d\")) {\n\n return QOBJECT(qint_from_int(va_arg(*ap, long long)));\n\n } else if (!strcmp(val, \"%s\")) {\n\n return QOBJECT(qstring_from_str(va_arg(*ap, const char *)));\n\n } else if (!strcmp(val, \"%f\")) {\n\n return QOBJECT(qfloat_from_double(va_arg(*ap, double)));\n\n }\n\n return NULL;\n\n}\n", "idx": 4217}416{"project": "qemu", "commit_id": "149f54b53b7666a3facd45e86eece60ce7d3b114", "target": 0, "func": "static inline uint64_t ldq_phys_internal(hwaddr addr,\n\n enum device_endian endian)\n\n{\n\n uint8_t *ptr;\n\n uint64_t val;\n\n MemoryRegionSection *section;\n\n\n\n section = phys_page_find(address_space_memory.dispatch, addr >> TARGET_PAGE_BITS);\n\n\n\n if (!(memory_region_is_ram(section->mr) ||\n\n memory_region_is_romd(section->mr))) {\n\n /* I/O case */\n\n addr = memory_region_section_addr(section, addr);\n\n\n\n /* XXX This is broken when device endian != cpu endian.\n\n Fix and add \"endian\" variable check */\n\n#ifdef TARGET_WORDS_BIGENDIAN\n\n val = io_mem_read(section->mr, addr, 4) << 32;\n\n val |= io_mem_read(section->mr, addr + 4, 4);\n\n#else\n\n val = io_mem_read(section->mr, addr, 4);\n\n val |= io_mem_read(section->mr, addr + 4, 4) << 32;\n\n#endif\n\n } else {\n\n /* RAM case */\n\n ptr = qemu_get_ram_ptr((memory_region_get_ram_addr(section->mr)\n\n & TARGET_PAGE_MASK)\n\n + memory_region_section_addr(section, addr));\n\n switch (endian) {\n\n case DEVICE_LITTLE_ENDIAN:\n\n val = ldq_le_p(ptr);\n\n break;\n\n case DEVICE_BIG_ENDIAN:\n\n val = ldq_be_p(ptr);\n\n break;\n\n default:\n\n val = ldq_p(ptr);\n\n break;\n\n }\n\n }\n\n return val;\n\n}\n", "idx": 4218}417{"project": "qemu", "commit_id": "200668ba0839e664f0e4d0bcdc55ab5a163a418a", "target": 0, "func": "void main_loop_wait(int nonblocking)\n\n{\n\n fd_set rfds, wfds, xfds;\n\n int ret, nfds;\n\n struct timeval tv;\n\n int timeout;\n\n\n\n if (nonblocking)\n\n timeout = 0;\n\n else {\n\n timeout = qemu_calculate_timeout();\n\n qemu_bh_update_timeout(&timeout);\n\n }\n\n\n\n os_host_main_loop_wait(&timeout);\n\n\n\n tv.tv_sec = timeout / 1000;\n\n tv.tv_usec = (timeout % 1000) * 1000;\n\n\n\n /* poll any events */\n\n /* XXX: separate device handlers from system ones */\n\n nfds = -1;\n\n FD_ZERO(&rfds);\n\n FD_ZERO(&wfds);\n\n FD_ZERO(&xfds);\n\n qemu_iohandler_fill(&nfds, &rfds, &wfds, &xfds);\n\n slirp_select_fill(&nfds, &rfds, &wfds, &xfds);\n\n\n\n qemu_mutex_unlock_iothread();\n\n ret = select(nfds + 1, &rfds, &wfds, &xfds, &tv);\n\n qemu_mutex_lock_iothread();\n\n\n\n qemu_iohandler_poll(&rfds, &wfds, &xfds, ret);\n\n slirp_select_poll(&rfds, &wfds, &xfds, (ret < 0));\n\n\n\n qemu_run_all_timers();\n\n\n\n /* Check bottom-halves last in case any of the earlier events triggered\n\n them. */\n\n qemu_bh_poll();\n\n\n\n}\n", "idx": 4221}418{"project": "qemu", "commit_id": "88be7b4be4aa17c88247e162bdd7577ea79db94f", "target": 1, "func": "void bdrv_invalidate_cache_all(Error **errp)\n\n{\n\n BlockDriverState *bs;\n\n Error *local_err = NULL;\n\n BdrvNextIterator *it = NULL;\n\n\n\n while ((it = bdrv_next(it, &bs)) != NULL) {\n\n AioContext *aio_context = bdrv_get_aio_context(bs);\n\n\n\n aio_context_acquire(aio_context);\n\n bdrv_invalidate_cache(bs, &local_err);\n\n aio_context_release(aio_context);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n return;\n\n }\n\n }\n\n}\n", "idx": 4253}419{"project": "FFmpeg", "commit_id": "ec07efa70012845e8642df67a4a773f510a17088", "target": 1, "func": "static int parse_adaptation_sets(AVFormatContext *s)\n\n{\n\n WebMDashMuxContext *w = s->priv_data;\n\n char *p = w->adaptation_sets;\n\n char *q;\n\n enum { new_set, parsed_id, parsing_streams } state;\n\n if (!w->adaptation_sets) {\n\n av_log(s, AV_LOG_ERROR, \"The 'adaptation_sets' option must be set.\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n // syntax id=0,streams=0,1,2 id=1,streams=3,4 and so on\n\n state = new_set;\n\n while (p < w->adaptation_sets + strlen(w->adaptation_sets)) {\n\n if (*p == ' ')\n\n continue;\n\n else if (state == new_set && !strncmp(p, \"id=\", 3)) {\n\n void *mem = av_realloc(w->as, sizeof(*w->as) * (w->nb_as + 1));\n\n if (mem == NULL)\n\n return AVERROR(ENOMEM);\n\n w->as = mem;\n\n ++w->nb_as;\n\n w->as[w->nb_as - 1].nb_streams = 0;\n\n w->as[w->nb_as - 1].streams = NULL;\n\n p += 3; // consume \"id=\"\n\n q = w->as[w->nb_as - 1].id;\n\n while (*p != ',') *q++ = *p++;\n\n *q = 0;\n\n p++;\n\n state = parsed_id;\n\n } else if (state == parsed_id && !strncmp(p, \"streams=\", 8)) {\n\n p += 8; // consume \"streams=\"\n\n state = parsing_streams;\n\n } else if (state == parsing_streams) {\n\n struct AdaptationSet *as = &w->as[w->nb_as - 1];\n\n q = p;\n\n while (*q != '\\0' && *q != ',' && *q != ' ') q++;\n\n as->streams = av_realloc(as->streams, sizeof(*as->streams) * ++as->nb_streams);\n\n if (as->streams == NULL)\n\n return AVERROR(ENOMEM);\n\n as->streams[as->nb_streams - 1] = to_integer(p, q - p + 1);\n\n if (as->streams[as->nb_streams - 1] < 0) return -1;\n\n if (*q == '\\0') break;\n\n if (*q == ' ') state = new_set;\n\n p = ++q;\n\n } else {\n\n return -1;\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 4255}420{"project": "qemu", "commit_id": "e549e7161f37416ff66971d77d021d30057045ca", "target": 1, "func": "static QObject *parse_keyword(JSONParserContext *ctxt)\n\n{\n\n QObject *token, *ret;\n\n JSONParserContext saved_ctxt = parser_context_save(ctxt);\n\n\n\n token = parser_context_pop_token(ctxt);\n\n if (token == NULL) {\n\n goto out;\n\n }\n\n\n\n if (token_get_type(token) != JSON_KEYWORD) {\n\n goto out;\n\n }\n\n\n\n if (token_is_keyword(token, \"true\")) {\n\n ret = QOBJECT(qbool_from_int(true));\n\n } else if (token_is_keyword(token, \"false\")) {\n\n ret = QOBJECT(qbool_from_int(false));\n\n\n\n } else {\n\n parse_error(ctxt, token, \"invalid keyword `%s'\", token_get_value(token));\n\n goto out;\n\n }\n\n\n\n return ret;\n\n\n\nout: \n\n parser_context_restore(ctxt, saved_ctxt);\n\n\n\n return NULL;\n\n}", "idx": 4256}421{"project": "FFmpeg", "commit_id": "5b29af624fe8be5379fd649019a04ff44bfde04f", "target": 0, "func": "static int aac_encode_frame(AVCodecContext *avctx,\n\n uint8_t *frame, int buf_size, void *data)\n\n{\n\n AACEncContext *s = avctx->priv_data;\n\n int16_t *samples = s->samples, *samples2, *la;\n\n ChannelElement *cpe;\n\n int i, j, chans, tag, start_ch;\n\n const uint8_t *chan_map = aac_chan_configs[avctx->channels-1];\n\n int chan_el_counter[4];\n\n FFPsyWindowInfo windows[AAC_MAX_CHANNELS];\n\n\n\n if (s->last_frame)\n\n return 0;\n\n if (data) {\n\n if (!s->psypp) {\n\n memcpy(s->samples + 1024 * avctx->channels, data,\n\n 1024 * avctx->channels * sizeof(s->samples[0]));\n\n } else {\n\n start_ch = 0;\n\n samples2 = s->samples + 1024 * avctx->channels;\n\n for (i = 0; i < chan_map[0]; i++) {\n\n tag = chan_map[i+1];\n\n chans = tag == TYPE_CPE ? 2 : 1;\n\n ff_psy_preprocess(s->psypp, (uint16_t*)data + start_ch,\n\n samples2 + start_ch, start_ch, chans);\n\n start_ch += chans;\n\n }\n\n }\n\n }\n\n if (!avctx->frame_number) {\n\n memcpy(s->samples, s->samples + 1024 * avctx->channels,\n\n 1024 * avctx->channels * sizeof(s->samples[0]));\n\n return 0;\n\n }\n\n\n\n start_ch = 0;\n\n for (i = 0; i < chan_map[0]; i++) {\n\n FFPsyWindowInfo* wi = windows + start_ch;\n\n tag = chan_map[i+1];\n\n chans = tag == TYPE_CPE ? 2 : 1;\n\n cpe = &s->cpe[i];\n\n for (j = 0; j < chans; j++) {\n\n IndividualChannelStream *ics = &cpe->ch[j].ics;\n\n int k;\n\n int cur_channel = start_ch + j;\n\n samples2 = samples + cur_channel;\n\n la = samples2 + (448+64) * avctx->channels;\n\n if (!data)\n\n la = NULL;\n\n if (tag == TYPE_LFE) {\n\n wi[j].window_type[0] = ONLY_LONG_SEQUENCE;\n\n wi[j].window_shape = 0;\n\n wi[j].num_windows = 1;\n\n wi[j].grouping[0] = 1;\n\n } else {\n\n wi[j] = ff_psy_suggest_window(&s->psy, samples2, la, cur_channel,\n\n ics->window_sequence[0]);\n\n }\n\n ics->window_sequence[1] = ics->window_sequence[0];\n\n ics->window_sequence[0] = wi[j].window_type[0];\n\n ics->use_kb_window[1] = ics->use_kb_window[0];\n\n ics->use_kb_window[0] = wi[j].window_shape;\n\n ics->num_windows = wi[j].num_windows;\n\n ics->swb_sizes = s->psy.bands [ics->num_windows == 8];\n\n ics->num_swb = tag == TYPE_LFE ? 12 : s->psy.num_bands[ics->num_windows == 8];\n\n for (k = 0; k < ics->num_windows; k++)\n\n ics->group_len[k] = wi[j].grouping[k];\n\n\n\n apply_window_and_mdct(avctx, s, &cpe->ch[j], samples2);\n\n }\n\n start_ch += chans;\n\n }\n\n do {\n\n int frame_bits;\n\n init_put_bits(&s->pb, frame, buf_size*8);\n\n if ((avctx->frame_number & 0xFF)==1 && !(avctx->flags & CODEC_FLAG_BITEXACT))\n\n put_bitstream_info(avctx, s, LIBAVCODEC_IDENT);\n\n start_ch = 0;\n\n memset(chan_el_counter, 0, sizeof(chan_el_counter));\n\n for (i = 0; i < chan_map[0]; i++) {\n\n FFPsyWindowInfo* wi = windows + start_ch;\n\n tag = chan_map[i+1];\n\n chans = tag == TYPE_CPE ? 2 : 1;\n\n cpe = &s->cpe[i];\n\n put_bits(&s->pb, 3, tag);\n\n put_bits(&s->pb, 4, chan_el_counter[tag]++);\n\n for (j = 0; j < chans; j++) {\n\n s->cur_channel = start_ch + j;\n\n ff_psy_set_band_info(&s->psy, s->cur_channel, cpe->ch[j].coeffs, &wi[j]);\n\n s->coder->search_for_quantizers(avctx, s, &cpe->ch[j], s->lambda);\n\n }\n\n cpe->common_window = 0;\n\n if (chans > 1\n\n && wi[0].window_type[0] == wi[1].window_type[0]\n\n && wi[0].window_shape == wi[1].window_shape) {\n\n\n\n cpe->common_window = 1;\n\n for (j = 0; j < wi[0].num_windows; j++) {\n\n if (wi[0].grouping[j] != wi[1].grouping[j]) {\n\n cpe->common_window = 0;\n\n break;\n\n }\n\n }\n\n }\n\n s->cur_channel = start_ch;\n\n if (cpe->common_window && s->coder->search_for_ms)\n\n s->coder->search_for_ms(s, cpe, s->lambda);\n\n adjust_frame_information(s, cpe, chans);\n\n if (chans == 2) {\n\n put_bits(&s->pb, 1, cpe->common_window);\n\n if (cpe->common_window) {\n\n put_ics_info(s, &cpe->ch[0].ics);\n\n encode_ms_info(&s->pb, cpe);\n\n }\n\n }\n\n for (j = 0; j < chans; j++) {\n\n s->cur_channel = start_ch + j;\n\n encode_individual_channel(avctx, s, &cpe->ch[j], cpe->common_window);\n\n }\n\n start_ch += chans;\n\n }\n\n\n\n frame_bits = put_bits_count(&s->pb);\n\n if (frame_bits <= 6144 * avctx->channels - 3) {\n\n s->psy.bitres.bits = frame_bits / avctx->channels;\n\n break;\n\n }\n\n\n\n s->lambda *= avctx->bit_rate * 1024.0f / avctx->sample_rate / frame_bits;\n\n\n\n } while (1);\n\n\n\n put_bits(&s->pb, 3, TYPE_END);\n\n flush_put_bits(&s->pb);\n\n avctx->frame_bits = put_bits_count(&s->pb);\n\n\n\n // rate control stuff\n\n if (!(avctx->flags & CODEC_FLAG_QSCALE)) {\n\n float ratio = avctx->bit_rate * 1024.0f / avctx->sample_rate / avctx->frame_bits;\n\n s->lambda *= ratio;\n\n s->lambda = FFMIN(s->lambda, 65536.f);\n\n }\n\n\n\n if (!data)\n\n s->last_frame = 1;\n\n memcpy(s->samples, s->samples + 1024 * avctx->channels,\n\n 1024 * avctx->channels * sizeof(s->samples[0]));\n\n return put_bits_count(&s->pb)>>3;\n\n}\n", "idx": 4260}422{"project": "FFmpeg", "commit_id": "6a6bc43f5f79587b8936334cc0b3a6616f4807ac", "target": 0, "func": "static int dxtory_decode_v2_420(AVCodecContext *avctx, AVFrame *pic,\n\n const uint8_t *src, int src_size)\n\n{\n\n GetByteContext gb;\n\n GetBitContext gb2;\n\n int nslices, slice, slice_height, ref_slice_height;\n\n int cur_y, next_y;\n\n uint32_t off, slice_size;\n\n uint8_t *Y, *U, *V;\n\n int ret;\n\n\n\n bytestream2_init(&gb, src, src_size);\n\n nslices = bytestream2_get_le16(&gb);\n\n off = FFALIGN(nslices * 4 + 2, 16);\n\n if (src_size < off) {\n\n av_log(avctx, AV_LOG_ERROR, \"no slice data\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (!nslices || avctx->height % nslices) {\n\n avpriv_request_sample(avctx, \"%d slices for %dx%d\", nslices,\n\n avctx->width, avctx->height);\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n ref_slice_height = avctx->height / nslices;\n\n if ((avctx->width & 1) || (avctx->height & 1)) {\n\n avpriv_request_sample(avctx, \"Frame dimensions %dx%d\",\n\n avctx->width, avctx->height);\n\n }\n\n\n\n avctx->pix_fmt = AV_PIX_FMT_YUV420P;\n\n if ((ret = ff_get_buffer(avctx, pic, 0)) < 0)\n\n return ret;\n\n\n\n Y = pic->data[0];\n\n U = pic->data[1];\n\n V = pic->data[2];\n\n\n\n cur_y = 0;\n\n next_y = ref_slice_height;\n\n for (slice = 0; slice < nslices; slice++) {\n\n slice_size = bytestream2_get_le32(&gb);\n\n slice_height = (next_y & ~1) - (cur_y & ~1);\n\n if (slice_size > src_size - off) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"invalid slice size %\"PRIu32\" (only %\"PRIu32\" bytes left)\\n\",\n\n slice_size, src_size - off);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (slice_size <= 16) {\n\n av_log(avctx, AV_LOG_ERROR, \"invalid slice size %\"PRIu32\"\\n\", slice_size);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (AV_RL32(src + off) != slice_size - 16) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Slice sizes mismatch: got %\"PRIu32\" instead of %\"PRIu32\"\\n\",\n\n AV_RL32(src + off), slice_size - 16);\n\n }\n\n init_get_bits(&gb2, src + off + 16, (slice_size - 16) * 8);\n\n dx2_decode_slice_420(&gb2, avctx->width, slice_height, Y, U, V,\n\n pic->linesize[0], pic->linesize[1],\n\n pic->linesize[2]);\n\n\n\n Y += pic->linesize[0] * slice_height;\n\n U += pic->linesize[1] * (slice_height >> 1);\n\n V += pic->linesize[2] * (slice_height >> 1);\n\n off += slice_size;\n\n cur_y = next_y;\n\n next_y += ref_slice_height;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 4306}423{"project": "FFmpeg", "commit_id": "6ebc7240606e8f1fccd2edbe4ffac150053a16cc", "target": 0, "func": "static int read_sbr_grid(AACContext *ac, SpectralBandReplication *sbr,\n\n GetBitContext *gb, SBRData *ch_data)\n\n{\n\n int i;\n\n unsigned bs_pointer = 0;\n\n // frameLengthFlag ? 15 : 16; 960 sample length frames unsupported; this value is numTimeSlots\n\n int abs_bord_trail = 16;\n\n int num_rel_lead, num_rel_trail;\n\n unsigned bs_num_env_old = ch_data->bs_num_env;\n\n\n\n ch_data->bs_freq_res[0] = ch_data->bs_freq_res[ch_data->bs_num_env];\n\n ch_data->bs_amp_res = sbr->bs_amp_res_header;\n\n ch_data->t_env_num_env_old = ch_data->t_env[bs_num_env_old];\n\n\n\n switch (ch_data->bs_frame_class = get_bits(gb, 2)) {\n\n case FIXFIX:\n\n ch_data->bs_num_env = 1 << get_bits(gb, 2);\n\n num_rel_lead = ch_data->bs_num_env - 1;\n\n if (ch_data->bs_num_env == 1)\n\n ch_data->bs_amp_res = 0;\n\n\n\n if (ch_data->bs_num_env > 4) {\n\n av_log(ac->avccontext, AV_LOG_ERROR,\n\n \"Invalid bitstream, too many SBR envelopes in FIXFIX type SBR frame: %d\\n\",\n\n ch_data->bs_num_env);\n\n return -1;\n\n }\n\n\n\n ch_data->t_env[0] = 0;\n\n ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;\n\n\n\n abs_bord_trail = (abs_bord_trail + (ch_data->bs_num_env >> 1)) /\n\n ch_data->bs_num_env;\n\n for (i = 0; i < num_rel_lead; i++)\n\n ch_data->t_env[i + 1] = ch_data->t_env[i] + abs_bord_trail;\n\n\n\n ch_data->bs_freq_res[1] = get_bits1(gb);\n\n for (i = 1; i < ch_data->bs_num_env; i++)\n\n ch_data->bs_freq_res[i + 1] = ch_data->bs_freq_res[1];\n\n break;\n\n case FIXVAR:\n\n abs_bord_trail += get_bits(gb, 2);\n\n num_rel_trail = get_bits(gb, 2);\n\n ch_data->bs_num_env = num_rel_trail + 1;\n\n ch_data->t_env[0] = 0;\n\n ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;\n\n\n\n for (i = 0; i < num_rel_trail; i++)\n\n ch_data->t_env[ch_data->bs_num_env - 1 - i] =\n\n ch_data->t_env[ch_data->bs_num_env - i] - 2 * get_bits(gb, 2) - 2;\n\n\n\n bs_pointer = get_bits(gb, ceil_log2[ch_data->bs_num_env]);\n\n\n\n for (i = 0; i < ch_data->bs_num_env; i++)\n\n ch_data->bs_freq_res[ch_data->bs_num_env - i] = get_bits1(gb);\n\n break;\n\n case VARFIX:\n\n ch_data->t_env[0] = get_bits(gb, 2);\n\n num_rel_lead = get_bits(gb, 2);\n\n ch_data->bs_num_env = num_rel_lead + 1;\n\n ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;\n\n\n\n for (i = 0; i < num_rel_lead; i++)\n\n ch_data->t_env[i + 1] = ch_data->t_env[i] + 2 * get_bits(gb, 2) + 2;\n\n\n\n bs_pointer = get_bits(gb, ceil_log2[ch_data->bs_num_env]);\n\n\n\n get_bits1_vector(gb, ch_data->bs_freq_res + 1, ch_data->bs_num_env);\n\n break;\n\n case VARVAR:\n\n ch_data->t_env[0] = get_bits(gb, 2);\n\n abs_bord_trail += get_bits(gb, 2);\n\n num_rel_lead = get_bits(gb, 2);\n\n num_rel_trail = get_bits(gb, 2);\n\n ch_data->bs_num_env = num_rel_lead + num_rel_trail + 1;\n\n ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;\n\n\n\n if (ch_data->bs_num_env > 5) {\n\n av_log(ac->avccontext, AV_LOG_ERROR,\n\n \"Invalid bitstream, too many SBR envelopes in VARVAR type SBR frame: %d\\n\",\n\n ch_data->bs_num_env);\n\n return -1;\n\n }\n\n\n\n for (i = 0; i < num_rel_lead; i++)\n\n ch_data->t_env[i + 1] = ch_data->t_env[i] + 2 * get_bits(gb, 2) + 2;\n\n for (i = 0; i < num_rel_trail; i++)\n\n ch_data->t_env[ch_data->bs_num_env - 1 - i] =\n\n ch_data->t_env[ch_data->bs_num_env - i] - 2 * get_bits(gb, 2) - 2;\n\n\n\n bs_pointer = get_bits(gb, ceil_log2[ch_data->bs_num_env]);\n\n\n\n get_bits1_vector(gb, ch_data->bs_freq_res + 1, ch_data->bs_num_env);\n\n break;\n\n }\n\n\n\n if (bs_pointer > ch_data->bs_num_env + 1) {\n\n av_log(ac->avccontext, AV_LOG_ERROR,\n\n \"Invalid bitstream, bs_pointer points to a middle noise border outside the time borders table: %d\\n\",\n\n bs_pointer);\n\n return -1;\n\n }\n\n\n\n ch_data->bs_num_noise = (ch_data->bs_num_env > 1) + 1;\n\n\n\n ch_data->t_q[0] = ch_data->t_env[0];\n\n ch_data->t_q[ch_data->bs_num_noise] = ch_data->t_env[ch_data->bs_num_env];\n\n if (ch_data->bs_num_noise > 1) {\n\n unsigned int idx;\n\n if (ch_data->bs_frame_class == FIXFIX) {\n\n idx = ch_data->bs_num_env >> 1;\n\n } else if (ch_data->bs_frame_class & 1) { // FIXVAR or VARVAR\n\n idx = ch_data->bs_num_env - FFMAX(bs_pointer - 1, 1);\n\n } else { // VARFIX\n\n if (!bs_pointer)\n\n idx = 1;\n\n else if (bs_pointer == 1)\n\n idx = ch_data->bs_num_env - 1;\n\n else // bs_pointer > 1\n\n idx = bs_pointer - 1;\n\n }\n\n ch_data->t_q[1] = ch_data->t_env[idx];\n\n }\n\n\n\n ch_data->e_a[0] = -(ch_data->e_a[1] != bs_num_env_old); // l_APrev\n\n ch_data->e_a[1] = -1;\n\n if ((ch_data->bs_frame_class & 1) && bs_pointer) { // FIXVAR or VARVAR and bs_pointer != 0\n\n ch_data->e_a[1] = ch_data->bs_num_env + 1 - bs_pointer;\n\n } else if ((ch_data->bs_frame_class == 2) && (bs_pointer > 1)) // VARFIX and bs_pointer > 1\n\n ch_data->e_a[1] = bs_pointer - 1;\n\n\n\n return 0;\n\n}\n", "idx": 4307}424{"project": "qemu", "commit_id": "45b339b18c660eb85af2ba25bfcaed5469660d77", "target": 0, "func": "static int uhci_complete_td(UHCIState *s, UHCI_TD *td, UHCIAsync *async, uint32_t *int_mask)\n\n{\n\n int len = 0, max_len, err, ret;\n\n uint8_t pid;\n\n\n\n max_len = ((td->token >> 21) + 1) & 0x7ff;\n\n pid = td->token & 0xff;\n\n\n\n ret = async->packet.result;\n\n\n\n if (td->ctrl & TD_CTRL_IOS)\n\n td->ctrl &= ~TD_CTRL_ACTIVE;\n\n\n\n if (ret < 0)\n\n goto out;\n\n\n\n len = async->packet.result;\n\n td->ctrl = (td->ctrl & ~0x7ff) | ((len - 1) & 0x7ff);\n\n\n\n /* The NAK bit may have been set by a previous frame, so clear it\n\n here. The docs are somewhat unclear, but win2k relies on this\n\n behavior. */\n\n td->ctrl &= ~(TD_CTRL_ACTIVE | TD_CTRL_NAK);\n\n if (td->ctrl & TD_CTRL_IOC)\n\n *int_mask |= 0x01;\n\n\n\n if (pid == USB_TOKEN_IN) {\n\n if (len > max_len) {\n\n ret = USB_RET_BABBLE;\n\n goto out;\n\n }\n\n\n\n if ((td->ctrl & TD_CTRL_SPD) && len < max_len) {\n\n *int_mask |= 0x02;\n\n /* short packet: do not update QH */\n\n trace_usb_uhci_packet_complete_shortxfer(async->queue->token,\n\n async->td);\n\n return TD_RESULT_NEXT_QH;\n\n }\n\n }\n\n\n\n /* success */\n\n trace_usb_uhci_packet_complete_success(async->queue->token, async->td);\n\n return TD_RESULT_COMPLETE;\n\n\n\nout:\n\n /*\n\n * We should not do any further processing on a queue with errors!\n\n * This is esp. important for bulk endpoints with pipelining enabled\n\n * (redirection to a real USB device), where we must cancel all the\n\n * transfers after this one so that:\n\n * 1) If they've completed already, they are not processed further\n\n * causing more stalls, originating from the same failed transfer\n\n * 2) If still in flight, they are cancelled before the guest does\n\n * a clear stall, otherwise the guest and device can loose sync!\n\n */\n\n while (!QTAILQ_EMPTY(&async->queue->asyncs)) {\n\n UHCIAsync *as = QTAILQ_FIRST(&async->queue->asyncs);\n\n uhci_async_unlink(as);\n\n uhci_async_cancel(as);\n\n }\n\n\n\n switch(ret) {\n\n case USB_RET_STALL:\n\n td->ctrl |= TD_CTRL_STALL;\n\n td->ctrl &= ~TD_CTRL_ACTIVE;\n\n s->status |= UHCI_STS_USBERR;\n\n if (td->ctrl & TD_CTRL_IOC) {\n\n *int_mask |= 0x01;\n\n }\n\n uhci_update_irq(s);\n\n trace_usb_uhci_packet_complete_stall(async->queue->token, async->td);\n\n return TD_RESULT_NEXT_QH;\n\n\n\n case USB_RET_BABBLE:\n\n td->ctrl |= TD_CTRL_BABBLE | TD_CTRL_STALL;\n\n td->ctrl &= ~TD_CTRL_ACTIVE;\n\n s->status |= UHCI_STS_USBERR;\n\n if (td->ctrl & TD_CTRL_IOC) {\n\n *int_mask |= 0x01;\n\n }\n\n uhci_update_irq(s);\n\n /* frame interrupted */\n\n trace_usb_uhci_packet_complete_babble(async->queue->token, async->td);\n\n return TD_RESULT_STOP_FRAME;\n\n\n\n case USB_RET_NAK:\n\n td->ctrl |= TD_CTRL_NAK;\n\n if (pid == USB_TOKEN_SETUP)\n\n break;\n\n return TD_RESULT_NEXT_QH;\n\n\n\n case USB_RET_IOERROR:\n\n case USB_RET_NODEV:\n\n default:\n\n\tbreak;\n\n }\n\n\n\n /* Retry the TD if error count is not zero */\n\n\n\n td->ctrl |= TD_CTRL_TIMEOUT;\n\n err = (td->ctrl >> TD_CTRL_ERROR_SHIFT) & 3;\n\n if (err != 0) {\n\n err--;\n\n if (err == 0) {\n\n td->ctrl &= ~TD_CTRL_ACTIVE;\n\n s->status |= UHCI_STS_USBERR;\n\n if (td->ctrl & TD_CTRL_IOC)\n\n *int_mask |= 0x01;\n\n uhci_update_irq(s);\n\n trace_usb_uhci_packet_complete_error(async->queue->token,\n\n async->td);\n\n }\n\n }\n\n td->ctrl = (td->ctrl & ~(3 << TD_CTRL_ERROR_SHIFT)) |\n\n (err << TD_CTRL_ERROR_SHIFT);\n\n return TD_RESULT_NEXT_QH;\n\n}\n", "idx": 4315}425{"project": "qemu", "commit_id": "9d27abd94fe2c48281a77112d58422b392a80f7b", "target": 0, "func": "static void cpu_x86_dump_state(FILE *f)\n\n{\n\n int eflags;\n\n char cc_op_name[32];\n\n eflags = cc_table[CC_OP].compute_all();\n\n eflags |= (DF & DF_MASK);\n\n if ((unsigned)env->cc_op < CC_OP_NB)\n\n strcpy(cc_op_name, cc_op_str[env->cc_op]);\n\n else\n\n snprintf(cc_op_name, sizeof(cc_op_name), \"[%d]\", env->cc_op);\n\n fprintf(f, \n\n \"EAX=%08x EBX=%08X ECX=%08x EDX=%08x\\n\"\n\n \"ESI=%08x EDI=%08X EBP=%08x ESP=%08x\\n\"\n\n \"CCS=%08x CCD=%08x CCO=%-8s EFL=%c%c%c%c%c%c%c\\n\"\n\n \"EIP=%08x\\n\",\n\n env->regs[R_EAX], env->regs[R_EBX], env->regs[R_ECX], env->regs[R_EDX], \n\n env->regs[R_ESI], env->regs[R_EDI], env->regs[R_EBP], env->regs[R_ESP], \n\n env->cc_src, env->cc_dst, cc_op_name,\n\n eflags & DF_MASK ? 'D' : '-',\n\n eflags & CC_O ? 'O' : '-',\n\n eflags & CC_S ? 'S' : '-',\n\n eflags & CC_Z ? 'Z' : '-',\n\n eflags & CC_A ? 'A' : '-',\n\n eflags & CC_P ? 'P' : '-',\n\n eflags & CC_C ? 'C' : '-',\n\n env->eip);\n\n#if 1\n\n fprintf(f, \"ST0=%f ST1=%f ST2=%f ST3=%f\\n\", \n\n (double)ST0, (double)ST1, (double)ST(2), (double)ST(3));\n\n#endif\n\n}\n", "idx": 4337}426{"project": "FFmpeg", "commit_id": "612ecfbbbb3f4238d44cca5f250ffc6147d03ec2", "target": 0, "func": "static int gif_read_image(GifState *s)\n\n{\n\n int left, top, width, height, bits_per_pixel, code_size, flags;\n\n int is_interleaved, has_local_palette, y, pass, y1, linesize, n, i;\n\n uint8_t *ptr, *spal, *palette, *ptr1;\n\n\n\n left = bytestream_get_le16(&s->bytestream);\n\n top = bytestream_get_le16(&s->bytestream);\n\n width = bytestream_get_le16(&s->bytestream);\n\n height = bytestream_get_le16(&s->bytestream);\n\n flags = bytestream_get_byte(&s->bytestream);\n\n is_interleaved = flags & 0x40;\n\n has_local_palette = flags & 0x80;\n\n bits_per_pixel = (flags & 0x07) + 1;\n\n\n\n av_dlog(s->avctx, \"image x=%d y=%d w=%d h=%d\\n\", left, top, width, height);\n\n\n\n if (has_local_palette) {\n\n bytestream_get_buffer(&s->bytestream, s->local_palette, 3 * (1 << bits_per_pixel));\n\n palette = s->local_palette;\n\n } else {\n\n palette = s->global_palette;\n\n bits_per_pixel = s->bits_per_pixel;\n\n }\n\n\n\n /* verify that all the image is inside the screen dimensions */\n\n if (left + width > s->screen_width ||\n\n top + height > s->screen_height)\n\n return AVERROR(EINVAL);\n\n\n\n /* build the palette */\n\n n = (1 << bits_per_pixel);\n\n spal = palette;\n\n for(i = 0; i < n; i++) {\n\n s->image_palette[i] = (0xffu << 24) | AV_RB24(spal);\n\n spal += 3;\n\n }\n\n for(; i < 256; i++)\n\n s->image_palette[i] = (0xffu << 24);\n\n /* handle transparency */\n\n if (s->transparent_color_index >= 0)\n\n s->image_palette[s->transparent_color_index] = 0;\n\n\n\n /* now get the image data */\n\n code_size = bytestream_get_byte(&s->bytestream);\n\n ff_lzw_decode_init(s->lzw, code_size, s->bytestream,\n\n s->bytestream_end - s->bytestream, FF_LZW_GIF);\n\n\n\n /* read all the image */\n\n linesize = s->picture.linesize[0];\n\n ptr1 = s->picture.data[0] + top * linesize + left;\n\n ptr = ptr1;\n\n pass = 0;\n\n y1 = 0;\n\n for (y = 0; y < height; y++) {\n\n ff_lzw_decode(s->lzw, ptr, width);\n\n if (is_interleaved) {\n\n switch(pass) {\n\n default:\n\n case 0:\n\n case 1:\n\n y1 += 8;\n\n ptr += linesize * 8;\n\n if (y1 >= height) {\n\n y1 = pass ? 2 : 4;\n\n ptr = ptr1 + linesize * y1;\n\n pass++;\n\n }\n\n break;\n\n case 2:\n\n y1 += 4;\n\n ptr += linesize * 4;\n\n if (y1 >= height) {\n\n y1 = 1;\n\n ptr = ptr1 + linesize;\n\n pass++;\n\n }\n\n break;\n\n case 3:\n\n y1 += 2;\n\n ptr += linesize * 2;\n\n break;\n\n }\n\n } else {\n\n ptr += linesize;\n\n }\n\n }\n\n /* read the garbage data until end marker is found */\n\n ff_lzw_decode_tail(s->lzw);\n\n s->bytestream = ff_lzw_cur_ptr(s->lzw);\n\n return 0;\n\n}\n", "idx": 4341}427{"project": "FFmpeg", "commit_id": "43a4cb070bf7588c53fd192e8fbc71a52fa14a4c", "target": 0, "func": "static int alac_encode_frame(AVCodecContext *avctx, uint8_t *frame,\n\n int buf_size, void *data)\n\n{\n\n AlacEncodeContext *s = avctx->priv_data;\n\n PutBitContext *pb = &s->pbctx;\n\n int i, out_bytes, verbatim_flag = 0;\n\n\n\n if (avctx->frame_size > DEFAULT_FRAME_SIZE) {\n\n av_log(avctx, AV_LOG_ERROR, \"input frame size exceeded\\n\");\n\n return -1;\n\n }\n\n\n\n if (buf_size < 2 * s->max_coded_frame_size) {\n\n av_log(avctx, AV_LOG_ERROR, \"buffer size is too small\\n\");\n\n return -1;\n\n }\n\n\n\nverbatim:\n\n init_put_bits(pb, frame, buf_size);\n\n\n\n if (s->compression_level == 0 || verbatim_flag) {\n\n // Verbatim mode\n\n const int16_t *samples = data;\n\n write_frame_header(s, 1);\n\n for (i = 0; i < avctx->frame_size * avctx->channels; i++) {\n\n put_sbits(pb, 16, *samples++);\n\n }\n\n } else {\n\n init_sample_buffers(s, data);\n\n write_frame_header(s, 0);\n\n write_compressed_frame(s);\n\n }\n\n\n\n put_bits(pb, 3, 7);\n\n flush_put_bits(pb);\n\n out_bytes = put_bits_count(pb) >> 3;\n\n\n\n if (out_bytes > s->max_coded_frame_size) {\n\n /* frame too large. use verbatim mode */\n\n if (verbatim_flag || s->compression_level == 0) {\n\n /* still too large. must be an error. */\n\n av_log(avctx, AV_LOG_ERROR, \"error encoding frame\\n\");\n\n return -1;\n\n }\n\n verbatim_flag = 1;\n\n goto verbatim;\n\n }\n\n\n\n return out_bytes;\n\n}\n", "idx": 4344}428{"project": "qemu", "commit_id": "2725aec70114cf1bee00443aeb47a305f9b0c665", "target": 1, "func": "static void i440fx_update_memory_mappings(PCII440FXState *d)\n\n{\n\n int i, r;\n\n uint32_t smram;\n\n bool smram_enabled;\n\n\n\n memory_region_transaction_begin();\n\n update_pam(d, 0xf0000, 0x100000, (d->dev.config[I440FX_PAM] >> 4) & 3,\n\n &d->pam_regions[0]);\n\n for(i = 0; i < 12; i++) {\n\n r = (d->dev.config[(i >> 1) + (I440FX_PAM + 1)] >> ((i & 1) * 4)) & 3;\n\n update_pam(d, 0xc0000 + 0x4000 * i, 0xc0000 + 0x4000 * (i + 1), r,\n\n &d->pam_regions[i+1]);\n\n }\n\n smram = d->dev.config[I440FX_SMRAM];\n\n smram_enabled = (d->smm_enabled && (smram & 0x08)) || (smram & 0x40);\n\n memory_region_set_enabled(&d->smram_region, !smram_enabled);\n\n memory_region_transaction_commit();\n\n}\n", "idx": 4360}429{"project": "qemu", "commit_id": "e98768d43799cd3f00b358bfbe455fdae793d3e8", "target": 1, "func": "static int vmdk_open_vmdk4(BlockDriverState *bs,\n\n BlockDriverState *file,\n\n int flags)\n\n{\n\n int ret;\n\n uint32_t magic;\n\n uint32_t l1_size, l1_entry_sectors;\n\n VMDK4Header header;\n\n VmdkExtent *extent;\n\n int64_t l1_backup_offset = 0;\n\n\n\n ret = bdrv_pread(file, sizeof(magic), &header, sizeof(header));\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n if (header.capacity == 0) {\n\n int64_t desc_offset = le64_to_cpu(header.desc_offset);\n\n if (desc_offset) {\n\n return vmdk_open_desc_file(bs, flags, desc_offset << 9);\n\n }\n\n }\n\n\n\n if (le64_to_cpu(header.gd_offset) == VMDK4_GD_AT_END) {\n\n /*\n\n * The footer takes precedence over the header, so read it in. The\n\n * footer starts at offset -1024 from the end: One sector for the\n\n * footer, and another one for the end-of-stream marker.\n\n */\n\n struct {\n\n struct {\n\n uint64_t val;\n\n uint32_t size;\n\n uint32_t type;\n\n uint8_t pad[512 - 16];\n\n } QEMU_PACKED footer_marker;\n\n\n\n uint32_t magic;\n\n VMDK4Header header;\n\n uint8_t pad[512 - 4 - sizeof(VMDK4Header)];\n\n\n\n struct {\n\n uint64_t val;\n\n uint32_t size;\n\n uint32_t type;\n\n uint8_t pad[512 - 16];\n\n } QEMU_PACKED eos_marker;\n\n } QEMU_PACKED footer;\n\n\n\n ret = bdrv_pread(file,\n\n bs->file->total_sectors * 512 - 1536,\n\n &footer, sizeof(footer));\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n /* Some sanity checks for the footer */\n\n if (be32_to_cpu(footer.magic) != VMDK4_MAGIC ||\n\n le32_to_cpu(footer.footer_marker.size) != 0 ||\n\n le32_to_cpu(footer.footer_marker.type) != MARKER_FOOTER ||\n\n le64_to_cpu(footer.eos_marker.val) != 0 ||\n\n le32_to_cpu(footer.eos_marker.size) != 0 ||\n\n le32_to_cpu(footer.eos_marker.type) != MARKER_END_OF_STREAM)\n\n {\n\n return -EINVAL;\n\n }\n\n\n\n header = footer.header;\n\n }\n\n\n\n if (le32_to_cpu(header.version) >= 3) {\n\n char buf[64];\n\n snprintf(buf, sizeof(buf), \"VMDK version %d\",\n\n le32_to_cpu(header.version));\n\n qerror_report(QERR_UNKNOWN_BLOCK_FORMAT_FEATURE,\n\n bs->device_name, \"vmdk\", buf);\n\n return -ENOTSUP;\n\n }\n\n\n\n l1_entry_sectors = le32_to_cpu(header.num_gtes_per_gte)\n\n * le64_to_cpu(header.granularity);\n\n if (l1_entry_sectors == 0) {\n\n return -EINVAL;\n\n }\n\n l1_size = (le64_to_cpu(header.capacity) + l1_entry_sectors - 1)\n\n / l1_entry_sectors;\n\n if (le32_to_cpu(header.flags) & VMDK4_FLAG_RGD) {\n\n l1_backup_offset = le64_to_cpu(header.rgd_offset) << 9;\n\n }\n\n extent = vmdk_add_extent(bs, file, false,\n\n le64_to_cpu(header.capacity),\n\n le64_to_cpu(header.gd_offset) << 9,\n\n l1_backup_offset,\n\n l1_size,\n\n le32_to_cpu(header.num_gtes_per_gte),\n\n le64_to_cpu(header.granularity));\n\n extent->compressed =\n\n le16_to_cpu(header.compressAlgorithm) == VMDK4_COMPRESSION_DEFLATE;\n\n extent->has_marker = le32_to_cpu(header.flags) & VMDK4_FLAG_MARKER;\n\n extent->version = le32_to_cpu(header.version);\n\n extent->has_zero_grain = le32_to_cpu(header.flags) & VMDK4_FLAG_ZERO_GRAIN;\n\n ret = vmdk_init_tables(bs, extent);\n\n if (ret) {\n\n /* free extent allocated by vmdk_add_extent */\n\n vmdk_free_last_extent(bs);\n\n }\n\n return ret;\n\n}\n", "idx": 4362}430{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static void control_to_network(RDMAControlHeader *control)\n\n{\n\n control->type = htonl(control->type);\n\n control->len = htonl(control->len);\n\n control->repeat = htonl(control->repeat);\n\n}\n", "idx": 4385}431{"project": "qemu", "commit_id": "95129d6fc9ead97155627a4ca0cfd37282883658", "target": 0, "func": "static bool use_multiport(VirtIOSerial *vser)\n\n{\n\n VirtIODevice *vdev = VIRTIO_DEVICE(vser);\n\n return virtio_has_feature(vdev, VIRTIO_CONSOLE_F_MULTIPORT);\n\n}\n", "idx": 4389}432{"project": "FFmpeg", "commit_id": "56ee3f9de7b9f6090d599a27d33a392890a2f7b8", "target": 0, "func": "static int poll_filter(OutputStream *ost)\n\n{\n\n OutputFile *of = output_files[ost->file_index];\n\n AVFrame *filtered_frame = NULL;\n\n int frame_size, ret;\n\n\n\n if (!ost->filtered_frame && !(ost->filtered_frame = avcodec_alloc_frame())) {\n\n return AVERROR(ENOMEM);\n\n } else\n\n avcodec_get_frame_defaults(ost->filtered_frame);\n\n filtered_frame = ost->filtered_frame;\n\n\n\n if (ost->enc->type == AVMEDIA_TYPE_AUDIO &&\n\n !(ost->enc->capabilities & CODEC_CAP_VARIABLE_FRAME_SIZE))\n\n ret = av_buffersink_get_samples(ost->filter->filter, filtered_frame,\n\n ost->st->codec->frame_size);\n\n else\n\n ret = av_buffersink_get_frame(ost->filter->filter, filtered_frame);\n\n\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (filtered_frame->pts != AV_NOPTS_VALUE) {\n\n filtered_frame->pts = av_rescale_q(filtered_frame->pts,\n\n ost->filter->filter->inputs[0]->time_base,\n\n ost->st->codec->time_base) -\n\n av_rescale_q(of->start_time,\n\n AV_TIME_BASE_Q,\n\n ost->st->codec->time_base);\n\n }\n\n\n\n switch (ost->filter->filter->inputs[0]->type) {\n\n case AVMEDIA_TYPE_VIDEO:\n\n if (!ost->frame_aspect_ratio)\n\n ost->st->codec->sample_aspect_ratio = filtered_frame->sample_aspect_ratio;\n\n\n\n do_video_out(of->ctx, ost, filtered_frame, &frame_size);\n\n if (vstats_filename && frame_size)\n\n do_video_stats(ost, frame_size);\n\n break;\n\n case AVMEDIA_TYPE_AUDIO:\n\n do_audio_out(of->ctx, ost, filtered_frame);\n\n break;\n\n default:\n\n // TODO support subtitle filters\n\n av_assert0(0);\n\n }\n\n\n\n av_frame_unref(filtered_frame);\n\n\n\n return 0;\n\n}\n", "idx": 4411}433{"project": "qemu", "commit_id": "ec05ec26f940564b1e07bf88857035ec27e21dd8", "target": 0, "func": "void *memory_region_get_ram_ptr(MemoryRegion *mr)\n\n{\n\n if (mr->alias) {\n\n return memory_region_get_ram_ptr(mr->alias) + mr->alias_offset;\n\n }\n\n\n\n assert(mr->terminates);\n\n\n\n return qemu_get_ram_ptr(mr->ram_addr & TARGET_PAGE_MASK);\n\n}\n", "idx": 4440}434{"project": "FFmpeg", "commit_id": "36583d23bdbe31e8845d3ca9162bce33fef6e48c", "target": 0, "func": "void ff_af_queue_init(AVCodecContext *avctx, AudioFrameQueue *afq)\n\n{\n\n afq->avctx = avctx;\n\n afq->next_pts = AV_NOPTS_VALUE;\n\n afq->remaining_delay = avctx->delay;\n\n afq->remaining_samples = avctx->delay;\n\n afq->frame_queue = NULL;\n\n}\n", "idx": 4479}435{"project": "qemu", "commit_id": "de13d2161473d02ae97ec0f8e4503147554892dd", "target": 0, "func": "void kvm_s390_service_interrupt(S390CPU *cpu, uint32_t parm)\n\n{\n\n kvm_s390_interrupt_internal(cpu, KVM_S390_INT_SERVICE, parm, 0 , 1);\n\n}\n", "idx": 4488}436{"project": "FFmpeg", "commit_id": "90540c2d5ace46a1e9789c75fde0b1f7dbb12a9b", "target": 1, "func": "static inline void RENAME(rgb24tobgr15)(const uint8_t *src, uint8_t *dst, int src_size)\n\n{\n\n const uint8_t *s = src;\n\n const uint8_t *end;\n\n const uint8_t *mm_end;\n\n uint16_t *d = (uint16_t *)dst;\n\n end = s + src_size;\n\n __asm__ volatile(PREFETCH\" %0\"::\"m\"(*src):\"memory\");\n\n __asm__ volatile(\n\n \"movq %0, %%mm7 \\n\\t\"\n\n \"movq %1, %%mm6 \\n\\t\"\n\n ::\"m\"(red_15mask),\"m\"(green_15mask));\n\n mm_end = end - 11;\n\n while (s < mm_end) {\n\n __asm__ volatile(\n\n PREFETCH\" 32%1 \\n\\t\"\n\n \"movd %1, %%mm0 \\n\\t\"\n\n \"movd 3%1, %%mm3 \\n\\t\"\n\n \"punpckldq 6%1, %%mm0 \\n\\t\"\n\n \"punpckldq 9%1, %%mm3 \\n\\t\"\n\n \"movq %%mm0, %%mm1 \\n\\t\"\n\n \"movq %%mm0, %%mm2 \\n\\t\"\n\n \"movq %%mm3, %%mm4 \\n\\t\"\n\n \"movq %%mm3, %%mm5 \\n\\t\"\n\n \"psrlq $3, %%mm0 \\n\\t\"\n\n \"psrlq $3, %%mm3 \\n\\t\"\n\n \"pand %2, %%mm0 \\n\\t\"\n\n \"pand %2, %%mm3 \\n\\t\"\n\n \"psrlq $6, %%mm1 \\n\\t\"\n\n \"psrlq $6, %%mm4 \\n\\t\"\n\n \"pand %%mm6, %%mm1 \\n\\t\"\n\n \"pand %%mm6, %%mm4 \\n\\t\"\n\n \"psrlq $9, %%mm2 \\n\\t\"\n\n \"psrlq $9, %%mm5 \\n\\t\"\n\n \"pand %%mm7, %%mm2 \\n\\t\"\n\n \"pand %%mm7, %%mm5 \\n\\t\"\n\n \"por %%mm1, %%mm0 \\n\\t\"\n\n \"por %%mm4, %%mm3 \\n\\t\"\n\n \"por %%mm2, %%mm0 \\n\\t\"\n\n \"por %%mm5, %%mm3 \\n\\t\"\n\n \"psllq $16, %%mm3 \\n\\t\"\n\n \"por %%mm3, %%mm0 \\n\\t\"\n\n MOVNTQ\" %%mm0, %0 \\n\\t\"\n\n :\"=m\"(*d):\"m\"(*s),\"m\"(blue_15mask):\"memory\");\n\n d += 4;\n\n s += 12;\n\n }\n\n __asm__ volatile(SFENCE:::\"memory\");\n\n __asm__ volatile(EMMS:::\"memory\");\n\n while (s < end) {\n\n const int b = *s++;\n\n const int g = *s++;\n\n const int r = *s++;\n\n *d++ = (b>>3) | ((g&0xF8)<<2) | ((r&0xF8)<<7);\n\n }\n\n}\n", "idx": 4519}437{"project": "qemu", "commit_id": "e61031cdd81826c433a8bbfa3aca2bae4ffaf845", "target": 1, "func": "static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion,\n\n void *opaque)\n\n{\n\n GtkDisplayState *s = opaque;\n\n int x, y;\n\n int mx, my;\n\n int fbh, fbw;\n\n int ww, wh;\n\n\n\n fbw = surface_width(s->ds) * s->scale_x;\n\n fbh = surface_height(s->ds) * s->scale_y;\n\n\n\n gdk_drawable_get_size(gtk_widget_get_window(s->drawing_area), &ww, &wh);\n\n\n\n mx = my = 0;\n\n if (ww > fbw) {\n\n mx = (ww - fbw) / 2;\n\n }\n\n if (wh > fbh) {\n\n my = (wh - fbh) / 2;\n\n }\n\n\n\n x = (motion->x - mx) / s->scale_x;\n\n y = (motion->y - my) / s->scale_y;\n\n\n\n if (x < 0 || y < 0 ||\n\n x >= surface_width(s->ds) ||\n\n y >= surface_height(s->ds)) {\n\n return TRUE;\n\n }\n\n\n\n if (qemu_input_is_absolute()) {\n\n qemu_input_queue_abs(s->dcl.con, INPUT_AXIS_X, x,\n\n surface_width(s->ds));\n\n qemu_input_queue_abs(s->dcl.con, INPUT_AXIS_Y, y,\n\n surface_height(s->ds));\n\n qemu_input_event_sync();\n\n } else if (s->last_x != -1 && s->last_y != -1 && gd_is_grab_active(s)) {\n\n qemu_input_queue_rel(s->dcl.con, INPUT_AXIS_X, x - s->last_x);\n\n qemu_input_queue_rel(s->dcl.con, INPUT_AXIS_Y, y - s->last_y);\n\n qemu_input_event_sync();\n\n }\n\n s->last_x = x;\n\n s->last_y = y;\n\n\n\n if (!qemu_input_is_absolute() && gd_is_grab_active(s)) {\n\n GdkScreen *screen = gtk_widget_get_screen(s->drawing_area);\n\n int x = (int)motion->x_root;\n\n int y = (int)motion->y_root;\n\n\n\n /* In relative mode check to see if client pointer hit\n\n * one of the screen edges, and if so move it back by\n\n * 200 pixels. This is important because the pointer\n\n * in the server doesn't correspond 1-for-1, and so\n\n * may still be only half way across the screen. Without\n\n * this warp, the server pointer would thus appear to hit\n\n * an invisible wall */\n\n if (x == 0) {\n\n x += 200;\n\n }\n\n if (y == 0) {\n\n y += 200;\n\n }\n\n if (x == (gdk_screen_get_width(screen) - 1)) {\n\n x -= 200;\n\n }\n\n if (y == (gdk_screen_get_height(screen) - 1)) {\n\n y -= 200;\n\n }\n\n\n\n if (x != (int)motion->x_root || y != (int)motion->y_root) {\n\n#if GTK_CHECK_VERSION(3, 0, 0)\n\n GdkDevice *dev = gdk_event_get_device((GdkEvent *)motion);\n\n gdk_device_warp(dev, screen, x, y);\n\n#else\n\n GdkDisplay *display = gtk_widget_get_display(widget);\n\n gdk_display_warp_pointer(display, screen, x, y);\n\n#endif\n\n s->last_x = -1;\n\n s->last_y = -1;\n\n return FALSE;\n\n }\n\n }\n\n return TRUE;\n\n}\n", "idx": 4521}438{"project": "FFmpeg", "commit_id": "b46a77f19ddc4b2b5fa3187835ceb602a5244e24", "target": 0, "func": "int ff_vdpau_common_init(AVCodecContext *avctx, VdpDecoderProfile profile,\n\n int level)\n\n{\n\n VDPAUHWContext *hwctx = avctx->hwaccel_context;\n\n VDPAUContext *vdctx = avctx->internal->hwaccel_priv_data;\n\n VdpVideoSurfaceQueryCapabilities *surface_query_caps;\n\n VdpDecoderQueryCapabilities *decoder_query_caps;\n\n VdpDecoderCreate *create;\n\n void *func;\n\n VdpStatus status;\n\n VdpBool supported;\n\n uint32_t max_level, max_mb, max_width, max_height;\n\n VdpChromaType type;\n\n uint32_t width;\n\n uint32_t height;\n\n\n\n vdctx->width = UINT32_MAX;\n\n vdctx->height = UINT32_MAX;\n\n\n\n if (av_vdpau_get_surface_parameters(avctx, &type, &width, &height))\n\n return AVERROR(ENOSYS);\n\n\n\n if (hwctx) {\n\n hwctx->reset = 0;\n\n\n\n if (hwctx->context.decoder != VDP_INVALID_HANDLE) {\n\n vdctx->decoder = hwctx->context.decoder;\n\n vdctx->render = hwctx->context.render;\n\n vdctx->device = VDP_INVALID_HANDLE;\n\n return 0; /* Decoder created by user */\n\n }\n\n\n\n vdctx->device = hwctx->device;\n\n vdctx->get_proc_address = hwctx->get_proc_address;\n\n\n\n if (hwctx->flags & AV_HWACCEL_FLAG_IGNORE_LEVEL)\n\n level = 0;\n\n\n\n if (!(hwctx->flags & AV_HWACCEL_FLAG_ALLOW_HIGH_DEPTH) &&\n\n type != VDP_CHROMA_TYPE_420)\n\n return AVERROR(ENOSYS);\n\n } else {\n\n AVHWFramesContext *frames_ctx = NULL;\n\n AVVDPAUDeviceContext *dev_ctx;\n\n\n\n // We assume the hw_frames_ctx always survives until ff_vdpau_common_uninit\n\n // is called. This holds true as the user is not allowed to touch\n\n // hw_device_ctx, or hw_frames_ctx after get_format (and ff_get_format\n\n // itself also uninits before unreffing hw_frames_ctx).\n\n if (avctx->hw_frames_ctx) {\n\n frames_ctx = (AVHWFramesContext*)avctx->hw_frames_ctx->data;\n\n } else if (avctx->hw_device_ctx) {\n\n int ret;\n\n\n\n avctx->hw_frames_ctx = av_hwframe_ctx_alloc(avctx->hw_device_ctx);\n\n if (!avctx->hw_frames_ctx)\n\n return AVERROR(ENOMEM);\n\n\n\n frames_ctx = (AVHWFramesContext*)avctx->hw_frames_ctx->data;\n\n frames_ctx->format = AV_PIX_FMT_VDPAU;\n\n frames_ctx->sw_format = avctx->sw_pix_fmt;\n\n frames_ctx->width = avctx->coded_width;\n\n frames_ctx->height = avctx->coded_height;\n\n\n\n ret = av_hwframe_ctx_init(avctx->hw_frames_ctx);\n\n if (ret < 0) {\n\n av_buffer_unref(&avctx->hw_frames_ctx);\n\n return ret;\n\n }\n\n }\n\n\n\n if (!frames_ctx) {\n\n av_log(avctx, AV_LOG_ERROR, \"A hardware frames context is \"\n\n \"required for VDPAU decoding.\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n dev_ctx = frames_ctx->device_ctx->hwctx;\n\n\n\n vdctx->device = dev_ctx->device;\n\n vdctx->get_proc_address = dev_ctx->get_proc_address;\n\n\n\n if (avctx->hwaccel_flags & AV_HWACCEL_FLAG_IGNORE_LEVEL)\n\n level = 0;\n\n }\n\n\n\n if (level < 0)\n\n return AVERROR(ENOTSUP);\n\n\n\n status = vdctx->get_proc_address(vdctx->device,\n\n VDP_FUNC_ID_VIDEO_SURFACE_QUERY_CAPABILITIES,\n\n &func);\n\n if (status != VDP_STATUS_OK)\n\n return vdpau_error(status);\n\n else\n\n surface_query_caps = func;\n\n\n\n status = surface_query_caps(vdctx->device, type, &supported,\n\n &max_width, &max_height);\n\n if (status != VDP_STATUS_OK)\n\n return vdpau_error(status);\n\n if (supported != VDP_TRUE ||\n\n max_width < width || max_height < height)\n\n return AVERROR(ENOTSUP);\n\n\n\n status = vdctx->get_proc_address(vdctx->device,\n\n VDP_FUNC_ID_DECODER_QUERY_CAPABILITIES,\n\n &func);\n\n if (status != VDP_STATUS_OK)\n\n return vdpau_error(status);\n\n else\n\n decoder_query_caps = func;\n\n\n\n status = decoder_query_caps(vdctx->device, profile, &supported, &max_level,\n\n &max_mb, &max_width, &max_height);\n\n#ifdef VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE\n\n if ((status != VDP_STATUS_OK || supported != VDP_TRUE) && profile == VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE) {\n\n profile = VDP_DECODER_PROFILE_H264_MAIN;\n\n status = decoder_query_caps(vdctx->device, profile, &supported,\n\n &max_level, &max_mb,\n\n &max_width, &max_height);\n\n }\n\n#endif\n\n if (status != VDP_STATUS_OK)\n\n return vdpau_error(status);\n\n\n\n if (supported != VDP_TRUE || max_level < level ||\n\n max_width < width || max_height < height)\n\n return AVERROR(ENOTSUP);\n\n\n\n status = vdctx->get_proc_address(vdctx->device, VDP_FUNC_ID_DECODER_CREATE,\n\n &func);\n\n if (status != VDP_STATUS_OK)\n\n return vdpau_error(status);\n\n else\n\n create = func;\n\n\n\n status = vdctx->get_proc_address(vdctx->device, VDP_FUNC_ID_DECODER_RENDER,\n\n &func);\n\n if (status != VDP_STATUS_OK)\n\n return vdpau_error(status);\n\n else\n\n vdctx->render = func;\n\n\n\n status = create(vdctx->device, profile, width, height, avctx->refs,\n\n &vdctx->decoder);\n\n if (status == VDP_STATUS_OK) {\n\n vdctx->width = avctx->coded_width;\n\n vdctx->height = avctx->coded_height;\n\n }\n\n\n\n return vdpau_error(status);\n\n}\n", "idx": 4524}439{"project": "FFmpeg", "commit_id": "f6774f905fb3cfdc319523ac640be30b14c1bc55", "target": 1, "func": "static int estimate_qp(MpegEncContext *s, int dry_run){\n\n if (s->next_lambda){\n\n s->current_picture_ptr->f.quality =\n\n s->current_picture.f.quality = s->next_lambda;\n\n if(!dry_run) s->next_lambda= 0;\n\n } else if (!s->fixed_qscale) {\n\n s->current_picture_ptr->f.quality =\n\n s->current_picture.f.quality = ff_rate_estimate_qscale(s, dry_run);\n\n if (s->current_picture.f.quality < 0)\n\n return -1;\n\n }\n\n\n\n if(s->adaptive_quant){\n\n switch(s->codec_id){\n\n case AV_CODEC_ID_MPEG4:\n\n if (CONFIG_MPEG4_ENCODER)\n\n ff_clean_mpeg4_qscales(s);\n\n break;\n\n case AV_CODEC_ID_H263:\n\n case AV_CODEC_ID_H263P:\n\n case AV_CODEC_ID_FLV1:\n\n if (CONFIG_H263_ENCODER)\n\n ff_clean_h263_qscales(s);\n\n break;\n\n default:\n\n ff_init_qscale_tab(s);\n\n }\n\n\n\n s->lambda= s->lambda_table[0];\n\n //FIXME broken\n\n }else\n\n s->lambda = s->current_picture.f.quality;\n\n update_qscale(s);\n\n return 0;\n\n}\n", "idx": 4539}440{"project": "qemu", "commit_id": "bd79255d2571a3c68820117caf94ea9afe1d527e", "target": 0, "func": "static void spr_write_tbu (DisasContext *ctx, int sprn, int gprn)\n\n{\n\n if (use_icount) {\n\n gen_io_start();\n\n }\n\n gen_helper_store_tbu(cpu_env, cpu_gpr[gprn]);\n\n if (use_icount) {\n\n gen_io_end();\n\n gen_stop_exception(ctx);\n\n }\n\n}\n", "idx": 4540}441{"project": "qemu", "commit_id": "46746dbaa8c2c421b9bda78193caad57d7fb1136", "target": 0, "func": "static void vfio_intx_enable_kvm(VFIOPCIDevice *vdev)\n\n{\n\n#ifdef CONFIG_KVM\n\n struct kvm_irqfd irqfd = {\n\n .fd = event_notifier_get_fd(&vdev->intx.interrupt),\n\n .gsi = vdev->intx.route.irq,\n\n .flags = KVM_IRQFD_FLAG_RESAMPLE,\n\n };\n\n struct vfio_irq_set *irq_set;\n\n int ret, argsz;\n\n int32_t *pfd;\n\n\n\n if (!VFIO_ALLOW_KVM_INTX || !kvm_irqfds_enabled() ||\n\n vdev->intx.route.mode != PCI_INTX_ENABLED ||\n\n !kvm_resamplefds_enabled()) {\n\n return;\n\n }\n\n\n\n /* Get to a known interrupt state */\n\n qemu_set_fd_handler(irqfd.fd, NULL, NULL, vdev);\n\n vfio_mask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX);\n\n vdev->intx.pending = false;\n\n pci_irq_deassert(&vdev->pdev);\n\n\n\n /* Get an eventfd for resample/unmask */\n\n if (event_notifier_init(&vdev->intx.unmask, 0)) {\n\n error_report(\"vfio: Error: event_notifier_init failed eoi\");\n\n goto fail;\n\n }\n\n\n\n /* KVM triggers it, VFIO listens for it */\n\n irqfd.resamplefd = event_notifier_get_fd(&vdev->intx.unmask);\n\n\n\n if (kvm_vm_ioctl(kvm_state, KVM_IRQFD, &irqfd)) {\n\n error_report(\"vfio: Error: Failed to setup resample irqfd: %m\");\n\n goto fail_irqfd;\n\n }\n\n\n\n argsz = sizeof(*irq_set) + sizeof(*pfd);\n\n\n\n irq_set = g_malloc0(argsz);\n\n irq_set->argsz = argsz;\n\n irq_set->flags = VFIO_IRQ_SET_DATA_EVENTFD | VFIO_IRQ_SET_ACTION_UNMASK;\n\n irq_set->index = VFIO_PCI_INTX_IRQ_INDEX;\n\n irq_set->start = 0;\n\n irq_set->count = 1;\n\n pfd = (int32_t *)&irq_set->data;\n\n\n\n *pfd = irqfd.resamplefd;\n\n\n\n ret = ioctl(vdev->vbasedev.fd, VFIO_DEVICE_SET_IRQS, irq_set);\n\n g_free(irq_set);\n\n if (ret) {\n\n error_report(\"vfio: Error: Failed to setup INTx unmask fd: %m\");\n\n goto fail_vfio;\n\n }\n\n\n\n /* Let'em rip */\n\n vfio_unmask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX);\n\n\n\n vdev->intx.kvm_accel = true;\n\n\n\n trace_vfio_intx_enable_kvm(vdev->vbasedev.name);\n\n\n\n return;\n\n\n\nfail_vfio:\n\n irqfd.flags = KVM_IRQFD_FLAG_DEASSIGN;\n\n kvm_vm_ioctl(kvm_state, KVM_IRQFD, &irqfd);\n\nfail_irqfd:\n\n event_notifier_cleanup(&vdev->intx.unmask);\n\nfail:\n\n qemu_set_fd_handler(irqfd.fd, vfio_intx_interrupt, NULL, vdev);\n\n vfio_unmask_single_irqindex(&vdev->vbasedev, VFIO_PCI_INTX_IRQ_INDEX);\n\n#endif\n\n}\n", "idx": 4551}442{"project": "qemu", "commit_id": "27a69bb088bee6d4efea254659422fb9c751b3c7", "target": 0, "func": "static inline void gen_evfsnabs(DisasContext *ctx)\n\n{\n\n if (unlikely(!ctx->spe_enabled)) {\n\n gen_exception(ctx, POWERPC_EXCP_APU);\n\n return;\n\n }\n\n#if defined(TARGET_PPC64)\n\n tcg_gen_ori_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)], 0x8000000080000000LL);\n\n#else\n\n tcg_gen_ori_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)], 0x80000000);\n\n tcg_gen_ori_tl(cpu_gprh[rD(ctx->opcode)], cpu_gprh[rA(ctx->opcode)], 0x80000000);\n\n#endif\n\n}\n", "idx": 4555}443{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint64_t imx_timerg_read(void *opaque, target_phys_addr_t offset,\n\n unsigned size)\n\n{\n\n IMXTimerGState *s = (IMXTimerGState *)opaque;\n\n\n\n DPRINTF(\"g-read(offset=%x)\", offset >> 2);\n\n switch (offset >> 2) {\n\n case 0: /* Control Register */\n\n DPRINTF(\" cr = %x\\n\", s->cr);\n\n return s->cr;\n\n\n\n case 1: /* prescaler */\n\n DPRINTF(\" pr = %x\\n\", s->pr);\n\n return s->pr;\n\n\n\n case 2: /* Status Register */\n\n DPRINTF(\" sr = %x\\n\", s->sr);\n\n return s->sr;\n\n\n\n case 3: /* Interrupt Register */\n\n DPRINTF(\" ir = %x\\n\", s->ir);\n\n return s->ir;\n\n\n\n case 4: /* Output Compare Register 1 */\n\n DPRINTF(\" ocr1 = %x\\n\", s->ocr1);\n\n return s->ocr1;\n\n\n\n\n\n case 9: /* cnt */\n\n imx_timerg_update_counts(s);\n\n DPRINTF(\" cnt = %x\\n\", s->cnt);\n\n return s->cnt;\n\n }\n\n\n\n IPRINTF(\"imx_timerg_read: Bad offset %x\\n\",\n\n (int)offset >> 2);\n\n return 0;\n\n}\n", "idx": 4556}444{"project": "qemu", "commit_id": "430b26a82da61876c4eaf559ae02332582968043", "target": 0, "func": "static int blkdebug_open(BlockDriverState *bs, QDict *options, int flags,\n\n Error **errp)\n\n{\n\n BDRVBlkdebugState *s = bs->opaque;\n\n QemuOpts *opts;\n\n Error *local_err = NULL;\n\n int ret;\n\n\n\n opts = qemu_opts_create(&runtime_opts, NULL, 0, &error_abort);\n\n qemu_opts_absorb_qdict(opts, options, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n ret = -EINVAL;\n\n goto out;\n\n }\n\n\n\n /* Read rules from config file or command line options */\n\n s->config_file = g_strdup(qemu_opt_get(opts, \"config\"));\n\n ret = read_config(s, s->config_file, options, errp);\n\n if (ret) {\n\n goto out;\n\n }\n\n\n\n /* Set initial state */\n\n s->state = 1;\n\n\n\n /* Open the image file */\n\n bs->file = bdrv_open_child(qemu_opt_get(opts, \"x-image\"), options, \"image\",\n\n bs, &child_file, false, &local_err);\n\n if (local_err) {\n\n ret = -EINVAL;\n\n error_propagate(errp, local_err);\n\n goto out;\n\n }\n\n\n\n bs->supported_write_flags = BDRV_REQ_FUA &\n\n bs->file->bs->supported_write_flags;\n\n bs->supported_zero_flags = (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) &\n\n bs->file->bs->supported_zero_flags;\n\n ret = -EINVAL;\n\n\n\n /* Set request alignment */\n\n s->align = qemu_opt_get_size(opts, \"align\", 0);\n\n if (s->align && (s->align >= INT_MAX || !is_power_of_2(s->align))) {\n\n error_setg(errp, \"Cannot meet constraints with align %\" PRIu64,\n\n s->align);\n\n goto out;\n\n }\n\n\n\n ret = 0;\n\nout:\n\n if (ret < 0) {\n\n g_free(s->config_file);\n\n }\n\n qemu_opts_del(opts);\n\n return ret;\n\n}\n", "idx": 4563}445{"project": "qemu", "commit_id": "bc7c08a2c375acb7ae4d433054415588b176d34c", "target": 0, "func": "static void test_qemu_strtoull_full_negative(void)\n\n{\n\n const char *str = \" \\t -321\";\n\n uint64_t res = 999;\n\n int err;\n\n\n\n err = qemu_strtoull(str, NULL, 0, &res);\n\n\n\n g_assert_cmpint(err, ==, 0);\n\n g_assert_cmpint(res, ==, 18446744073709551295LLU);\n\n}\n", "idx": 4569}446{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint64_t exynos4210_fimd_read(void *opaque, target_phys_addr_t offset,\n\n unsigned size)\n\n{\n\n Exynos4210fimdState *s = (Exynos4210fimdState *)opaque;\n\n int w, i;\n\n uint32_t ret = 0;\n\n\n\n DPRINT_L2(\"read offset 0x%08x\\n\", offset);\n\n\n\n switch (offset) {\n\n case FIMD_VIDCON0 ... FIMD_VIDCON3:\n\n return s->vidcon[(offset - FIMD_VIDCON0) >> 2];\n\n case FIMD_VIDTCON_START ... FIMD_VIDTCON_END:\n\n return s->vidtcon[(offset - FIMD_VIDTCON_START) >> 2];\n\n case FIMD_WINCON_START ... FIMD_WINCON_END:\n\n return s->window[(offset - FIMD_WINCON_START) >> 2].wincon;\n\n case FIMD_SHADOWCON:\n\n return s->shadowcon;\n\n case FIMD_WINCHMAP:\n\n return s->winchmap;\n\n case FIMD_VIDOSD_START ... FIMD_VIDOSD_END:\n\n w = (offset - FIMD_VIDOSD_START) >> 4;\n\n i = ((offset - FIMD_VIDOSD_START) & 0xF) >> 2;\n\n switch (i) {\n\n case 0:\n\n ret = ((s->window[w].lefttop_x & FIMD_VIDOSD_COORD_MASK) <<\n\n FIMD_VIDOSD_HOR_SHIFT) |\n\n (s->window[w].lefttop_y & FIMD_VIDOSD_COORD_MASK);\n\n break;\n\n case 1:\n\n ret = ((s->window[w].rightbot_x & FIMD_VIDOSD_COORD_MASK) <<\n\n FIMD_VIDOSD_HOR_SHIFT) |\n\n (s->window[w].rightbot_y & FIMD_VIDOSD_COORD_MASK);\n\n break;\n\n case 2:\n\n if (w == 0) {\n\n ret = s->window[w].osdsize;\n\n } else {\n\n ret = (pack_upper_4(s->window[w].alpha_val[0]) <<\n\n FIMD_VIDOSD_AEN0_SHIFT) |\n\n pack_upper_4(s->window[w].alpha_val[1]);\n\n }\n\n break;\n\n case 3:\n\n if (w != 1 && w != 2) {\n\n DPRINT_ERROR(\"bad read offset 0x%08x\\n\", offset);\n\n return 0xBAADBAAD;\n\n }\n\n ret = s->window[w].osdsize;\n\n break;\n\n }\n\n return ret;\n\n case FIMD_VIDWADD0_START ... FIMD_VIDWADD0_END:\n\n w = (offset - FIMD_VIDWADD0_START) >> 3;\n\n i = ((offset - FIMD_VIDWADD0_START) >> 2) & 1;\n\n return s->window[w].buf_start[i];\n\n case FIMD_VIDWADD1_START ... FIMD_VIDWADD1_END:\n\n w = (offset - FIMD_VIDWADD1_START) >> 3;\n\n i = ((offset - FIMD_VIDWADD1_START) >> 2) & 1;\n\n return s->window[w].buf_end[i];\n\n case FIMD_VIDWADD2_START ... FIMD_VIDWADD2_END:\n\n w = (offset - FIMD_VIDWADD2_START) >> 2;\n\n return s->window[w].virtpage_width | (s->window[w].virtpage_offsize <<\n\n FIMD_VIDWADD2_OFFSIZE_SHIFT);\n\n case FIMD_VIDINTCON0 ... FIMD_VIDINTCON1:\n\n return s->vidintcon[(offset - FIMD_VIDINTCON0) >> 2];\n\n case FIMD_WKEYCON_START ... FIMD_WKEYCON_END:\n\n w = ((offset - FIMD_WKEYCON_START) >> 3) + 1;\n\n i = ((offset - FIMD_WKEYCON_START) >> 2) & 1;\n\n return s->window[w].keycon[i];\n\n case FIMD_WKEYALPHA_START ... FIMD_WKEYALPHA_END:\n\n w = ((offset - FIMD_WKEYALPHA_START) >> 2) + 1;\n\n return s->window[w].keyalpha;\n\n case FIMD_DITHMODE:\n\n return s->dithmode;\n\n case FIMD_WINMAP_START ... FIMD_WINMAP_END:\n\n return s->window[(offset - FIMD_WINMAP_START) >> 2].winmap;\n\n case FIMD_WPALCON_HIGH ... FIMD_WPALCON_LOW:\n\n return s->wpalcon[(offset - FIMD_WPALCON_HIGH) >> 2];\n\n case FIMD_TRIGCON:\n\n return s->trigcon;\n\n case FIMD_I80IFCON_START ... FIMD_I80IFCON_END:\n\n return s->i80ifcon[(offset - FIMD_I80IFCON_START) >> 2];\n\n case FIMD_COLORGAINCON:\n\n return s->colorgaincon;\n\n case FIMD_LDI_CMDCON0 ... FIMD_LDI_CMDCON1:\n\n return s->ldi_cmdcon[(offset - FIMD_LDI_CMDCON0) >> 2];\n\n case FIMD_SIFCCON0 ... FIMD_SIFCCON2:\n\n i = (offset - FIMD_SIFCCON0) >> 2;\n\n return s->sifccon[i];\n\n case FIMD_HUECOEFCR_START ... FIMD_HUECOEFCR_END:\n\n i = (offset - FIMD_HUECOEFCR_START) >> 2;\n\n return s->huecoef_cr[i];\n\n case FIMD_HUECOEFCB_START ... FIMD_HUECOEFCB_END:\n\n i = (offset - FIMD_HUECOEFCB_START) >> 2;\n\n return s->huecoef_cb[i];\n\n case FIMD_HUEOFFSET:\n\n return s->hueoffset;\n\n case FIMD_VIDWALPHA_START ... FIMD_VIDWALPHA_END:\n\n w = ((offset - FIMD_VIDWALPHA_START) >> 3);\n\n i = ((offset - FIMD_VIDWALPHA_START) >> 2) & 1;\n\n return s->window[w].alpha_val[i] &\n\n (w == 0 ? 0xFFFFFF : FIMD_VIDALPHA_ALPHA_LOWER);\n\n case FIMD_BLENDEQ_START ... FIMD_BLENDEQ_END:\n\n return s->window[(offset - FIMD_BLENDEQ_START) >> 2].blendeq;\n\n case FIMD_BLENDCON:\n\n return s->blendcon;\n\n case FIMD_WRTQOSCON_START ... FIMD_WRTQOSCON_END:\n\n return s->window[(offset - FIMD_WRTQOSCON_START) >> 2].rtqoscon;\n\n case FIMD_I80IFCMD_START ... FIMD_I80IFCMD_END:\n\n return s->i80ifcmd[(offset - FIMD_I80IFCMD_START) >> 2];\n\n case FIMD_VIDW0ADD0_B2 ... FIMD_VIDW4ADD0_B2:\n\n if (offset & 0x0004) {\n\n break;\n\n }\n\n return s->window[(offset - FIMD_VIDW0ADD0_B2) >> 3].buf_start[2];\n\n case FIMD_SHD_ADD0_START ... FIMD_SHD_ADD0_END:\n\n if (offset & 0x0004) {\n\n break;\n\n }\n\n return s->window[(offset - FIMD_SHD_ADD0_START) >> 3].shadow_buf_start;\n\n case FIMD_SHD_ADD1_START ... FIMD_SHD_ADD1_END:\n\n if (offset & 0x0004) {\n\n break;\n\n }\n\n return s->window[(offset - FIMD_SHD_ADD1_START) >> 3].shadow_buf_end;\n\n case FIMD_SHD_ADD2_START ... FIMD_SHD_ADD2_END:\n\n return s->window[(offset - FIMD_SHD_ADD2_START) >> 2].shadow_buf_size;\n\n case FIMD_PAL_MEM_START ... FIMD_PAL_MEM_END:\n\n w = (offset - FIMD_PAL_MEM_START) >> 10;\n\n i = ((offset - FIMD_PAL_MEM_START) >> 2) & 0xFF;\n\n return s->window[w].palette[i];\n\n case FIMD_PALMEM_AL_START ... FIMD_PALMEM_AL_END:\n\n /* Palette aliases for win 0,1 */\n\n w = (offset - FIMD_PALMEM_AL_START) >> 10;\n\n i = ((offset - FIMD_PALMEM_AL_START) >> 2) & 0xFF;\n\n return s->window[w].palette[i];\n\n }\n\n\n\n DPRINT_ERROR(\"bad read offset 0x%08x\\n\", offset);\n\n return 0xBAADBAAD;\n\n}\n", "idx": 4570}447{"project": "qemu", "commit_id": "e8ede0a8bb5298a6979bcf7ed84ef64a64a4e3fe", "target": 0, "func": "float64 HELPER(ucf64_absd)(float64 a)\n\n{\n\n return float64_abs(a);\n\n}\n", "idx": 4571}448{"project": "qemu", "commit_id": "32bafa8fdd098d52fbf1102d5a5e48d29398c0aa", "target": 0, "func": "static CharDriverState *qemu_chr_open_null(const char *id,\n\n ChardevBackend *backend,\n\n ChardevReturn *ret,\n\n Error **errp)\n\n{\n\n CharDriverState *chr;\n\n ChardevCommon *common = backend->u.null;\n\n\n\n chr = qemu_chr_alloc(common, errp);\n\n if (!chr) {\n\n return NULL;\n\n }\n\n chr->chr_write = null_chr_write;\n\n chr->explicit_be_open = true;\n\n return chr;\n\n}\n", "idx": 4607}449{"project": "qemu", "commit_id": "8ec14402029d783720f4312ed8a925548e1dad61", "target": 0, "func": "static int packet_enqueue(CompareState *s, int mode)\n\n{\n\n ConnectionKey key;\n\n Packet *pkt = NULL;\n\n Connection *conn;\n\n\n\n if (mode == PRIMARY_IN) {\n\n pkt = packet_new(s->pri_rs.buf,\n\n s->pri_rs.packet_len,\n\n s->pri_rs.vnet_hdr_len);\n\n } else {\n\n pkt = packet_new(s->sec_rs.buf,\n\n s->sec_rs.packet_len,\n\n s->sec_rs.vnet_hdr_len);\n\n }\n\n\n\n if (parse_packet_early(pkt)) {\n\n packet_destroy(pkt, NULL);\n\n pkt = NULL;\n\n return -1;\n\n }\n\n fill_connection_key(pkt, &key);\n\n\n\n conn = connection_get(s->connection_track_table,\n\n &key,\n\n &s->conn_list);\n\n\n\n if (!conn->processing) {\n\n g_queue_push_tail(&s->conn_list, conn);\n\n conn->processing = true;\n\n }\n\n\n\n if (mode == PRIMARY_IN) {\n\n if (!colo_insert_packet(&conn->primary_list, pkt)) {\n\n error_report(\"colo compare primary queue size too big,\"\n\n \"drop packet\");\n\n }\n\n } else {\n\n if (!colo_insert_packet(&conn->secondary_list, pkt)) {\n\n error_report(\"colo compare secondary queue size too big,\"\n\n \"drop packet\");\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 4609}450{"project": "FFmpeg", "commit_id": "6c77805fc84a63b74e5025b4d7eeea24c8138cf3", "target": 0, "func": "enum CodecID av_codec_get_id(const AVCodecTag *tags[4], unsigned int tag)\n\n{\n\n int i;\n\n for(i=0; i<4 && tags[i]; i++){\n\n enum CodecID id= codec_get_id(tags[i], tag);\n\n if(id!=CODEC_ID_NONE) return id;\n\n }\n\n return CODEC_ID_NONE;\n\n}\n", "idx": 4610}451{"project": "qemu", "commit_id": "27e0c9a1bbd166a67c16291016fba298a8e47140", "target": 0, "func": "static void ide_atapi_identify(IDEState *s)\n\n{\n\n uint16_t *p;\n\n\n\n if (s->identify_set) {\n\n\tmemcpy(s->io_buffer, s->identify_data, sizeof(s->identify_data));\n\n\treturn;\n\n }\n\n\n\n memset(s->io_buffer, 0, 512);\n\n p = (uint16_t *)s->io_buffer;\n\n /* Removable CDROM, 50us response, 12 byte packets */\n\n put_le16(p + 0, (2 << 14) | (5 << 8) | (1 << 7) | (2 << 5) | (0 << 0));\n\n padstr((char *)(p + 10), s->drive_serial_str, 20); /* serial number */\n\n put_le16(p + 20, 3); /* buffer type */\n\n put_le16(p + 21, 512); /* cache size in sectors */\n\n put_le16(p + 22, 4); /* ecc bytes */\n\n padstr((char *)(p + 23), s->version, 8); /* firmware version */\n\n padstr((char *)(p + 27), \"QEMU DVD-ROM\", 40); /* model */\n\n put_le16(p + 48, 1); /* dword I/O (XXX: should not be set on CDROM) */\n\n#ifdef USE_DMA_CDROM\n\n put_le16(p + 49, 1 << 9 | 1 << 8); /* DMA and LBA supported */\n\n put_le16(p + 53, 7); /* words 64-70, 54-58, 88 valid */\n\n put_le16(p + 62, 7); /* single word dma0-2 supported */\n\n put_le16(p + 63, 7); /* mdma0-2 supported */\n\n#else\n\n put_le16(p + 49, 1 << 9); /* LBA supported, no DMA */\n\n put_le16(p + 53, 3); /* words 64-70, 54-58 valid */\n\n put_le16(p + 63, 0x103); /* DMA modes XXX: may be incorrect */\n\n#endif\n\n put_le16(p + 64, 3); /* pio3-4 supported */\n\n put_le16(p + 65, 0xb4); /* minimum DMA multiword tx cycle time */\n\n put_le16(p + 66, 0xb4); /* recommended DMA multiword tx cycle time */\n\n put_le16(p + 67, 0x12c); /* minimum PIO cycle time without flow control */\n\n put_le16(p + 68, 0xb4); /* minimum PIO cycle time with IORDY flow control */\n\n\n\n put_le16(p + 71, 30); /* in ns */\n\n put_le16(p + 72, 30); /* in ns */\n\n\n\n if (s->ncq_queues) {\n\n put_le16(p + 75, s->ncq_queues - 1);\n\n /* NCQ supported */\n\n put_le16(p + 76, (1 << 8));\n\n }\n\n\n\n put_le16(p + 80, 0x1e); /* support up to ATA/ATAPI-4 */\n\n#ifdef USE_DMA_CDROM\n\n put_le16(p + 88, 0x3f | (1 << 13)); /* udma5 set and supported */\n\n#endif\n\n memcpy(s->identify_data, p, sizeof(s->identify_data));\n\n s->identify_set = 1;\n\n}\n", "idx": 4611}452{"project": "qemu", "commit_id": "b9bec74bcb16519a876ec21cd5277c526a9b512d", "target": 0, "func": "static int kvm_put_xsave(CPUState *env)\n\n{\n\n#ifdef KVM_CAP_XSAVE\n\n int i, r;\n\n struct kvm_xsave* xsave;\n\n uint16_t cwd, swd, twd, fop;\n\n\n\n if (!kvm_has_xsave())\n\n return kvm_put_fpu(env);\n\n\n\n xsave = qemu_memalign(4096, sizeof(struct kvm_xsave));\n\n memset(xsave, 0, sizeof(struct kvm_xsave));\n\n cwd = swd = twd = fop = 0;\n\n swd = env->fpus & ~(7 << 11);\n\n swd |= (env->fpstt & 7) << 11;\n\n cwd = env->fpuc;\n\n for (i = 0; i < 8; ++i)\n\n twd |= (!env->fptags[i]) << i;\n\n xsave->region[0] = (uint32_t)(swd << 16) + cwd;\n\n xsave->region[1] = (uint32_t)(fop << 16) + twd;\n\n memcpy(&xsave->region[XSAVE_ST_SPACE], env->fpregs,\n\n sizeof env->fpregs);\n\n memcpy(&xsave->region[XSAVE_XMM_SPACE], env->xmm_regs,\n\n sizeof env->xmm_regs);\n\n xsave->region[XSAVE_MXCSR] = env->mxcsr;\n\n *(uint64_t *)&xsave->region[XSAVE_XSTATE_BV] = env->xstate_bv;\n\n memcpy(&xsave->region[XSAVE_YMMH_SPACE], env->ymmh_regs,\n\n sizeof env->ymmh_regs);\n\n r = kvm_vcpu_ioctl(env, KVM_SET_XSAVE, xsave);\n\n qemu_free(xsave);\n\n return r;\n\n#else\n\n return kvm_put_fpu(env);\n\n#endif\n\n}\n", "idx": 4615}453{"project": "FFmpeg", "commit_id": "57d04d3f11290d1848efa3b47031762f936d4cb3", "target": 1, "func": "static inline void blockCopy(uint8_t dst[], int dstStride, uint8_t src[], int srcStride,\n\n\tint numLines, int levelFix)\n\n{\n\n\tint i;\n\n\tif(levelFix)\n\n\t{\n\n#ifdef HAVE_MMX\n\n\t\t\t\t\tasm volatile(\n\n\t\t\t\t\t\t\"movl %4, %%eax \\n\\t\"\n\n\t\t\t\t\t\t\"movl %%eax, temp0\\n\\t\"\n\n\t\t\t\t\t\t\"pushl %0 \\n\\t\"\n\n\t\t\t\t\t\t\"pushl %1 \\n\\t\"\n\n\t\t\t\t\t\t\"leal (%2,%2), %%eax\t\\n\\t\"\n\n\t\t\t\t\t\t\"leal (%3,%3), %%ebx\t\\n\\t\"\n\n\t\t\t\t\t\t\"movq packedYOffset, %%mm2\t\\n\\t\"\n\n\t\t\t\t\t\t\"movq packedYScale, %%mm3\t\\n\\t\"\n\n\t\t\t\t\t\t\"pxor %%mm4, %%mm4\t\\n\\t\"\n\n\n\n#define SCALED_CPY\t\t\t\t\t\\\n\n\t\t\t\t\t\t\"movq (%0), %%mm0\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq (%0,%2), %%mm1\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"psubusb %%mm2, %%mm0\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"psubusb %%mm2, %%mm1\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq %%mm0, %%mm5\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"punpcklbw %%mm4, %%mm0 \\n\\t\"\\\n\n\t\t\t\t\t\t\"punpckhbw %%mm4, %%mm5 \\n\\t\"\\\n\n\t\t\t\t\t\t\"psllw $7, %%mm0\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"psllw $7, %%mm5\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"pmulhw %%mm3, %%mm0\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"pmulhw %%mm3, %%mm5\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"packuswb %%mm5, %%mm0\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq %%mm0, (%1)\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq %%mm1, %%mm5\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"punpcklbw %%mm4, %%mm1 \\n\\t\"\\\n\n\t\t\t\t\t\t\"punpckhbw %%mm4, %%mm5 \\n\\t\"\\\n\n\t\t\t\t\t\t\"psllw $7, %%mm1\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"psllw $7, %%mm5\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"pmulhw %%mm3, %%mm1\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"pmulhw %%mm3, %%mm5\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"packuswb %%mm5, %%mm1\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq %%mm1, (%1, %3)\t\\n\\t\"\\\n\n\n\n\t\t\t\t\t\t\"1:\t\t\t\\n\\t\"\n\nSCALED_CPY\n\n\t\t\t\t\t\t\"addl %%eax, %0\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"addl %%ebx, %1\t\t\\n\\t\"\n\nSCALED_CPY\n\n\t\t\t\t\t\t\"addl %%eax, %0\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"addl %%ebx, %1\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"decl temp0\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"jnz 1b\t\t\t\\n\\t\"\n\n\n\n\t\t\t\t\t\t\"popl %1 \\n\\t\"\n\n\t\t\t\t\t\t\"popl %0 \\n\\t\"\n\n\t\t\t\t\t\t: : \"r\" (src),\n\n\t\t\t\t\t\t\"r\" (dst),\n\n\t\t\t\t\t\t\"r\" (srcStride),\n\n\t\t\t\t\t\t\"r\" (dstStride),\n\n\t\t\t\t\t\t\"m\" (numLines>>2)\n\n\t\t\t\t\t\t: \"%eax\", \"%ebx\"\n\n\t\t\t\t\t);\n\n#else\n\n\t\t\t\tfor(i=0; i<numLines; i++)\n\n\t\t\t\t\tmemcpy(\t&(dst[dstStride*i]),\n\n\t\t\t\t\t\t&(src[srcStride*i]), BLOCK_SIZE);\n\n#endif\n\n\t}\n\n\telse\n\n\t{\n\n#ifdef HAVE_MMX\n\n\t\t\t\t\tasm volatile(\n\n\t\t\t\t\t\t\"movl %4, %%eax \\n\\t\"\n\n\t\t\t\t\t\t\"movl %%eax, temp0\\n\\t\"\n\n\t\t\t\t\t\t\"pushl %0 \\n\\t\"\n\n\t\t\t\t\t\t\"pushl %1 \\n\\t\"\n\n\t\t\t\t\t\t\"leal (%2,%2), %%eax\t\\n\\t\"\n\n\t\t\t\t\t\t\"leal (%3,%3), %%ebx\t\\n\\t\"\n\n\t\t\t\t\t\t\"movq packedYOffset, %%mm2\t\\n\\t\"\n\n\t\t\t\t\t\t\"movq packedYScale, %%mm3\t\\n\\t\"\n\n\n\n#define SIMPLE_CPY\t\t\t\t\t\\\n\n\t\t\t\t\t\t\"movq (%0), %%mm0\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq (%0,%2), %%mm1\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq %%mm0, (%1)\t\\n\\t\"\\\n\n\t\t\t\t\t\t\"movq %%mm1, (%1, %3)\t\\n\\t\"\\\n\n\n\n\t\t\t\t\t\t\"1:\t\t\t\\n\\t\"\n\nSIMPLE_CPY\n\n\t\t\t\t\t\t\"addl %%eax, %0\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"addl %%ebx, %1\t\t\\n\\t\"\n\nSIMPLE_CPY\n\n\t\t\t\t\t\t\"addl %%eax, %0\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"addl %%ebx, %1\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"decl temp0\t\t\\n\\t\"\n\n\t\t\t\t\t\t\"jnz 1b\t\t\t\\n\\t\"\n\n\n\n\t\t\t\t\t\t\"popl %1 \\n\\t\"\n\n\t\t\t\t\t\t\"popl %0 \\n\\t\"\n\n\t\t\t\t\t\t: : \"r\" (src),\n\n\t\t\t\t\t\t\"r\" (dst),\n\n\t\t\t\t\t\t\"r\" (srcStride),\n\n\t\t\t\t\t\t\"r\" (dstStride),\n\n\t\t\t\t\t\t\"m\" (numLines>>2)\n\n\t\t\t\t\t\t: \"%eax\", \"%ebx\"\n\n\t\t\t\t\t);\n\n#else\n\n\t\t\t\tfor(i=0; i<numLines; i++)\n\n\t\t\t\t\tmemcpy(\t&(dst[dstStride*i]),\n\n\t\t\t\t\t\t&(src[srcStride*i]), BLOCK_SIZE);\n\n#endif\n\n\t}\n\n}\n", "idx": 4639}454{"project": "qemu", "commit_id": "ff5ce21e1b959206f257967d6de2efa6f4e3d188", "target": 1, "func": "build_tpm2(GArray *table_data, BIOSLinker *linker)\n\n{\n\n Acpi20TPM2 *tpm2_ptr;\n\n\n\n tpm2_ptr = acpi_data_push(table_data, sizeof *tpm2_ptr);\n\n\n\n tpm2_ptr->platform_class = cpu_to_le16(TPM2_ACPI_CLASS_CLIENT);\n\n tpm2_ptr->control_area_address = cpu_to_le64(0);\n\n tpm2_ptr->start_method = cpu_to_le32(TPM2_START_METHOD_MMIO);\n\n\n\n build_header(linker, table_data,\n\n (void *)tpm2_ptr, \"TPM2\", sizeof(*tpm2_ptr), 4, NULL, NULL);\n\n}\n", "idx": 4645}455{"project": "FFmpeg", "commit_id": "ae93965359e71c1f88ba170f8efd6a198344c235", "target": 1, "func": "int ff_hevc_output_frame(HEVCContext *s, AVFrame *out, int flush)\n\n{\n\n do {\n\n int nb_output = 0;\n\n int min_poc = INT_MAX;\n\n int i, min_idx, ret;\n\n\n\n if (s->sh.no_output_of_prior_pics_flag == 1) {\n\n for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) {\n\n HEVCFrame *frame = &s->DPB[i];\n\n if (!(frame->flags & HEVC_FRAME_FLAG_BUMPING) && frame->poc != s->poc &&\n\n frame->sequence == s->seq_output) {\n\n ff_hevc_unref_frame(s, frame, HEVC_FRAME_FLAG_OUTPUT);\n\n }\n\n }\n\n }\n\n\n\n for (i = 0; i < FF_ARRAY_ELEMS(s->DPB); i++) {\n\n HEVCFrame *frame = &s->DPB[i];\n\n if ((frame->flags & HEVC_FRAME_FLAG_OUTPUT) &&\n\n frame->sequence == s->seq_output) {\n\n nb_output++;\n\n if (frame->poc < min_poc) {\n\n min_poc = frame->poc;\n\n min_idx = i;\n\n }\n\n }\n\n }\n\n\n\n /* wait for more frames before output */\n\n if (!flush && s->seq_output == s->seq_decode && s->sps &&\n\n nb_output <= s->sps->temporal_layer[s->sps->max_sub_layers - 1].num_reorder_pics)\n\n return 0;\n\n\n\n if (nb_output) {\n\n HEVCFrame *frame = &s->DPB[min_idx];\n\n AVFrame *dst = out;\n\n AVFrame *src = frame->frame;\n\n const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(src->format);\n\n int pixel_shift = !!(desc->comp[0].depth_minus1 > 7);\n\n\n\n ret = av_frame_ref(out, src);\n\n if (frame->flags & HEVC_FRAME_FLAG_BUMPING)\n\n ff_hevc_unref_frame(s, frame, HEVC_FRAME_FLAG_OUTPUT | HEVC_FRAME_FLAG_BUMPING);\n\n else\n\n ff_hevc_unref_frame(s, frame, HEVC_FRAME_FLAG_OUTPUT);\n\n if (ret < 0)\n\n return ret;\n\n\n\n for (i = 0; i < 3; i++) {\n\n int hshift = (i > 0) ? desc->log2_chroma_w : 0;\n\n int vshift = (i > 0) ? desc->log2_chroma_h : 0;\n\n int off = ((frame->window.left_offset >> hshift) << pixel_shift) +\n\n (frame->window.top_offset >> vshift) * dst->linesize[i];\n\n dst->data[i] += off;\n\n }\n\n av_log(s->avctx, AV_LOG_DEBUG,\n\n \"Output frame with POC %d.\\n\", frame->poc);\n\n return 1;\n\n }\n\n\n\n if (s->seq_output != s->seq_decode)\n\n s->seq_output = (s->seq_output + 1) & 0xff;\n\n else\n\n break;\n\n } while (1);\n\n\n\n return 0;\n\n}\n", "idx": 4668}456{"project": "FFmpeg", "commit_id": "4b9ac0b5f070f35eff671d83cee436db40631112", "target": 0, "func": "static int mpegaudio_parse(AVCodecParserContext *s1,\n\n AVCodecContext *avctx,\n\n uint8_t **poutbuf, int *poutbuf_size, \n\n const uint8_t *buf, int buf_size)\n\n{\n\n MpegAudioParseContext *s = s1->priv_data;\n\n int len, ret;\n\n uint32_t header;\n\n const uint8_t *buf_ptr;\n\n\n\n *poutbuf = NULL;\n\n *poutbuf_size = 0;\n\n buf_ptr = buf;\n\n while (buf_size > 0) {\n\n\tlen = s->inbuf_ptr - s->inbuf;\n\n\tif (s->frame_size == 0) {\n\n /* special case for next header for first frame in free\n\n format case (XXX: find a simpler method) */\n\n if (s->free_format_next_header != 0) {\n\n s->inbuf[0] = s->free_format_next_header >> 24;\n\n s->inbuf[1] = s->free_format_next_header >> 16;\n\n s->inbuf[2] = s->free_format_next_header >> 8;\n\n s->inbuf[3] = s->free_format_next_header;\n\n s->inbuf_ptr = s->inbuf + 4;\n\n s->free_format_next_header = 0;\n\n goto got_header;\n\n }\n\n\t /* no header seen : find one. We need at least MPA_HEADER_SIZE\n\n bytes to parse it */\n\n\t len = MPA_HEADER_SIZE - len;\n\n\t if (len > buf_size)\n\n\t\tlen = buf_size;\n\n\t if (len > 0) {\n\n\t\tmemcpy(s->inbuf_ptr, buf_ptr, len);\n\n\t\tbuf_ptr += len;\n\n\t\tbuf_size -= len;\n\n\t\ts->inbuf_ptr += len;\n\n\t }\n\n\t if ((s->inbuf_ptr - s->inbuf) >= MPA_HEADER_SIZE) {\n\n got_header:\n\n\t\theader = (s->inbuf[0] << 24) | (s->inbuf[1] << 16) |\n\n\t\t (s->inbuf[2] << 8) | s->inbuf[3];\n\n\n\n ret = mpa_decode_header(avctx, header);\n\n if (ret < 0) {\n\n\t\t /* no sync found : move by one byte (inefficient, but simple!) */\n\n\t\t memmove(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1);\n\n\t\t s->inbuf_ptr--;\n\n dprintf(\"skip %x\\n\", header);\n\n /* reset free format frame size to give a chance\n\n to get a new bitrate */\n\n s->free_format_frame_size = 0;\n\n\t\t} else {\n\n s->frame_size = ret;\n\n#if 0\n\n /* free format: prepare to compute frame size */\n\n\t\t if (decode_header(s, header) == 1) {\n\n\t\t\ts->frame_size = -1;\n\n }\n\n#endif\n\n\t\t}\n\n\t }\n\n } else \n\n#if 0\n\n if (s->frame_size == -1) {\n\n /* free format : find next sync to compute frame size */\n\n\t len = MPA_MAX_CODED_FRAME_SIZE - len;\n\n\t if (len > buf_size)\n\n\t\tlen = buf_size;\n\n if (len == 0) {\n\n\t\t/* frame too long: resync */\n\n s->frame_size = 0;\n\n\t\tmemmove(s->inbuf, s->inbuf + 1, s->inbuf_ptr - s->inbuf - 1);\n\n\t\ts->inbuf_ptr--;\n\n } else {\n\n uint8_t *p, *pend;\n\n uint32_t header1;\n\n int padding;\n\n\n\n memcpy(s->inbuf_ptr, buf_ptr, len);\n\n /* check for header */\n\n p = s->inbuf_ptr - 3;\n\n pend = s->inbuf_ptr + len - 4;\n\n while (p <= pend) {\n\n header = (p[0] << 24) | (p[1] << 16) |\n\n (p[2] << 8) | p[3];\n\n header1 = (s->inbuf[0] << 24) | (s->inbuf[1] << 16) |\n\n (s->inbuf[2] << 8) | s->inbuf[3];\n\n /* check with high probability that we have a\n\n valid header */\n\n if ((header & SAME_HEADER_MASK) ==\n\n (header1 & SAME_HEADER_MASK)) {\n\n /* header found: update pointers */\n\n len = (p + 4) - s->inbuf_ptr;\n\n buf_ptr += len;\n\n buf_size -= len;\n\n s->inbuf_ptr = p;\n\n /* compute frame size */\n\n s->free_format_next_header = header;\n\n s->free_format_frame_size = s->inbuf_ptr - s->inbuf;\n\n padding = (header1 >> 9) & 1;\n\n if (s->layer == 1)\n\n s->free_format_frame_size -= padding * 4;\n\n else\n\n s->free_format_frame_size -= padding;\n\n dprintf(\"free frame size=%d padding=%d\\n\", \n\n s->free_format_frame_size, padding);\n\n decode_header(s, header1);\n\n goto next_data;\n\n }\n\n p++;\n\n }\n\n /* not found: simply increase pointers */\n\n buf_ptr += len;\n\n s->inbuf_ptr += len;\n\n buf_size -= len;\n\n }\n\n\t} else \n\n#endif\n\n if (len < s->frame_size) {\n\n if (s->frame_size > MPA_MAX_CODED_FRAME_SIZE)\n\n s->frame_size = MPA_MAX_CODED_FRAME_SIZE;\n\n\t len = s->frame_size - len;\n\n\t if (len > buf_size)\n\n\t\tlen = buf_size;\n\n\t memcpy(s->inbuf_ptr, buf_ptr, len);\n\n\t buf_ptr += len;\n\n\t s->inbuf_ptr += len;\n\n\t buf_size -= len;\n\n\t}\n\n // next_data:\n\n if (s->frame_size > 0 && \n\n (s->inbuf_ptr - s->inbuf) >= s->frame_size) {\n\n *poutbuf = s->inbuf;\n\n *poutbuf_size = s->inbuf_ptr - s->inbuf;\n\n\t s->inbuf_ptr = s->inbuf;\n\n\t s->frame_size = 0;\n\n\t break;\n\n\t}\n\n }\n\n return buf_ptr - buf;\n\n}\n", "idx": 4681}457{"project": "FFmpeg", "commit_id": "33d69a90085d30af8a292d9364b835a26565d6b9", "target": 0, "func": "JNIEnv *ff_jni_attach_env(int *attached, void *log_ctx)\n\n{\n\n int ret = 0;\n\n JNIEnv *env = NULL;\n\n\n\n *attached = 0;\n\n\n\n pthread_mutex_lock(&lock);\n\n if (java_vm == NULL && (java_vm = av_jni_get_java_vm(log_ctx)) == NULL) {\n\n\n\n av_log(log_ctx, AV_LOG_INFO, \"Retrieving current Java virtual machine using Android JniInvocation wrapper\\n\");\n\n if (check_jni_invocation(log_ctx) == 0) {\n\n if ((java_vm = get_java_vm(NULL, log_ctx)) != NULL ||\n\n (java_vm = get_java_vm(\"libdvm.so\", log_ctx)) != NULL ||\n\n (java_vm = get_java_vm(\"libart.so\", log_ctx)) != NULL) {\n\n av_log(log_ctx, AV_LOG_INFO, \"Found Java virtual machine using Android JniInvocation wrapper\\n\");\n\n }\n\n }\n\n }\n\n pthread_mutex_unlock(&lock);\n\n\n\n if (!java_vm) {\n\n av_log(log_ctx, AV_LOG_ERROR, \"Could not retrieve a Java virtual machine\\n\");\n\n return NULL;\n\n }\n\n\n\n ret = (*java_vm)->GetEnv(java_vm, (void **)&env, JNI_VERSION_1_6);\n\n switch(ret) {\n\n case JNI_EDETACHED:\n\n if ((*java_vm)->AttachCurrentThread(java_vm, &env, NULL) != 0) {\n\n av_log(log_ctx, AV_LOG_ERROR, \"Failed to attach the JNI environment to the current thread\\n\");\n\n env = NULL;\n\n } else {\n\n *attached = 1;\n\n }\n\n break;\n\n case JNI_OK:\n\n break;\n\n case JNI_EVERSION:\n\n av_log(log_ctx, AV_LOG_ERROR, \"The specified JNI version is not supported\\n\");\n\n break;\n\n default:\n\n av_log(log_ctx, AV_LOG_ERROR, \"Failed to get the JNI environment attached to this thread\");\n\n break;\n\n }\n\n\n\n return env;\n\n}\n", "idx": 4685}458{"project": "qemu", "commit_id": "4652b8f3e1ec91bb9d6f00e40df7f96d1f1aafee", "target": 1, "func": "static int perform_cow(BlockDriverState *bs, QCowL2Meta *m)\n\n{\n\n BDRVQcow2State *s = bs->opaque;\n\n Qcow2COWRegion *start = &m->cow_start;\n\n Qcow2COWRegion *end = &m->cow_end;\n\n unsigned buffer_size;\n\n unsigned data_bytes = end->offset - (start->offset + start->nb_bytes);\n\n bool merge_reads;\n\n uint8_t *start_buffer, *end_buffer;\n\n QEMUIOVector qiov;\n\n int ret;\n\n\n\n assert(start->nb_bytes <= UINT_MAX - end->nb_bytes);\n\n assert(start->nb_bytes + end->nb_bytes <= UINT_MAX - data_bytes);\n\n assert(start->offset + start->nb_bytes <= end->offset);\n\n assert(!m->data_qiov || m->data_qiov->size == data_bytes);\n\n\n\n if (start->nb_bytes == 0 && end->nb_bytes == 0) {\n\n return 0;\n\n }\n\n\n\n /* If we have to read both the start and end COW regions and the\n\n * middle region is not too large then perform just one read\n\n * operation */\n\n merge_reads = start->nb_bytes && end->nb_bytes && data_bytes <= 16384;\n\n if (merge_reads) {\n\n buffer_size = start->nb_bytes + data_bytes + end->nb_bytes;\n\n } else {\n\n /* If we have to do two reads, add some padding in the middle\n\n * if necessary to make sure that the end region is optimally\n\n * aligned. */\n\n size_t align = bdrv_opt_mem_align(bs);\n\n assert(align > 0 && align <= UINT_MAX);\n\n assert(QEMU_ALIGN_UP(start->nb_bytes, align) <=\n\n UINT_MAX - end->nb_bytes);\n\n buffer_size = QEMU_ALIGN_UP(start->nb_bytes, align) + end->nb_bytes;\n\n }\n\n\n\n /* Reserve a buffer large enough to store all the data that we're\n\n * going to read */\n\n start_buffer = qemu_try_blockalign(bs, buffer_size);\n\n if (start_buffer == NULL) {\n\n return -ENOMEM;\n\n }\n\n /* The part of the buffer where the end region is located */\n\n end_buffer = start_buffer + buffer_size - end->nb_bytes;\n\n\n\n qemu_iovec_init(&qiov, 2 + (m->data_qiov ? m->data_qiov->niov : 0));\n\n\n\n qemu_co_mutex_unlock(&s->lock);\n\n /* First we read the existing data from both COW regions. We\n\n * either read the whole region in one go, or the start and end\n\n * regions separately. */\n\n if (merge_reads) {\n\n qemu_iovec_add(&qiov, start_buffer, buffer_size);\n\n ret = do_perform_cow_read(bs, m->offset, start->offset, &qiov);\n\n } else {\n\n qemu_iovec_add(&qiov, start_buffer, start->nb_bytes);\n\n ret = do_perform_cow_read(bs, m->offset, start->offset, &qiov);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n qemu_iovec_reset(&qiov);\n\n qemu_iovec_add(&qiov, end_buffer, end->nb_bytes);\n\n ret = do_perform_cow_read(bs, m->offset, end->offset, &qiov);\n\n }\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n /* Encrypt the data if necessary before writing it */\n\n if (bs->encrypted) {\n\n if (!do_perform_cow_encrypt(bs, m->offset, start->offset,\n\n start_buffer, start->nb_bytes) ||\n\n !do_perform_cow_encrypt(bs, m->offset, end->offset,\n\n end_buffer, end->nb_bytes)) {\n\n ret = -EIO;\n\n goto fail;\n\n }\n\n }\n\n\n\n /* And now we can write everything. If we have the guest data we\n\n * can write everything in one single operation */\n\n if (m->data_qiov) {\n\n qemu_iovec_reset(&qiov);\n\n if (start->nb_bytes) {\n\n qemu_iovec_add(&qiov, start_buffer, start->nb_bytes);\n\n }\n\n qemu_iovec_concat(&qiov, m->data_qiov, 0, data_bytes);\n\n if (end->nb_bytes) {\n\n qemu_iovec_add(&qiov, end_buffer, end->nb_bytes);\n\n }\n\n /* NOTE: we have a write_aio blkdebug event here followed by\n\n * a cow_write one in do_perform_cow_write(), but there's only\n\n * one single I/O operation */\n\n BLKDBG_EVENT(bs->file, BLKDBG_WRITE_AIO);\n\n ret = do_perform_cow_write(bs, m->alloc_offset, start->offset, &qiov);\n\n } else {\n\n /* If there's no guest data then write both COW regions separately */\n\n qemu_iovec_reset(&qiov);\n\n qemu_iovec_add(&qiov, start_buffer, start->nb_bytes);\n\n ret = do_perform_cow_write(bs, m->alloc_offset, start->offset, &qiov);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n qemu_iovec_reset(&qiov);\n\n qemu_iovec_add(&qiov, end_buffer, end->nb_bytes);\n\n ret = do_perform_cow_write(bs, m->alloc_offset, end->offset, &qiov);\n\n }\n\n\n\nfail:\n\n qemu_co_mutex_lock(&s->lock);\n\n\n\n /*\n\n * Before we update the L2 table to actually point to the new cluster, we\n\n * need to be sure that the refcounts have been increased and COW was\n\n * handled.\n\n */\n\n if (ret == 0) {\n\n qcow2_cache_depends_on_flush(s->l2_table_cache);\n\n }\n\n\n\n qemu_vfree(start_buffer);\n\n qemu_iovec_destroy(&qiov);\n\n return ret;\n\n}\n", "idx": 4697}459{"project": "FFmpeg", "commit_id": "d1adad3cca407f493c3637e20ecd4f7124e69212", "target": 0, "func": "void sws_rgb2rgb_init(int flags)\n\n{\n\n#if HAVE_SSE2 || HAVE_MMX2 || HAVE_AMD3DNOW || HAVE_MMX\n\n if (flags & SWS_CPU_CAPS_SSE2)\n\n rgb2rgb_init_SSE2();\n\n else if (flags & SWS_CPU_CAPS_MMX2)\n\n rgb2rgb_init_MMX2();\n\n else if (flags & SWS_CPU_CAPS_3DNOW)\n\n rgb2rgb_init_3DNOW();\n\n else if (flags & SWS_CPU_CAPS_MMX)\n\n rgb2rgb_init_MMX();\n\n else\n\n#endif /* HAVE_MMX2 || HAVE_AMD3DNOW || HAVE_MMX */\n\n rgb2rgb_init_C();\n\n}\n", "idx": 4698}460{"project": "FFmpeg", "commit_id": "292850b634240045805e3c2001aed6f046034e93", "target": 0, "func": "static double tget_double(GetByteContext *gb, int le)\n\n{\n\n av_alias64 i = { .u64 = le ? bytestream2_get_le64(gb) : bytestream2_get_be64(gb)};\n\n return i.f64;\n\n}\n", "idx": 4718}461{"project": "qemu", "commit_id": "9633fcc6a02f23e3ef00aa5fe3fe9c41f57c3456", "target": 1, "func": "static void init_proc_power5plus(CPUPPCState *env)\n\n{\n\n gen_spr_ne_601(env);\n\n gen_spr_7xx(env);\n\n /* Time base */\n\n gen_tbl(env);\n\n /* Hardware implementation registers */\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_HID0, \"HID0\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_clear,\n\n 0x60000000);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_HID1, \"HID1\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_750FX_HID2, \"HID2\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_970_HID5, \"HID5\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n POWERPC970_HID5_INIT);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_L2CR, \"L2CR\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, NULL,\n\n 0x00000000);\n\n /* Memory management */\n\n /* XXX: not correct */\n\n gen_low_BATs(env);\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_MMUCFG, \"MMUCFG\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, SPR_NOACCESS,\n\n 0x00000000); /* TOFIX */\n\n /* XXX : not implemented */\n\n spr_register(env, SPR_MMUCSR0, \"MMUCSR0\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000); /* TOFIX */\n\n spr_register(env, SPR_HIOR, \"SPR_HIOR\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_hior, &spr_write_hior,\n\n 0x00000000);\n\n spr_register(env, SPR_CTRL, \"SPR_CTRL\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n spr_register(env, SPR_UCTRL, \"SPR_UCTRL\",\n\n SPR_NOACCESS, SPR_NOACCESS,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n spr_register(env, SPR_VRSAVE, \"SPR_VRSAVE\",\n\n &spr_read_generic, &spr_write_generic,\n\n &spr_read_generic, &spr_write_generic,\n\n 0x00000000);\n\n#if !defined(CONFIG_USER_ONLY)\n\n env->slb_nr = 64;\n\n#endif\n\n init_excp_970(env);\n\n env->dcache_line_size = 128;\n\n env->icache_line_size = 128;\n\n /* Allocate hardware IRQ controller */\n\n ppc970_irq_init(env);\n\n /* Can't find information on what this should be on reset. This\n\n * value is the one used by 74xx processors. */\n\n vscr_init(env, 0x00010000);\n\n}\n", "idx": 4760}462{"project": "FFmpeg", "commit_id": "15d14ce47cb39b93a80a2c6b8396db81c16934e6", "target": 1, "func": "static int64_t get_bit_rate(AVCodecContext *ctx)\n\n{\n\n int64_t bit_rate;\n\n int bits_per_sample;\n\n\n\n switch (ctx->codec_type) {\n\n case AVMEDIA_TYPE_VIDEO:\n\n case AVMEDIA_TYPE_DATA:\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n case AVMEDIA_TYPE_ATTACHMENT:\n\n bit_rate = ctx->bit_rate;\n\n break;\n\n case AVMEDIA_TYPE_AUDIO:\n\n bits_per_sample = av_get_bits_per_sample(ctx->codec_id);\n\n bit_rate = bits_per_sample ? ctx->sample_rate * ctx->channels * bits_per_sample : ctx->bit_rate;\n\n break;\n\n default:\n\n bit_rate = 0;\n\n break;\n\n }\n\n return bit_rate;\n\n}\n", "idx": 4761}463{"project": "FFmpeg", "commit_id": "7631f14bb35e8467d4ffaaa2b34e60614eb37c71", "target": 0, "func": "static int mkv_write_codecprivate(AVFormatContext *s, AVIOContext *pb,\n\n AVCodecParameters *par,\n\n int native_id, int qt_id)\n\n{\n\n AVIOContext *dyn_cp;\n\n uint8_t *codecpriv;\n\n int ret, codecpriv_size;\n\n\n\n ret = avio_open_dyn_buf(&dyn_cp);\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (native_id) {\n\n ret = mkv_write_native_codecprivate(s, par, dyn_cp);\n\n } else if (par->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n if (qt_id) {\n\n if (!par->codec_tag)\n\n par->codec_tag = ff_codec_get_tag(ff_codec_movvideo_tags,\n\n par->codec_id);\n\n if ( ff_codec_get_id(ff_codec_movvideo_tags, par->codec_tag) == par->codec_id\n\n && (!par->extradata_size || ff_codec_get_id(ff_codec_movvideo_tags, AV_RL32(par->extradata + 4)) != par->codec_id)\n\n ) {\n\n int i;\n\n avio_wb32(dyn_cp, 0x5a + par->extradata_size);\n\n avio_wl32(dyn_cp, par->codec_tag);\n\n for(i = 0; i < 0x5a - 8; i++)\n\n avio_w8(dyn_cp, 0);\n\n }\n\n avio_write(dyn_cp, par->extradata, par->extradata_size);\n\n } else {\n\n if (!ff_codec_get_tag(ff_codec_bmp_tags, par->codec_id))\n\n av_log(s, AV_LOG_WARNING, \"codec %s is not supported by this format\\n\",\n\n avcodec_get_name(par->codec_id));\n\n\n\n if (!par->codec_tag)\n\n par->codec_tag = ff_codec_get_tag(ff_codec_bmp_tags,\n\n par->codec_id);\n\n if (!par->codec_tag && par->codec_id != AV_CODEC_ID_RAWVIDEO) {\n\n av_log(s, AV_LOG_ERROR, \"No bmp codec tag found for codec %s\\n\",\n\n avcodec_get_name(par->codec_id));\n\n ret = AVERROR(EINVAL);\n\n }\n\n\n\n ff_put_bmp_header(dyn_cp, par, ff_codec_bmp_tags, 0, 0);\n\n }\n\n } else if (par->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n unsigned int tag;\n\n tag = ff_codec_get_tag(ff_codec_wav_tags, par->codec_id);\n\n if (!tag) {\n\n av_log(s, AV_LOG_ERROR, \"No wav codec tag found for codec %s\\n\",\n\n avcodec_get_name(par->codec_id));\n\n ret = AVERROR(EINVAL);\n\n }\n\n if (!par->codec_tag)\n\n par->codec_tag = tag;\n\n\n\n ff_put_wav_header(s, dyn_cp, par, FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX);\n\n }\n\n\n\n codecpriv_size = avio_close_dyn_buf(dyn_cp, &codecpriv);\n\n if (codecpriv_size)\n\n put_ebml_binary(pb, MATROSKA_ID_CODECPRIVATE, codecpriv,\n\n codecpriv_size);\n\n av_free(codecpriv);\n\n return ret;\n\n}\n", "idx": 4762}464{"project": "FFmpeg", "commit_id": "c23acbaed40101c677dfcfbbfe0d2c230a8e8f44", "target": 1, "func": "void ff_vp3_idct_dc_add_c(uint8_t *dest/*align 8*/, int line_size, const DCTELEM *block/*align 16*/){\n\n int i, dc = (block[0] + 15) >> 5;\n\n const uint8_t *cm = ff_cropTbl + MAX_NEG_CROP + dc;\n\n\n\n for(i = 0; i < 8; i++){\n\n dest[0] = cm[dest[0]];\n\n dest[1] = cm[dest[1]];\n\n dest[2] = cm[dest[2]];\n\n dest[3] = cm[dest[3]];\n\n dest[4] = cm[dest[4]];\n\n dest[5] = cm[dest[5]];\n\n dest[6] = cm[dest[6]];\n\n dest[7] = cm[dest[7]];\n\n dest += line_size;\n\n }\n\n}\n", "idx": 4766}465{"project": "qemu", "commit_id": "a01aedc8d32e6f5b08a4041b62be3c5fab7a3382", "target": 1, "func": "void object_property_add_bool(Object *obj, const char *name,\n\n bool (*get)(Object *, Error **),\n\n void (*set)(Object *, bool, Error **),\n\n Error **errp)\n\n{\n\n BoolProperty *prop = g_malloc0(sizeof(*prop));\n\n\n\n prop->get = get;\n\n prop->set = set;\n\n\n\n object_property_add(obj, name, \"bool\",\n\n get ? property_get_bool : NULL,\n\n set ? property_set_bool : NULL,\n\n property_release_bool,\n\n prop, errp);\n\n}\n", "idx": 4768}466{"project": "FFmpeg", "commit_id": "13705b69ebe9e375fdb52469760a0fbb5f593cc1", "target": 1, "func": "static inline int mirror(int v, int m){\n\n if (v<0) return -v;\n\n else if(v>m) return 2*m-v;\n\n else return v;\n\n}\n", "idx": 4769}467{"project": "qemu", "commit_id": "cd7fdfe59f4f965665dcd9868fe3764f5256d6aa", "target": 1, "func": "void virtio_blk_data_plane_stop(VirtIOBlockDataPlane *s)\n\n{\n\n if (!s->started) {\n\n return;\n\n }\n\n s->started = false;\n\n trace_virtio_blk_data_plane_stop(s);\n\n\n\n /* Stop thread or cancel pending thread creation BH */\n\n if (s->start_bh) {\n\n qemu_bh_delete(s->start_bh);\n\n s->start_bh = NULL;\n\n } else {\n\n event_poll_notify(&s->event_poll);\n\n qemu_thread_join(&s->thread);\n\n }\n\n\n\n ioq_cleanup(&s->ioqueue);\n\n\n\n s->vdev->binding->set_host_notifier(s->vdev->binding_opaque, 0, false);\n\n\n\n event_poll_cleanup(&s->event_poll);\n\n\n\n /* Clean up guest notifier (irq) */\n\n s->vdev->binding->set_guest_notifiers(s->vdev->binding_opaque, 1, false);\n\n\n\n vring_teardown(&s->vring);\n\n}\n", "idx": 4770}468{"project": "FFmpeg", "commit_id": "ddef3d902f0e4cbd6be6b3e5df7ec158ce51488b", "target": 1, "func": "static int mov_write_tkhd_tag(AVIOContext *pb, MOVMuxContext *mov,\n\n MOVTrack *track, AVStream *st)\n\n{\n\n int64_t duration = av_rescale_rnd(track->track_duration, MOV_TIMESCALE,\n\n track->timescale, AV_ROUND_UP);\n\n int version = duration < INT32_MAX ? 0 : 1;\n\n int flags = MOV_TKHD_FLAG_IN_MOVIE;\n\n int rotation = 0;\n\n int group = 0;\n\n\n\n uint32_t *display_matrix = NULL;\n\n int display_matrix_size, i;\n\n\n\n if (st) {\n\n if (mov->per_stream_grouping)\n\n group = st->index;\n\n else\n\n group = st->codecpar->codec_type;\n\n\n\n display_matrix = (uint32_t*)av_stream_get_side_data(st, AV_PKT_DATA_DISPLAYMATRIX,\n\n &display_matrix_size);\n\n if (display_matrix && display_matrix_size < 9 * sizeof(*display_matrix))\n\n display_matrix = NULL;\n\n }\n\n\n\n if (track->flags & MOV_TRACK_ENABLED)\n\n flags |= MOV_TKHD_FLAG_ENABLED;\n\n\n\n if (track->mode == MODE_ISM)\n\n version = 1;\n\n\n\n (version == 1) ? avio_wb32(pb, 104) : avio_wb32(pb, 92); /* size */\n\n ffio_wfourcc(pb, \"tkhd\");\n\n avio_w8(pb, version);\n\n avio_wb24(pb, flags);\n\n if (version == 1) {\n\n avio_wb64(pb, track->time);\n\n avio_wb64(pb, track->time);\n\n } else {\n\n avio_wb32(pb, track->time); /* creation time */\n\n avio_wb32(pb, track->time); /* modification time */\n\n }\n\n avio_wb32(pb, track->track_id); /* track-id */\n\n avio_wb32(pb, 0); /* reserved */\n\n if (!track->entry && mov->mode == MODE_ISM)\n\n (version == 1) ? avio_wb64(pb, UINT64_C(0xffffffffffffffff)) : avio_wb32(pb, 0xffffffff);\n\n else if (!track->entry)\n\n (version == 1) ? avio_wb64(pb, 0) : avio_wb32(pb, 0);\n\n else\n\n (version == 1) ? avio_wb64(pb, duration) : avio_wb32(pb, duration);\n\n\n\n avio_wb32(pb, 0); /* reserved */\n\n avio_wb32(pb, 0); /* reserved */\n\n avio_wb16(pb, 0); /* layer */\n\n avio_wb16(pb, group); /* alternate group) */\n\n /* Volume, only for audio */\n\n if (track->par->codec_type == AVMEDIA_TYPE_AUDIO)\n\n avio_wb16(pb, 0x0100);\n\n else\n\n avio_wb16(pb, 0);\n\n avio_wb16(pb, 0); /* reserved */\n\n\n\n /* Matrix structure */\n\n\n if (st && st->metadata) {\n\n AVDictionaryEntry *rot = av_dict_get(st->metadata, \"rotate\", NULL, 0);\n\n rotation = (rot && rot->value) ? atoi(rot->value) : 0;\n\n }\n\n\n if (display_matrix) {\n\n for (i = 0; i < 9; i++)\n\n avio_wb32(pb, display_matrix[i]);\n\n\n } else if (rotation == 90) {\n\n write_matrix(pb, 0, 1, -1, 0, track->par->height, 0);\n\n } else if (rotation == 180) {\n\n write_matrix(pb, -1, 0, 0, -1, track->par->width, track->par->height);\n\n } else if (rotation == 270) {\n\n write_matrix(pb, 0, -1, 1, 0, 0, track->par->width);\n\n\n } else {\n\n write_matrix(pb, 1, 0, 0, 1, 0, 0);\n\n }\n\n /* Track width and height, for visual only */\n\n if (st && (track->par->codec_type == AVMEDIA_TYPE_VIDEO ||\n\n track->par->codec_type == AVMEDIA_TYPE_SUBTITLE)) {\n\n int64_t track_width_1616;\n\n if (track->mode == MODE_MOV) {\n\n track_width_1616 = track->par->width * 0x10000ULL;\n\n } else {\n\n track_width_1616 = av_rescale(st->sample_aspect_ratio.num,\n\n track->par->width * 0x10000LL,\n\n st->sample_aspect_ratio.den);\n\n if (!track_width_1616 ||\n\n track->height != track->par->height ||\n\n track_width_1616 > UINT32_MAX)\n\n track_width_1616 = track->par->width * 0x10000ULL;\n\n }\n\n if (track_width_1616 > UINT32_MAX) {\n\n av_log(mov->fc, AV_LOG_WARNING, \"track width is too large\\n\");\n\n track_width_1616 = 0;\n\n }\n\n avio_wb32(pb, track_width_1616);\n\n if (track->height > 0xFFFF) {\n\n av_log(mov->fc, AV_LOG_WARNING, \"track height is too large\\n\");\n\n avio_wb32(pb, 0);\n\n } else\n\n avio_wb32(pb, track->height * 0x10000U);\n\n } else {\n\n avio_wb32(pb, 0);\n\n avio_wb32(pb, 0);\n\n }\n\n return 0x5c;\n\n}", "idx": 4781}469{"project": "FFmpeg", "commit_id": "4189fe11ffcbdcd311eb9a3437586a94492c4cde", "target": 1, "func": "static int vobsub_read_seek(AVFormatContext *s, int stream_index,\n\n int64_t min_ts, int64_t ts, int64_t max_ts, int flags)\n\n{\n\n MpegDemuxContext *vobsub = s->priv_data;\n\n\n\n /* Rescale requested timestamps based on the first stream (timebase is the\n\n * same for all subtitles stream within a .idx/.sub). Rescaling is done just\n\n * like in avformat_seek_file(). */\n\n if (stream_index == -1 && s->nb_streams != 1) {\n\n int i, ret = 0;\n\n AVRational time_base = s->streams[0]->time_base;\n\n ts = av_rescale_q(ts, AV_TIME_BASE_Q, time_base);\n\n min_ts = av_rescale_rnd(min_ts, time_base.den,\n\n time_base.num * (int64_t)AV_TIME_BASE,\n\n AV_ROUND_UP | AV_ROUND_PASS_MINMAX);\n\n max_ts = av_rescale_rnd(max_ts, time_base.den,\n\n time_base.num * (int64_t)AV_TIME_BASE,\n\n AV_ROUND_DOWN | AV_ROUND_PASS_MINMAX);\n\n for (i = 0; i < s->nb_streams; i++) {\n\n int r = ff_subtitles_queue_seek(&vobsub->q[i], s, stream_index,\n\n min_ts, ts, max_ts, flags);\n\n if (r < 0)\n\n ret = r;\n\n }\n\n return ret;\n\n }\n\n\n\n\n\n return ff_subtitles_queue_seek(&vobsub->q[stream_index], s, stream_index,\n\n min_ts, ts, max_ts, flags);\n\n}", "idx": 4798}470{"project": "FFmpeg", "commit_id": "c177f2ec4a21d62fdefd925ad69c24a2f9dad303", "target": 0, "func": "static av_cold int aac_encode_init(AVCodecContext *avctx)\n\n{\n\n AACContext *s = avctx->priv_data;\n\n int ret = AVERROR(EINVAL);\n\n AACENC_InfoStruct info = { 0 };\n\n CHANNEL_MODE mode;\n\n AACENC_ERROR err;\n\n int aot = FF_PROFILE_AAC_LOW + 1;\n\n int sce = 0, cpe = 0;\n\n\n\n if ((err = aacEncOpen(&s->handle, 0, avctx->channels)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to open the encoder: %s\\n\",\n\n aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if (avctx->profile != FF_PROFILE_UNKNOWN)\n\n aot = avctx->profile + 1;\n\n\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_AOT, aot)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set the AOT %d: %s\\n\",\n\n aot, aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if (aot == FF_PROFILE_AAC_ELD + 1 && s->eld_sbr) {\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_SBR_MODE,\n\n 1)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to enable SBR for ELD: %s\\n\",\n\n aac_get_error(err));\n\n goto error;\n\n }\n\n }\n\n\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_SAMPLERATE,\n\n avctx->sample_rate)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set the sample rate %d: %s\\n\",\n\n avctx->sample_rate, aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n switch (avctx->channels) {\n\n case 1: mode = MODE_1; sce = 1; cpe = 0; break;\n\n case 2: mode = MODE_2; sce = 0; cpe = 1; break;\n\n case 3: mode = MODE_1_2; sce = 1; cpe = 1; break;\n\n case 4: mode = MODE_1_2_1; sce = 2; cpe = 1; break;\n\n case 5: mode = MODE_1_2_2; sce = 1; cpe = 2; break;\n\n case 6: mode = MODE_1_2_2_1; sce = 2; cpe = 2; break;\n\n default:\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Unsupported number of channels %d\\n\", avctx->channels);\n\n goto error;\n\n }\n\n\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_CHANNELMODE,\n\n mode)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Unable to set channel mode %d: %s\\n\", mode, aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_CHANNELORDER,\n\n 1)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Unable to set wav channel order %d: %s\\n\",\n\n mode, aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if (avctx->flags & CODEC_FLAG_QSCALE || s->vbr) {\n\n int mode = s->vbr ? s->vbr : avctx->global_quality;\n\n if (mode < 1 || mode > 5) {\n\n av_log(avctx, AV_LOG_WARNING,\n\n \"VBR quality %d out of range, should be 1-5\\n\", mode);\n\n mode = av_clip(mode, 1, 5);\n\n }\n\n av_log(avctx, AV_LOG_WARNING,\n\n \"Note, the VBR setting is unsupported and only works with \"\n\n \"some parameter combinations\\n\");\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_BITRATEMODE,\n\n mode)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set the VBR bitrate mode %d: %s\\n\",\n\n mode, aac_get_error(err));\n\n goto error;\n\n }\n\n } else {\n\n if (avctx->bit_rate <= 0) {\n\n if (avctx->profile == FF_PROFILE_AAC_HE_V2) {\n\n sce = 1;\n\n cpe = 0;\n\n }\n\n avctx->bit_rate = (96*sce + 128*cpe) * avctx->sample_rate / 44;\n\n if (avctx->profile == FF_PROFILE_AAC_HE ||\n\n avctx->profile == FF_PROFILE_AAC_HE_V2 ||\n\n s->eld_sbr)\n\n avctx->bit_rate /= 2;\n\n }\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_BITRATE,\n\n avctx->bit_rate)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set the bitrate %d: %s\\n\",\n\n avctx->bit_rate, aac_get_error(err));\n\n goto error;\n\n }\n\n }\n\n\n\n /* Choose bitstream format - if global header is requested, use\n\n * raw access units, otherwise use ADTS. */\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_TRANSMUX,\n\n avctx->flags & CODEC_FLAG_GLOBAL_HEADER ? 0 : s->latm ? 10 : 2)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set the transmux format: %s\\n\",\n\n aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if (s->latm && s->header_period) {\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_HEADER_PERIOD,\n\n s->header_period)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set header period: %s\\n\",\n\n aac_get_error(err));\n\n goto error;\n\n }\n\n }\n\n\n\n /* If no signaling mode is chosen, use explicit hierarchical signaling\n\n * if using mp4 mode (raw access units, with global header) and\n\n * implicit signaling if using ADTS. */\n\n if (s->signaling < 0)\n\n s->signaling = avctx->flags & CODEC_FLAG_GLOBAL_HEADER ? 2 : 0;\n\n\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_SIGNALING_MODE,\n\n s->signaling)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set signaling mode %d: %s\\n\",\n\n s->signaling, aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_AFTERBURNER,\n\n s->afterburner)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set afterburner to %d: %s\\n\",\n\n s->afterburner, aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n if (avctx->cutoff > 0) {\n\n if (avctx->cutoff < (avctx->sample_rate + 255) >> 8) {\n\n av_log(avctx, AV_LOG_ERROR, \"cutoff valid range is %d-20000\\n\",\n\n (avctx->sample_rate + 255) >> 8);\n\n goto error;\n\n }\n\n if ((err = aacEncoder_SetParam(s->handle, AACENC_BANDWIDTH,\n\n avctx->cutoff)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to set the encoder bandwidth to %d: %s\\n\",\n\n avctx->cutoff, aac_get_error(err));\n\n goto error;\n\n }\n\n }\n\n\n\n if ((err = aacEncEncode(s->handle, NULL, NULL, NULL, NULL)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to initialize the encoder: %s\\n\",\n\n aac_get_error(err));\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n if ((err = aacEncInfo(s->handle, &info)) != AACENC_OK) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to get encoder info: %s\\n\",\n\n aac_get_error(err));\n\n goto error;\n\n }\n\n\n\n#if FF_API_OLD_ENCODE_AUDIO\n\n avctx->coded_frame = avcodec_alloc_frame();\n\n if (!avctx->coded_frame) {\n\n ret = AVERROR(ENOMEM);\n\n goto error;\n\n }\n\n#endif\n\n avctx->frame_size = info.frameLength;\n\n avctx->delay = info.encoderDelay;\n\n ff_af_queue_init(avctx, &s->afq);\n\n\n\n if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {\n\n avctx->extradata_size = info.confSize;\n\n avctx->extradata = av_mallocz(avctx->extradata_size +\n\n FF_INPUT_BUFFER_PADDING_SIZE);\n\n if (!avctx->extradata) {\n\n ret = AVERROR(ENOMEM);\n\n goto error;\n\n }\n\n\n\n memcpy(avctx->extradata, info.confBuf, info.confSize);\n\n }\n\n return 0;\n\nerror:\n\n aac_encode_close(avctx);\n\n return ret;\n\n}\n", "idx": 4800}471{"project": "FFmpeg", "commit_id": "24947d4988012f1f0fd467c83418615adc11c3e8", "target": 1, "func": "static int vorbis_floor1_decode(vorbis_context *vc,\n\n vorbis_floor_data *vfu, float *vec)\n\n{\n\n vorbis_floor1 *vf = &vfu->t1;\n\n GetBitContext *gb = &vc->gb;\n\n uint16_t range_v[4] = { 256, 128, 86, 64 };\n\n unsigned range = range_v[vf->multiplier - 1];\n\n uint16_t floor1_Y[258];\n\n uint16_t floor1_Y_final[258];\n\n int floor1_flag[258];\n\n unsigned class, cdim, cbits, csub, cval, offset, i, j;\n\n int book, adx, ady, dy, off, predicted, err;\n\n\n\n\n\n if (!get_bits1(gb)) // silence\n\n return 1;\n\n\n\n// Read values (or differences) for the floor's points\n\n\n\n floor1_Y[0] = get_bits(gb, ilog(range - 1));\n\n floor1_Y[1] = get_bits(gb, ilog(range - 1));\n\n\n\n av_dlog(NULL, \"floor 0 Y %d floor 1 Y %d \\n\", floor1_Y[0], floor1_Y[1]);\n\n\n\n offset = 2;\n\n for (i = 0; i < vf->partitions; ++i) {\n\n class = vf->partition_class[i];\n\n cdim = vf->class_dimensions[class];\n\n cbits = vf->class_subclasses[class];\n\n csub = (1 << cbits) - 1;\n\n cval = 0;\n\n\n\n av_dlog(NULL, \"Cbits %u\\n\", cbits);\n\n\n\n if (cbits) // this reads all subclasses for this partition's class\n\n cval = get_vlc2(gb, vc->codebooks[vf->class_masterbook[class]].vlc.table,\n\n vc->codebooks[vf->class_masterbook[class]].nb_bits, 3);\n\n\n\n for (j = 0; j < cdim; ++j) {\n\n book = vf->subclass_books[class][cval & csub];\n\n\n\n av_dlog(NULL, \"book %d Cbits %u cval %u bits:%d\\n\",\n\n book, cbits, cval, get_bits_count(gb));\n\n\n\n cval = cval >> cbits;\n\n if (book > -1) {\n\n floor1_Y[offset+j] = get_vlc2(gb, vc->codebooks[book].vlc.table,\n\n vc->codebooks[book].nb_bits, 3);\n\n } else {\n\n floor1_Y[offset+j] = 0;\n\n }\n\n\n\n av_dlog(NULL, \" floor(%d) = %d \\n\",\n\n vf->list[offset+j].x, floor1_Y[offset+j]);\n\n }\n\n offset+=cdim;\n\n }\n\n\n\n// Amplitude calculation from the differences\n\n\n\n floor1_flag[0] = 1;\n\n floor1_flag[1] = 1;\n\n floor1_Y_final[0] = floor1_Y[0];\n\n floor1_Y_final[1] = floor1_Y[1];\n\n\n\n for (i = 2; i < vf->x_list_dim; ++i) {\n\n unsigned val, highroom, lowroom, room, high_neigh_offs, low_neigh_offs;\n\n\n\n low_neigh_offs = vf->list[i].low;\n\n high_neigh_offs = vf->list[i].high;\n\n dy = floor1_Y_final[high_neigh_offs] - floor1_Y_final[low_neigh_offs]; // render_point begin\n\n adx = vf->list[high_neigh_offs].x - vf->list[low_neigh_offs].x;\n\n ady = FFABS(dy);\n\n err = ady * (vf->list[i].x - vf->list[low_neigh_offs].x);\n\n off = err / adx;\n\n if (dy < 0) {\n\n predicted = floor1_Y_final[low_neigh_offs] - off;\n\n } else {\n\n predicted = floor1_Y_final[low_neigh_offs] + off;\n\n } // render_point end\n\n\n\n val = floor1_Y[i];\n\n highroom = range-predicted;\n\n lowroom = predicted;\n\n if (highroom < lowroom) {\n\n room = highroom * 2;\n\n } else {\n\n room = lowroom * 2; // SPEC mispelling\n\n }\n\n if (val) {\n\n floor1_flag[low_neigh_offs] = 1;\n\n floor1_flag[high_neigh_offs] = 1;\n\n floor1_flag[i] = 1;\n\n if (val >= room) {\n\n if (highroom > lowroom) {\n\n floor1_Y_final[i] = val - lowroom + predicted;\n\n } else {\n\n floor1_Y_final[i] = predicted - val + highroom - 1;\n\n }\n\n } else {\n\n if (val & 1) {\n\n floor1_Y_final[i] = predicted - (val + 1) / 2;\n\n } else {\n\n floor1_Y_final[i] = predicted + val / 2;\n\n }\n\n }\n\n } else {\n\n floor1_flag[i] = 0;\n\n floor1_Y_final[i] = predicted;\n\n }\n\n\n\n av_dlog(NULL, \" Decoded floor(%d) = %u / val %u\\n\",\n\n vf->list[i].x, floor1_Y_final[i], val);\n\n }\n\n\n\n// Curve synth - connect the calculated dots and convert from dB scale FIXME optimize ?\n\n\n\n ff_vorbis_floor1_render_list(vf->list, vf->x_list_dim, floor1_Y_final, floor1_flag, vf->multiplier, vec, vf->list[1].x);\n\n\n\n av_dlog(NULL, \" Floor decoded\\n\");\n\n\n\n return 0;\n\n}\n", "idx": 4801}472{"project": "qemu", "commit_id": "b3f7f0c5e6449be7275f1762bccbfa2177395a3b", "target": 1, "func": "static void colo_process_checkpoint(MigrationState *s)\n{\n QIOChannelBuffer *bioc;\n QEMUFile *fb = NULL;\n int64_t current_time, checkpoint_time = qemu_clock_get_ms(QEMU_CLOCK_HOST);\n Error *local_err = NULL;\n int ret;\n failover_init_state();\n s->rp_state.from_dst_file = qemu_file_get_return_path(s->to_dst_file);\n if (!s->rp_state.from_dst_file) {\n error_report(\"Open QEMUFile from_dst_file failed\");\n /*\n * Wait for Secondary finish loading VM states and enter COLO\n * restore.\n */\n colo_receive_check_message(s->rp_state.from_dst_file,\n COLO_MESSAGE_CHECKPOINT_READY, &local_err);\n if (local_err) {\n bioc = qio_channel_buffer_new(COLO_BUFFER_BASE_SIZE);\n fb = qemu_fopen_channel_output(QIO_CHANNEL(bioc));\n object_unref(OBJECT(bioc));\n qemu_mutex_lock_iothread();\n vm_start();\n qemu_mutex_unlock_iothread();\n trace_colo_vm_state_change(\"stop\", \"run\");\n while (s->state == MIGRATION_STATUS_COLO) {\n current_time = qemu_clock_get_ms(QEMU_CLOCK_HOST);\n if (current_time - checkpoint_time <\n s->parameters.x_checkpoint_delay) {\n int64_t delay_ms;\n delay_ms = s->parameters.x_checkpoint_delay -\n (current_time - checkpoint_time);\n g_usleep(delay_ms * 1000);\n ret = colo_do_checkpoint_transaction(s, bioc, fb);\n if (ret < 0) {\n checkpoint_time = qemu_clock_get_ms(QEMU_CLOCK_HOST);\nout:\n /* Throw the unreported error message after exited from loop */\n if (local_err) {\n error_report_err(local_err);\n if (fb) {\n qemu_fclose(fb);\n if (s->rp_state.from_dst_file) {\n qemu_fclose(s->rp_state.from_dst_file);", "idx": 4815}473{"project": "qemu", "commit_id": "c97294ec1b9e36887e119589d456557d72ab37b5", "target": 0, "func": "static void pc_init1(QEMUMachineInitArgs *args,\n\n int pci_enabled,\n\n int kvmclock_enabled)\n\n{\n\n MemoryRegion *system_memory = get_system_memory();\n\n MemoryRegion *system_io = get_system_io();\n\n int i;\n\n ram_addr_t below_4g_mem_size, above_4g_mem_size;\n\n PCIBus *pci_bus;\n\n ISABus *isa_bus;\n\n PCII440FXState *i440fx_state;\n\n int piix3_devfn = -1;\n\n qemu_irq *cpu_irq;\n\n qemu_irq *gsi;\n\n qemu_irq *i8259;\n\n qemu_irq *smi_irq;\n\n GSIState *gsi_state;\n\n DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];\n\n BusState *idebus[MAX_IDE_BUS];\n\n ISADevice *rtc_state;\n\n ISADevice *floppy;\n\n MemoryRegion *ram_memory;\n\n MemoryRegion *pci_memory;\n\n MemoryRegion *rom_memory;\n\n DeviceState *icc_bridge;\n\n FWCfgState *fw_cfg = NULL;\n\n PcGuestInfo *guest_info;\n\n\n\n if (xen_enabled() && xen_hvm_init(&ram_memory) != 0) {\n\n fprintf(stderr, \"xen hardware virtual machine initialisation failed\\n\");\n\n exit(1);\n\n }\n\n\n\n icc_bridge = qdev_create(NULL, TYPE_ICC_BRIDGE);\n\n object_property_add_child(qdev_get_machine(), \"icc-bridge\",\n\n OBJECT(icc_bridge), NULL);\n\n\n\n pc_cpus_init(args->cpu_model, icc_bridge);\n\n\n\n if (kvm_enabled() && kvmclock_enabled) {\n\n kvmclock_create();\n\n }\n\n\n\n /* Check whether RAM fits below 4G (leaving 1/2 GByte for IO memory).\n\n * If it doesn't, we need to split it in chunks below and above 4G.\n\n * In any case, try to make sure that guest addresses aligned at\n\n * 1G boundaries get mapped to host addresses aligned at 1G boundaries.\n\n * For old machine types, use whatever split we used historically to avoid\n\n * breaking migration.\n\n */\n\n if (args->ram_size >= 0xe0000000) {\n\n ram_addr_t lowmem = gigabyte_align ? 0xc0000000 : 0xe0000000;\n\n above_4g_mem_size = args->ram_size - lowmem;\n\n below_4g_mem_size = lowmem;\n\n } else {\n\n above_4g_mem_size = 0;\n\n below_4g_mem_size = args->ram_size;\n\n }\n\n\n\n if (pci_enabled) {\n\n pci_memory = g_new(MemoryRegion, 1);\n\n memory_region_init(pci_memory, NULL, \"pci\", UINT64_MAX);\n\n rom_memory = pci_memory;\n\n } else {\n\n pci_memory = NULL;\n\n rom_memory = system_memory;\n\n }\n\n\n\n guest_info = pc_guest_info_init(below_4g_mem_size, above_4g_mem_size);\n\n\n\n guest_info->has_acpi_build = has_acpi_build;\n\n\n\n guest_info->has_pci_info = has_pci_info;\n\n guest_info->isapc_ram_fw = !pci_enabled;\n\n\n\n if (smbios_defaults) {\n\n /* These values are guest ABI, do not change */\n\n smbios_set_defaults(\"QEMU\", \"Standard PC (i440FX + PIIX, 1996)\",\n\n args->machine->name);\n\n }\n\n\n\n /* allocate ram and load rom/bios */\n\n if (!xen_enabled()) {\n\n fw_cfg = pc_memory_init(system_memory,\n\n args->kernel_filename, args->kernel_cmdline,\n\n args->initrd_filename,\n\n below_4g_mem_size, above_4g_mem_size,\n\n rom_memory, &ram_memory, guest_info);\n\n }\n\n\n\n gsi_state = g_malloc0(sizeof(*gsi_state));\n\n if (kvm_irqchip_in_kernel()) {\n\n kvm_pc_setup_irq_routing(pci_enabled);\n\n gsi = qemu_allocate_irqs(kvm_pc_gsi_handler, gsi_state,\n\n GSI_NUM_PINS);\n\n } else {\n\n gsi = qemu_allocate_irqs(gsi_handler, gsi_state, GSI_NUM_PINS);\n\n }\n\n\n\n if (pci_enabled) {\n\n pci_bus = i440fx_init(&i440fx_state, &piix3_devfn, &isa_bus, gsi,\n\n system_memory, system_io, args->ram_size,\n\n below_4g_mem_size,\n\n above_4g_mem_size,\n\n pci_memory, ram_memory);\n\n } else {\n\n pci_bus = NULL;\n\n i440fx_state = NULL;\n\n isa_bus = isa_bus_new(NULL, system_io);\n\n no_hpet = 1;\n\n }\n\n isa_bus_irqs(isa_bus, gsi);\n\n\n\n if (kvm_irqchip_in_kernel()) {\n\n i8259 = kvm_i8259_init(isa_bus);\n\n } else if (xen_enabled()) {\n\n i8259 = xen_interrupt_controller_init();\n\n } else {\n\n cpu_irq = pc_allocate_cpu_irq();\n\n i8259 = i8259_init(isa_bus, cpu_irq[0]);\n\n }\n\n\n\n for (i = 0; i < ISA_NUM_IRQS; i++) {\n\n gsi_state->i8259_irq[i] = i8259[i];\n\n }\n\n if (pci_enabled) {\n\n ioapic_init_gsi(gsi_state, \"i440fx\");\n\n }\n\n qdev_init_nofail(icc_bridge);\n\n\n\n pc_register_ferr_irq(gsi[13]);\n\n\n\n pc_vga_init(isa_bus, pci_enabled ? pci_bus : NULL);\n\n\n\n /* init basic PC hardware */\n\n pc_basic_device_init(isa_bus, gsi, &rtc_state, &floppy, xen_enabled(),\n\n 0x4);\n\n\n\n pc_nic_init(isa_bus, pci_bus);\n\n\n\n ide_drive_get(hd, MAX_IDE_BUS);\n\n if (pci_enabled) {\n\n PCIDevice *dev;\n\n if (xen_enabled()) {\n\n dev = pci_piix3_xen_ide_init(pci_bus, hd, piix3_devfn + 1);\n\n } else {\n\n dev = pci_piix3_ide_init(pci_bus, hd, piix3_devfn + 1);\n\n }\n\n idebus[0] = qdev_get_child_bus(&dev->qdev, \"ide.0\");\n\n idebus[1] = qdev_get_child_bus(&dev->qdev, \"ide.1\");\n\n } else {\n\n for(i = 0; i < MAX_IDE_BUS; i++) {\n\n ISADevice *dev;\n\n char busname[] = \"ide.0\";\n\n dev = isa_ide_init(isa_bus, ide_iobase[i], ide_iobase2[i],\n\n ide_irq[i],\n\n hd[MAX_IDE_DEVS * i], hd[MAX_IDE_DEVS * i + 1]);\n\n /*\n\n * The ide bus name is ide.0 for the first bus and ide.1 for the\n\n * second one.\n\n */\n\n busname[4] = '0' + i;\n\n idebus[i] = qdev_get_child_bus(DEVICE(dev), busname);\n\n }\n\n }\n\n\n\n pc_cmos_init(below_4g_mem_size, above_4g_mem_size, args->boot_order,\n\n floppy, idebus[0], idebus[1], rtc_state);\n\n\n\n if (pci_enabled && usb_enabled(false)) {\n\n pci_create_simple(pci_bus, piix3_devfn + 2, \"piix3-usb-uhci\");\n\n }\n\n\n\n if (pci_enabled && acpi_enabled) {\n\n I2CBus *smbus;\n\n\n\n smi_irq = qemu_allocate_irqs(pc_acpi_smi_interrupt, first_cpu, 1);\n\n /* TODO: Populate SPD eeprom data. */\n\n smbus = piix4_pm_init(pci_bus, piix3_devfn + 3, 0xb100,\n\n gsi[9], *smi_irq,\n\n kvm_enabled(), fw_cfg);\n\n smbus_eeprom_init(smbus, 8, NULL, 0);\n\n }\n\n\n\n if (pci_enabled) {\n\n pc_pci_device_init(pci_bus);\n\n }\n\n}\n", "idx": 4835}474{"project": "qemu", "commit_id": "4bb3893908385836410346725dd9e584dcd24836", "target": 0, "func": "uint32_t wm8750_adc_dat(void *opaque)\n\n{\n\n WM8750State *s = (WM8750State *) opaque;\n\n uint32_t *data;\n\n\n\n if (s->idx_in >= sizeof(s->data_in))\n\n wm8750_in_load(s);\n\n\n\n data = (uint32_t *) &s->data_in[s->idx_in];\n\n s->req_in -= 4;\n\n s->idx_in += 4;\n\n return *data;\n\n}\n", "idx": 4842}475{"project": "qemu", "commit_id": "09e68369a88d7de0f988972bf28eec1b80cc47f9", "target": 0, "func": "static QmpInputVisitor *to_qiv(Visitor *v)\n\n{\n\n return container_of(v, QmpInputVisitor, visitor);\n\n}\n", "idx": 4849}476{"project": "FFmpeg", "commit_id": "11de006babf735aafa3462d43dd2c02bb6ac6e2f", "target": 0, "func": "static int v4l2_read_packet(AVFormatContext *s1, AVPacket *pkt)\n\n{\n\n#if FF_API_CODED_FRAME\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n struct video_data *s = s1->priv_data;\n\n AVFrame *frame = s1->streams[0]->codec->coded_frame;\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n int res;\n\n\n\n av_init_packet(pkt);\n\n if ((res = mmap_read_frame(s1, pkt)) < 0) {\n\n return res;\n\n }\n\n\n\n#if FF_API_CODED_FRAME\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n if (frame && s->interlaced) {\n\n frame->interlaced_frame = 1;\n\n frame->top_field_first = s->top_field_first;\n\n }\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n\n\n return pkt->size;\n\n}\n", "idx": 4873}477{"project": "qemu", "commit_id": "efec3dd631d94160288392721a5f9c39e50fb2bc", "target": 1, "func": "static void bonito_pcihost_class_init(ObjectClass *klass, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(klass);\n\n SysBusDeviceClass *k = SYS_BUS_DEVICE_CLASS(klass);\n\n\n\n k->init = bonito_pcihost_initfn;\n\n dc->no_user = 1;\n\n}\n", "idx": 4874}478{"project": "FFmpeg", "commit_id": "955aec3c7c7be39b659197e1ec379a09f2b7c41c", "target": 0, "func": "static int mp3_parse_vbr_tags(AVFormatContext *s, AVStream *st, int64_t base)\n\n{\n\n uint32_t v, spf;\n\n MPADecodeHeader c;\n\n int vbrtag_size = 0;\n\n MP3DecContext *mp3 = s->priv_data;\n\n\n\n ffio_init_checksum(s->pb, ff_crcA001_update, 0);\n\n\n\n v = avio_rb32(s->pb);\n\n if(ff_mpa_check_header(v) < 0)\n\n return -1;\n\n\n\n if (avpriv_mpegaudio_decode_header(&c, v) == 0)\n\n vbrtag_size = c.frame_size;\n\n if(c.layer != 3)\n\n return -1;\n\n\n\n spf = c.lsf ? 576 : 1152; /* Samples per frame, layer 3 */\n\n\n\n mp3->frames = 0;\n\n mp3->size = 0;\n\n\n\n mp3_parse_info_tag(s, st, &c, spf);\n\n mp3_parse_vbri_tag(s, st, base);\n\n\n\n if (!mp3->frames && !mp3->size)\n\n return -1;\n\n\n\n /* Skip the vbr tag frame */\n\n avio_seek(s->pb, base + vbrtag_size, SEEK_SET);\n\n\n\n if (mp3->frames)\n\n st->duration = av_rescale_q(mp3->frames, (AVRational){spf, c.sample_rate},\n\n st->time_base);\n\n if (mp3->size && mp3->frames && !mp3->is_cbr)\n\n st->codec->bit_rate = av_rescale(mp3->size, 8 * c.sample_rate, mp3->frames * (int64_t)spf);\n\n\n\n return 0;\n\n}\n", "idx": 4879}479{"project": "qemu", "commit_id": "ad523590f62cf5d44e97388de370d27b95b25aff", "target": 0, "func": "void memory_region_iommu_replay_all(MemoryRegion *mr)\n\n{\n\n IOMMUNotifier *notifier;\n\n\n\n IOMMU_NOTIFIER_FOREACH(notifier, mr) {\n\n memory_region_iommu_replay(mr, notifier, false);\n\n }\n\n}\n", "idx": 4892}480{"project": "qemu", "commit_id": "dc638fadb54c911019227ae37656560c49a209b9", "target": 0, "func": "static int usb_uhci_piix3_initfn(PCIDevice *dev)\n\n{\n\n UHCIState *s = DO_UPCAST(UHCIState, dev, dev);\n\n uint8_t *pci_conf = s->dev.config;\n\n\n\n pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);\n\n pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371SB_2);\n\n return usb_uhci_common_initfn(s);\n\n}\n", "idx": 4893}481{"project": "FFmpeg", "commit_id": "842b6c14bcfc1c5da1a2d288fd65386eb8c158ad", "target": 0, "func": "static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)\n\n{\n\n MpegTSWrite *ts = s->priv_data;\n\n uint8_t data[1012], *q, *desc_length_ptr, *program_info_length_ptr;\n\n int val, stream_type, i;\n\n\n\n q = data;\n\n put16(&q, 0xe000 | service->pcr_pid);\n\n\n\n program_info_length_ptr = q;\n\n q += 2; /* patched after */\n\n\n\n /* put program info here */\n\n\n\n val = 0xf000 | (q - program_info_length_ptr - 2);\n\n program_info_length_ptr[0] = val >> 8;\n\n program_info_length_ptr[1] = val;\n\n\n\n for(i = 0; i < s->nb_streams; i++) {\n\n AVStream *st = s->streams[i];\n\n MpegTSWriteStream *ts_st = st->priv_data;\n\n AVDictionaryEntry *lang = av_dict_get(st->metadata, \"language\", NULL,0);\n\n switch(st->codec->codec_id) {\n\n case AV_CODEC_ID_MPEG1VIDEO:\n\n case AV_CODEC_ID_MPEG2VIDEO:\n\n stream_type = STREAM_TYPE_VIDEO_MPEG2;\n\n break;\n\n case AV_CODEC_ID_MPEG4:\n\n stream_type = STREAM_TYPE_VIDEO_MPEG4;\n\n break;\n\n case AV_CODEC_ID_H264:\n\n stream_type = STREAM_TYPE_VIDEO_H264;\n\n break;\n\n case AV_CODEC_ID_CAVS:\n\n stream_type = STREAM_TYPE_VIDEO_CAVS;\n\n break;\n\n case AV_CODEC_ID_DIRAC:\n\n stream_type = STREAM_TYPE_VIDEO_DIRAC;\n\n break;\n\n case AV_CODEC_ID_MP2:\n\n case AV_CODEC_ID_MP3:\n\n stream_type = STREAM_TYPE_AUDIO_MPEG1;\n\n break;\n\n case AV_CODEC_ID_AAC:\n\n stream_type = (ts->flags & MPEGTS_FLAG_AAC_LATM) ? STREAM_TYPE_AUDIO_AAC_LATM : STREAM_TYPE_AUDIO_AAC;\n\n break;\n\n case AV_CODEC_ID_AAC_LATM:\n\n stream_type = STREAM_TYPE_AUDIO_AAC_LATM;\n\n break;\n\n case AV_CODEC_ID_AC3:\n\n stream_type = STREAM_TYPE_AUDIO_AC3;\n\n break;\n\n default:\n\n stream_type = STREAM_TYPE_PRIVATE_DATA;\n\n break;\n\n }\n\n *q++ = stream_type;\n\n put16(&q, 0xe000 | ts_st->pid);\n\n desc_length_ptr = q;\n\n q += 2; /* patched after */\n\n\n\n /* write optional descriptors here */\n\n switch(st->codec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n if(st->codec->codec_id==AV_CODEC_ID_EAC3){\n\n *q++=0x7a; // EAC3 descriptor see A038 DVB SI\n\n *q++=1; // 1 byte, all flags sets to 0\n\n *q++=0; // omit all fields...\n\n }\n\n if(st->codec->codec_id==AV_CODEC_ID_S302M){\n\n *q++ = 0x05; /* MPEG-2 registration descriptor*/\n\n *q++ = 4;\n\n *q++ = 'B';\n\n *q++ = 'S';\n\n *q++ = 'S';\n\n *q++ = 'D';\n\n }\n\n\n\n if (lang) {\n\n char *p;\n\n char *next = lang->value;\n\n uint8_t *len_ptr;\n\n\n\n *q++ = 0x0a; /* ISO 639 language descriptor */\n\n len_ptr = q++;\n\n *len_ptr = 0;\n\n\n\n for (p = lang->value; next && *len_ptr < 255 / 4 * 4; p = next + 1) {\n\n next = strchr(p, ',');\n\n if (strlen(p) != 3 && (!next || next != p + 3))\n\n continue; /* not a 3-letter code */\n\n\n\n *q++ = *p++;\n\n *q++ = *p++;\n\n *q++ = *p++;\n\n\n\n if (st->disposition & AV_DISPOSITION_CLEAN_EFFECTS)\n\n *q++ = 0x01;\n\n else if (st->disposition & AV_DISPOSITION_HEARING_IMPAIRED)\n\n *q++ = 0x02;\n\n else if (st->disposition & AV_DISPOSITION_VISUAL_IMPAIRED)\n\n *q++ = 0x03;\n\n else\n\n *q++ = 0; /* undefined type */\n\n\n\n *len_ptr += 4;\n\n }\n\n\n\n if (*len_ptr == 0)\n\n q -= 2; /* no language codes were written */\n\n }\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n {\n\n const char default_language[] = \"und\";\n\n const char *language = lang && strlen(lang->value) >= 3 ? lang->value : default_language;\n\n\n\n if (st->codec->codec_id == AV_CODEC_ID_DVB_SUBTITLE) {\n\n uint8_t *len_ptr;\n\n int extradata_copied = 0;\n\n\n\n *q++ = 0x59; /* subtitling_descriptor */\n\n len_ptr = q++;\n\n\n\n while (strlen(language) >= 3 && (sizeof(data) - (q - data)) >= 8) { /* 8 bytes per DVB subtitle substream data */\n\n *q++ = *language++;\n\n *q++ = *language++;\n\n *q++ = *language++;\n\n /* Skip comma */\n\n if (*language != '\\0')\n\n language++;\n\n\n\n if (st->codec->extradata_size - extradata_copied >= 5) {\n\n *q++ = st->codec->extradata[extradata_copied + 4]; /* subtitling_type */\n\n memcpy(q, st->codec->extradata + extradata_copied, 4); /* composition_page_id and ancillary_page_id */\n\n extradata_copied += 5;\n\n q += 4;\n\n } else {\n\n /* subtitling_type:\n\n * 0x10 - normal with no monitor aspect ratio criticality\n\n * 0x20 - for the hard of hearing with no monitor aspect ratio criticality */\n\n *q++ = (st->disposition & AV_DISPOSITION_HEARING_IMPAIRED) ? 0x20 : 0x10;\n\n if ((st->codec->extradata_size == 4) && (extradata_copied == 0)) {\n\n /* support of old 4-byte extradata format */\n\n memcpy(q, st->codec->extradata, 4); /* composition_page_id and ancillary_page_id */\n\n extradata_copied += 4;\n\n q += 4;\n\n } else {\n\n put16(&q, 1); /* composition_page_id */\n\n put16(&q, 1); /* ancillary_page_id */\n\n }\n\n }\n\n }\n\n\n\n *len_ptr = q - len_ptr - 1;\n\n } else if (st->codec->codec_id == AV_CODEC_ID_DVB_TELETEXT) {\n\n uint8_t *len_ptr = NULL;\n\n int extradata_copied = 0;\n\n\n\n /* The descriptor tag. teletext_descriptor */\n\n *q++ = 0x56;\n\n len_ptr = q++;\n\n\n\n while (strlen(language) >= 3) {\n\n *q++ = *language++;\n\n *q++ = *language++;\n\n *q++ = *language++;\n\n /* Skip comma */\n\n if (*language != '\\0')\n\n language++;\n\n\n\n if (st->codec->extradata_size - 1 > extradata_copied) {\n\n memcpy(q, st->codec->extradata + extradata_copied, 2);\n\n extradata_copied += 2;\n\n q += 2;\n\n } else {\n\n /* The Teletext descriptor:\n\n * teletext_type: This 5-bit field indicates the type of Teletext page indicated. (0x01 Initial Teletext page)\n\n * teletext_magazine_number: This is a 3-bit field which identifies the magazine number.\n\n * teletext_page_number: This is an 8-bit field giving two 4-bit hex digits identifying the page number. */\n\n *q++ = 0x08;\n\n *q++ = 0x00;\n\n }\n\n }\n\n\n\n *len_ptr = q - len_ptr - 1;\n\n }\n\n }\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n if (stream_type == STREAM_TYPE_VIDEO_DIRAC) {\n\n *q++ = 0x05; /*MPEG-2 registration descriptor*/\n\n *q++ = 4;\n\n *q++ = 'd';\n\n *q++ = 'r';\n\n *q++ = 'a';\n\n *q++ = 'c';\n\n }\n\n break;\n\n case AVMEDIA_TYPE_DATA:\n\n if (st->codec->codec_id == AV_CODEC_ID_SMPTE_KLV) {\n\n *q++ = 0x05; /* MPEG-2 registration descriptor */\n\n *q++ = 4;\n\n *q++ = 'K';\n\n *q++ = 'L';\n\n *q++ = 'V';\n\n *q++ = 'A';\n\n }\n\n break;\n\n }\n\n\n\n val = 0xf000 | (q - desc_length_ptr - 2);\n\n desc_length_ptr[0] = val >> 8;\n\n desc_length_ptr[1] = val;\n\n }\n\n mpegts_write_section1(&service->pmt, PMT_TID, service->sid, ts->tables_version, 0, 0,\n\n data, q - data);\n\n}\n", "idx": 4896}482{"project": "qemu", "commit_id": "a7812ae412311d7d47f8aa85656faadac9d64b56", "target": 0, "func": "static unsigned int dec_addi_r(DisasContext *dc)\n\n{\n\n\tTCGv t0;\n\n\tDIS(fprintf (logfile, \"addi.%c $r%u, $r%u\\n\",\n\n\t\t memsize_char(memsize_zz(dc)), dc->op2, dc->op1));\n\n\tcris_cc_mask(dc, 0);\n\n\tt0 = tcg_temp_new(TCG_TYPE_TL);\n\n\ttcg_gen_shl_tl(t0, cpu_R[dc->op2], tcg_const_tl(dc->zzsize));\n\n\ttcg_gen_add_tl(cpu_R[dc->op1], cpu_R[dc->op1], t0);\n\n\ttcg_temp_free(t0);\n\n\treturn 2;\n\n}\n", "idx": 4899}483{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_trap (DisasContext *ctx, uint32_t opc,\n\n int rs, int rt, int16_t imm)\n\n{\n\n int cond;\n\n TCGv t0 = tcg_temp_new();\n\n TCGv t1 = tcg_temp_new();\n\n\n\n cond = 0;\n\n /* Load needed operands */\n\n switch (opc) {\n\n case OPC_TEQ:\n\n case OPC_TGE:\n\n case OPC_TGEU:\n\n case OPC_TLT:\n\n case OPC_TLTU:\n\n case OPC_TNE:\n\n /* Compare two registers */\n\n if (rs != rt) {\n\n gen_load_gpr(t0, rs);\n\n gen_load_gpr(t1, rt);\n\n cond = 1;\n\n }\n\n break;\n\n case OPC_TEQI:\n\n case OPC_TGEI:\n\n case OPC_TGEIU:\n\n case OPC_TLTI:\n\n case OPC_TLTIU:\n\n case OPC_TNEI:\n\n /* Compare register to immediate */\n\n if (rs != 0 || imm != 0) {\n\n gen_load_gpr(t0, rs);\n\n tcg_gen_movi_tl(t1, (int32_t)imm);\n\n cond = 1;\n\n }\n\n break;\n\n }\n\n if (cond == 0) {\n\n switch (opc) {\n\n case OPC_TEQ: /* rs == rs */\n\n case OPC_TEQI: /* r0 == 0 */\n\n case OPC_TGE: /* rs >= rs */\n\n case OPC_TGEI: /* r0 >= 0 */\n\n case OPC_TGEU: /* rs >= rs unsigned */\n\n case OPC_TGEIU: /* r0 >= 0 unsigned */\n\n /* Always trap */\n\n generate_exception(ctx, EXCP_TRAP);\n\n break;\n\n case OPC_TLT: /* rs < rs */\n\n case OPC_TLTI: /* r0 < 0 */\n\n case OPC_TLTU: /* rs < rs unsigned */\n\n case OPC_TLTIU: /* r0 < 0 unsigned */\n\n case OPC_TNE: /* rs != rs */\n\n case OPC_TNEI: /* r0 != 0 */\n\n /* Never trap: treat as NOP. */\n\n break;\n\n }\n\n } else {\n\n int l1 = gen_new_label();\n\n\n\n switch (opc) {\n\n case OPC_TEQ:\n\n case OPC_TEQI:\n\n tcg_gen_brcond_tl(TCG_COND_NE, t0, t1, l1);\n\n break;\n\n case OPC_TGE:\n\n case OPC_TGEI:\n\n tcg_gen_brcond_tl(TCG_COND_LT, t0, t1, l1);\n\n break;\n\n case OPC_TGEU:\n\n case OPC_TGEIU:\n\n tcg_gen_brcond_tl(TCG_COND_LTU, t0, t1, l1);\n\n break;\n\n case OPC_TLT:\n\n case OPC_TLTI:\n\n tcg_gen_brcond_tl(TCG_COND_GE, t0, t1, l1);\n\n break;\n\n case OPC_TLTU:\n\n case OPC_TLTIU:\n\n tcg_gen_brcond_tl(TCG_COND_GEU, t0, t1, l1);\n\n break;\n\n case OPC_TNE:\n\n case OPC_TNEI:\n\n tcg_gen_brcond_tl(TCG_COND_EQ, t0, t1, l1);\n\n break;\n\n }\n\n generate_exception(ctx, EXCP_TRAP);\n\n gen_set_label(l1);\n\n }\n\n tcg_temp_free(t0);\n\n tcg_temp_free(t1);\n\n}\n", "idx": 4924}484{"project": "qemu", "commit_id": "a89f364ae8740dfc31b321eed9ee454e996dc3c1", "target": 0, "func": "static uint64_t pxa2xx_gpio_read(void *opaque, hwaddr offset,\n\n unsigned size)\n\n{\n\n PXA2xxGPIOInfo *s = (PXA2xxGPIOInfo *) opaque;\n\n uint32_t ret;\n\n int bank;\n\n if (offset >= 0x200)\n\n return 0;\n\n\n\n bank = pxa2xx_gpio_regs[offset].bank;\n\n switch (pxa2xx_gpio_regs[offset].reg) {\n\n case GPDR:\t\t/* GPIO Pin-Direction registers */\n\n return s->dir[bank];\n\n\n\n case GPSR:\t\t/* GPIO Pin-Output Set registers */\n\n qemu_log_mask(LOG_GUEST_ERROR,\n\n \"pxa2xx GPIO: read from write only register GPSR\\n\");\n\n return 0;\n\n\n\n case GPCR:\t\t/* GPIO Pin-Output Clear registers */\n\n qemu_log_mask(LOG_GUEST_ERROR,\n\n \"pxa2xx GPIO: read from write only register GPCR\\n\");\n\n return 0;\n\n\n\n case GRER:\t\t/* GPIO Rising-Edge Detect Enable registers */\n\n return s->rising[bank];\n\n\n\n case GFER:\t\t/* GPIO Falling-Edge Detect Enable registers */\n\n return s->falling[bank];\n\n\n\n case GAFR_L:\t/* GPIO Alternate Function registers */\n\n return s->gafr[bank * 2];\n\n\n\n case GAFR_U:\t/* GPIO Alternate Function registers */\n\n return s->gafr[bank * 2 + 1];\n\n\n\n case GPLR:\t\t/* GPIO Pin-Level registers */\n\n ret = (s->olevel[bank] & s->dir[bank]) |\n\n (s->ilevel[bank] & ~s->dir[bank]);\n\n qemu_irq_raise(s->read_notify);\n\n return ret;\n\n\n\n case GEDR:\t\t/* GPIO Edge Detect Status registers */\n\n return s->status[bank];\n\n\n\n default:\n\n hw_error(\"%s: Bad offset \" REG_FMT \"\\n\", __FUNCTION__, offset);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 4961}485{"project": "FFmpeg", "commit_id": "8eb76217d0137b7adad438f6c923310fbc1fc4c1", "target": 1, "func": "static int ipvideo_decode_block_opcode_0xD(IpvideoContext *s, AVFrame *frame)\n{\n int y;\n unsigned char P[2];\n /* 4-color block encoding: each 4x4 block is a different color */\n for (y = 0; y < 8; y++) {\n if (!(y & 3)) {\n P[0] = bytestream2_get_byte(&s->stream_ptr);\n P[1] = bytestream2_get_byte(&s->stream_ptr);\n memset(s->pixel_ptr, P[0], 4);\n memset(s->pixel_ptr + 4, P[1], 4);\n s->pixel_ptr += s->stride;\n /* report success */\n return 0;", "idx": 4995}486{"project": "qemu", "commit_id": "1964a397063967acc5ce71a2a24ed26e74824ee1", "target": 0, "func": "static int64_t migration_set_rate_limit(void *opaque, int64_t new_rate)\n\n{\n\n MigrationState *s = opaque;\n\n if (qemu_file_get_error(s->file)) {\n\n goto out;\n\n }\n\n\n\n s->xfer_limit = new_rate;\n\n\n\nout:\n\n return s->xfer_limit;\n\n}\n", "idx": 5035}487{"project": "FFmpeg", "commit_id": "aefdb735c3df9480c1ca9bcf4a3835bd66271bd1", "target": 0, "func": "static void reverse_matrixing(float *su1, float *su2, int *prev_code,\n\n int *curr_code)\n\n{\n\n int i, nsample, band;\n\n float mc1_l, mc1_r, mc2_l, mc2_r;\n\n\n\n for (i = 0, band = 0; band < 4 * 256; band += 256, i++) {\n\n int s1 = prev_code[i];\n\n int s2 = curr_code[i];\n\n nsample = 0;\n\n\n\n if (s1 != s2) {\n\n /* Selector value changed, interpolation needed. */\n\n mc1_l = matrix_coeffs[s1 * 2 ];\n\n mc1_r = matrix_coeffs[s1 * 2 + 1];\n\n mc2_l = matrix_coeffs[s2 * 2 ];\n\n mc2_r = matrix_coeffs[s2 * 2 + 1];\n\n\n\n /* Interpolation is done over the first eight samples. */\n\n for (; nsample < 8; nsample++) {\n\n float c1 = su1[band + nsample];\n\n float c2 = su2[band + nsample];\n\n c2 = c1 * INTERPOLATE(mc1_l, mc2_l, nsample) +\n\n c2 * INTERPOLATE(mc1_r, mc2_r, nsample);\n\n su1[band + nsample] = c2;\n\n su2[band + nsample] = c1 * 2.0 - c2;\n\n }\n\n }\n\n\n\n /* Apply the matrix without interpolation. */\n\n switch (s2) {\n\n case 0: /* M/S decoding */\n\n for (; nsample < 256; nsample++) {\n\n float c1 = su1[band + nsample];\n\n float c2 = su2[band + nsample];\n\n su1[band + nsample] = c2 * 2.0;\n\n su2[band + nsample] = (c1 - c2) * 2.0;\n\n }\n\n break;\n\n case 1:\n\n for (; nsample < 256; nsample++) {\n\n float c1 = su1[band + nsample];\n\n float c2 = su2[band + nsample];\n\n su1[band + nsample] = (c1 + c2) * 2.0;\n\n su2[band + nsample] = c2 * -2.0;\n\n }\n\n break;\n\n case 2:\n\n case 3:\n\n for (; nsample < 256; nsample++) {\n\n float c1 = su1[band + nsample];\n\n float c2 = su2[band + nsample];\n\n su1[band + nsample] = c1 + c2;\n\n su2[band + nsample] = c1 - c2;\n\n }\n\n break;\n\n default:\n\n assert(0);\n\n }\n\n }\n\n}\n", "idx": 5044}488{"project": "qemu", "commit_id": "4be746345f13e99e468c60acbd3a355e8183e3ce", "target": 0, "func": "static void scsi_disk_reset(DeviceState *dev)\n\n{\n\n SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev.qdev, dev);\n\n uint64_t nb_sectors;\n\n\n\n scsi_device_purge_requests(&s->qdev, SENSE_CODE(RESET));\n\n\n\n bdrv_get_geometry(s->qdev.conf.bs, &nb_sectors);\n\n nb_sectors /= s->qdev.blocksize / 512;\n\n if (nb_sectors) {\n\n nb_sectors--;\n\n }\n\n s->qdev.max_lba = nb_sectors;\n\n /* reset tray statuses */\n\n s->tray_locked = 0;\n\n s->tray_open = 0;\n\n}\n", "idx": 5054}489{"project": "FFmpeg", "commit_id": "eedd9148733ff4467c62092ad1c1a26d6125b249", "target": 1, "func": "static int read_part_of_packet(AVFormatContext *s, int64_t *pts,\n\n int *len, int *strid, int read_packet) {\n\n AVIOContext *pb = s->pb;\n\n PVAContext *pvactx = s->priv_data;\n\n int syncword, streamid, reserved, flags, length, pts_flag;\n\n int64_t pva_pts = AV_NOPTS_VALUE, startpos;\n\n int ret;\n\n\n\nrecover:\n\n startpos = avio_tell(pb);\n\n\n\n syncword = avio_rb16(pb);\n\n streamid = avio_r8(pb);\n\n avio_r8(pb); /* counter not used */\n\n reserved = avio_r8(pb);\n\n flags = avio_r8(pb);\n\n length = avio_rb16(pb);\n\n\n\n pts_flag = flags & 0x10;\n\n\n\n if (syncword != PVA_MAGIC) {\n\n pva_log(s, AV_LOG_ERROR, \"invalid syncword\\n\");\n\n return AVERROR(EIO);\n\n }\n\n if (streamid != PVA_VIDEO_PAYLOAD && streamid != PVA_AUDIO_PAYLOAD) {\n\n pva_log(s, AV_LOG_ERROR, \"invalid streamid\\n\");\n\n return AVERROR(EIO);\n\n }\n\n if (reserved != 0x55) {\n\n pva_log(s, AV_LOG_WARNING, \"expected reserved byte to be 0x55\\n\");\n\n }\n\n if (length > PVA_MAX_PAYLOAD_LENGTH) {\n\n pva_log(s, AV_LOG_ERROR, \"invalid payload length %u\\n\", length);\n\n return AVERROR(EIO);\n\n }\n\n\n\n if (streamid == PVA_VIDEO_PAYLOAD && pts_flag) {\n\n pva_pts = avio_rb32(pb);\n\n length -= 4;\n\n } else if (streamid == PVA_AUDIO_PAYLOAD) {\n\n /* PVA Audio Packets either start with a signaled PES packet or\n\n * are a continuation of the previous PES packet. New PES packets\n\n * always start at the beginning of a PVA Packet, never somewhere in\n\n * the middle. */\n\n if (!pvactx->continue_pes) {\n\n int pes_signal, pes_header_data_length, pes_packet_length,\n\n pes_flags;\n\n unsigned char pes_header_data[256];\n\n\n\n pes_signal = avio_rb24(pb);\n\n avio_r8(pb);\n\n pes_packet_length = avio_rb16(pb);\n\n pes_flags = avio_rb16(pb);\n\n pes_header_data_length = avio_r8(pb);\n\n\n\n if (pes_signal != 1 || pes_header_data_length == 0) {\n\n pva_log(s, AV_LOG_WARNING, \"expected non empty signaled PES packet, \"\n\n \"trying to recover\\n\");\n\n avio_skip(pb, length - 9);\n\n if (!read_packet)\n\n return AVERROR(EIO);\n\n goto recover;\n\n }\n\n\n\n ret = avio_read(pb, pes_header_data, pes_header_data_length);\n\n if (ret != pes_header_data_length)\n\n return ret < 0 ? ret : AVERROR_INVALIDDATA;\n\n length -= 9 + pes_header_data_length;\n\n\n\n pes_packet_length -= 3 + pes_header_data_length;\n\n\n\n pvactx->continue_pes = pes_packet_length;\n\n\n\n if (pes_flags & 0x80 && (pes_header_data[0] & 0xf0) == 0x20)\n\n pva_pts = ff_parse_pes_pts(pes_header_data);\n\n }\n\n\n\n pvactx->continue_pes -= length;\n\n\n\n if (pvactx->continue_pes < 0) {\n\n pva_log(s, AV_LOG_WARNING, \"audio data corruption\\n\");\n\n pvactx->continue_pes = 0;\n\n }\n\n }\n\n\n\n if (pva_pts != AV_NOPTS_VALUE)\n\n av_add_index_entry(s->streams[streamid-1], startpos, pva_pts, 0, 0, AVINDEX_KEYFRAME);\n\n\n\n *pts = pva_pts;\n\n *len = length;\n\n *strid = streamid;\n\n return 0;\n\n}\n", "idx": 5060}490{"project": "FFmpeg", "commit_id": "60f10e0ad37418cc697765d85b0bc22db70f726a", "target": 1, "func": "static void pred8x8_top_dc_rv40_c(uint8_t *src, int stride){\n\n int i;\n\n int dc0;\n\n\n\n dc0=0;\n\n for(i=0;i<8; i++)\n\n dc0+= src[i-stride];\n\n dc0= 0x01010101*((dc0 + 4)>>3);\n\n\n\n for(i=0; i<8; i++){\n\n ((uint32_t*)(src+i*stride))[0]=\n\n ((uint32_t*)(src+i*stride))[1]= dc0;\n\n }\n\n}\n", "idx": 5071}491{"project": "qemu", "commit_id": "955cc8c9541779e09895a9c5ccbf8ace15d884f5", "target": 0, "func": "static int virtio_ccw_set_vqs(SubchDev *sch, uint64_t addr, uint32_t align,\n\n uint16_t index, uint16_t num)\n\n{\n\n VirtIODevice *vdev = virtio_ccw_get_vdev(sch);\n\n\n\n if (index >= VIRTIO_PCI_QUEUE_MAX) {\n\n return -EINVAL;\n\n }\n\n\n\n /* Current code in virtio.c relies on 4K alignment. */\n\n if (addr && (align != 4096)) {\n\n return -EINVAL;\n\n }\n\n\n\n if (!vdev) {\n\n return -EINVAL;\n\n }\n\n\n\n virtio_queue_set_addr(vdev, index, addr);\n\n if (!addr) {\n\n virtio_queue_set_vector(vdev, index, 0);\n\n } else {\n\n /* Fail if we don't have a big enough queue. */\n\n /* TODO: Add interface to handle vring.num changing */\n\n if (virtio_queue_get_num(vdev, index) > num) {\n\n return -EINVAL;\n\n }\n\n virtio_queue_set_vector(vdev, index, index);\n\n }\n\n /* tell notify handler in case of config change */\n\n vdev->config_vector = VIRTIO_PCI_QUEUE_MAX;\n\n return 0;\n\n}\n", "idx": 5093}492{"project": "qemu", "commit_id": "e3f5ec2b5e92706e3b807059f79b1fb5d936e567", "target": 0, "func": "static void rtl8139_receive(void *opaque, const uint8_t *buf, size_t size)\n\n{\n\n rtl8139_do_receive(opaque, buf, size, 1);\n\n}\n", "idx": 5099}493{"project": "qemu", "commit_id": "4fa4ce7107c6ec432f185307158c5df91ce54308", "target": 0, "func": "static int local_chown(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)\n\n{\n\n char buffer[PATH_MAX];\n\n char *path = fs_path->data;\n\n\n\n if ((credp->fc_uid == -1 && credp->fc_gid == -1) ||\n\n (fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||\n\n (fs_ctx->export_flags & V9FS_SM_NONE)) {\n\n return lchown(rpath(fs_ctx, path, buffer),\n\n credp->fc_uid, credp->fc_gid);\n\n } else if (fs_ctx->export_flags & V9FS_SM_MAPPED) {\n\n return local_set_xattr(rpath(fs_ctx, path, buffer), credp);\n\n } else if (fs_ctx->export_flags & V9FS_SM_MAPPED_FILE) {\n\n return local_set_mapped_file_attr(fs_ctx, path, credp);\n\n }\n\n return -1;\n\n}\n", "idx": 5102}494{"project": "qemu", "commit_id": "ff9d38963e55598b40237735426225c35de6c7e5", "target": 0, "func": "static void qdict_crumple_test_recursive(void)\n\n{\n\n QDict *src, *dst, *rule, *vnc, *acl, *listen;\n\n QObject *child, *res;\n\n QList *rules;\n\n\n\n src = qdict_new();\n\n qdict_put(src, \"vnc.listen.addr\", qstring_from_str(\"127.0.0.1\"));\n\n qdict_put(src, \"vnc.listen.port\", qstring_from_str(\"5901\"));\n\n qdict_put(src, \"vnc.acl.rules.0.match\", qstring_from_str(\"fred\"));\n\n qdict_put(src, \"vnc.acl.rules.0.policy\", qstring_from_str(\"allow\"));\n\n qdict_put(src, \"vnc.acl.rules.1.match\", qstring_from_str(\"bob\"));\n\n qdict_put(src, \"vnc.acl.rules.1.policy\", qstring_from_str(\"deny\"));\n\n qdict_put(src, \"vnc.acl.default\", qstring_from_str(\"deny\"));\n\n qdict_put(src, \"vnc.acl..name\", qstring_from_str(\"acl0\"));\n\n qdict_put(src, \"vnc.acl.rule..name\", qstring_from_str(\"acl0\"));\n\n\n\n res = qdict_crumple(src, &error_abort);\n\n\n\n g_assert_cmpint(qobject_type(res), ==, QTYPE_QDICT);\n\n\n\n dst = qobject_to_qdict(res);\n\n\n\n g_assert_cmpint(qdict_size(dst), ==, 1);\n\n\n\n child = qdict_get(dst, \"vnc\");\n\n g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);\n\n vnc = qobject_to_qdict(child);\n\n\n\n child = qdict_get(vnc, \"listen\");\n\n g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);\n\n listen = qobject_to_qdict(child);\n\n g_assert_cmpstr(\"127.0.0.1\", ==, qdict_get_str(listen, \"addr\"));\n\n g_assert_cmpstr(\"5901\", ==, qdict_get_str(listen, \"port\"));\n\n\n\n child = qdict_get(vnc, \"acl\");\n\n g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);\n\n acl = qobject_to_qdict(child);\n\n\n\n child = qdict_get(acl, \"rules\");\n\n g_assert_cmpint(qobject_type(child), ==, QTYPE_QLIST);\n\n rules = qobject_to_qlist(child);\n\n g_assert_cmpint(qlist_size(rules), ==, 2);\n\n\n\n rule = qobject_to_qdict(qlist_pop(rules));\n\n g_assert_cmpint(qdict_size(rule), ==, 2);\n\n g_assert_cmpstr(\"fred\", ==, qdict_get_str(rule, \"match\"));\n\n g_assert_cmpstr(\"allow\", ==, qdict_get_str(rule, \"policy\"));\n\n QDECREF(rule);\n\n\n\n rule = qobject_to_qdict(qlist_pop(rules));\n\n g_assert_cmpint(qdict_size(rule), ==, 2);\n\n g_assert_cmpstr(\"bob\", ==, qdict_get_str(rule, \"match\"));\n\n g_assert_cmpstr(\"deny\", ==, qdict_get_str(rule, \"policy\"));\n\n QDECREF(rule);\n\n\n\n /* With recursive crumpling, we should see all names unescaped */\n\n g_assert_cmpstr(\"acl0\", ==, qdict_get_str(vnc, \"acl.name\"));\n\n child = qdict_get(vnc, \"acl\");\n\n g_assert_cmpint(qobject_type(child), ==, QTYPE_QDICT);\n\n acl = qdict_get_qdict(vnc, \"acl\");\n\n g_assert_cmpstr(\"acl0\", ==, qdict_get_str(acl, \"rule.name\"));\n\n\n\n QDECREF(src);\n\n QDECREF(dst);\n\n}\n", "idx": 5104}495{"project": "qemu", "commit_id": "68ab47e4b4ecc1c4649362b8cc1e49794d1a6537", "target": 1, "func": "static void test_validate_fail_alternate(TestInputVisitorData *data,\n\n const void *unused)\n\n{\n\n UserDefAlternate *tmp;\n\n Visitor *v;\n\n Error *err = NULL;\n\n\n\n v = validate_test_init(data, \"3.14\");\n\n\n\n visit_type_UserDefAlternate(v, NULL, &tmp, &err);\n\n error_free_or_abort(&err);\n\n qapi_free_UserDefAlternate(tmp);\n\n}\n", "idx": 5121}496{"project": "qemu", "commit_id": "c95de7e2c40da4235ceda6d134ae069dae80157e", "target": 1, "func": "static int qcow2_co_flush(BlockDriverState *bs)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n int ret;\n\n\n\n qemu_co_mutex_lock(&s->lock);\n\n ret = qcow2_cache_flush(bs, s->l2_table_cache);\n\n if (ret < 0) {\n\n\n return ret;\n\n }\n\n\n\n ret = qcow2_cache_flush(bs, s->refcount_block_cache);\n\n if (ret < 0) {\n\n\n return ret;\n\n }\n\n\n\n\n return bdrv_co_flush(bs->file);\n\n}", "idx": 5129}497{"project": "FFmpeg", "commit_id": "f7cf12b209c3a1ac2d6b797c585b593a5e9a461d", "target": 1, "func": "static int vc1_init_common(VC1Context *v)\n\n{\n\n static int done = 0;\n\n int i = 0;\n\n\n\n v->hrd_rate = v->hrd_buffer = NULL;\n\n\n\n /* VLC tables */\n\n if(!done)\n\n {\n\n done = 1;\n\n init_vlc(&ff_vc1_bfraction_vlc, VC1_BFRACTION_VLC_BITS, 23,\n\n ff_vc1_bfraction_bits, 1, 1,\n\n ff_vc1_bfraction_codes, 1, 1, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_norm2_vlc, VC1_NORM2_VLC_BITS, 4,\n\n ff_vc1_norm2_bits, 1, 1,\n\n ff_vc1_norm2_codes, 1, 1, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_norm6_vlc, VC1_NORM6_VLC_BITS, 64,\n\n ff_vc1_norm6_bits, 1, 1,\n\n ff_vc1_norm6_codes, 2, 2, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_imode_vlc, VC1_IMODE_VLC_BITS, 7,\n\n ff_vc1_imode_bits, 1, 1,\n\n ff_vc1_imode_codes, 1, 1, INIT_VLC_USE_STATIC);\n\n for (i=0; i<3; i++)\n\n {\n\n init_vlc(&ff_vc1_ttmb_vlc[i], VC1_TTMB_VLC_BITS, 16,\n\n ff_vc1_ttmb_bits[i], 1, 1,\n\n ff_vc1_ttmb_codes[i], 2, 2, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_ttblk_vlc[i], VC1_TTBLK_VLC_BITS, 8,\n\n ff_vc1_ttblk_bits[i], 1, 1,\n\n ff_vc1_ttblk_codes[i], 1, 1, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_subblkpat_vlc[i], VC1_SUBBLKPAT_VLC_BITS, 15,\n\n ff_vc1_subblkpat_bits[i], 1, 1,\n\n ff_vc1_subblkpat_codes[i], 1, 1, INIT_VLC_USE_STATIC);\n\n }\n\n for(i=0; i<4; i++)\n\n {\n\n init_vlc(&ff_vc1_4mv_block_pattern_vlc[i], VC1_4MV_BLOCK_PATTERN_VLC_BITS, 16,\n\n ff_vc1_4mv_block_pattern_bits[i], 1, 1,\n\n ff_vc1_4mv_block_pattern_codes[i], 1, 1, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_cbpcy_p_vlc[i], VC1_CBPCY_P_VLC_BITS, 64,\n\n ff_vc1_cbpcy_p_bits[i], 1, 1,\n\n ff_vc1_cbpcy_p_codes[i], 2, 2, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_vc1_mv_diff_vlc[i], VC1_MV_DIFF_VLC_BITS, 73,\n\n ff_vc1_mv_diff_bits[i], 1, 1,\n\n ff_vc1_mv_diff_codes[i], 2, 2, INIT_VLC_USE_STATIC);\n\n }\n\n for(i=0; i<8; i++)\n\n init_vlc(&ff_vc1_ac_coeff_table[i], AC_VLC_BITS, vc1_ac_sizes[i],\n\n &vc1_ac_tables[i][0][1], 8, 4,\n\n &vc1_ac_tables[i][0][0], 8, 4, INIT_VLC_USE_STATIC);\n\n init_vlc(&ff_msmp4_mb_i_vlc, MB_INTRA_VLC_BITS, 64,\n\n &ff_msmp4_mb_i_table[0][1], 4, 2,\n\n &ff_msmp4_mb_i_table[0][0], 4, 2, INIT_VLC_USE_STATIC);\n\n }\n\n\n\n /* Other defaults */\n\n v->pq = -1;\n\n v->mvrange = 0; /* 7.1.1.18, p80 */\n\n\n\n return 0;\n\n}\n", "idx": 5138}498{"project": "FFmpeg", "commit_id": "73e8e8dbf969b9a0bc1591abcfeba474a42e47bc", "target": 1, "func": "int av_read_packet(AVFormatContext *s, AVPacket *pkt)\n{\n int ret, i;\n AVStream *st;\n for(;;){\n AVPacketList *pktl = s->raw_packet_buffer;\n if (pktl) {\n *pkt = pktl->pkt;\n if(s->streams[pkt->stream_index]->codec->codec_id != CODEC_ID_PROBE ||\n !s->streams[pkt->stream_index]->probe_packets ||\n s->raw_packet_buffer_remaining_size < pkt->size){\n AVProbeData *pd = &s->streams[pkt->stream_index]->probe_data;\n av_freep(&pd->buf);\n pd->buf_size = 0;\n s->raw_packet_buffer = pktl->next;\n s->raw_packet_buffer_remaining_size += pkt->size;\n av_free(pktl);\n return 0;\n av_init_packet(pkt);\n ret= s->iformat->read_packet(s, pkt);\n if (ret < 0) {\n if (!pktl || ret == AVERROR(EAGAIN))\n return ret;\n for (i = 0; i < s->nb_streams; i++)\n s->streams[i]->probe_packets = 0;\n st= s->streams[pkt->stream_index];\n switch(st->codec->codec_type){\n case AVMEDIA_TYPE_VIDEO:\n if(s->video_codec_id) st->codec->codec_id= s->video_codec_id;\n break;\n case AVMEDIA_TYPE_AUDIO:\n if(s->audio_codec_id) st->codec->codec_id= s->audio_codec_id;\n break;\n case AVMEDIA_TYPE_SUBTITLE:\n if(s->subtitle_codec_id)st->codec->codec_id= s->subtitle_codec_id;\n break;\n if(!pktl && (st->codec->codec_id != CODEC_ID_PROBE ||\n !st->probe_packets))\n return ret;\n add_to_pktbuf(&s->raw_packet_buffer, pkt, &s->raw_packet_buffer_end);\n s->raw_packet_buffer_remaining_size -= pkt->size;\n if(st->codec->codec_id == CODEC_ID_PROBE){\n AVProbeData *pd = &st->probe_data;\n av_log(s, AV_LOG_DEBUG, \"probing stream %d\\n\", st->index);\n --st->probe_packets;\n pd->buf = av_realloc(pd->buf, pd->buf_size+pkt->size+AVPROBE_PADDING_SIZE);\n memcpy(pd->buf+pd->buf_size, pkt->data, pkt->size);\n pd->buf_size += pkt->size;\n memset(pd->buf+pd->buf_size, 0, AVPROBE_PADDING_SIZE);\n if(av_log2(pd->buf_size) != av_log2(pd->buf_size - pkt->size)){\n //FIXME we dont reduce score to 0 for the case of running out of buffer space in bytes\n set_codec_from_probe_data(s, st, pd, st->probe_packets > 0 ? AVPROBE_SCORE_MAX/4 : 0);\n if(st->codec->codec_id != CODEC_ID_PROBE){\n pd->buf_size=0;\n av_freep(&pd->buf);\n av_log(s, AV_LOG_DEBUG, \"probed stream %d\\n\", st->index);", "idx": 5146}499{"project": "qemu", "commit_id": "df8ad9f128c15aa0a0ebc7b24e9a22c9775b67af", "target": 1, "func": "static int nbd_can_accept(void)\n\n{\n\n return nb_fds < shared;\n\n}\n", "idx": 5171}500{"project": "qemu", "commit_id": "b4f72e31b924bec2c18fe0b2a8c6462dbed9dcb2", "target": 1, "func": "static int net_connect(struct XenDevice *xendev)\n\n{\n\n struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);\n\n int rx_copy;\n\n\n\n if (xenstore_read_fe_int(&netdev->xendev, \"tx-ring-ref\",\n\n &netdev->tx_ring_ref) == -1) {\n\n return -1;\n\n }\n\n if (xenstore_read_fe_int(&netdev->xendev, \"rx-ring-ref\",\n\n &netdev->rx_ring_ref) == -1) {\n\n return 1;\n\n }\n\n if (xenstore_read_fe_int(&netdev->xendev, \"event-channel\",\n\n &netdev->xendev.remote_port) == -1) {\n\n return -1;\n\n }\n\n\n\n if (xenstore_read_fe_int(&netdev->xendev, \"request-rx-copy\", &rx_copy) == -1) {\n\n rx_copy = 0;\n\n }\n\n if (rx_copy == 0) {\n\n xen_be_printf(&netdev->xendev, 0, \"frontend doesn't support rx-copy.\\n\");\n\n return -1;\n\n }\n\n\n\n netdev->txs = xc_gnttab_map_grant_ref(netdev->xendev.gnttabdev,\n\n netdev->xendev.dom,\n\n netdev->tx_ring_ref,\n\n PROT_READ | PROT_WRITE);\n\n netdev->rxs = xc_gnttab_map_grant_ref(netdev->xendev.gnttabdev,\n\n netdev->xendev.dom,\n\n netdev->rx_ring_ref,\n\n PROT_READ | PROT_WRITE);\n\n if (!netdev->txs || !netdev->rxs) {\n\n return -1;\n\n }\n\n BACK_RING_INIT(&netdev->tx_ring, netdev->txs, XC_PAGE_SIZE);\n\n BACK_RING_INIT(&netdev->rx_ring, netdev->rxs, XC_PAGE_SIZE);\n\n\n\n xen_be_bind_evtchn(&netdev->xendev);\n\n\n\n xen_be_printf(&netdev->xendev, 1, \"ok: tx-ring-ref %d, rx-ring-ref %d, \"\n\n \"remote port %d, local port %d\\n\",\n\n netdev->tx_ring_ref, netdev->rx_ring_ref,\n\n netdev->xendev.remote_port, netdev->xendev.local_port);\n\n\n\n net_tx_packets(netdev);\n\n return 0;\n\n}\n", "idx": 5172}501{"project": "qemu", "commit_id": "5ee5993001cf32addb86a92e2ae8cb090fbc1462", "target": 1, "func": "static bool do_modify_softint(CPUSPARCState *env, uint32_t value)\n\n{\n\n if (env->softint != value) {\n\n env->softint = value;\n\n#if !defined(CONFIG_USER_ONLY)\n\n if (cpu_interrupts_enabled(env)) {\n\n\n cpu_check_irqs(env);\n\n\n }\n\n#endif\n\n return true;\n\n }\n\n return false;\n\n}", "idx": 5174}502{"project": "FFmpeg", "commit_id": "9af6abdc17deb95c9b1f1d9242ba49b8b5e0b016", "target": 1, "func": "static int decodeTonalComponents (GetBitContext *gb, tonal_component *pComponent, int numBands)\n\n{\n\n int i,j,k,cnt;\n\n int components, coding_mode_selector, coding_mode, coded_values_per_component;\n\n int sfIndx, coded_values, max_coded_values, quant_step_index, coded_components;\n\n int band_flags[4], mantissa[8];\n\n float *pCoef;\n\n float scalefactor;\n\n int component_count = 0;\n\n\n\n components = get_bits(gb,5);\n\n\n\n /* no tonal components */\n\n if (components == 0)\n\n return 0;\n\n\n\n coding_mode_selector = get_bits(gb,2);\n\n if (coding_mode_selector == 2)\n\n\n\n\n coding_mode = coding_mode_selector & 1;\n\n\n\n for (i = 0; i < components; i++) {\n\n for (cnt = 0; cnt <= numBands; cnt++)\n\n band_flags[cnt] = get_bits1(gb);\n\n\n\n coded_values_per_component = get_bits(gb,3);\n\n\n\n quant_step_index = get_bits(gb,3);\n\n if (quant_step_index <= 1)\n\n\n\n\n if (coding_mode_selector == 3)\n\n coding_mode = get_bits1(gb);\n\n\n\n for (j = 0; j < (numBands + 1) * 4; j++) {\n\n if (band_flags[j >> 2] == 0)\n\n continue;\n\n\n\n coded_components = get_bits(gb,3);\n\n\n\n for (k=0; k<coded_components; k++) {\n\n sfIndx = get_bits(gb,6);\n\n\n\n pComponent[component_count].pos = j * 64 + (get_bits(gb,6));\n\n max_coded_values = SAMPLES_PER_FRAME - pComponent[component_count].pos;\n\n coded_values = coded_values_per_component + 1;\n\n coded_values = FFMIN(max_coded_values,coded_values);\n\n\n\n scalefactor = ff_atrac_sf_table[sfIndx] * iMaxQuant[quant_step_index];\n\n\n\n readQuantSpectralCoeffs(gb, quant_step_index, coding_mode, mantissa, coded_values);\n\n\n\n pComponent[component_count].numCoefs = coded_values;\n\n\n\n /* inverse quant */\n\n pCoef = pComponent[component_count].coef;\n\n for (cnt = 0; cnt < coded_values; cnt++)\n\n pCoef[cnt] = mantissa[cnt] * scalefactor;\n\n\n\n component_count++;\n\n }\n\n }\n\n }\n\n\n\n return component_count;\n\n}", "idx": 5190}503{"project": "qemu", "commit_id": "3401c0d95ffb9a9a57093ee002d24d014ffed4f8", "target": 1, "func": "static void do_send_key(const char *string)\n\n{\n\n char keybuf[16], *q;\n\n uint8_t keycodes[16];\n\n const char *p;\n\n int nb_keycodes, keycode, i;\n\n\n\n nb_keycodes = 0;\n\n p = string;\n\n while (*p != '\\0') {\n\n q = keybuf;\n\n while (*p != '\\0' && *p != '-') {\n\n if ((q - keybuf) < sizeof(keybuf) - 1) {\n\n *q++ = *p;\n\n }\n\n p++;\n\n }\n\n *q = '\\0';\n\n keycode = get_keycode(keybuf);\n\n if (keycode < 0) {\n\n term_printf(\"unknown key: '%s'\\n\", keybuf);\n\n return;\n\n }\n\n keycodes[nb_keycodes++] = keycode;\n\n if (*p == '\\0')\n\n break;\n\n p++;\n\n }\n\n /* key down events */\n\n for(i = 0; i < nb_keycodes; i++) {\n\n keycode = keycodes[i];\n\n if (keycode & 0x80)\n\n kbd_put_keycode(0xe0);\n\n kbd_put_keycode(keycode & 0x7f);\n\n }\n\n /* key up events */\n\n for(i = nb_keycodes - 1; i >= 0; i--) {\n\n keycode = keycodes[i];\n\n if (keycode & 0x80)\n\n kbd_put_keycode(0xe0);\n\n kbd_put_keycode(keycode | 0x80);\n\n }\n\n}\n", "idx": 5191}504{"project": "qemu", "commit_id": "5d39c799c3245244ebb1e89da0177dbc089962b2", "target": 0, "func": "void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data)\n\n{\n\n double d;\n\n char *ptr;\n\n FdMigrationState *s;\n\n const char *value = qdict_get_str(qdict, \"value\");\n\n\n\n d = strtod(value, &ptr);\n\n switch (*ptr) {\n\n case 'G': case 'g':\n\n d *= 1024;\n\n case 'M': case 'm':\n\n d *= 1024;\n\n case 'K': case 'k':\n\n d *= 1024;\n\n default:\n\n break;\n\n }\n\n\n\n max_throttle = (uint32_t)d;\n\n s = migrate_to_fms(current_migration);\n\n\n\n if (s) {\n\n qemu_file_set_rate_limit(s->file, max_throttle);\n\n }\n\n \n\n}\n", "idx": 5198}505{"project": "qemu", "commit_id": "27a69bb088bee6d4efea254659422fb9c751b3c7", "target": 0, "func": "static inline void gen_efdneg(DisasContext *ctx)\n\n{\n\n if (unlikely(!ctx->spe_enabled)) {\n\n gen_exception(ctx, POWERPC_EXCP_APU);\n\n return;\n\n }\n\n#if defined(TARGET_PPC64)\n\n tcg_gen_xori_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)], 0x8000000000000000LL);\n\n#else\n\n tcg_gen_mov_tl(cpu_gpr[rD(ctx->opcode)], cpu_gpr[rA(ctx->opcode)]);\n\n tcg_gen_xori_tl(cpu_gprh[rD(ctx->opcode)], cpu_gprh[rA(ctx->opcode)], 0x80000000);\n\n#endif\n\n}\n", "idx": 5201}506{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_srlq(DisasContext *ctx)\n\n{\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n TCGv t0 = tcg_temp_local_new();\n\n TCGv t1 = tcg_temp_local_new();\n\n TCGv t2 = tcg_temp_local_new();\n\n tcg_gen_andi_tl(t2, cpu_gpr[rB(ctx->opcode)], 0x1F);\n\n tcg_gen_movi_tl(t1, 0xFFFFFFFF);\n\n tcg_gen_shr_tl(t2, t1, t2);\n\n tcg_gen_andi_tl(t0, cpu_gpr[rB(ctx->opcode)], 0x20);\n\n tcg_gen_brcondi_tl(TCG_COND_EQ, t0, 0, l1);\n\n gen_load_spr(t0, SPR_MQ);\n\n tcg_gen_and_tl(cpu_gpr[rA(ctx->opcode)], t0, t2);\n\n tcg_gen_br(l2);\n\n gen_set_label(l1);\n\n tcg_gen_shr_tl(t0, cpu_gpr[rS(ctx->opcode)], t2);\n\n tcg_gen_and_tl(t0, t0, t2);\n\n gen_load_spr(t1, SPR_MQ);\n\n tcg_gen_andc_tl(t1, t1, t2);\n\n tcg_gen_or_tl(cpu_gpr[rA(ctx->opcode)], t0, t1);\n\n gen_set_label(l2);\n\n tcg_temp_free(t0);\n\n tcg_temp_free(t1);\n\n tcg_temp_free(t2);\n\n if (unlikely(Rc(ctx->opcode) != 0))\n\n gen_set_Rc0(ctx, cpu_gpr[rA(ctx->opcode)]);\n\n}\n", "idx": 5219}507{"project": "qemu", "commit_id": "51b19ebe4320f3dcd93cea71235c1219318ddfd2", "target": 0, "func": "static size_t send_control_msg(VirtIOSerial *vser, void *buf, size_t len)\n\n{\n\n VirtQueueElement elem;\n\n VirtQueue *vq;\n\n\n\n vq = vser->c_ivq;\n\n if (!virtio_queue_ready(vq)) {\n\n return 0;\n\n }\n\n if (!virtqueue_pop(vq, &elem)) {\n\n return 0;\n\n }\n\n\n\n /* TODO: detect a buffer that's too short, set NEEDS_RESET */\n\n iov_from_buf(elem.in_sg, elem.in_num, 0, buf, len);\n\n\n\n virtqueue_push(vq, &elem, len);\n\n virtio_notify(VIRTIO_DEVICE(vser), vq);\n\n return len;\n\n}\n", "idx": 5222}508{"project": "qemu", "commit_id": "9a10bbb4e83b184faef6fa744396a6775283c0aa", "target": 0, "func": "void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *pm,\n\n qemu_irq sci_irq)\n\n{\n\n memory_region_init(&pm->io, OBJECT(lpc_pci), \"ich9-pm\", ICH9_PMIO_SIZE);\n\n memory_region_set_enabled(&pm->io, false);\n\n memory_region_add_subregion(pci_address_space_io(lpc_pci),\n\n 0, &pm->io);\n\n\n\n acpi_pm_tmr_init(&pm->acpi_regs, ich9_pm_update_sci_fn, &pm->io);\n\n acpi_pm1_evt_init(&pm->acpi_regs, ich9_pm_update_sci_fn, &pm->io);\n\n acpi_pm1_cnt_init(&pm->acpi_regs, &pm->io, pm->s4_val);\n\n\n\n acpi_gpe_init(&pm->acpi_regs, ICH9_PMIO_GPE0_LEN);\n\n memory_region_init_io(&pm->io_gpe, OBJECT(lpc_pci), &ich9_gpe_ops, pm,\n\n \"acpi-gpe0\", ICH9_PMIO_GPE0_LEN);\n\n memory_region_add_subregion(&pm->io, ICH9_PMIO_GPE0_STS, &pm->io_gpe);\n\n\n\n memory_region_init_io(&pm->io_smi, OBJECT(lpc_pci), &ich9_smi_ops, pm,\n\n \"acpi-smi\", 8);\n\n memory_region_add_subregion(&pm->io, ICH9_PMIO_SMI_EN, &pm->io_smi);\n\n\n\n pm->irq = sci_irq;\n\n qemu_register_reset(pm_reset, pm);\n\n pm->powerdown_notifier.notify = pm_powerdown_req;\n\n qemu_register_powerdown_notifier(&pm->powerdown_notifier);\n\n\n\n acpi_cpu_hotplug_init(pci_address_space_io(lpc_pci), OBJECT(lpc_pci),\n\n &pm->gpe_cpu, ICH9_CPU_HOTPLUG_IO_BASE);\n\n\n\n if (pm->acpi_memory_hotplug.is_enabled) {\n\n acpi_memory_hotplug_init(pci_address_space_io(lpc_pci), OBJECT(lpc_pci),\n\n &pm->acpi_memory_hotplug);\n\n }\n\n}\n", "idx": 5229}509{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "uint32_t omap_badwidth_read8(void *opaque, target_phys_addr_t addr)\n\n{\n\n uint8_t ret;\n\n\n\n OMAP_8B_REG(addr);\n\n cpu_physical_memory_read(addr, (void *) &ret, 1);\n\n return ret;\n\n}\n", "idx": 5250}510{"project": "qemu", "commit_id": "af7e9e74c6a62a5bcd911726a9e88d28b61490e0", "target": 1, "func": "static inline void IRQ_setbit(IRQ_queue_t *q, int n_IRQ)\n\n{\n\n q->pending++;\n\n set_bit(q->queue, n_IRQ);\n\n}\n", "idx": 5263}511{"project": "FFmpeg", "commit_id": "77d2ef13a8fa630e5081f14bde3fd20f84c90aec", "target": 1, "func": "static int matroska_decode_buffer(uint8_t** buf, int* buf_size,\n\n MatroskaTrack *track)\n\n{\n\n MatroskaTrackEncoding *encodings = track->encodings.elem;\n\n uint8_t* data = *buf;\n\n int isize = *buf_size;\n\n uint8_t* pkt_data = NULL;\n\n int pkt_size = isize;\n\n int result = 0;\n\n int olen;\n\n\n\n if (pkt_size >= 10000000)\n\n return -1;\n\n\n\n switch (encodings[0].compression.algo) {\n\n case MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP:\n\n return encodings[0].compression.settings.size;\n\n case MATROSKA_TRACK_ENCODING_COMP_LZO:\n\n do {\n\n olen = pkt_size *= 3;\n\n pkt_data = av_realloc(pkt_data, pkt_size+AV_LZO_OUTPUT_PADDING);\n\n result = av_lzo1x_decode(pkt_data, &olen, data, &isize);\n\n } while (result==AV_LZO_OUTPUT_FULL && pkt_size<10000000);\n\n if (result)\n\n goto failed;\n\n pkt_size -= olen;\n\n break;\n\n#if CONFIG_ZLIB\n\n case MATROSKA_TRACK_ENCODING_COMP_ZLIB: {\n\n z_stream zstream = {0};\n\n if (inflateInit(&zstream) != Z_OK)\n\n return -1;\n\n zstream.next_in = data;\n\n zstream.avail_in = isize;\n\n do {\n\n pkt_size *= 3;\n\n pkt_data = av_realloc(pkt_data, pkt_size);\n\n zstream.avail_out = pkt_size - zstream.total_out;\n\n zstream.next_out = pkt_data + zstream.total_out;\n\n result = inflate(&zstream, Z_NO_FLUSH);\n\n } while (result==Z_OK && pkt_size<10000000);\n\n pkt_size = zstream.total_out;\n\n inflateEnd(&zstream);\n\n if (result != Z_STREAM_END)\n\n goto failed;\n\n break;\n\n }\n\n#endif\n\n#if CONFIG_BZLIB\n\n case MATROSKA_TRACK_ENCODING_COMP_BZLIB: {\n\n bz_stream bzstream = {0};\n\n if (BZ2_bzDecompressInit(&bzstream, 0, 0) != BZ_OK)\n\n return -1;\n\n bzstream.next_in = data;\n\n bzstream.avail_in = isize;\n\n do {\n\n pkt_size *= 3;\n\n pkt_data = av_realloc(pkt_data, pkt_size);\n\n bzstream.avail_out = pkt_size - bzstream.total_out_lo32;\n\n bzstream.next_out = pkt_data + bzstream.total_out_lo32;\n\n result = BZ2_bzDecompress(&bzstream);\n\n } while (result==BZ_OK && pkt_size<10000000);\n\n pkt_size = bzstream.total_out_lo32;\n\n BZ2_bzDecompressEnd(&bzstream);\n\n if (result != BZ_STREAM_END)\n\n goto failed;\n\n break;\n\n }\n\n#endif\n\n default:\n\n return -1;\n\n }\n\n\n\n *buf = pkt_data;\n\n *buf_size = pkt_size;\n\n return 0;\n\n failed:\n\n av_free(pkt_data);\n\n return -1;\n\n}\n", "idx": 5277}512{"project": "FFmpeg", "commit_id": "63b1866ae1e19ff0d694746a84e2eac859cda462", "target": 0, "func": "static void ac3_extract_exponents_c(uint8_t *exp, int32_t *coef, int nb_coefs)\n\n{\n\n int i;\n\n\n\n for (i = 0; i < nb_coefs; i++) {\n\n int e;\n\n int v = abs(coef[i]);\n\n if (v == 0)\n\n e = 24;\n\n else {\n\n e = 23 - av_log2(v);\n\n if (e >= 24) {\n\n e = 24;\n\n coef[i] = 0;\n\n }\n\n av_assert2(e >= 0);\n\n }\n\n exp[i] = e;\n\n }\n\n}\n", "idx": 5281}513{"project": "qemu", "commit_id": "b2dfd71c4843a762f2befe702adb249cf55baf66", "target": 0, "func": "static void vhost_log_stop(MemoryListener *listener,\n\n MemoryRegionSection *section)\n\n{\n\n /* FIXME: implement */\n\n}\n", "idx": 5283}514{"project": "qemu", "commit_id": "79853e18d904b0a4bcef62701d48559688007c93", "target": 0, "func": "static void spapr_hotplug_req_event(sPAPRDRConnector *drc, uint8_t hp_action)\n\n{\n\n struct hp_log_full *new_hp;\n\n struct rtas_error_log *hdr;\n\n struct rtas_event_log_v6 *v6hdr;\n\n struct rtas_event_log_v6_maina *maina;\n\n struct rtas_event_log_v6_mainb *mainb;\n\n struct rtas_event_log_v6_hp *hp;\n\n sPAPRDRConnectorClass *drck = SPAPR_DR_CONNECTOR_GET_CLASS(drc);\n\n sPAPRDRConnectorType drc_type = drck->get_type(drc);\n\n\n\n new_hp = g_malloc0(sizeof(struct hp_log_full));\n\n hdr = &new_hp->hdr;\n\n v6hdr = &new_hp->v6hdr;\n\n maina = &new_hp->maina;\n\n mainb = &new_hp->mainb;\n\n hp = &new_hp->hp;\n\n\n\n hdr->summary = cpu_to_be32(RTAS_LOG_VERSION_6\n\n | RTAS_LOG_SEVERITY_EVENT\n\n | RTAS_LOG_DISPOSITION_NOT_RECOVERED\n\n | RTAS_LOG_OPTIONAL_PART_PRESENT\n\n | RTAS_LOG_INITIATOR_HOTPLUG\n\n | RTAS_LOG_TYPE_HOTPLUG);\n\n hdr->extended_length = cpu_to_be32(sizeof(*new_hp)\n\n - sizeof(new_hp->hdr));\n\n\n\n spapr_init_v6hdr(v6hdr);\n\n spapr_init_maina(maina, 3 /* Main-A, Main-B, HP */);\n\n\n\n mainb->hdr.section_id = cpu_to_be16(RTAS_LOG_V6_SECTION_ID_MAINB);\n\n mainb->hdr.section_length = cpu_to_be16(sizeof(*mainb));\n\n mainb->subsystem_id = 0x80; /* External environment */\n\n mainb->event_severity = 0x00; /* Informational / non-error */\n\n mainb->event_subtype = 0x00; /* Normal shutdown */\n\n\n\n hp->hdr.section_id = cpu_to_be16(RTAS_LOG_V6_SECTION_ID_HOTPLUG);\n\n hp->hdr.section_length = cpu_to_be16(sizeof(*hp));\n\n hp->hdr.section_version = 1; /* includes extended modifier */\n\n hp->hotplug_action = hp_action;\n\n\n\n\n\n switch (drc_type) {\n\n case SPAPR_DR_CONNECTOR_TYPE_PCI:\n\n hp->drc.index = cpu_to_be32(drck->get_index(drc));\n\n hp->hotplug_identifier = RTAS_LOG_V6_HP_ID_DRC_INDEX;\n\n hp->hotplug_type = RTAS_LOG_V6_HP_TYPE_PCI;\n\n break;\n\n default:\n\n /* we shouldn't be signaling hotplug events for resources\n\n * that don't support them\n\n */\n\n g_assert(false);\n\n return;\n\n }\n\n\n\n rtas_event_log_queue(RTAS_LOG_TYPE_HOTPLUG, new_hp);\n\n\n\n qemu_irq_pulse(xics_get_qirq(spapr->icp, spapr->check_exception_irq));\n\n}\n", "idx": 5298}515{"project": "qemu", "commit_id": "425532d71d5d295cc9c649500e4969ac621ce51d", "target": 0, "func": "static TCGReg tcg_out_tlb_load(TCGContext *s, TCGReg addr, int mem_index,\n\n TCGMemOp s_bits, int which)\n\n{\n\n const TCGReg r0 = TCG_REG_O0;\n\n const TCGReg r1 = TCG_REG_O1;\n\n const TCGReg r2 = TCG_REG_O2;\n\n int tlb_ofs;\n\n\n\n /* Shift the page number down. */\n\n tcg_out_arithi(s, r1, addr, TARGET_PAGE_BITS, SHIFT_SRL);\n\n\n\n /* Mask out the page offset, except for the required alignment. */\n\n tcg_out_movi(s, TCG_TYPE_TL, TCG_REG_T1,\n\n TARGET_PAGE_MASK | ((1 << s_bits) - 1));\n\n\n\n /* Mask the tlb index. */\n\n tcg_out_arithi(s, r1, r1, CPU_TLB_SIZE - 1, ARITH_AND);\n\n \n\n /* Mask page, part 2. */\n\n tcg_out_arith(s, r0, addr, TCG_REG_T1, ARITH_AND);\n\n\n\n /* Shift the tlb index into place. */\n\n tcg_out_arithi(s, r1, r1, CPU_TLB_ENTRY_BITS, SHIFT_SLL);\n\n\n\n /* Relative to the current ENV. */\n\n tcg_out_arith(s, r1, TCG_AREG0, r1, ARITH_ADD);\n\n\n\n /* Find a base address that can load both tlb comparator and addend. */\n\n tlb_ofs = offsetof(CPUArchState, tlb_table[mem_index][0]);\n\n if (!check_fit_tl(tlb_ofs + sizeof(CPUTLBEntry), 13)) {\n\n tcg_out_addi(s, r1, tlb_ofs & ~0x3ff);\n\n tlb_ofs &= 0x3ff;\n\n }\n\n\n\n /* Load the tlb comparator and the addend. */\n\n tcg_out_ld(s, TCG_TYPE_TL, r2, r1, tlb_ofs + which);\n\n tcg_out_ld(s, TCG_TYPE_PTR, r1, r1, tlb_ofs+offsetof(CPUTLBEntry, addend));\n\n\n\n /* subcc arg0, arg2, %g0 */\n\n tcg_out_cmp(s, r0, r2, 0);\n\n\n\n /* If the guest address must be zero-extended, do so now. */\n\n if (SPARC64 && TARGET_LONG_BITS == 32) {\n\n tcg_out_arithi(s, r0, addr, 0, SHIFT_SRL);\n\n return r0;\n\n }\n\n return addr;\n\n}\n", "idx": 5304}516{"project": "qemu", "commit_id": "838ef602498b8d1985a231a06f5e328e2946a81d", "target": 0, "func": "static int curl_sock_cb(CURL *curl, curl_socket_t fd, int action,\n\n void *s, void *sp)\n\n{\n\n DPRINTF(\"CURL (AIO): Sock action %d on fd %d\\n\", action, fd);\n\n switch (action) {\n\n case CURL_POLL_IN:\n\n qemu_aio_set_fd_handler(fd, curl_multi_do, NULL, s);\n\n break;\n\n case CURL_POLL_OUT:\n\n qemu_aio_set_fd_handler(fd, NULL, curl_multi_do, s);\n\n break;\n\n case CURL_POLL_INOUT:\n\n qemu_aio_set_fd_handler(fd, curl_multi_do, curl_multi_do, s);\n\n break;\n\n case CURL_POLL_REMOVE:\n\n qemu_aio_set_fd_handler(fd, NULL, NULL, NULL);\n\n break;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 5306}517{"project": "FFmpeg", "commit_id": "428098165de4c3edfe42c1b7f00627d287015863", "target": 1, "func": "SwsFunc yuv2rgb_get_func_ptr (SwsContext *c)\n\n{\n\n#if defined(HAVE_MMX2) || defined(HAVE_MMX)\n\n if(c->flags & SWS_CPU_CAPS_MMX2){\n\n\tswitch(c->dstFormat){\n\n\tcase PIX_FMT_RGB32: return yuv420_rgb32_MMX2;\n\n\tcase PIX_FMT_BGR24: return yuv420_rgb24_MMX2;\n\n\tcase PIX_FMT_BGR565: return yuv420_rgb16_MMX2;\n\n\tcase PIX_FMT_BGR555: return yuv420_rgb15_MMX2;\n\n\t}\n\n }\n\n if(c->flags & SWS_CPU_CAPS_MMX){\n\n\tswitch(c->dstFormat){\n\n\tcase PIX_FMT_RGB32: return yuv420_rgb32_MMX;\n\n\tcase PIX_FMT_BGR24: return yuv420_rgb24_MMX;\n\n\tcase PIX_FMT_BGR565: return yuv420_rgb16_MMX;\n\n\tcase PIX_FMT_BGR555: return yuv420_rgb15_MMX;\n\n\t}\n\n }\n\n#endif\n\n#ifdef HAVE_MLIB\n\n {\n\n\tSwsFunc t= yuv2rgb_init_mlib(c);\n\n\tif(t) return t;\n\n }\n\n#endif\n\n#ifdef HAVE_ALTIVEC\n\n if (c->flags & SWS_CPU_CAPS_ALTIVEC)\n\n {\n\n\tSwsFunc t = yuv2rgb_init_altivec(c);\n\n\tif(t) return t;\n\n }\n\n#endif\n\n\n\n av_log(c, AV_LOG_WARNING, \"No accelerated colorspace conversion found\\n\");\n\n\n\n switch(c->dstFormat){\n\n case PIX_FMT_BGR32:\n\n case PIX_FMT_RGB32: return yuv2rgb_c_32;\n\n case PIX_FMT_RGB24: return yuv2rgb_c_24_rgb;\n\n case PIX_FMT_BGR24: return yuv2rgb_c_24_bgr;\n\n case PIX_FMT_RGB565:\n\n case PIX_FMT_BGR565:\n\n case PIX_FMT_RGB555:\n\n case PIX_FMT_BGR555: return yuv2rgb_c_16;\n\n case PIX_FMT_RGB8:\n\n case PIX_FMT_BGR8: return yuv2rgb_c_8_ordered_dither;\n\n case PIX_FMT_RGB4:\n\n case PIX_FMT_BGR4: return yuv2rgb_c_4_ordered_dither;\n\n case PIX_FMT_RGB4_BYTE:\n\n case PIX_FMT_BGR4_BYTE: return yuv2rgb_c_4b_ordered_dither;\n\n case PIX_FMT_MONOBLACK: return yuv2rgb_c_1_ordered_dither;\n\n default:\n\n \tassert(0);\n\n }\n\n return NULL;\n\n}\n", "idx": 5308}518{"project": "qemu", "commit_id": "e5f34cdd2da54f28d90889a3afd15fad2d6105ff", "target": 1, "func": "static void vnc_set_share_mode(VncState *vs, VncShareMode mode)\n\n{\n\n#ifdef _VNC_DEBUG\n\n static const char *mn[] = {\n\n [0] = \"undefined\",\n\n [VNC_SHARE_MODE_CONNECTING] = \"connecting\",\n\n [VNC_SHARE_MODE_SHARED] = \"shared\",\n\n [VNC_SHARE_MODE_EXCLUSIVE] = \"exclusive\",\n\n [VNC_SHARE_MODE_DISCONNECTED] = \"disconnected\",\n\n };\n\n fprintf(stderr, \"%s/%d: %s -> %s\\n\", __func__,\n\n vs->csock, mn[vs->share_mode], mn[mode]);\n\n#endif\n\n\n\n if (vs->share_mode == VNC_SHARE_MODE_EXCLUSIVE) {\n\n vs->vd->num_exclusive--;\n\n }\n\n vs->share_mode = mode;\n\n if (vs->share_mode == VNC_SHARE_MODE_EXCLUSIVE) {\n\n vs->vd->num_exclusive++;\n\n }\n\n}\n", "idx": 5314}519{"project": "FFmpeg", "commit_id": "7cc8d616aab68ba5534e5a74214786ad08aac5ce", "target": 1, "func": "uint8_t ff_mlp_calculate_parity(const uint8_t *buf, unsigned int buf_size)\n\n{\n\n uint32_t scratch = 0;\n\n const uint8_t *buf_end = buf + buf_size;\n\n\n\n\n\n for (; buf < buf_end - 3; buf += 4)\n\n scratch ^= *((const uint32_t*)buf);\n\n\n\n scratch = xor_32_to_8(scratch);\n\n\n\n for (; buf < buf_end; buf++)\n\n\n\n\n return scratch;\n\n}", "idx": 5327}520{"project": "FFmpeg", "commit_id": "f354f30836a3148275ce60d19bbc581310249ad2", "target": 0, "func": "void ff_er_frame_start(ERContext *s)\n\n{\n\n if (!s->avctx->err_recognition)\n\n return;\n\n\n\n memset(s->error_status_table, ER_MB_ERROR | VP_START | ER_MB_END,\n\n s->mb_stride * s->mb_height * sizeof(uint8_t));\n\n s->error_count = 3 * s->mb_num;\n\n s->error_occurred = 0;\n\n}\n", "idx": 5353}521{"project": "FFmpeg", "commit_id": "f98c9fb27de84dc4f6123537b754eb2fe1a80c02", "target": 0, "func": "av_cold int MPV_common_init(MpegEncContext *s)\n\n{\n\n int y_size, c_size, yc_size, i, mb_array_size, mv_table_size, x, y, threads;\n\n\n\n if(s->codec_id == CODEC_ID_MPEG2VIDEO && !s->progressive_sequence)\n\n s->mb_height = (s->height + 31) / 32 * 2;\n\n else if (s->codec_id != CODEC_ID_H264)\n\n s->mb_height = (s->height + 15) / 16;\n\n\n\n if(s->avctx->pix_fmt == PIX_FMT_NONE){\n\n av_log(s->avctx, AV_LOG_ERROR, \"decoding to PIX_FMT_NONE is not supported.\\n\");\n\n return -1;\n\n }\n\n\n\n if((s->encoding || (s->avctx->active_thread_type & FF_THREAD_SLICE)) &&\n\n (s->avctx->thread_count > MAX_THREADS || (s->avctx->thread_count > s->mb_height && s->mb_height))){\n\n av_log(s->avctx, AV_LOG_ERROR, \"too many threads\\n\");\n\n return -1;\n\n }\n\n\n\n if((s->width || s->height) && av_image_check_size(s->width, s->height, 0, s->avctx))\n\n return -1;\n\n\n\n dsputil_init(&s->dsp, s->avctx);\n\n ff_dct_common_init(s);\n\n\n\n s->flags= s->avctx->flags;\n\n s->flags2= s->avctx->flags2;\n\n\n\n if (s->width && s->height) {\n\n s->mb_width = (s->width + 15) / 16;\n\n s->mb_stride = s->mb_width + 1;\n\n s->b8_stride = s->mb_width*2 + 1;\n\n s->b4_stride = s->mb_width*4 + 1;\n\n mb_array_size= s->mb_height * s->mb_stride;\n\n mv_table_size= (s->mb_height+2) * s->mb_stride + 1;\n\n\n\n /* set chroma shifts */\n\n avcodec_get_chroma_sub_sample(s->avctx->pix_fmt,&(s->chroma_x_shift),\n\n &(s->chroma_y_shift) );\n\n\n\n /* set default edge pos, will be overriden in decode_header if needed */\n\n s->h_edge_pos= s->mb_width*16;\n\n s->v_edge_pos= s->mb_height*16;\n\n\n\n s->mb_num = s->mb_width * s->mb_height;\n\n\n\n s->block_wrap[0]=\n\n s->block_wrap[1]=\n\n s->block_wrap[2]=\n\n s->block_wrap[3]= s->b8_stride;\n\n s->block_wrap[4]=\n\n s->block_wrap[5]= s->mb_stride;\n\n\n\n y_size = s->b8_stride * (2 * s->mb_height + 1);\n\n c_size = s->mb_stride * (s->mb_height + 1);\n\n yc_size = y_size + 2 * c_size;\n\n\n\n /* convert fourcc to upper case */\n\n s->codec_tag = ff_toupper4(s->avctx->codec_tag);\n\n\n\n s->stream_codec_tag = ff_toupper4(s->avctx->stream_codec_tag);\n\n\n\n s->avctx->coded_frame= (AVFrame*)&s->current_picture;\n\n\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->mb_index2xy, (s->mb_num+1)*sizeof(int), fail) //error ressilience code looks cleaner with this\n\n for(y=0; y<s->mb_height; y++){\n\n for(x=0; x<s->mb_width; x++){\n\n s->mb_index2xy[ x + y*s->mb_width ] = x + y*s->mb_stride;\n\n }\n\n }\n\n s->mb_index2xy[ s->mb_height*s->mb_width ] = (s->mb_height-1)*s->mb_stride + s->mb_width; //FIXME really needed?\n\n\n\n if (s->encoding) {\n\n /* Allocate MV tables */\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->p_mv_table_base , mv_table_size * 2 * sizeof(int16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_forw_mv_table_base , mv_table_size * 2 * sizeof(int16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_back_mv_table_base , mv_table_size * 2 * sizeof(int16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_bidir_forw_mv_table_base , mv_table_size * 2 * sizeof(int16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_bidir_back_mv_table_base , mv_table_size * 2 * sizeof(int16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_direct_mv_table_base , mv_table_size * 2 * sizeof(int16_t), fail)\n\n s->p_mv_table = s->p_mv_table_base + s->mb_stride + 1;\n\n s->b_forw_mv_table = s->b_forw_mv_table_base + s->mb_stride + 1;\n\n s->b_back_mv_table = s->b_back_mv_table_base + s->mb_stride + 1;\n\n s->b_bidir_forw_mv_table= s->b_bidir_forw_mv_table_base + s->mb_stride + 1;\n\n s->b_bidir_back_mv_table= s->b_bidir_back_mv_table_base + s->mb_stride + 1;\n\n s->b_direct_mv_table = s->b_direct_mv_table_base + s->mb_stride + 1;\n\n\n\n if(s->msmpeg4_version){\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->ac_stats, 2*2*(MAX_LEVEL+1)*(MAX_RUN+1)*2*sizeof(int), fail);\n\n }\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->avctx->stats_out, 256, fail);\n\n\n\n /* Allocate MB type table */\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->mb_type , mb_array_size * sizeof(uint16_t), fail) //needed for encoding\n\n\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->lambda_table, mb_array_size * sizeof(int), fail)\n\n\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix , 64*32 * sizeof(int), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix , 64*32 * sizeof(int), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->q_intra_matrix16, 64*32*2 * sizeof(uint16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->q_inter_matrix16, 64*32*2 * sizeof(uint16_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->input_picture, MAX_PICTURE_COUNT * sizeof(Picture*), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->reordered_input_picture, MAX_PICTURE_COUNT * sizeof(Picture*), fail)\n\n\n\n if(s->avctx->noise_reduction){\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->dct_offset, 2 * 64 * sizeof(uint16_t), fail)\n\n }\n\n }\n\n }\n\n\n\n s->picture_count = MAX_PICTURE_COUNT * FFMAX(1, s->avctx->thread_count);\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->picture, s->picture_count * sizeof(Picture), fail)\n\n for(i = 0; i < s->picture_count; i++) {\n\n avcodec_get_frame_defaults((AVFrame *)&s->picture[i]);\n\n }\n\n\n\n if (s->width && s->height) {\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->error_status_table, mb_array_size*sizeof(uint8_t), fail)\n\n\n\n if(s->codec_id==CODEC_ID_MPEG4 || (s->flags & CODEC_FLAG_INTERLACED_ME)){\n\n /* interlaced direct mode decoding tables */\n\n for(i=0; i<2; i++){\n\n int j, k;\n\n for(j=0; j<2; j++){\n\n for(k=0; k<2; k++){\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_field_mv_table_base[i][j][k], mv_table_size * 2 * sizeof(int16_t), fail)\n\n s->b_field_mv_table[i][j][k] = s->b_field_mv_table_base[i][j][k] + s->mb_stride + 1;\n\n }\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->b_field_select_table [i][j], mb_array_size * 2 * sizeof(uint8_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->p_field_mv_table_base[i][j], mv_table_size * 2 * sizeof(int16_t), fail)\n\n s->p_field_mv_table[i][j] = s->p_field_mv_table_base[i][j]+ s->mb_stride + 1;\n\n }\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->p_field_select_table[i], mb_array_size * 2 * sizeof(uint8_t), fail)\n\n }\n\n }\n\n if (s->out_format == FMT_H263) {\n\n /* cbp values */\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->coded_block_base, y_size, fail);\n\n s->coded_block= s->coded_block_base + s->b8_stride + 1;\n\n\n\n /* cbp, ac_pred, pred_dir */\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->cbp_table , mb_array_size * sizeof(uint8_t), fail)\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->pred_dir_table, mb_array_size * sizeof(uint8_t), fail)\n\n }\n\n\n\n if (s->h263_pred || s->h263_plus || !s->encoding) {\n\n /* dc values */\n\n //MN: we need these for error resilience of intra-frames\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->dc_val_base, yc_size * sizeof(int16_t), fail);\n\n s->dc_val[0] = s->dc_val_base + s->b8_stride + 1;\n\n s->dc_val[1] = s->dc_val_base + y_size + s->mb_stride + 1;\n\n s->dc_val[2] = s->dc_val[1] + c_size;\n\n for(i=0;i<yc_size;i++)\n\n s->dc_val_base[i] = 1024;\n\n }\n\n\n\n /* which mb is a intra block */\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->mbintra_table, mb_array_size, fail);\n\n memset(s->mbintra_table, 1, mb_array_size);\n\n\n\n /* init macroblock skip table */\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->mbskip_table, mb_array_size+2, fail);\n\n //Note the +1 is for a quicker mpeg4 slice_end detection\n\n FF_ALLOCZ_OR_GOTO(s->avctx, s->prev_pict_types, PREV_PICT_TYPES_BUFFER_SIZE, fail);\n\n\n\n s->parse_context.state= -1;\n\n if((s->avctx->debug&(FF_DEBUG_VIS_QP|FF_DEBUG_VIS_MB_TYPE)) || (s->avctx->debug_mv)){\n\n s->visualization_buffer[0] = av_malloc((s->mb_width*16 + 2*EDGE_WIDTH) * s->mb_height*16 + 2*EDGE_WIDTH);\n\n s->visualization_buffer[1] = av_malloc((s->mb_width*16 + 2*EDGE_WIDTH) * s->mb_height*16 + 2*EDGE_WIDTH);\n\n s->visualization_buffer[2] = av_malloc((s->mb_width*16 + 2*EDGE_WIDTH) * s->mb_height*16 + 2*EDGE_WIDTH);\n\n }\n\n }\n\n\n\n s->context_initialized = 1;\n\n s->thread_context[0]= s;\n\n\n\n if (s->width && s->height) {\n\n if (s->encoding || (HAVE_THREADS && s->avctx->active_thread_type&FF_THREAD_SLICE)) {\n\n threads = s->avctx->thread_count;\n\n\n\n for(i=1; i<threads; i++){\n\n s->thread_context[i]= av_malloc(sizeof(MpegEncContext));\n\n memcpy(s->thread_context[i], s, sizeof(MpegEncContext));\n\n }\n\n\n\n for(i=0; i<threads; i++){\n\n if(init_duplicate_context(s->thread_context[i], s) < 0)\n\n goto fail;\n\n s->thread_context[i]->start_mb_y= (s->mb_height*(i ) + s->avctx->thread_count/2) / s->avctx->thread_count;\n\n s->thread_context[i]->end_mb_y = (s->mb_height*(i+1) + s->avctx->thread_count/2) / s->avctx->thread_count;\n\n }\n\n } else {\n\n if(init_duplicate_context(s, s) < 0) goto fail;\n\n s->start_mb_y = 0;\n\n s->end_mb_y = s->mb_height;\n\n }\n\n }\n\n\n\n return 0;\n\n fail:\n\n MPV_common_end(s);\n\n return -1;\n\n}\n", "idx": 5356}522{"project": "FFmpeg", "commit_id": "03847eb8259291b4ff1bd840bd779d0699d71f96", "target": 0, "func": "int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,\n\n const char *filename, void *logctx,\n\n unsigned int offset, unsigned int max_probe_size)\n\n{\n\n AVProbeData pd = { filename ? filename : \"\", NULL, -offset };\n\n unsigned char *buf = NULL;\n\n int ret = 0, probe_size;\n\n\n\n if (!max_probe_size) {\n\n max_probe_size = PROBE_BUF_MAX;\n\n } else if (max_probe_size > PROBE_BUF_MAX) {\n\n max_probe_size = PROBE_BUF_MAX;\n\n } else if (max_probe_size < PROBE_BUF_MIN) {\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n if (offset >= max_probe_size) {\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n for(probe_size= PROBE_BUF_MIN; probe_size<=max_probe_size && !*fmt;\n\n probe_size = FFMIN(probe_size<<1, FFMAX(max_probe_size, probe_size+1))) {\n\n int score = probe_size < max_probe_size ? AVPROBE_SCORE_RETRY : 0;\n\n int buf_offset = (probe_size == PROBE_BUF_MIN) ? 0 : probe_size>>1;\n\n void *buftmp;\n\n\n\n if (probe_size < offset) {\n\n continue;\n\n }\n\n\n\n /* read probe data */\n\n buftmp = av_realloc(buf, probe_size + AVPROBE_PADDING_SIZE);\n\n if(!buftmp){\n\n av_free(buf);\n\n return AVERROR(ENOMEM);\n\n }\n\n buf=buftmp;\n\n if ((ret = avio_read(pb, buf + buf_offset, probe_size - buf_offset)) < 0) {\n\n /* fail if error was not end of file, otherwise, lower score */\n\n if (ret != AVERROR_EOF) {\n\n av_free(buf);\n\n return ret;\n\n }\n\n score = 0;\n\n ret = 0; /* error was end of file, nothing read */\n\n }\n\n pd.buf_size += ret;\n\n pd.buf = &buf[offset];\n\n\n\n memset(pd.buf + pd.buf_size, 0, AVPROBE_PADDING_SIZE);\n\n\n\n /* guess file format */\n\n *fmt = av_probe_input_format2(&pd, 1, &score);\n\n if(*fmt){\n\n if(score <= AVPROBE_SCORE_RETRY){ //this can only be true in the last iteration\n\n av_log(logctx, AV_LOG_WARNING, \"Format %s detected only with low score of %d, misdetection possible!\\n\", (*fmt)->name, score);\n\n }else\n\n av_log(logctx, AV_LOG_DEBUG, \"Format %s probed with size=%d and score=%d\\n\", (*fmt)->name, probe_size, score);\n\n }\n\n }\n\n\n\n if (!*fmt) {\n\n av_free(buf);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n /* rewind. reuse probe buffer to avoid seeking */\n\n ret = ffio_rewind_with_probe_data(pb, &buf, pd.buf_size);\n\n\n\n return ret;\n\n}\n", "idx": 5357}523{"project": "qemu", "commit_id": "0752706de257b38763006ff5bb6b39a97e669ba2", "target": 1, "func": "static void slirp_smb(SlirpState* s, Monitor *mon, const char *exported_dir,\n\n struct in_addr vserver_addr)\n\n{\n\n static int instance;\n\n char smb_conf[128];\n\n char smb_cmdline[128];\n\n FILE *f;\n\n\n\n snprintf(s->smb_dir, sizeof(s->smb_dir), \"/tmp/qemu-smb.%ld-%d\",\n\n (long)getpid(), instance++);\n\n if (mkdir(s->smb_dir, 0700) < 0) {\n\n config_error(mon, \"could not create samba server dir '%s'\\n\",\n\n s->smb_dir);\n\n return;\n\n }\n\n snprintf(smb_conf, sizeof(smb_conf), \"%s/%s\", s->smb_dir, \"smb.conf\");\n\n\n\n f = fopen(smb_conf, \"w\");\n\n if (!f) {\n\n slirp_smb_cleanup(s);\n\n config_error(mon, \"could not create samba server \"\n\n \"configuration file '%s'\\n\", smb_conf);\n\n return;\n\n }\n\n fprintf(f,\n\n \"[global]\\n\"\n\n \"private dir=%s\\n\"\n\n \"smb ports=0\\n\"\n\n \"socket address=127.0.0.1\\n\"\n\n \"pid directory=%s\\n\"\n\n \"lock directory=%s\\n\"\n\n \"log file=%s/log.smbd\\n\"\n\n \"smb passwd file=%s/smbpasswd\\n\"\n\n \"security = share\\n\"\n\n \"[qemu]\\n\"\n\n \"path=%s\\n\"\n\n \"read only=no\\n\"\n\n \"guest ok=yes\\n\",\n\n s->smb_dir,\n\n s->smb_dir,\n\n s->smb_dir,\n\n s->smb_dir,\n\n s->smb_dir,\n\n exported_dir\n\n );\n\n fclose(f);\n\n\n\n snprintf(smb_cmdline, sizeof(smb_cmdline), \"%s -s %s\",\n\n SMBD_COMMAND, smb_conf);\n\n\n\n if (slirp_add_exec(s->slirp, 0, smb_cmdline, &vserver_addr, 139) < 0) {\n\n slirp_smb_cleanup(s);\n\n config_error(mon, \"conflicting/invalid smbserver address\\n\");\n\n }\n\n}\n", "idx": 5361}524{"project": "qemu", "commit_id": "bf298f83c35da854632c5be75733a4aa95a780bf", "target": 0, "func": "void tlb_set_page(CPUState *env, target_ulong vaddr,\n\n target_phys_addr_t paddr, int prot,\n\n int mmu_idx, target_ulong size)\n\n{\n\n PhysPageDesc *p;\n\n unsigned long pd;\n\n unsigned int index;\n\n target_ulong address;\n\n target_ulong code_address;\n\n unsigned long addend;\n\n CPUTLBEntry *te;\n\n CPUWatchpoint *wp;\n\n target_phys_addr_t iotlb;\n\n\n\n assert(size >= TARGET_PAGE_SIZE);\n\n if (size != TARGET_PAGE_SIZE) {\n\n tlb_add_large_page(env, vaddr, size);\n\n }\n\n p = phys_page_find(paddr >> TARGET_PAGE_BITS);\n\n if (!p) {\n\n pd = IO_MEM_UNASSIGNED;\n\n } else {\n\n pd = p->phys_offset;\n\n }\n\n#if defined(DEBUG_TLB)\n\n printf(\"tlb_set_page: vaddr=\" TARGET_FMT_lx \" paddr=0x%08x prot=%x idx=%d smmu=%d pd=0x%08lx\\n\",\n\n vaddr, (int)paddr, prot, mmu_idx, is_softmmu, pd);\n\n#endif\n\n\n\n address = vaddr;\n\n if ((pd & ~TARGET_PAGE_MASK) > IO_MEM_ROM && !(pd & IO_MEM_ROMD)) {\n\n /* IO memory case (romd handled later) */\n\n address |= TLB_MMIO;\n\n }\n\n addend = (unsigned long)qemu_get_ram_ptr(pd & TARGET_PAGE_MASK);\n\n if ((pd & ~TARGET_PAGE_MASK) <= IO_MEM_ROM) {\n\n /* Normal RAM. */\n\n iotlb = pd & TARGET_PAGE_MASK;\n\n if ((pd & ~TARGET_PAGE_MASK) == IO_MEM_RAM)\n\n iotlb |= IO_MEM_NOTDIRTY;\n\n else\n\n iotlb |= IO_MEM_ROM;\n\n } else {\n\n /* IO handlers are currently passed a physical address.\n\n It would be nice to pass an offset from the base address\n\n of that region. This would avoid having to special case RAM,\n\n and avoid full address decoding in every device.\n\n We can't use the high bits of pd for this because\n\n IO_MEM_ROMD uses these as a ram address. */\n\n iotlb = (pd & ~TARGET_PAGE_MASK);\n\n if (p) {\n\n iotlb += p->region_offset;\n\n } else {\n\n iotlb += paddr;\n\n }\n\n }\n\n\n\n code_address = address;\n\n /* Make accesses to pages with watchpoints go via the\n\n watchpoint trap routines. */\n\n QTAILQ_FOREACH(wp, &env->watchpoints, entry) {\n\n if (vaddr == (wp->vaddr & TARGET_PAGE_MASK)) {\n\n iotlb = io_mem_watch + paddr;\n\n /* TODO: The memory case can be optimized by not trapping\n\n reads of pages with a write breakpoint. */\n\n address |= TLB_MMIO;\n\n }\n\n }\n\n\n\n index = (vaddr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);\n\n env->iotlb[mmu_idx][index] = iotlb - vaddr;\n\n te = &env->tlb_table[mmu_idx][index];\n\n te->addend = addend - vaddr;\n\n if (prot & PAGE_READ) {\n\n te->addr_read = address;\n\n } else {\n\n te->addr_read = -1;\n\n }\n\n\n\n if (prot & PAGE_EXEC) {\n\n te->addr_code = code_address;\n\n } else {\n\n te->addr_code = -1;\n\n }\n\n if (prot & PAGE_WRITE) {\n\n if ((pd & ~TARGET_PAGE_MASK) == IO_MEM_ROM ||\n\n (pd & IO_MEM_ROMD)) {\n\n /* Write access calls the I/O callback. */\n\n te->addr_write = address | TLB_MMIO;\n\n } else if ((pd & ~TARGET_PAGE_MASK) == IO_MEM_RAM &&\n\n !cpu_physical_memory_is_dirty(pd)) {\n\n te->addr_write = address | TLB_NOTDIRTY;\n\n } else {\n\n te->addr_write = address;\n\n }\n\n } else {\n\n te->addr_write = -1;\n\n }\n\n}\n", "idx": 5381}525{"project": "qemu", "commit_id": "b3a2319792ad5c0f0f8c3d2f4d02b95fd7efbc69", "target": 0, "func": "void *slavio_intctl_init(target_phys_addr_t addr, target_phys_addr_t addrg,\n\n const uint32_t *intbit_to_level,\n\n qemu_irq **irq, qemu_irq **cpu_irq,\n\n unsigned int cputimer)\n\n\n\n{\n\n int slavio_intctl_io_memory, slavio_intctlm_io_memory, i;\n\n SLAVIO_INTCTLState *s;\n\n\n\n s = qemu_mallocz(sizeof(SLAVIO_INTCTLState));\n\n if (!s)\n\n return NULL;\n\n\n\n s->intbit_to_level = intbit_to_level;\n\n for (i = 0; i < MAX_CPUS; i++) {\n\n\tslavio_intctl_io_memory = cpu_register_io_memory(0, slavio_intctl_mem_read, slavio_intctl_mem_write, s);\n\n\tcpu_register_physical_memory(addr + i * TARGET_PAGE_SIZE, INTCTL_SIZE,\n\n slavio_intctl_io_memory);\n\n }\n\n\n\n slavio_intctlm_io_memory = cpu_register_io_memory(0, slavio_intctlm_mem_read, slavio_intctlm_mem_write, s);\n\n cpu_register_physical_memory(addrg, INTCTLM_SIZE, slavio_intctlm_io_memory);\n\n\n\n register_savevm(\"slavio_intctl\", addr, 1, slavio_intctl_save, slavio_intctl_load, s);\n\n qemu_register_reset(slavio_intctl_reset, s);\n\n *irq = qemu_allocate_irqs(slavio_set_irq, s, 32);\n\n\n\n *cpu_irq = qemu_allocate_irqs(slavio_set_timer_irq_cpu, s, MAX_CPUS);\n\n s->cputimer_bit = 1 << s->intbit_to_level[cputimer];\n\n slavio_intctl_reset(s);\n\n return s;\n\n}\n", "idx": 5386}526{"project": "qemu", "commit_id": "1e5ffbedded7ded797f5042d82b70109a712b4c0", "target": 1, "func": "void helper_frndint(void)\n\n{\n\n ST0 = rint(ST0);\n\n}\n", "idx": 5408}527{"project": "FFmpeg", "commit_id": "fc5a905a6d0c76d9fb8d838ac83f6219a7a5e20f", "target": 0, "func": "static void start_children(FFStream *feed)\n\n{\n\n if (no_launch)\n\n return;\n\n\n\n for (; feed; feed = feed->next) {\n\n if (feed->child_argv && !feed->pid) {\n\n feed->pid_start = time(0);\n\n\n\n feed->pid = fork();\n\n\n\n if (feed->pid < 0) {\n\n http_log(\"Unable to create children\\n\");\n\n exit(1);\n\n }\n\n if (!feed->pid) {\n\n /* In child */\n\n char pathname[1024];\n\n char *slash;\n\n int i;\n\n\n\n av_strlcpy(pathname, my_program_name, sizeof(pathname));\n\n\n\n slash = strrchr(pathname, '/');\n\n if (!slash)\n\n slash = pathname;\n\n else\n\n slash++;\n\n strcpy(slash, \"ffmpeg\");\n\n\n\n http_log(\"Launch command line: \");\n\n http_log(\"%s \", pathname);\n\n for (i = 1; feed->child_argv[i] && feed->child_argv[i][0]; i++)\n\n http_log(\"%s \", feed->child_argv[i]);\n\n http_log(\"\\n\");\n\n\n\n for (i = 3; i < 256; i++)\n\n close(i);\n\n\n\n if (!ffserver_debug) {\n\n i = open(\"/dev/null\", O_RDWR);\n\n if (i != -1) {\n\n dup2(i, 0);\n\n dup2(i, 1);\n\n dup2(i, 2);\n\n close(i);\n\n }\n\n }\n\n\n\n /* This is needed to make relative pathnames work */\n\n chdir(my_program_dir);\n\n\n\n signal(SIGPIPE, SIG_DFL);\n\n\n\n execvp(pathname, feed->child_argv);\n\n\n\n _exit(1);\n\n }\n\n }\n\n }\n\n}\n", "idx": 5416}528{"project": "FFmpeg", "commit_id": "8adff79b6d30d1ae2cb9cf906e1d7fcd759cd638", "target": 1, "func": "static int mov_seek_fragment(AVFormatContext *s, AVStream *st, int64_t timestamp)\n\n{\n\n MOVContext *mov = s->priv_data;\n\n int i, j;\n\n\n\n if (!mov->fragment_index_complete)\n\n return 0;\n\n\n\n for (i = 0; i < mov->fragment_index_count; i++) {\n\n if (mov->fragment_index_data[i]->track_id == st->id) {\n\n MOVFragmentIndex *index = index = mov->fragment_index_data[i];\n\n for (j = index->item_count - 1; j >= 0; j--) {\n\n if (index->items[j].time <= timestamp) {\n\n if (index->items[j].headers_read)\n\n return 0;\n\n\n\n return mov_switch_root(s, index->items[j].moof_offset);\n\n }\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 5429}529{"project": "FFmpeg", "commit_id": "39bb30f6640fe1faf4bbc779a79786028febc95d", "target": 1, "func": "static int mxf_read_track(MXFTrack *track, ByteIOContext *pb, int tag)\n\n{\n\n switch(tag) {\n\n case 0x4801:\n\n track->track_id = get_be32(pb);\n\n break;\n\n case 0x4804:\n\n get_buffer(pb, track->track_number, 4);\n\n break;\n\n case 0x4B01:\n\n track->edit_rate.den = get_be32(pb);\n\n track->edit_rate.num = get_be32(pb);\n\n break;\n\n case 0x4803:\n\n get_buffer(pb, track->sequence_ref, 16);\n\n break;\n\n }\n\n return 0;\n\n}\n", "idx": 5430}530{"project": "FFmpeg", "commit_id": "e947b75b1c76ef6793209c2c445b8c224a28717a", "target": 1, "func": "int ff_wms_parse_sdp_a_line(AVFormatContext *s, const char *p)\n\n{\n\n int ret = 0;\n\n if (av_strstart(p, \"pgmpu:data:application/vnd.ms.wms-hdr.asfv1;base64,\", &p)) {\n\n AVIOContext pb;\n\n RTSPState *rt = s->priv_data;\n\n AVDictionary *opts = NULL;\n\n int len = strlen(p) * 6 / 8;\n\n char *buf = av_mallocz(len);\n\n AVInputFormat *iformat;\n\n\n\n if (!buf)\n\n return AVERROR(ENOMEM);\n\n av_base64_decode(buf, p, len);\n\n\n\n if (rtp_asf_fix_header(buf, len) < 0)\n\n av_log(s, AV_LOG_ERROR,\n\n \"Failed to fix invalid RTSP-MS/ASF min_pktsize\\n\");\n\n init_packetizer(&pb, buf, len);\n\n if (rt->asf_ctx) {\n\n avformat_close_input(&rt->asf_ctx);\n\n }\n\n\n\n if (!(iformat = av_find_input_format(\"asf\")))\n\n return AVERROR_DEMUXER_NOT_FOUND;\n\n\n\n rt->asf_ctx = avformat_alloc_context();\n\n if (!rt->asf_ctx) {\n\n av_free(buf);\n\n return AVERROR(ENOMEM);\n\n }\n\n rt->asf_ctx->pb = &pb;\n\n av_dict_set(&opts, \"no_resync_search\", \"1\", 0);\n\n\n\n if ((ret = ff_copy_whiteblacklists(rt->asf_ctx, s)) < 0) {\n\n av_dict_free(&opts);\n\n return ret;\n\n }\n\n\n\n ret = avformat_open_input(&rt->asf_ctx, \"\", iformat, &opts);\n\n av_dict_free(&opts);\n\n if (ret < 0) {\n\n av_free(buf);\n\n return ret;\n\n }\n\n av_dict_copy(&s->metadata, rt->asf_ctx->metadata, 0);\n\n rt->asf_pb_pos = avio_tell(&pb);\n\n av_free(buf);\n\n rt->asf_ctx->pb = NULL;\n\n }\n\n return ret;\n\n}\n", "idx": 5437}531{"project": "FFmpeg", "commit_id": "9a3f10695a011861dcf5a649e3e72580b1a4eed4", "target": 1, "func": "static int ra144_encode_frame(AVCodecContext *avctx, uint8_t *frame,\n\n int buf_size, void *data)\n\n{\n\n static const uint8_t sizes[LPC_ORDER] = {64, 32, 32, 16, 16, 8, 8, 8, 8, 4};\n\n static const uint8_t bit_sizes[LPC_ORDER] = {6, 5, 5, 4, 4, 3, 3, 3, 3, 2};\n\n RA144Context *ractx;\n\n PutBitContext pb;\n\n int32_t lpc_data[NBLOCKS * BLOCKSIZE];\n\n int32_t lpc_coefs[LPC_ORDER][MAX_LPC_ORDER];\n\n int shift[LPC_ORDER];\n\n int16_t block_coefs[NBLOCKS][LPC_ORDER];\n\n int lpc_refl[LPC_ORDER]; /**< reflection coefficients of the frame */\n\n unsigned int refl_rms[NBLOCKS]; /**< RMS of the reflection coefficients */\n\n int energy = 0;\n\n int i, idx;\n\n\n\n if (buf_size < FRAMESIZE) {\n\n av_log(avctx, AV_LOG_ERROR, \"output buffer too small\\n\");\n\n return 0;\n\n }\n\n ractx = avctx->priv_data;\n\n\n\n /**\n\n * Since the LPC coefficients are calculated on a frame centered over the\n\n * fourth subframe, to encode a given frame, data from the next frame is\n\n * needed. In each call to this function, the previous frame (whose data are\n\n * saved in the encoder context) is encoded, and data from the current frame\n\n * are saved in the encoder context to be used in the next function call.\n\n */\n\n for (i = 0; i < (2 * BLOCKSIZE + BLOCKSIZE / 2); i++) {\n\n lpc_data[i] = ractx->curr_block[BLOCKSIZE + BLOCKSIZE / 2 + i];\n\n energy += (lpc_data[i] * lpc_data[i]) >> 4;\n\n }\n\n for (i = 2 * BLOCKSIZE + BLOCKSIZE / 2; i < NBLOCKS * BLOCKSIZE; i++) {\n\n lpc_data[i] = *((int16_t *)data + i - 2 * BLOCKSIZE - BLOCKSIZE / 2) >>\n\n 2;\n\n energy += (lpc_data[i] * lpc_data[i]) >> 4;\n\n }\n\n energy = ff_energy_tab[quantize(ff_t_sqrt(energy >> 5) >> 10, ff_energy_tab,\n\n 32)];\n\n\n\n ff_lpc_calc_coefs(&ractx->lpc_ctx, lpc_data, NBLOCKS * BLOCKSIZE, LPC_ORDER,\n\n LPC_ORDER, 16, lpc_coefs, shift, FF_LPC_TYPE_LEVINSON,\n\n 0, ORDER_METHOD_EST, 12, 0);\n\n for (i = 0; i < LPC_ORDER; i++)\n\n block_coefs[NBLOCKS - 1][i] = -(lpc_coefs[LPC_ORDER - 1][i] <<\n\n (12 - shift[LPC_ORDER - 1]));\n\n\n\n /**\n\n * TODO: apply perceptual weighting of the input speech through bandwidth\n\n * expansion of the LPC filter.\n\n */\n\n\n\n if (ff_eval_refl(lpc_refl, block_coefs[NBLOCKS - 1], avctx)) {\n\n /**\n\n * The filter is unstable: use the coefficients of the previous frame.\n\n */\n\n ff_int_to_int16(block_coefs[NBLOCKS - 1], ractx->lpc_coef[1]);\n\n ff_eval_refl(lpc_refl, block_coefs[NBLOCKS - 1], avctx);\n\n }\n\n init_put_bits(&pb, frame, buf_size);\n\n for (i = 0; i < LPC_ORDER; i++) {\n\n idx = quantize(lpc_refl[i], ff_lpc_refl_cb[i], sizes[i]);\n\n put_bits(&pb, bit_sizes[i], idx);\n\n lpc_refl[i] = ff_lpc_refl_cb[i][idx];\n\n }\n\n ractx->lpc_refl_rms[0] = ff_rms(lpc_refl);\n\n ff_eval_coefs(ractx->lpc_coef[0], lpc_refl);\n\n refl_rms[0] = ff_interp(ractx, block_coefs[0], 1, 1, ractx->old_energy);\n\n refl_rms[1] = ff_interp(ractx, block_coefs[1], 2,\n\n energy <= ractx->old_energy,\n\n ff_t_sqrt(energy * ractx->old_energy) >> 12);\n\n refl_rms[2] = ff_interp(ractx, block_coefs[2], 3, 0, energy);\n\n refl_rms[3] = ff_rescale_rms(ractx->lpc_refl_rms[0], energy);\n\n ff_int_to_int16(block_coefs[NBLOCKS - 1], ractx->lpc_coef[0]);\n\n put_bits(&pb, 5, quantize(energy, ff_energy_tab, 32));\n\n for (i = 0; i < NBLOCKS; i++)\n\n ra144_encode_subblock(ractx, ractx->curr_block + i * BLOCKSIZE,\n\n block_coefs[i], refl_rms[i], &pb);\n\n flush_put_bits(&pb);\n\n ractx->old_energy = energy;\n\n ractx->lpc_refl_rms[1] = ractx->lpc_refl_rms[0];\n\n FFSWAP(unsigned int *, ractx->lpc_coef[0], ractx->lpc_coef[1]);\n\n for (i = 0; i < NBLOCKS * BLOCKSIZE; i++)\n\n ractx->curr_block[i] = *((int16_t *)data + i) >> 2;\n\n return FRAMESIZE;\n\n}\n", "idx": 5452}532{"project": "FFmpeg", "commit_id": "86ab6b6e08e2982fb5785e0691c0a7e289339ffb", "target": 0, "func": "static void decode0(GetByteContext *gb, RangeCoder *rc, unsigned cumFreq, unsigned freq, unsigned total_freq)\n\n{\n\n int t = rc->range * (uint64_t)cumFreq / total_freq;\n\n\n\n rc->code1 += t + 1;\n\n rc->range = rc->range * (uint64_t)(freq + cumFreq) / total_freq - (t + 1);\n\n\n\n while (rc->range < TOP && bytestream2_get_bytes_left(gb) > 0) {\n\n unsigned byte = bytestream2_get_byte(gb);\n\n rc->code = (rc->code << 8) | byte;\n\n rc->code1 <<= 8;\n\n rc->range <<= 8;\n\n }\n\n}\n", "idx": 5457}533{"project": "qemu", "commit_id": "64a31d5c3d73396a88563d7a504654edc85aa854", "target": 0, "func": "static int dmg_open(BlockDriverState *bs, const char *filename, int flags)\n\n{\n\n BDRVDMGState *s = bs->opaque;\n\n off_t info_begin,info_end,last_in_offset,last_out_offset;\n\n uint32_t count;\n\n uint32_t max_compressed_size=1,max_sectors_per_chunk=1,i;\n\n int64_t offset;\n\n\n\n s->fd = open(filename, O_RDONLY | O_BINARY);\n\n if (s->fd < 0)\n\n return -errno;\n\n bs->read_only = 1;\n\n s->n_chunks = 0;\n\n s->offsets = s->lengths = s->sectors = s->sectorcounts = NULL;\n\n\n\n /* read offset of info blocks */\n\n offset = lseek(s->fd, -0x1d8, SEEK_END);\n\n if (offset < 0) {\n\n goto fail;\n\n }\n\n\n\n info_begin = read_off(s->fd, offset);\n\n if (info_begin == 0) {\n\n\tgoto fail;\n\n }\n\n\n\n if (read_uint32(s->fd, info_begin) != 0x100) {\n\n goto fail;\n\n }\n\n\n\n count = read_uint32(s->fd, info_begin + 4);\n\n if (count == 0) {\n\n goto fail;\n\n }\n\n info_end = info_begin + count;\n\n\n\n offset = info_begin + 0x100;\n\n\n\n /* read offsets */\n\n last_in_offset = last_out_offset = 0;\n\n while (offset < info_end) {\n\n uint32_t type;\n\n\n\n\tcount = read_uint32(s->fd, offset);\n\n\tif(count==0)\n\n\t goto fail;\n\n offset += 4;\n\n\n\n\ttype = read_uint32(s->fd, offset);\n\n\tif (type == 0x6d697368 && count >= 244) {\n\n\t int new_size, chunk_count;\n\n\n\n offset += 4;\n\n offset += 200;\n\n\n\n\t chunk_count = (count-204)/40;\n\n\t new_size = sizeof(uint64_t) * (s->n_chunks + chunk_count);\n\n\t s->types = qemu_realloc(s->types, new_size/2);\n\n\t s->offsets = qemu_realloc(s->offsets, new_size);\n\n\t s->lengths = qemu_realloc(s->lengths, new_size);\n\n\t s->sectors = qemu_realloc(s->sectors, new_size);\n\n\t s->sectorcounts = qemu_realloc(s->sectorcounts, new_size);\n\n\n\n\t for(i=s->n_chunks;i<s->n_chunks+chunk_count;i++) {\n\n\t\ts->types[i] = read_uint32(s->fd, offset);\n\n\t\toffset += 4;\n\n\t\tif(s->types[i]!=0x80000005 && s->types[i]!=1 && s->types[i]!=2) {\n\n\t\t if(s->types[i]==0xffffffff) {\n\n\t\t\tlast_in_offset = s->offsets[i-1]+s->lengths[i-1];\n\n\t\t\tlast_out_offset = s->sectors[i-1]+s->sectorcounts[i-1];\n\n\t\t }\n\n\t\t chunk_count--;\n\n\t\t i--;\n\n\t\t offset += 36;\n\n\t\t continue;\n\n\t\t}\n\n\t\toffset += 4;\n\n\n\n\t\ts->sectors[i] = last_out_offset+read_off(s->fd, offset);\n\n\t\toffset += 8;\n\n\n\n\t\ts->sectorcounts[i] = read_off(s->fd, offset);\n\n\t\toffset += 8;\n\n\n\n\t\ts->offsets[i] = last_in_offset+read_off(s->fd, offset);\n\n\t\toffset += 8;\n\n\n\n\t\ts->lengths[i] = read_off(s->fd, offset);\n\n\t\toffset += 8;\n\n\n\n\t\tif(s->lengths[i]>max_compressed_size)\n\n\t\t max_compressed_size = s->lengths[i];\n\n\t\tif(s->sectorcounts[i]>max_sectors_per_chunk)\n\n\t\t max_sectors_per_chunk = s->sectorcounts[i];\n\n\t }\n\n\t s->n_chunks+=chunk_count;\n\n\t}\n\n }\n\n\n\n /* initialize zlib engine */\n\n s->compressed_chunk = qemu_malloc(max_compressed_size+1);\n\n s->uncompressed_chunk = qemu_malloc(512*max_sectors_per_chunk);\n\n if(inflateInit(&s->zstream) != Z_OK)\n\n\tgoto fail;\n\n\n\n s->current_chunk = s->n_chunks;\n\n\n\n return 0;\n\nfail:\n\n close(s->fd);\n\n return -1;\n\n}\n", "idx": 5482}534{"project": "qemu", "commit_id": "df8bf7a7fe75eb5d5caffa55f5cd4292b757aea6", "target": 1, "func": "bool net_rx_pkt_is_vlan_stripped(struct NetRxPkt *pkt)\n\n{\n\n assert(pkt);\n\n\n\n return pkt->vlan_stripped;\n\n}\n", "idx": 5490}535{"project": "qemu", "commit_id": "0920a17199d23b3def3a60fa1fbbdeadcdda452d", "target": 1, "func": "static Visitor *validate_test_init_raw(TestInputVisitorData *data,\n\n const char *json_string)\n\n{\n\n Visitor *v;\n\n\n\n data->obj = qobject_from_json(json_string);\n\n g_assert(data->obj != NULL);\n\n\n\n data->qiv = qmp_input_visitor_new_strict(data->obj);\n\n g_assert(data->qiv != NULL);\n\n\n\n v = qmp_input_get_visitor(data->qiv);\n\n g_assert(v != NULL);\n\n\n\n return v;\n\n}\n", "idx": 5500}536{"project": "qemu", "commit_id": "660edd4eda903e32811a4929d1434cceda3284aa", "target": 1, "func": "static int connect_namedsocket(const char *path)\n\n{\n\n int sockfd, size;\n\n struct sockaddr_un helper;\n\n\n\n sockfd = socket(AF_UNIX, SOCK_STREAM, 0);\n\n if (sockfd < 0) {\n\n fprintf(stderr, \"socket %s\\n\", strerror(errno));\n\n return -1;\n\n }\n\n strcpy(helper.sun_path, path);\n\n helper.sun_family = AF_UNIX;\n\n size = strlen(helper.sun_path) + sizeof(helper.sun_family);\n\n if (connect(sockfd, (struct sockaddr *)&helper, size) < 0) {\n\n fprintf(stderr, \"socket error\\n\");\n\n\n return -1;\n\n }\n\n\n\n /* remove the socket for security reasons */\n\n unlink(path);\n\n return sockfd;\n\n}", "idx": 5508}537{"project": "qemu", "commit_id": "a1c3e4b839f8e7ec7f1792b8a11c63ca845aa021", "target": 1, "func": "static void ehci_mem_writel(void *ptr, target_phys_addr_t addr, uint32_t val)\n{\n EHCIState *s = ptr;\n uint32_t *mmio = (uint32_t *)(&s->mmio[addr]);\n uint32_t old = *mmio;\n int i;\n trace_usb_ehci_mmio_writel(addr, addr2str(addr), val);\n /* Only aligned reads are allowed on OHCI */\n if (addr & 3) {\n fprintf(stderr, \"usb-ehci: Mis-aligned write to addr 0x\"\n TARGET_FMT_plx \"\\n\", addr);\n return;\n if (addr >= PORTSC && addr < PORTSC + 4 * NB_PORTS) {\n handle_port_status_write(s, (addr-PORTSC)/4, val);\n trace_usb_ehci_mmio_change(addr, addr2str(addr), *mmio, old);\n return;\n if (addr < OPREGBASE) {\n fprintf(stderr, \"usb-ehci: write attempt to read-only register\"\n TARGET_FMT_plx \"\\n\", addr);\n return;\n /* Do any register specific pre-write processing here. */\n switch(addr) {\n case USBCMD:\n if (val & USBCMD_HCRESET) {\n ehci_reset(s);\n val = s->usbcmd;\n break;\n /* not supporting dynamic frame list size at the moment */\n if ((val & USBCMD_FLS) && !(s->usbcmd & USBCMD_FLS)) {\n fprintf(stderr, \"attempt to set frame list size -- value %d\\n\",\n val & USBCMD_FLS);\n val &= ~USBCMD_FLS;\n if (((USBCMD_RUNSTOP | USBCMD_PSE | USBCMD_ASE) & val) !=\n ((USBCMD_RUNSTOP | USBCMD_PSE | USBCMD_ASE) & s->usbcmd)) {\n if (s->pstate == EST_INACTIVE) {\n SET_LAST_RUN_CLOCK(s);\n s->usbcmd = val; /* Set usbcmd for ehci_update_halt() */\n ehci_update_halt(s);\n qemu_mod_timer(s->frame_timer, qemu_get_clock_ns(vm_clock));\n break;\n case USBSTS:\n val &= USBSTS_RO_MASK; // bits 6 through 31 are RO\n ehci_clear_usbsts(s, val); // bits 0 through 5 are R/WC\n val = s->usbsts;\n ehci_update_irq(s);\n break;\n case USBINTR:\n val &= USBINTR_MASK;\n break;\n case FRINDEX:\n val &= 0x00003ff8; /* frindex is 14bits and always a multiple of 8 */\n break;\n case CONFIGFLAG:\n val &= 0x1;\n if (val) {\n for(i = 0; i < NB_PORTS; i++)\n handle_port_owner_write(s, i, 0);\n break;\n case PERIODICLISTBASE:\n if (ehci_periodic_enabled(s)) {\n fprintf(stderr,\n \"ehci: PERIODIC list base register set while periodic schedule\\n\"\n \" is enabled and HC is enabled\\n\");\n break;\n case ASYNCLISTADDR:\n if (ehci_async_enabled(s)) {\n fprintf(stderr,\n \"ehci: ASYNC list address register set while async schedule\\n\"\n \" is enabled and HC is enabled\\n\");\n break;\n *mmio = val;\n trace_usb_ehci_mmio_change(addr, addr2str(addr), *mmio, old);", "idx": 5509}538{"project": "FFmpeg", "commit_id": "cf7d2f2d2134c0854edf2db91e7436ac2bc9874f", "target": 0, "func": "static av_cold int dnxhd_encode_init(AVCodecContext *avctx)\n\n{\n\n DNXHDEncContext *ctx = avctx->priv_data;\n\n int i, index, bit_depth, ret;\n\n\n\n switch (avctx->pix_fmt) {\n\n case AV_PIX_FMT_YUV422P:\n\n bit_depth = 8;\n\n break;\n\n case AV_PIX_FMT_YUV422P10:\n\n bit_depth = 10;\n\n break;\n\n default:\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"pixel format is incompatible with DNxHD\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n ctx->cid = ff_dnxhd_find_cid(avctx, bit_depth);\n\n if (!ctx->cid) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"video parameters incompatible with DNxHD\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n av_log(avctx, AV_LOG_DEBUG, \"cid %d\\n\", ctx->cid);\n\n\n\n index = ff_dnxhd_get_cid_table(ctx->cid);\n\n if (index < 0)\n\n return index;\n\n ctx->cid_table = &ff_dnxhd_cid_table[index];\n\n\n\n ctx->m.avctx = avctx;\n\n ctx->m.mb_intra = 1;\n\n ctx->m.h263_aic = 1;\n\n\n\n avctx->bits_per_raw_sample = ctx->cid_table->bit_depth;\n\n\n\n ff_blockdsp_init(&ctx->bdsp, avctx);\n\n ff_fdctdsp_init(&ctx->m.fdsp, avctx);\n\n ff_mpv_idct_init(&ctx->m);\n\n ff_mpegvideoencdsp_init(&ctx->m.mpvencdsp, avctx);\n\n ff_pixblockdsp_init(&ctx->m.pdsp, avctx);\n\n if (!ctx->m.dct_quantize)\n\n ctx->m.dct_quantize = ff_dct_quantize_c;\n\n\n\n if (ctx->cid_table->bit_depth == 10) {\n\n ctx->m.dct_quantize = dnxhd_10bit_dct_quantize;\n\n ctx->get_pixels_8x4_sym = dnxhd_10bit_get_pixels_8x4_sym;\n\n ctx->block_width_l2 = 4;\n\n } else {\n\n ctx->get_pixels_8x4_sym = dnxhd_8bit_get_pixels_8x4_sym;\n\n ctx->block_width_l2 = 3;\n\n }\n\n\n\n if (ARCH_X86)\n\n ff_dnxhdenc_init_x86(ctx);\n\n\n\n ctx->m.mb_height = (avctx->height + 15) / 16;\n\n ctx->m.mb_width = (avctx->width + 15) / 16;\n\n\n\n if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) {\n\n ctx->interlaced = 1;\n\n ctx->m.mb_height /= 2;\n\n }\n\n\n\n ctx->m.mb_num = ctx->m.mb_height * ctx->m.mb_width;\n\n\n\n#if FF_API_QUANT_BIAS\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n if (ctx->intra_quant_bias == FF_DEFAULT_QUANT_BIAS &&\n\n avctx->intra_quant_bias != FF_DEFAULT_QUANT_BIAS)\n\n ctx->intra_quant_bias = avctx->intra_quant_bias;\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n // XXX tune lbias/cbias\n\n if ((ret = dnxhd_init_qmat(ctx, ctx->intra_quant_bias, 0)) < 0)\n\n return ret;\n\n\n\n /* Avid Nitris hardware decoder requires a minimum amount of padding\n\n * in the coding unit payload */\n\n if (ctx->nitris_compat)\n\n ctx->min_padding = 1600;\n\n\n\n if ((ret = dnxhd_init_vlc(ctx)) < 0)\n\n return ret;\n\n if ((ret = dnxhd_init_rc(ctx)) < 0)\n\n return ret;\n\n\n\n FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->slice_size,\n\n ctx->m.mb_height * sizeof(uint32_t), fail);\n\n FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->slice_offs,\n\n ctx->m.mb_height * sizeof(uint32_t), fail);\n\n FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->mb_bits,\n\n ctx->m.mb_num * sizeof(uint16_t), fail);\n\n FF_ALLOCZ_OR_GOTO(ctx->m.avctx, ctx->mb_qscale,\n\n ctx->m.mb_num * sizeof(uint8_t), fail);\n\n\n\n#if FF_API_CODED_FRAME\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n avctx->coded_frame->key_frame = 1;\n\n avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n\n\n if (avctx->thread_count > MAX_THREADS) {\n\n av_log(avctx, AV_LOG_ERROR, \"too many threads\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n ctx->thread[0] = ctx;\n\n for (i = 1; i < avctx->thread_count; i++) {\n\n ctx->thread[i] = av_malloc(sizeof(DNXHDEncContext));\n\n memcpy(ctx->thread[i], ctx, sizeof(DNXHDEncContext));\n\n }\n\n\n\n return 0;\n\nfail: // for FF_ALLOCZ_OR_GOTO\n\n return AVERROR(ENOMEM);\n\n}\n", "idx": 5539}539{"project": "FFmpeg", "commit_id": "ccce723c6d0ea1ea89ea6c47160a07d37cdeeba2", "target": 0, "func": "static int vc1_decode_frame(AVCodecContext *avctx, void *data,\n\n int *data_size, AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size, n_slices = 0, i;\n\n VC1Context *v = avctx->priv_data;\n\n MpegEncContext *s = &v->s;\n\n AVFrame *pict = data;\n\n uint8_t *buf2 = NULL;\n\n const uint8_t *buf_start = buf, *buf_start_second_field = NULL;\n\n int mb_height, n_slices1=-1;\n\n struct {\n\n uint8_t *buf;\n\n GetBitContext gb;\n\n int mby_start;\n\n } *slices = NULL, *tmp;\n\n\n\n v->second_field = 0;\n\n\n\n if(s->flags & CODEC_FLAG_LOW_DELAY)\n\n s->low_delay = 1;\n\n\n\n /* no supplementary picture */\n\n if (buf_size == 0 || (buf_size == 4 && AV_RB32(buf) == VC1_CODE_ENDOFSEQ)) {\n\n /* special case for last picture */\n\n if (s->low_delay == 0 && s->next_picture_ptr) {\n\n *pict = s->next_picture_ptr->f;\n\n s->next_picture_ptr = NULL;\n\n\n\n *data_size = sizeof(AVFrame);\n\n }\n\n\n\n return buf_size;\n\n }\n\n\n\n if (s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU) {\n\n if (v->profile < PROFILE_ADVANCED)\n\n avctx->pix_fmt = AV_PIX_FMT_VDPAU_WMV3;\n\n else\n\n avctx->pix_fmt = AV_PIX_FMT_VDPAU_VC1;\n\n }\n\n\n\n //for advanced profile we may need to parse and unescape data\n\n if (avctx->codec_id == AV_CODEC_ID_VC1 || avctx->codec_id == AV_CODEC_ID_VC1IMAGE) {\n\n int buf_size2 = 0;\n\n buf2 = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);\n\n\n\n if (IS_MARKER(AV_RB32(buf))) { /* frame starts with marker and needs to be parsed */\n\n const uint8_t *start, *end, *next;\n\n int size;\n\n\n\n next = buf;\n\n for (start = buf, end = buf + buf_size; next < end; start = next) {\n\n next = find_next_marker(start + 4, end);\n\n size = next - start - 4;\n\n if (size <= 0) continue;\n\n switch (AV_RB32(start)) {\n\n case VC1_CODE_FRAME:\n\n if (avctx->hwaccel ||\n\n s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)\n\n buf_start = start;\n\n buf_size2 = vc1_unescape_buffer(start + 4, size, buf2);\n\n break;\n\n case VC1_CODE_FIELD: {\n\n int buf_size3;\n\n if (avctx->hwaccel ||\n\n s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)\n\n buf_start_second_field = start;\n\n tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1));\n\n if (!tmp)\n\n goto err;\n\n slices = tmp;\n\n slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);\n\n if (!slices[n_slices].buf)\n\n goto err;\n\n buf_size3 = vc1_unescape_buffer(start + 4, size,\n\n slices[n_slices].buf);\n\n init_get_bits(&slices[n_slices].gb, slices[n_slices].buf,\n\n buf_size3 << 3);\n\n /* assuming that the field marker is at the exact middle,\n\n hope it's correct */\n\n slices[n_slices].mby_start = s->mb_height >> 1;\n\n n_slices1 = n_slices - 1; // index of the last slice of the first field\n\n n_slices++;\n\n break;\n\n }\n\n case VC1_CODE_ENTRYPOINT: /* it should be before frame data */\n\n buf_size2 = vc1_unescape_buffer(start + 4, size, buf2);\n\n init_get_bits(&s->gb, buf2, buf_size2 * 8);\n\n ff_vc1_decode_entry_point(avctx, v, &s->gb);\n\n break;\n\n case VC1_CODE_SLICE: {\n\n int buf_size3;\n\n tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1));\n\n if (!tmp)\n\n goto err;\n\n slices = tmp;\n\n slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);\n\n if (!slices[n_slices].buf)\n\n goto err;\n\n buf_size3 = vc1_unescape_buffer(start + 4, size,\n\n slices[n_slices].buf);\n\n init_get_bits(&slices[n_slices].gb, slices[n_slices].buf,\n\n buf_size3 << 3);\n\n slices[n_slices].mby_start = get_bits(&slices[n_slices].gb, 9);\n\n n_slices++;\n\n break;\n\n }\n\n }\n\n }\n\n } else if (v->interlace && ((buf[0] & 0xC0) == 0xC0)) { /* WVC1 interlaced stores both fields divided by marker */\n\n const uint8_t *divider;\n\n int buf_size3;\n\n\n\n divider = find_next_marker(buf, buf + buf_size);\n\n if ((divider == (buf + buf_size)) || AV_RB32(divider) != VC1_CODE_FIELD) {\n\n av_log(avctx, AV_LOG_ERROR, \"Error in WVC1 interlaced frame\\n\");\n\n goto err;\n\n } else { // found field marker, unescape second field\n\n if (avctx->hwaccel ||\n\n s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)\n\n buf_start_second_field = divider;\n\n tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1));\n\n if (!tmp)\n\n goto err;\n\n slices = tmp;\n\n slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE);\n\n if (!slices[n_slices].buf)\n\n goto err;\n\n buf_size3 = vc1_unescape_buffer(divider + 4, buf + buf_size - divider - 4, slices[n_slices].buf);\n\n init_get_bits(&slices[n_slices].gb, slices[n_slices].buf,\n\n buf_size3 << 3);\n\n slices[n_slices].mby_start = s->mb_height >> 1;\n\n n_slices1 = n_slices - 1;\n\n n_slices++;\n\n }\n\n buf_size2 = vc1_unescape_buffer(buf, divider - buf, buf2);\n\n } else {\n\n buf_size2 = vc1_unescape_buffer(buf, buf_size, buf2);\n\n }\n\n init_get_bits(&s->gb, buf2, buf_size2*8);\n\n } else\n\n init_get_bits(&s->gb, buf, buf_size*8);\n\n\n\n if (v->res_sprite) {\n\n v->new_sprite = !get_bits1(&s->gb);\n\n v->two_sprites = get_bits1(&s->gb);\n\n /* res_sprite means a Windows Media Image stream, AV_CODEC_ID_*IMAGE means\n\n we're using the sprite compositor. These are intentionally kept separate\n\n so you can get the raw sprites by using the wmv3 decoder for WMVP or\n\n the vc1 one for WVP2 */\n\n if (avctx->codec_id == AV_CODEC_ID_WMV3IMAGE || avctx->codec_id == AV_CODEC_ID_VC1IMAGE) {\n\n if (v->new_sprite) {\n\n // switch AVCodecContext parameters to those of the sprites\n\n avctx->width = avctx->coded_width = v->sprite_width;\n\n avctx->height = avctx->coded_height = v->sprite_height;\n\n } else {\n\n goto image;\n\n }\n\n }\n\n }\n\n\n\n if (s->context_initialized &&\n\n (s->width != avctx->coded_width ||\n\n s->height != avctx->coded_height)) {\n\n ff_vc1_decode_end(avctx);\n\n }\n\n\n\n if (!s->context_initialized) {\n\n if (ff_msmpeg4_decode_init(avctx) < 0 || ff_vc1_decode_init_alloc_tables(v) < 0)\n\n goto err;\n\n\n\n s->low_delay = !avctx->has_b_frames || v->res_sprite;\n\n\n\n if (v->profile == PROFILE_ADVANCED) {\n\n s->h_edge_pos = avctx->coded_width;\n\n s->v_edge_pos = avctx->coded_height;\n\n }\n\n }\n\n\n\n /* We need to set current_picture_ptr before reading the header,\n\n * otherwise we cannot store anything in there. */\n\n if (s->current_picture_ptr == NULL || s->current_picture_ptr->f.data[0]) {\n\n int i = ff_find_unused_picture(s, 0);\n\n if (i < 0)\n\n goto err;\n\n s->current_picture_ptr = &s->picture[i];\n\n }\n\n\n\n // do parse frame header\n\n v->pic_header_flag = 0;\n\n if (v->profile < PROFILE_ADVANCED) {\n\n if (ff_vc1_parse_frame_header(v, &s->gb) < 0) {\n\n goto err;\n\n }\n\n } else {\n\n if (ff_vc1_parse_frame_header_adv(v, &s->gb) < 0) {\n\n goto err;\n\n }\n\n }\n\n\n\n if (avctx->debug & FF_DEBUG_PICT_INFO)\n\n av_log(v->s.avctx, AV_LOG_DEBUG, \"pict_type: %c\\n\", av_get_picture_type_char(s->pict_type));\n\n\n\n if ((avctx->codec_id == AV_CODEC_ID_WMV3IMAGE || avctx->codec_id == AV_CODEC_ID_VC1IMAGE)\n\n && s->pict_type != AV_PICTURE_TYPE_I) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Sprite decoder: expected I-frame\\n\");\n\n goto err;\n\n }\n\n\n\n if ((s->mb_height >> v->field_mode) == 0) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"image too short\\n\");\n\n goto err;\n\n }\n\n\n\n // process pulldown flags\n\n s->current_picture_ptr->f.repeat_pict = 0;\n\n // Pulldown flags are only valid when 'broadcast' has been set.\n\n // So ticks_per_frame will be 2\n\n if (v->rff) {\n\n // repeat field\n\n s->current_picture_ptr->f.repeat_pict = 1;\n\n } else if (v->rptfrm) {\n\n // repeat frames\n\n s->current_picture_ptr->f.repeat_pict = v->rptfrm * 2;\n\n }\n\n\n\n // for skipping the frame\n\n s->current_picture.f.pict_type = s->pict_type;\n\n s->current_picture.f.key_frame = s->pict_type == AV_PICTURE_TYPE_I;\n\n\n\n /* skip B-frames if we don't have reference frames */\n\n if (s->last_picture_ptr == NULL && (s->pict_type == AV_PICTURE_TYPE_B || s->dropable)) {\n\n goto err;\n\n }\n\n if ((avctx->skip_frame >= AVDISCARD_NONREF && s->pict_type == AV_PICTURE_TYPE_B) ||\n\n (avctx->skip_frame >= AVDISCARD_NONKEY && s->pict_type != AV_PICTURE_TYPE_I) ||\n\n avctx->skip_frame >= AVDISCARD_ALL) {\n\n goto end;\n\n }\n\n\n\n if (s->next_p_frame_damaged) {\n\n if (s->pict_type == AV_PICTURE_TYPE_B)\n\n goto end;\n\n else\n\n s->next_p_frame_damaged = 0;\n\n }\n\n\n\n if (ff_MPV_frame_start(s, avctx) < 0) {\n\n goto err;\n\n }\n\n\n\n v->s.current_picture_ptr->f.interlaced_frame = (v->fcm != PROGRESSIVE);\n\n v->s.current_picture_ptr->f.top_field_first = v->tff;\n\n\n\n s->me.qpel_put = s->dsp.put_qpel_pixels_tab;\n\n s->me.qpel_avg = s->dsp.avg_qpel_pixels_tab;\n\n\n\n if ((CONFIG_VC1_VDPAU_DECODER)\n\n &&s->avctx->codec->capabilities&CODEC_CAP_HWACCEL_VDPAU)\n\n ff_vdpau_vc1_decode_picture(s, buf_start, (buf + buf_size) - buf_start);\n\n else if (avctx->hwaccel) {\n\n if (v->field_mode && buf_start_second_field) {\n\n // decode first field\n\n s->picture_structure = PICT_BOTTOM_FIELD - v->tff;\n\n if (avctx->hwaccel->start_frame(avctx, buf_start, buf_start_second_field - buf_start) < 0)\n\n goto err;\n\n if (avctx->hwaccel->decode_slice(avctx, buf_start, buf_start_second_field - buf_start) < 0)\n\n goto err;\n\n if (avctx->hwaccel->end_frame(avctx) < 0)\n\n goto err;\n\n\n\n // decode second field\n\n s->gb = slices[n_slices1 + 1].gb;\n\n s->picture_structure = PICT_TOP_FIELD + v->tff;\n\n v->second_field = 1;\n\n v->pic_header_flag = 0;\n\n if (ff_vc1_parse_frame_header_adv(v, &s->gb) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"parsing header for second field failed\");\n\n goto err;\n\n }\n\n v->s.current_picture_ptr->f.pict_type = v->s.pict_type;\n\n\n\n if (avctx->hwaccel->start_frame(avctx, buf_start_second_field, (buf + buf_size) - buf_start_second_field) < 0)\n\n goto err;\n\n if (avctx->hwaccel->decode_slice(avctx, buf_start_second_field, (buf + buf_size) - buf_start_second_field) < 0)\n\n goto err;\n\n if (avctx->hwaccel->end_frame(avctx) < 0)\n\n goto err;\n\n } else {\n\n s->picture_structure = PICT_FRAME;\n\n if (avctx->hwaccel->start_frame(avctx, buf_start, (buf + buf_size) - buf_start) < 0)\n\n goto err;\n\n if (avctx->hwaccel->decode_slice(avctx, buf_start, (buf + buf_size) - buf_start) < 0)\n\n goto err;\n\n if (avctx->hwaccel->end_frame(avctx) < 0)\n\n goto err;\n\n }\n\n } else {\n\n if (v->fcm == ILACE_FRAME && s->pict_type == AV_PICTURE_TYPE_B)\n\n goto err; // This codepath is still incomplete thus it is disabled\n\n\n\n ff_er_frame_start(s);\n\n\n\n v->bits = buf_size * 8;\n\n v->end_mb_x = s->mb_width;\n\n if (v->field_mode) {\n\n uint8_t *tmp[2];\n\n s->current_picture.f.linesize[0] <<= 1;\n\n s->current_picture.f.linesize[1] <<= 1;\n\n s->current_picture.f.linesize[2] <<= 1;\n\n s->linesize <<= 1;\n\n s->uvlinesize <<= 1;\n\n tmp[0] = v->mv_f_last[0];\n\n tmp[1] = v->mv_f_last[1];\n\n v->mv_f_last[0] = v->mv_f_next[0];\n\n v->mv_f_last[1] = v->mv_f_next[1];\n\n v->mv_f_next[0] = v->mv_f[0];\n\n v->mv_f_next[1] = v->mv_f[1];\n\n v->mv_f[0] = tmp[0];\n\n v->mv_f[1] = tmp[1];\n\n }\n\n mb_height = s->mb_height >> v->field_mode;\n\n for (i = 0; i <= n_slices; i++) {\n\n if (i > 0 && slices[i - 1].mby_start >= mb_height) {\n\n if (v->field_mode <= 0) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Slice %d starts beyond \"\n\n \"picture boundary (%d >= %d)\\n\", i,\n\n slices[i - 1].mby_start, mb_height);\n\n continue;\n\n }\n\n v->second_field = 1;\n\n v->blocks_off = s->mb_width * s->mb_height << 1;\n\n v->mb_off = s->mb_stride * s->mb_height >> 1;\n\n } else {\n\n v->second_field = 0;\n\n v->blocks_off = 0;\n\n v->mb_off = 0;\n\n }\n\n if (i) {\n\n v->pic_header_flag = 0;\n\n if (v->field_mode && i == n_slices1 + 2) {\n\n if (ff_vc1_parse_frame_header_adv(v, &s->gb) < 0) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Field header damaged\\n\");\n\n continue;\n\n }\n\n } else if (get_bits1(&s->gb)) {\n\n v->pic_header_flag = 1;\n\n if (ff_vc1_parse_frame_header_adv(v, &s->gb) < 0) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Slice header damaged\\n\");\n\n continue;\n\n }\n\n }\n\n }\n\n s->start_mb_y = (i == 0) ? 0 : FFMAX(0, slices[i-1].mby_start % mb_height);\n\n if (!v->field_mode || v->second_field)\n\n s->end_mb_y = (i == n_slices ) ? mb_height : FFMIN(mb_height, slices[i].mby_start % mb_height);\n\n else\n\n s->end_mb_y = (i <= n_slices1 + 1) ? mb_height : FFMIN(mb_height, slices[i].mby_start % mb_height);\n\n if (s->end_mb_y <= s->start_mb_y) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"end mb y %d %d invalid\\n\", s->end_mb_y, s->start_mb_y);\n\n continue;\n\n }\n\n ff_vc1_decode_blocks(v);\n\n if (i != n_slices)\n\n s->gb = slices[i].gb;\n\n }\n\n if (v->field_mode) {\n\n v->second_field = 0;\n\n if (s->pict_type == AV_PICTURE_TYPE_B) {\n\n memcpy(v->mv_f_base, v->mv_f_next_base,\n\n 2 * (s->b8_stride * (s->mb_height * 2 + 1) + s->mb_stride * (s->mb_height + 1) * 2));\n\n }\n\n s->current_picture.f.linesize[0] >>= 1;\n\n s->current_picture.f.linesize[1] >>= 1;\n\n s->current_picture.f.linesize[2] >>= 1;\n\n s->linesize >>= 1;\n\n s->uvlinesize >>= 1;\n\n }\n\n av_dlog(s->avctx, \"Consumed %i/%i bits\\n\",\n\n get_bits_count(&s->gb), s->gb.size_in_bits);\n\n// if (get_bits_count(&s->gb) > buf_size * 8)\n\n// return -1;\n\n if(s->error_occurred && s->pict_type == AV_PICTURE_TYPE_B)\n\n goto err;\n\n if(!v->field_mode)\n\n ff_er_frame_end(s);\n\n }\n\n\n\n ff_MPV_frame_end(s);\n\n\n\n if (avctx->codec_id == AV_CODEC_ID_WMV3IMAGE || avctx->codec_id == AV_CODEC_ID_VC1IMAGE) {\n\nimage:\n\n avctx->width = avctx->coded_width = v->output_width;\n\n avctx->height = avctx->coded_height = v->output_height;\n\n if (avctx->skip_frame >= AVDISCARD_NONREF)\n\n goto end;\n\n#if CONFIG_WMV3IMAGE_DECODER || CONFIG_VC1IMAGE_DECODER\n\n if (vc1_decode_sprites(v, &s->gb))\n\n goto err;\n\n#endif\n\n *pict = v->sprite_output_frame;\n\n *data_size = sizeof(AVFrame);\n\n } else {\n\n if (s->pict_type == AV_PICTURE_TYPE_B || s->low_delay) {\n\n *pict = s->current_picture_ptr->f;\n\n } else if (s->last_picture_ptr != NULL) {\n\n *pict = s->last_picture_ptr->f;\n\n }\n\n if (s->last_picture_ptr || s->low_delay) {\n\n *data_size = sizeof(AVFrame);\n\n ff_print_debug_info(s, pict);\n\n }\n\n }\n\n\n\nend:\n\n av_free(buf2);\n\n for (i = 0; i < n_slices; i++)\n\n av_free(slices[i].buf);\n\n av_free(slices);\n\n return buf_size;\n\n\n\nerr:\n\n av_free(buf2);\n\n for (i = 0; i < n_slices; i++)\n\n av_free(slices[i].buf);\n\n av_free(slices);\n\n return -1;\n\n}\n", "idx": 5567}540{"project": "qemu", "commit_id": "b85114f8cfbede8b153db68875973ef0790bf296", "target": 0, "func": "void blk_apply_root_state(BlockBackend *blk, BlockDriverState *bs)\n\n{\n\n bs->detect_zeroes = blk->root_state.detect_zeroes;\n\n}\n", "idx": 5581}541{"project": "qemu", "commit_id": "42119fa3568dc7e8c82447c861678a5987d06d91", "target": 0, "func": "vcard_emul_mirror_card(VReader *vreader)\n\n{\n\n /*\n\n * lookup certs using the C_FindObjects. The Stan Cert handle won't give\n\n * us the real certs until we log in.\n\n */\n\n PK11GenericObject *firstObj, *thisObj;\n\n int cert_count;\n\n unsigned char **certs;\n\n int *cert_len;\n\n VCardKey **keys;\n\n PK11SlotInfo *slot;\n\n VCard *card;\n\n\n\n slot = vcard_emul_reader_get_slot(vreader);\n\n if (slot == NULL) {\n\n return NULL;\n\n }\n\n\n\n firstObj = PK11_FindGenericObjects(slot, CKO_CERTIFICATE);\n\n if (firstObj == NULL) {\n\n return NULL;\n\n }\n\n\n\n /* count the certs */\n\n cert_count = 0;\n\n for (thisObj = firstObj; thisObj;\n\n thisObj = PK11_GetNextGenericObject(thisObj)) {\n\n cert_count++;\n\n }\n\n\n\n if (cert_count == 0) {\n\n PK11_DestroyGenericObjects(firstObj);\n\n return NULL;\n\n }\n\n\n\n /* allocate the arrays */\n\n vcard_emul_alloc_arrays(&certs, &cert_len, &keys, cert_count);\n\n\n\n /* fill in the arrays */\n\n cert_count = 0;\n\n for (thisObj = firstObj; thisObj;\n\n thisObj = PK11_GetNextGenericObject(thisObj)) {\n\n SECItem derCert;\n\n CERTCertificate *cert;\n\n SECStatus rv;\n\n\n\n rv = PK11_ReadRawAttribute(PK11_TypeGeneric, thisObj,\n\n CKA_VALUE, &derCert);\n\n if (rv != SECSuccess) {\n\n continue;\n\n }\n\n /* create floating temp cert. This gives us a cert structure even if\n\n * the token isn't logged in */\n\n cert = CERT_NewTempCertificate(CERT_GetDefaultCertDB(), &derCert,\n\n NULL, PR_FALSE, PR_TRUE);\n\n SECITEM_FreeItem(&derCert, PR_FALSE);\n\n if (cert == NULL) {\n\n continue;\n\n }\n\n\n\n certs[cert_count] = cert->derCert.data;\n\n cert_len[cert_count] = cert->derCert.len;\n\n keys[cert_count] = vcard_emul_make_key(slot, cert);\n\n cert_count++;\n\n CERT_DestroyCertificate(cert); /* key obj still has a reference */\n\n }\n\n\n\n /* now create the card */\n\n card = vcard_emul_make_card(vreader, certs, cert_len, keys, cert_count);\n\n g_free(certs);\n\n g_free(cert_len);\n\n g_free(keys);\n\n\n\n return card;\n\n}\n", "idx": 5582}542{"project": "qemu", "commit_id": "9be385980d37e8f4fd33f605f5fb1c3d144170a8", "target": 0, "func": "static uint64_t megasas_fw_time(void)\n\n{\n\n struct tm curtime;\n\n uint64_t bcd_time;\n\n\n\n qemu_get_timedate(&curtime, 0);\n\n bcd_time = ((uint64_t)curtime.tm_sec & 0xff) << 48 |\n\n ((uint64_t)curtime.tm_min & 0xff) << 40 |\n\n ((uint64_t)curtime.tm_hour & 0xff) << 32 |\n\n ((uint64_t)curtime.tm_mday & 0xff) << 24 |\n\n ((uint64_t)curtime.tm_mon & 0xff) << 16 |\n\n ((uint64_t)(curtime.tm_year + 1900) & 0xffff);\n\n\n\n return bcd_time;\n\n}\n", "idx": 5587}543{"project": "qemu", "commit_id": "107e4b352cc309f9bd7588ef1a44549200620078", "target": 1, "func": "static OfDpaFlow *of_dpa_flow_alloc(uint64_t cookie)\n\n{\n\n OfDpaFlow *flow;\n\n int64_t now = qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL) / 1000;\n\n\n\n flow = g_new0(OfDpaFlow, 1);\n\n if (!flow) {\n\n return NULL;\n\n }\n\n\n\n flow->cookie = cookie;\n\n flow->mask.tbl_id = 0xffffffff;\n\n\n\n flow->stats.install_time = flow->stats.refresh_time = now;\n\n\n\n return flow;\n\n}\n", "idx": 5607}544{"project": "FFmpeg", "commit_id": "fc9b22dd2e5de851a89245b5357e710b93587278", "target": 0, "func": "static int rtp_open(URLContext *h, const char *uri, int flags)\n\n{\n\n RTPContext *s;\n\n int port, is_output, ttl, local_port;\n\n char hostname[256];\n\n char buf[1024];\n\n char path[1024];\n\n const char *p;\n\n\n\n is_output = (flags & URL_WRONLY);\n\n\n\n s = av_mallocz(sizeof(RTPContext));\n\n if (!s)\n\n return AVERROR(ENOMEM);\n\n h->priv_data = s;\n\n\n\n url_split(NULL, 0, NULL, 0, hostname, sizeof(hostname), &port,\n\n path, sizeof(path), uri);\n\n /* extract parameters */\n\n ttl = -1;\n\n local_port = -1;\n\n p = strchr(uri, '?');\n\n if (p) {\n\n if (find_info_tag(buf, sizeof(buf), \"ttl\", p)) {\n\n ttl = strtol(buf, NULL, 10);\n\n }\n\n if (find_info_tag(buf, sizeof(buf), \"localport\", p)) {\n\n local_port = strtol(buf, NULL, 10);\n\n }\n\n }\n\n\n\n build_udp_url(buf, sizeof(buf),\n\n hostname, port, local_port, ttl);\n\n if (url_open(&s->rtp_hd, buf, flags) < 0)\n\n goto fail;\n\n local_port = udp_get_local_port(s->rtp_hd);\n\n /* XXX: need to open another connection if the port is not even */\n\n\n\n /* well, should suppress localport in path */\n\n\n\n build_udp_url(buf, sizeof(buf),\n\n hostname, port + 1, local_port + 1, ttl);\n\n if (url_open(&s->rtcp_hd, buf, flags) < 0)\n\n goto fail;\n\n\n\n /* just to ease handle access. XXX: need to suppress direct handle\n\n access */\n\n s->rtp_fd = udp_get_file_handle(s->rtp_hd);\n\n s->rtcp_fd = udp_get_file_handle(s->rtcp_hd);\n\n\n\n h->max_packet_size = url_get_max_packet_size(s->rtp_hd);\n\n h->is_streamed = 1;\n\n return 0;\n\n\n\n fail:\n\n if (s->rtp_hd)\n\n url_close(s->rtp_hd);\n\n if (s->rtcp_hd)\n\n url_close(s->rtcp_hd);\n\n av_free(s);\n\n return AVERROR(EIO);\n\n}\n", "idx": 5617}545{"project": "FFmpeg", "commit_id": "01ecb7172b684f1c4b3e748f95c5a9a494ca36ec", "target": 1, "func": "static float get_band_cost_UPAIR7_mips(struct AACEncContext *s,\n\n PutBitContext *pb, const float *in,\n\n const float *scaled, int size, int scale_idx,\n\n int cb, const float lambda, const float uplim,\n\n int *bits)\n\n{\n\n const float Q34 = ff_aac_pow34sf_tab[POW_SF2_ZERO - scale_idx + SCALE_ONE_POS - SCALE_DIV_512];\n\n const float IQ = ff_aac_pow2sf_tab [POW_SF2_ZERO + scale_idx - SCALE_ONE_POS + SCALE_DIV_512];\n\n int i;\n\n float cost = 0;\n\n int qc1, qc2, qc3, qc4;\n\n int curbits = 0;\n\n\n\n uint8_t *p_bits = (uint8_t *)ff_aac_spectral_bits[cb-1];\n\n float *p_codes = (float *)ff_aac_codebook_vectors[cb-1];\n\n\n\n for (i = 0; i < size; i += 4) {\n\n const float *vec, *vec2;\n\n int curidx, curidx2, sign1, count1, sign2, count2;\n\n int *in_int = (int *)&in[i];\n\n float *in_pos = (float *)&in[i];\n\n float di0, di1, di2, di3;\n\n int t0, t1, t2, t3, t4;\n\n\n\n qc1 = scaled[i ] * Q34 + ROUND_STANDARD;\n\n qc2 = scaled[i+1] * Q34 + ROUND_STANDARD;\n\n qc3 = scaled[i+2] * Q34 + ROUND_STANDARD;\n\n qc4 = scaled[i+3] * Q34 + ROUND_STANDARD;\n\n\n\n __asm__ volatile (\n\n \".set push \\n\\t\"\n\n \".set noreorder \\n\\t\"\n\n\n\n \"ori %[t4], $zero, 7 \\n\\t\"\n\n \"ori %[sign1], $zero, 0 \\n\\t\"\n\n \"ori %[sign2], $zero, 0 \\n\\t\"\n\n \"slt %[t0], %[t4], %[qc1] \\n\\t\"\n\n \"slt %[t1], %[t4], %[qc2] \\n\\t\"\n\n \"slt %[t2], %[t4], %[qc3] \\n\\t\"\n\n \"slt %[t3], %[t4], %[qc4] \\n\\t\"\n\n \"movn %[qc1], %[t4], %[t0] \\n\\t\"\n\n \"movn %[qc2], %[t4], %[t1] \\n\\t\"\n\n \"movn %[qc3], %[t4], %[t2] \\n\\t\"\n\n \"movn %[qc4], %[t4], %[t3] \\n\\t\"\n\n \"lw %[t0], 0(%[in_int]) \\n\\t\"\n\n \"lw %[t1], 4(%[in_int]) \\n\\t\"\n\n \"lw %[t2], 8(%[in_int]) \\n\\t\"\n\n \"lw %[t3], 12(%[in_int]) \\n\\t\"\n\n \"slt %[t0], %[t0], $zero \\n\\t\"\n\n \"movn %[sign1], %[t0], %[qc1] \\n\\t\"\n\n \"slt %[t2], %[t2], $zero \\n\\t\"\n\n \"movn %[sign2], %[t2], %[qc3] \\n\\t\"\n\n \"slt %[t1], %[t1], $zero \\n\\t\"\n\n \"sll %[t0], %[sign1], 1 \\n\\t\"\n\n \"or %[t0], %[t0], %[t1] \\n\\t\"\n\n \"movn %[sign1], %[t0], %[qc2] \\n\\t\"\n\n \"slt %[t3], %[t3], $zero \\n\\t\"\n\n \"sll %[t0], %[sign2], 1 \\n\\t\"\n\n \"or %[t0], %[t0], %[t3] \\n\\t\"\n\n \"movn %[sign2], %[t0], %[qc4] \\n\\t\"\n\n \"slt %[count1], $zero, %[qc1] \\n\\t\"\n\n \"slt %[t1], $zero, %[qc2] \\n\\t\"\n\n \"slt %[count2], $zero, %[qc3] \\n\\t\"\n\n \"slt %[t2], $zero, %[qc4] \\n\\t\"\n\n \"addu %[count1], %[count1], %[t1] \\n\\t\"\n\n \"addu %[count2], %[count2], %[t2] \\n\\t\"\n\n\n\n \".set pop \\n\\t\"\n\n\n\n : [qc1]\"+r\"(qc1), [qc2]\"+r\"(qc2),\n\n [qc3]\"+r\"(qc3), [qc4]\"+r\"(qc4),\n\n [sign1]\"=&r\"(sign1), [count1]\"=&r\"(count1),\n\n [sign2]\"=&r\"(sign2), [count2]\"=&r\"(count2),\n\n [t0]\"=&r\"(t0), [t1]\"=&r\"(t1), [t2]\"=&r\"(t2), [t3]\"=&r\"(t3),\n\n [t4]\"=&r\"(t4)\n\n : [in_int]\"r\"(in_int)\n\n : \"memory\"\n\n );\n\n\n\n curidx = 8 * qc1;\n\n curidx += qc2;\n\n\n\n curidx2 = 8 * qc3;\n\n curidx2 += qc4;\n\n\n\n curbits += p_bits[curidx];\n\n curbits += upair7_sign_bits[curidx];\n\n vec = &p_codes[curidx*2];\n\n\n\n curbits += p_bits[curidx2];\n\n curbits += upair7_sign_bits[curidx2];\n\n vec2 = &p_codes[curidx2*2];\n\n\n\n __asm__ volatile (\n\n \".set push \\n\\t\"\n\n \".set noreorder \\n\\t\"\n\n\n\n \"lwc1 %[di0], 0(%[in_pos]) \\n\\t\"\n\n \"lwc1 %[di1], 4(%[in_pos]) \\n\\t\"\n\n \"lwc1 %[di2], 8(%[in_pos]) \\n\\t\"\n\n \"lwc1 %[di3], 12(%[in_pos]) \\n\\t\"\n\n \"abs.s %[di0], %[di0] \\n\\t\"\n\n \"abs.s %[di1], %[di1] \\n\\t\"\n\n \"abs.s %[di2], %[di2] \\n\\t\"\n\n \"abs.s %[di3], %[di3] \\n\\t\"\n\n \"lwc1 $f0, 0(%[vec]) \\n\\t\"\n\n \"lwc1 $f1, 4(%[vec]) \\n\\t\"\n\n \"lwc1 $f2, 0(%[vec2]) \\n\\t\"\n\n \"lwc1 $f3, 4(%[vec2]) \\n\\t\"\n\n \"nmsub.s %[di0], %[di0], $f0, %[IQ] \\n\\t\"\n\n \"nmsub.s %[di1], %[di1], $f1, %[IQ] \\n\\t\"\n\n \"nmsub.s %[di2], %[di2], $f2, %[IQ] \\n\\t\"\n\n \"nmsub.s %[di3], %[di3], $f3, %[IQ] \\n\\t\"\n\n\n\n \".set pop \\n\\t\"\n\n\n\n : [di0]\"=&f\"(di0), [di1]\"=&f\"(di1),\n\n [di2]\"=&f\"(di2), [di3]\"=&f\"(di3)\n\n : [in_pos]\"r\"(in_pos), [vec]\"r\"(vec),\n\n [vec2]\"r\"(vec2), [IQ]\"f\"(IQ)\n\n : \"$f0\", \"$f1\", \"$f2\", \"$f3\",\n\n \"memory\"\n\n );\n\n\n\n cost += di0 * di0 + di1 * di1\n\n + di2 * di2 + di3 * di3;\n\n }\n\n\n\n if (bits)\n\n *bits = curbits;\n\n return cost * lambda + curbits;\n\n}\n", "idx": 5621}546{"project": "qemu", "commit_id": "c1990ebfa11265d3aa9b6a4d5d1a02bd3f9ac5c6", "target": 1, "func": "QObject *json_parser_parse_err(QList *tokens, va_list *ap, Error **errp)\n\n{\n\n JSONParserContext ctxt = {};\n\n QList *working = qlist_copy(tokens);\n\n QObject *result;\n\n\n\n result = parse_value(&ctxt, &working, ap);\n\n\n\n QDECREF(working);\n\n\n\n error_propagate(errp, ctxt.err);\n\n\n\n return result;\n\n}\n", "idx": 5624}547{"project": "qemu", "commit_id": "6817efea3a0d1bf87be815970cdb014c5a64b628", "target": 1, "func": "static int init_directories(BDRVVVFATState* s,\n\n const char *dirname, int heads, int secs,\n\n Error **errp)\n\n{\n\n bootsector_t* bootsector;\n\n mapping_t* mapping;\n\n unsigned int i;\n\n unsigned int cluster;\n\n\n\n memset(&(s->first_sectors[0]),0,0x40*0x200);\n\n\n\n s->cluster_size=s->sectors_per_cluster*0x200;\n\n s->cluster_buffer=g_malloc(s->cluster_size);\n\n\n\n /*\n\n * The formula: sc = spf+1+spf*spc*(512*8/fat_type),\n\n * where sc is sector_count,\n\n * spf is sectors_per_fat,\n\n * spc is sectors_per_clusters, and\n\n * fat_type = 12, 16 or 32.\n\n */\n\n i = 1+s->sectors_per_cluster*0x200*8/s->fat_type;\n\n s->sectors_per_fat=(s->sector_count+i)/i; /* round up */\n\n\n\n s->offset_to_fat = s->offset_to_bootsector + 1;\n\n s->offset_to_root_dir = s->offset_to_fat + s->sectors_per_fat * 2;\n\n\n\n array_init(&(s->mapping),sizeof(mapping_t));\n\n array_init(&(s->directory),sizeof(direntry_t));\n\n\n\n /* add volume label */\n\n {\n\n direntry_t* entry=array_get_next(&(s->directory));\n\n entry->attributes=0x28; /* archive | volume label */\n\n memcpy(entry->name, s->volume_label, sizeof(entry->name));\n\n }\n\n\n\n /* Now build FAT, and write back information into directory */\n\n init_fat(s);\n\n\n\n s->cluster_count=sector2cluster(s, s->sector_count);\n\n\n\n mapping = array_get_next(&(s->mapping));\n\n mapping->begin = 0;\n\n mapping->dir_index = 0;\n\n mapping->info.dir.parent_mapping_index = -1;\n\n mapping->first_mapping_index = -1;\n\n mapping->path = g_strdup(dirname);\n\n i = strlen(mapping->path);\n\n if (i > 0 && mapping->path[i - 1] == '/')\n\n mapping->path[i - 1] = '\\0';\n\n mapping->mode = MODE_DIRECTORY;\n\n mapping->read_only = 0;\n\n s->path = mapping->path;\n\n\n\n for (i = 0, cluster = 0; i < s->mapping.next; i++) {\n\n /* MS-DOS expects the FAT to be 0 for the root directory\n\n * (except for the media byte). */\n\n /* LATER TODO: still true for FAT32? */\n\n int fix_fat = (i != 0);\n\n mapping = array_get(&(s->mapping), i);\n\n\n\n if (mapping->mode & MODE_DIRECTORY) {\n\n mapping->begin = cluster;\n\n if(read_directory(s, i)) {\n\n error_setg(errp, \"Could not read directory %s\",\n\n mapping->path);\n\n return -1;\n\n }\n\n mapping = array_get(&(s->mapping), i);\n\n } else {\n\n assert(mapping->mode == MODE_UNDEFINED);\n\n mapping->mode=MODE_NORMAL;\n\n mapping->begin = cluster;\n\n if (mapping->end > 0) {\n\n direntry_t* direntry = array_get(&(s->directory),\n\n mapping->dir_index);\n\n\n\n mapping->end = cluster + 1 + (mapping->end-1)/s->cluster_size;\n\n set_begin_of_direntry(direntry, mapping->begin);\n\n } else {\n\n mapping->end = cluster + 1;\n\n fix_fat = 0;\n\n }\n\n }\n\n\n\n assert(mapping->begin < mapping->end);\n\n\n\n /* next free cluster */\n\n cluster = mapping->end;\n\n\n\n if(cluster > s->cluster_count) {\n\n error_setg(errp,\n\n \"Directory does not fit in FAT%d (capacity %.2f MB)\",\n\n s->fat_type, s->sector_count / 2000.0);\n\n return -1;\n\n }\n\n\n\n /* fix fat for entry */\n\n if (fix_fat) {\n\n int j;\n\n for(j = mapping->begin; j < mapping->end - 1; j++)\n\n fat_set(s, j, j+1);\n\n fat_set(s, mapping->end - 1, s->max_fat_value);\n\n }\n\n }\n\n\n\n mapping = array_get(&(s->mapping), 0);\n\n s->sectors_of_root_directory = mapping->end * s->sectors_per_cluster;\n\n s->last_cluster_of_root_directory = mapping->end;\n\n\n\n /* the FAT signature */\n\n fat_set(s,0,s->max_fat_value);\n\n fat_set(s,1,s->max_fat_value);\n\n\n\n s->current_mapping = NULL;\n\n\n\n bootsector = (bootsector_t *)(s->first_sectors\n\n + s->offset_to_bootsector * 0x200);\n\n bootsector->jump[0]=0xeb;\n\n bootsector->jump[1]=0x3e;\n\n bootsector->jump[2]=0x90;\n\n memcpy(bootsector->name,\"QEMU \",8);\n\n bootsector->sector_size=cpu_to_le16(0x200);\n\n bootsector->sectors_per_cluster=s->sectors_per_cluster;\n\n bootsector->reserved_sectors=cpu_to_le16(1);\n\n bootsector->number_of_fats=0x2; /* number of FATs */\n\n bootsector->root_entries=cpu_to_le16(s->sectors_of_root_directory*0x10);\n\n bootsector->total_sectors16=s->sector_count>0xffff?0:cpu_to_le16(s->sector_count);\n\n /* media descriptor: hard disk=0xf8, floppy=0xf0 */\n\n bootsector->media_type = (s->offset_to_bootsector > 0 ? 0xf8 : 0xf0);\n\n s->fat.pointer[0] = bootsector->media_type;\n\n bootsector->sectors_per_fat=cpu_to_le16(s->sectors_per_fat);\n\n bootsector->sectors_per_track = cpu_to_le16(secs);\n\n bootsector->number_of_heads = cpu_to_le16(heads);\n\n bootsector->hidden_sectors = cpu_to_le32(s->offset_to_bootsector);\n\n bootsector->total_sectors=cpu_to_le32(s->sector_count>0xffff?s->sector_count:0);\n\n\n\n /* LATER TODO: if FAT32, this is wrong */\n\n /* drive_number: fda=0, hda=0x80 */\n\n bootsector->u.fat16.drive_number = s->offset_to_bootsector == 0 ? 0 : 0x80;\n\n bootsector->u.fat16.signature=0x29;\n\n bootsector->u.fat16.id=cpu_to_le32(0xfabe1afd);\n\n\n\n memcpy(bootsector->u.fat16.volume_label, s->volume_label,\n\n sizeof(bootsector->u.fat16.volume_label));\n\n memcpy(bootsector->u.fat16.fat_type,\n\n s->fat_type == 12 ? \"FAT12 \" : \"FAT16 \", 8);\n\n bootsector->magic[0]=0x55; bootsector->magic[1]=0xaa;\n\n\n\n return 0;\n\n}\n", "idx": 5630}548{"project": "qemu", "commit_id": "e1f8c729fa890c67bb4532f22c22ace6fb0e1aaf", "target": 0, "func": "void pxa25x_timer_init(target_phys_addr_t base, qemu_irq *irqs)\n\n{\n\n pxa2xx_timer_info *s = pxa2xx_timer_init(base, irqs);\n\n s->freq = PXA25X_FREQ;\n\n s->tm4 = NULL;\n\n}\n", "idx": 5646}549{"project": "qemu", "commit_id": "0919ac787641db11024912651f3bc5764d4f1286", "target": 0, "func": "struct omap_mpu_state_s *omap2420_mpu_init(unsigned long sdram_size,\n\n const char *core)\n\n{\n\n struct omap_mpu_state_s *s = (struct omap_mpu_state_s *)\n\n g_malloc0(sizeof(struct omap_mpu_state_s));\n\n ram_addr_t sram_base, q2_base;\n\n qemu_irq *cpu_irq;\n\n qemu_irq dma_irqs[4];\n\n DriveInfo *dinfo;\n\n int i;\n\n SysBusDevice *busdev;\n\n struct omap_target_agent_s *ta;\n\n\n\n /* Core */\n\n s->mpu_model = omap2420;\n\n s->env = cpu_init(core ?: \"arm1136-r2\");\n\n if (!s->env) {\n\n fprintf(stderr, \"Unable to find CPU definition\\n\");\n\n exit(1);\n\n }\n\n s->sdram_size = sdram_size;\n\n s->sram_size = OMAP242X_SRAM_SIZE;\n\n\n\n s->wakeup = qemu_allocate_irqs(omap_mpu_wakeup, s, 1)[0];\n\n\n\n /* Clocks */\n\n omap_clk_init(s);\n\n\n\n /* Memory-mapped stuff */\n\n cpu_register_physical_memory(OMAP2_Q2_BASE, s->sdram_size,\n\n (q2_base = qemu_ram_alloc(NULL, \"omap2.dram\",\n\n s->sdram_size)) | IO_MEM_RAM);\n\n cpu_register_physical_memory(OMAP2_SRAM_BASE, s->sram_size,\n\n (sram_base = qemu_ram_alloc(NULL, \"omap2.sram\",\n\n s->sram_size)) | IO_MEM_RAM);\n\n\n\n s->l4 = omap_l4_init(OMAP2_L4_BASE, 54);\n\n\n\n /* Actually mapped at any 2K boundary in the ARM11 private-peripheral if */\n\n cpu_irq = arm_pic_init_cpu(s->env);\n\n s->ih[0] = omap2_inth_init(0x480fe000, 0x1000, 3, &s->irq[0],\n\n cpu_irq[ARM_PIC_CPU_IRQ], cpu_irq[ARM_PIC_CPU_FIQ],\n\n omap_findclk(s, \"mpu_intc_fclk\"),\n\n omap_findclk(s, \"mpu_intc_iclk\"));\n\n\n\n s->prcm = omap_prcm_init(omap_l4tao(s->l4, 3),\n\n s->irq[0][OMAP_INT_24XX_PRCM_MPU_IRQ], NULL, NULL, s);\n\n\n\n s->sysc = omap_sysctl_init(omap_l4tao(s->l4, 1),\n\n omap_findclk(s, \"omapctrl_iclk\"), s);\n\n\n\n for (i = 0; i < 4; i ++)\n\n dma_irqs[i] =\n\n s->irq[omap2_dma_irq_map[i].ih][omap2_dma_irq_map[i].intr];\n\n s->dma = omap_dma4_init(0x48056000, dma_irqs, s, 256, 32,\n\n omap_findclk(s, \"sdma_iclk\"),\n\n omap_findclk(s, \"sdma_fclk\"));\n\n s->port->addr_valid = omap2_validate_addr;\n\n\n\n /* Register SDRAM and SRAM ports for fast DMA transfers. */\n\n soc_dma_port_add_mem(s->dma, qemu_get_ram_ptr(q2_base),\n\n OMAP2_Q2_BASE, s->sdram_size);\n\n soc_dma_port_add_mem(s->dma, qemu_get_ram_ptr(sram_base),\n\n OMAP2_SRAM_BASE, s->sram_size);\n\n\n\n s->uart[0] = omap2_uart_init(omap_l4ta(s->l4, 19),\n\n s->irq[0][OMAP_INT_24XX_UART1_IRQ],\n\n omap_findclk(s, \"uart1_fclk\"),\n\n omap_findclk(s, \"uart1_iclk\"),\n\n s->drq[OMAP24XX_DMA_UART1_TX],\n\n s->drq[OMAP24XX_DMA_UART1_RX],\n\n \"uart1\",\n\n serial_hds[0]);\n\n s->uart[1] = omap2_uart_init(omap_l4ta(s->l4, 20),\n\n s->irq[0][OMAP_INT_24XX_UART2_IRQ],\n\n omap_findclk(s, \"uart2_fclk\"),\n\n omap_findclk(s, \"uart2_iclk\"),\n\n s->drq[OMAP24XX_DMA_UART2_TX],\n\n s->drq[OMAP24XX_DMA_UART2_RX],\n\n \"uart2\",\n\n serial_hds[0] ? serial_hds[1] : NULL);\n\n s->uart[2] = omap2_uart_init(omap_l4ta(s->l4, 21),\n\n s->irq[0][OMAP_INT_24XX_UART3_IRQ],\n\n omap_findclk(s, \"uart3_fclk\"),\n\n omap_findclk(s, \"uart3_iclk\"),\n\n s->drq[OMAP24XX_DMA_UART3_TX],\n\n s->drq[OMAP24XX_DMA_UART3_RX],\n\n \"uart3\",\n\n serial_hds[0] && serial_hds[1] ? serial_hds[2] : NULL);\n\n\n\n s->gptimer[0] = omap_gp_timer_init(omap_l4ta(s->l4, 7),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER1],\n\n omap_findclk(s, \"wu_gpt1_clk\"),\n\n omap_findclk(s, \"wu_l4_iclk\"));\n\n s->gptimer[1] = omap_gp_timer_init(omap_l4ta(s->l4, 8),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER2],\n\n omap_findclk(s, \"core_gpt2_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[2] = omap_gp_timer_init(omap_l4ta(s->l4, 22),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER3],\n\n omap_findclk(s, \"core_gpt3_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[3] = omap_gp_timer_init(omap_l4ta(s->l4, 23),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER4],\n\n omap_findclk(s, \"core_gpt4_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[4] = omap_gp_timer_init(omap_l4ta(s->l4, 24),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER5],\n\n omap_findclk(s, \"core_gpt5_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[5] = omap_gp_timer_init(omap_l4ta(s->l4, 25),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER6],\n\n omap_findclk(s, \"core_gpt6_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[6] = omap_gp_timer_init(omap_l4ta(s->l4, 26),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER7],\n\n omap_findclk(s, \"core_gpt7_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[7] = omap_gp_timer_init(omap_l4ta(s->l4, 27),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER8],\n\n omap_findclk(s, \"core_gpt8_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[8] = omap_gp_timer_init(omap_l4ta(s->l4, 28),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER9],\n\n omap_findclk(s, \"core_gpt9_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[9] = omap_gp_timer_init(omap_l4ta(s->l4, 29),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER10],\n\n omap_findclk(s, \"core_gpt10_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[10] = omap_gp_timer_init(omap_l4ta(s->l4, 30),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER11],\n\n omap_findclk(s, \"core_gpt11_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n s->gptimer[11] = omap_gp_timer_init(omap_l4ta(s->l4, 31),\n\n s->irq[0][OMAP_INT_24XX_GPTIMER12],\n\n omap_findclk(s, \"core_gpt12_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n\n\n omap_tap_init(omap_l4ta(s->l4, 2), s);\n\n\n\n s->synctimer = omap_synctimer_init(omap_l4tao(s->l4, 2), s,\n\n omap_findclk(s, \"clk32-kHz\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n\n\n s->i2c[0] = omap2_i2c_init(omap_l4tao(s->l4, 5),\n\n s->irq[0][OMAP_INT_24XX_I2C1_IRQ],\n\n &s->drq[OMAP24XX_DMA_I2C1_TX],\n\n omap_findclk(s, \"i2c1.fclk\"),\n\n omap_findclk(s, \"i2c1.iclk\"));\n\n s->i2c[1] = omap2_i2c_init(omap_l4tao(s->l4, 6),\n\n s->irq[0][OMAP_INT_24XX_I2C2_IRQ],\n\n &s->drq[OMAP24XX_DMA_I2C2_TX],\n\n omap_findclk(s, \"i2c2.fclk\"),\n\n omap_findclk(s, \"i2c2.iclk\"));\n\n\n\n s->gpio = qdev_create(NULL, \"omap2-gpio\");\n\n qdev_prop_set_int32(s->gpio, \"mpu_model\", s->mpu_model);\n\n qdev_prop_set_ptr(s->gpio, \"iclk\", omap_findclk(s, \"gpio_iclk\"));\n\n qdev_prop_set_ptr(s->gpio, \"fclk0\", omap_findclk(s, \"gpio1_dbclk\"));\n\n qdev_prop_set_ptr(s->gpio, \"fclk1\", omap_findclk(s, \"gpio2_dbclk\"));\n\n qdev_prop_set_ptr(s->gpio, \"fclk2\", omap_findclk(s, \"gpio3_dbclk\"));\n\n qdev_prop_set_ptr(s->gpio, \"fclk3\", omap_findclk(s, \"gpio4_dbclk\"));\n\n if (s->mpu_model == omap2430) {\n\n qdev_prop_set_ptr(s->gpio, \"fclk4\", omap_findclk(s, \"gpio5_dbclk\"));\n\n }\n\n qdev_init_nofail(s->gpio);\n\n busdev = sysbus_from_qdev(s->gpio);\n\n sysbus_connect_irq(busdev, 0, s->irq[0][OMAP_INT_24XX_GPIO_BANK1]);\n\n sysbus_connect_irq(busdev, 3, s->irq[0][OMAP_INT_24XX_GPIO_BANK2]);\n\n sysbus_connect_irq(busdev, 6, s->irq[0][OMAP_INT_24XX_GPIO_BANK3]);\n\n sysbus_connect_irq(busdev, 9, s->irq[0][OMAP_INT_24XX_GPIO_BANK4]);\n\n ta = omap_l4ta(s->l4, 3);\n\n sysbus_mmio_map(busdev, 0, omap_l4_region_base(ta, 1));\n\n sysbus_mmio_map(busdev, 1, omap_l4_region_base(ta, 0));\n\n sysbus_mmio_map(busdev, 2, omap_l4_region_base(ta, 2));\n\n sysbus_mmio_map(busdev, 3, omap_l4_region_base(ta, 4));\n\n sysbus_mmio_map(busdev, 4, omap_l4_region_base(ta, 5));\n\n\n\n s->sdrc = omap_sdrc_init(0x68009000);\n\n s->gpmc = omap_gpmc_init(s, 0x6800a000, s->irq[0][OMAP_INT_24XX_GPMC_IRQ],\n\n s->drq[OMAP24XX_DMA_GPMC]);\n\n\n\n dinfo = drive_get(IF_SD, 0, 0);\n\n if (!dinfo) {\n\n fprintf(stderr, \"qemu: missing SecureDigital device\\n\");\n\n exit(1);\n\n }\n\n s->mmc = omap2_mmc_init(omap_l4tao(s->l4, 9), dinfo->bdrv,\n\n s->irq[0][OMAP_INT_24XX_MMC_IRQ],\n\n &s->drq[OMAP24XX_DMA_MMC1_TX],\n\n omap_findclk(s, \"mmc_fclk\"), omap_findclk(s, \"mmc_iclk\"));\n\n\n\n s->mcspi[0] = omap_mcspi_init(omap_l4ta(s->l4, 35), 4,\n\n s->irq[0][OMAP_INT_24XX_MCSPI1_IRQ],\n\n &s->drq[OMAP24XX_DMA_SPI1_TX0],\n\n omap_findclk(s, \"spi1_fclk\"),\n\n omap_findclk(s, \"spi1_iclk\"));\n\n s->mcspi[1] = omap_mcspi_init(omap_l4ta(s->l4, 36), 2,\n\n s->irq[0][OMAP_INT_24XX_MCSPI2_IRQ],\n\n &s->drq[OMAP24XX_DMA_SPI2_TX0],\n\n omap_findclk(s, \"spi2_fclk\"),\n\n omap_findclk(s, \"spi2_iclk\"));\n\n\n\n s->dss = omap_dss_init(omap_l4ta(s->l4, 10), 0x68000800,\n\n /* XXX wire M_IRQ_25, D_L2_IRQ_30 and I_IRQ_13 together */\n\n s->irq[0][OMAP_INT_24XX_DSS_IRQ], s->drq[OMAP24XX_DMA_DSS],\n\n omap_findclk(s, \"dss_clk1\"), omap_findclk(s, \"dss_clk2\"),\n\n omap_findclk(s, \"dss_54m_clk\"),\n\n omap_findclk(s, \"dss_l3_iclk\"),\n\n omap_findclk(s, \"dss_l4_iclk\"));\n\n\n\n omap_sti_init(omap_l4ta(s->l4, 18), 0x54000000,\n\n s->irq[0][OMAP_INT_24XX_STI], omap_findclk(s, \"emul_ck\"),\n\n serial_hds[0] && serial_hds[1] && serial_hds[2] ?\n\n serial_hds[3] : NULL);\n\n\n\n s->eac = omap_eac_init(omap_l4ta(s->l4, 32),\n\n s->irq[0][OMAP_INT_24XX_EAC_IRQ],\n\n /* Ten consecutive lines */\n\n &s->drq[OMAP24XX_DMA_EAC_AC_RD],\n\n omap_findclk(s, \"func_96m_clk\"),\n\n omap_findclk(s, \"core_l4_iclk\"));\n\n\n\n /* All register mappings (includin those not currenlty implemented):\n\n * SystemControlMod\t48000000 - 48000fff\n\n * SystemControlL4\t48001000 - 48001fff\n\n * 32kHz Timer Mod\t48004000 - 48004fff\n\n * 32kHz Timer L4\t48005000 - 48005fff\n\n * PRCM ModA\t48008000 - 480087ff\n\n * PRCM ModB\t48008800 - 48008fff\n\n * PRCM L4\t\t48009000 - 48009fff\n\n * TEST-BCM Mod\t48012000 - 48012fff\n\n * TEST-BCM L4\t48013000 - 48013fff\n\n * TEST-TAP Mod\t48014000 - 48014fff\n\n * TEST-TAP L4\t48015000 - 48015fff\n\n * GPIO1 Mod\t48018000 - 48018fff\n\n * GPIO Top\t\t48019000 - 48019fff\n\n * GPIO2 Mod\t4801a000 - 4801afff\n\n * GPIO L4\t\t4801b000 - 4801bfff\n\n * GPIO3 Mod\t4801c000 - 4801cfff\n\n * GPIO4 Mod\t4801e000 - 4801efff\n\n * WDTIMER1 Mod\t48020000 - 48010fff\n\n * WDTIMER Top\t48021000 - 48011fff\n\n * WDTIMER2 Mod\t48022000 - 48012fff\n\n * WDTIMER L4\t48023000 - 48013fff\n\n * WDTIMER3 Mod\t48024000 - 48014fff\n\n * WDTIMER3 L4\t48025000 - 48015fff\n\n * WDTIMER4 Mod\t48026000 - 48016fff\n\n * WDTIMER4 L4\t48027000 - 48017fff\n\n * GPTIMER1 Mod\t48028000 - 48018fff\n\n * GPTIMER1 L4\t48029000 - 48019fff\n\n * GPTIMER2 Mod\t4802a000 - 4801afff\n\n * GPTIMER2 L4\t4802b000 - 4801bfff\n\n * L4-Config AP\t48040000 - 480407ff\n\n * L4-Config IP\t48040800 - 48040fff\n\n * L4-Config LA\t48041000 - 48041fff\n\n * ARM11ETB Mod\t48048000 - 48049fff\n\n * ARM11ETB L4\t4804a000 - 4804afff\n\n * DISPLAY Top\t48050000 - 480503ff\n\n * DISPLAY DISPC\t48050400 - 480507ff\n\n * DISPLAY RFBI\t48050800 - 48050bff\n\n * DISPLAY VENC\t48050c00 - 48050fff\n\n * DISPLAY L4\t48051000 - 48051fff\n\n * CAMERA Top\t48052000 - 480523ff\n\n * CAMERA core\t48052400 - 480527ff\n\n * CAMERA DMA\t48052800 - 48052bff\n\n * CAMERA MMU\t48052c00 - 48052fff\n\n * CAMERA L4\t48053000 - 48053fff\n\n * SDMA Mod\t\t48056000 - 48056fff\n\n * SDMA L4\t\t48057000 - 48057fff\n\n * SSI Top\t\t48058000 - 48058fff\n\n * SSI GDD\t\t48059000 - 48059fff\n\n * SSI Port1\t4805a000 - 4805afff\n\n * SSI Port2\t4805b000 - 4805bfff\n\n * SSI L4\t\t4805c000 - 4805cfff\n\n * USB Mod\t\t4805e000 - 480fefff\n\n * USB L4\t\t4805f000 - 480fffff\n\n * WIN_TRACER1 Mod\t48060000 - 48060fff\n\n * WIN_TRACER1 L4\t48061000 - 48061fff\n\n * WIN_TRACER2 Mod\t48062000 - 48062fff\n\n * WIN_TRACER2 L4\t48063000 - 48063fff\n\n * WIN_TRACER3 Mod\t48064000 - 48064fff\n\n * WIN_TRACER3 L4\t48065000 - 48065fff\n\n * WIN_TRACER4 Top\t48066000 - 480660ff\n\n * WIN_TRACER4 ETT\t48066100 - 480661ff\n\n * WIN_TRACER4 WT\t48066200 - 480662ff\n\n * WIN_TRACER4 L4\t48067000 - 48067fff\n\n * XTI Mod\t\t48068000 - 48068fff\n\n * XTI L4\t\t48069000 - 48069fff\n\n * UART1 Mod\t4806a000 - 4806afff\n\n * UART1 L4\t\t4806b000 - 4806bfff\n\n * UART2 Mod\t4806c000 - 4806cfff\n\n * UART2 L4\t\t4806d000 - 4806dfff\n\n * UART3 Mod\t4806e000 - 4806efff\n\n * UART3 L4\t\t4806f000 - 4806ffff\n\n * I2C1 Mod\t\t48070000 - 48070fff\n\n * I2C1 L4\t\t48071000 - 48071fff\n\n * I2C2 Mod\t\t48072000 - 48072fff\n\n * I2C2 L4\t\t48073000 - 48073fff\n\n * McBSP1 Mod\t48074000 - 48074fff\n\n * McBSP1 L4\t48075000 - 48075fff\n\n * McBSP2 Mod\t48076000 - 48076fff\n\n * McBSP2 L4\t48077000 - 48077fff\n\n * GPTIMER3 Mod\t48078000 - 48078fff\n\n * GPTIMER3 L4\t48079000 - 48079fff\n\n * GPTIMER4 Mod\t4807a000 - 4807afff\n\n * GPTIMER4 L4\t4807b000 - 4807bfff\n\n * GPTIMER5 Mod\t4807c000 - 4807cfff\n\n * GPTIMER5 L4\t4807d000 - 4807dfff\n\n * GPTIMER6 Mod\t4807e000 - 4807efff\n\n * GPTIMER6 L4\t4807f000 - 4807ffff\n\n * GPTIMER7 Mod\t48080000 - 48080fff\n\n * GPTIMER7 L4\t48081000 - 48081fff\n\n * GPTIMER8 Mod\t48082000 - 48082fff\n\n * GPTIMER8 L4\t48083000 - 48083fff\n\n * GPTIMER9 Mod\t48084000 - 48084fff\n\n * GPTIMER9 L4\t48085000 - 48085fff\n\n * GPTIMER10 Mod\t48086000 - 48086fff\n\n * GPTIMER10 L4\t48087000 - 48087fff\n\n * GPTIMER11 Mod\t48088000 - 48088fff\n\n * GPTIMER11 L4\t48089000 - 48089fff\n\n * GPTIMER12 Mod\t4808a000 - 4808afff\n\n * GPTIMER12 L4\t4808b000 - 4808bfff\n\n * EAC Mod\t\t48090000 - 48090fff\n\n * EAC L4\t\t48091000 - 48091fff\n\n * FAC Mod\t\t48092000 - 48092fff\n\n * FAC L4\t\t48093000 - 48093fff\n\n * MAILBOX Mod\t48094000 - 48094fff\n\n * MAILBOX L4\t48095000 - 48095fff\n\n * SPI1 Mod\t\t48098000 - 48098fff\n\n * SPI1 L4\t\t48099000 - 48099fff\n\n * SPI2 Mod\t\t4809a000 - 4809afff\n\n * SPI2 L4\t\t4809b000 - 4809bfff\n\n * MMC/SDIO Mod\t4809c000 - 4809cfff\n\n * MMC/SDIO L4\t4809d000 - 4809dfff\n\n * MS_PRO Mod\t4809e000 - 4809efff\n\n * MS_PRO L4\t4809f000 - 4809ffff\n\n * RNG Mod\t\t480a0000 - 480a0fff\n\n * RNG L4\t\t480a1000 - 480a1fff\n\n * DES3DES Mod\t480a2000 - 480a2fff\n\n * DES3DES L4\t480a3000 - 480a3fff\n\n * SHA1MD5 Mod\t480a4000 - 480a4fff\n\n * SHA1MD5 L4\t480a5000 - 480a5fff\n\n * AES Mod\t\t480a6000 - 480a6fff\n\n * AES L4\t\t480a7000 - 480a7fff\n\n * PKA Mod\t\t480a8000 - 480a9fff\n\n * PKA L4\t\t480aa000 - 480aafff\n\n * MG Mod\t\t480b0000 - 480b0fff\n\n * MG L4\t\t480b1000 - 480b1fff\n\n * HDQ/1-wire Mod\t480b2000 - 480b2fff\n\n * HDQ/1-wire L4\t480b3000 - 480b3fff\n\n * MPU interrupt\t480fe000 - 480fefff\n\n * STI channel base\t54000000 - 5400ffff\n\n * IVA RAM\t\t5c000000 - 5c01ffff\n\n * IVA ROM\t\t5c020000 - 5c027fff\n\n * IMG_BUF_A\t5c040000 - 5c040fff\n\n * IMG_BUF_B\t5c042000 - 5c042fff\n\n * VLCDS\t\t5c048000 - 5c0487ff\n\n * IMX_COEF\t\t5c049000 - 5c04afff\n\n * IMX_CMD\t\t5c051000 - 5c051fff\n\n * VLCDQ\t\t5c053000 - 5c0533ff\n\n * VLCDH\t\t5c054000 - 5c054fff\n\n * SEQ_CMD\t\t5c055000 - 5c055fff\n\n * IMX_REG\t\t5c056000 - 5c0560ff\n\n * VLCD_REG\t\t5c056100 - 5c0561ff\n\n * SEQ_REG\t\t5c056200 - 5c0562ff\n\n * IMG_BUF_REG\t5c056300 - 5c0563ff\n\n * SEQIRQ_REG\t5c056400 - 5c0564ff\n\n * OCP_REG\t\t5c060000 - 5c060fff\n\n * SYSC_REG\t\t5c070000 - 5c070fff\n\n * MMU_REG\t\t5d000000 - 5d000fff\n\n * sDMA R\t\t68000400 - 680005ff\n\n * sDMA W\t\t68000600 - 680007ff\n\n * Display Control\t68000800 - 680009ff\n\n * DSP subsystem\t68000a00 - 68000bff\n\n * MPU subsystem\t68000c00 - 68000dff\n\n * IVA subsystem\t68001000 - 680011ff\n\n * USB\t\t68001200 - 680013ff\n\n * Camera\t\t68001400 - 680015ff\n\n * VLYNQ (firewall)\t68001800 - 68001bff\n\n * VLYNQ\t\t68001e00 - 68001fff\n\n * SSI\t\t68002000 - 680021ff\n\n * L4\t\t68002400 - 680025ff\n\n * DSP (firewall)\t68002800 - 68002bff\n\n * DSP subsystem\t68002e00 - 68002fff\n\n * IVA (firewall)\t68003000 - 680033ff\n\n * IVA\t\t68003600 - 680037ff\n\n * GFX\t\t68003a00 - 68003bff\n\n * CMDWR emulation\t68003c00 - 68003dff\n\n * SMS\t\t68004000 - 680041ff\n\n * OCM\t\t68004200 - 680043ff\n\n * GPMC\t\t68004400 - 680045ff\n\n * RAM (firewall)\t68005000 - 680053ff\n\n * RAM (err login)\t68005400 - 680057ff\n\n * ROM (firewall)\t68005800 - 68005bff\n\n * ROM (err login)\t68005c00 - 68005fff\n\n * GPMC (firewall)\t68006000 - 680063ff\n\n * GPMC (err login)\t68006400 - 680067ff\n\n * SMS (err login)\t68006c00 - 68006fff\n\n * SMS registers\t68008000 - 68008fff\n\n * SDRC registers\t68009000 - 68009fff\n\n * GPMC registers\t6800a000 6800afff\n\n */\n\n\n\n qemu_register_reset(omap2_mpu_reset, s);\n\n\n\n return s;\n\n}\n", "idx": 5670}550{"project": "qemu", "commit_id": "c878da3b27ceeed953c9f9a1eb002d59e9dcb4c6", "target": 0, "func": "static void tcg_out_qemu_ld_slow_path (TCGContext *s, TCGLabelQemuLdst *label)\n\n{\n\n int s_bits;\n\n int ir;\n\n int opc = label->opc;\n\n int mem_index = label->mem_index;\n\n int data_reg = label->datalo_reg;\n\n int data_reg2 = label->datahi_reg;\n\n int addr_reg = label->addrlo_reg;\n\n uint8_t *raddr = label->raddr;\n\n uint8_t **label_ptr = &label->label_ptr[0];\n\n\n\n s_bits = opc & 3;\n\n\n\n /* resolve label address */\n\n reloc_pc14 (label_ptr[0], (tcg_target_long) s->code_ptr);\n\n\n\n /* slow path */\n\n ir = 3;\n\n tcg_out_mov (s, TCG_TYPE_I32, ir++, TCG_AREG0);\n\n#if TARGET_LONG_BITS == 32\n\n tcg_out_mov (s, TCG_TYPE_I32, ir++, addr_reg);\n\n#else\n\n#ifdef TCG_TARGET_CALL_ALIGN_ARGS\n\n ir |= 1;\n\n#endif\n\n tcg_out_mov (s, TCG_TYPE_I32, ir++, label->addrhi_reg);\n\n tcg_out_mov (s, TCG_TYPE_I32, ir++, addr_reg);\n\n#endif\n\n tcg_out_movi (s, TCG_TYPE_I32, ir, mem_index);\n\n tcg_out_call (s, (tcg_target_long) qemu_ld_helpers[s_bits], 1);\n\n tcg_out32 (s, B | 8);\n\n tcg_out32 (s, (tcg_target_long) raddr);\n\n switch (opc) {\n\n case 0|4:\n\n tcg_out32 (s, EXTSB | RA (data_reg) | RS (3));\n\n break;\n\n case 1|4:\n\n tcg_out32 (s, EXTSH | RA (data_reg) | RS (3));\n\n break;\n\n case 0:\n\n case 1:\n\n case 2:\n\n if (data_reg != 3)\n\n tcg_out_mov (s, TCG_TYPE_I32, data_reg, 3);\n\n break;\n\n case 3:\n\n if (data_reg == 3) {\n\n if (data_reg2 == 4) {\n\n tcg_out_mov (s, TCG_TYPE_I32, 0, 4);\n\n tcg_out_mov (s, TCG_TYPE_I32, 4, 3);\n\n tcg_out_mov (s, TCG_TYPE_I32, 3, 0);\n\n }\n\n else {\n\n tcg_out_mov (s, TCG_TYPE_I32, data_reg2, 3);\n\n tcg_out_mov (s, TCG_TYPE_I32, 3, 4);\n\n }\n\n }\n\n else {\n\n if (data_reg != 4) tcg_out_mov (s, TCG_TYPE_I32, data_reg, 4);\n\n if (data_reg2 != 3) tcg_out_mov (s, TCG_TYPE_I32, data_reg2, 3);\n\n }\n\n break;\n\n }\n\n /* Jump to the code corresponding to next IR of qemu_st */\n\n tcg_out_b (s, 0, (tcg_target_long) raddr);\n\n}\n", "idx": 5672}551{"project": "qemu", "commit_id": "46321d6b5f8c880932a6b3d07bd0ff6f892e665c", "target": 0, "func": "static int nbd_negotiate_handle_info(NBDClient *client, uint32_t length,\n\n uint32_t opt, uint16_t myflags,\n\n Error **errp)\n\n{\n\n int rc;\n\n char name[NBD_MAX_NAME_SIZE + 1];\n\n NBDExport *exp;\n\n uint16_t requests;\n\n uint16_t request;\n\n uint32_t namelen;\n\n bool sendname = false;\n\n bool blocksize = false;\n\n uint32_t sizes[3];\n\n char buf[sizeof(uint64_t) + sizeof(uint16_t)];\n\n const char *msg;\n\n\n\n /* Client sends:\n\n 4 bytes: L, name length (can be 0)\n\n L bytes: export name\n\n 2 bytes: N, number of requests (can be 0)\n\n N * 2 bytes: N requests\n\n */\n\n if (length < sizeof(namelen) + sizeof(requests)) {\n\n msg = \"overall request too short\";\n\n goto invalid;\n\n }\n\n if (nbd_read(client->ioc, &namelen, sizeof(namelen), errp) < 0) {\n\n return -EIO;\n\n }\n\n be32_to_cpus(&namelen);\n\n length -= sizeof(namelen);\n\n if (namelen > length - sizeof(requests) || (length - namelen) % 2) {\n\n msg = \"name length is incorrect\";\n\n goto invalid;\n\n }\n\n if (nbd_read(client->ioc, name, namelen, errp) < 0) {\n\n return -EIO;\n\n }\n\n name[namelen] = '\\0';\n\n length -= namelen;\n\n trace_nbd_negotiate_handle_export_name_request(name);\n\n\n\n if (nbd_read(client->ioc, &requests, sizeof(requests), errp) < 0) {\n\n return -EIO;\n\n }\n\n be16_to_cpus(&requests);\n\n length -= sizeof(requests);\n\n trace_nbd_negotiate_handle_info_requests(requests);\n\n if (requests != length / sizeof(request)) {\n\n msg = \"incorrect number of requests for overall length\";\n\n goto invalid;\n\n }\n\n while (requests--) {\n\n if (nbd_read(client->ioc, &request, sizeof(request), errp) < 0) {\n\n return -EIO;\n\n }\n\n be16_to_cpus(&request);\n\n length -= sizeof(request);\n\n trace_nbd_negotiate_handle_info_request(request,\n\n nbd_info_lookup(request));\n\n /* We care about NBD_INFO_NAME and NBD_INFO_BLOCK_SIZE;\n\n * everything else is either a request we don't know or\n\n * something we send regardless of request */\n\n switch (request) {\n\n case NBD_INFO_NAME:\n\n sendname = true;\n\n break;\n\n case NBD_INFO_BLOCK_SIZE:\n\n blocksize = true;\n\n break;\n\n }\n\n }\n\n\n\n exp = nbd_export_find(name);\n\n if (!exp) {\n\n return nbd_negotiate_send_rep_err(client->ioc, NBD_REP_ERR_UNKNOWN,\n\n opt, errp, \"export '%s' not present\",\n\n name);\n\n }\n\n\n\n /* Don't bother sending NBD_INFO_NAME unless client requested it */\n\n if (sendname) {\n\n rc = nbd_negotiate_send_info(client, opt, NBD_INFO_NAME, length, name,\n\n errp);\n\n if (rc < 0) {\n\n return rc;\n\n }\n\n }\n\n\n\n /* Send NBD_INFO_DESCRIPTION only if available, regardless of\n\n * client request */\n\n if (exp->description) {\n\n size_t len = strlen(exp->description);\n\n\n\n rc = nbd_negotiate_send_info(client, opt, NBD_INFO_DESCRIPTION,\n\n len, exp->description, errp);\n\n if (rc < 0) {\n\n return rc;\n\n }\n\n }\n\n\n\n /* Send NBD_INFO_BLOCK_SIZE always, but tweak the minimum size\n\n * according to whether the client requested it, and according to\n\n * whether this is OPT_INFO or OPT_GO. */\n\n /* minimum - 1 for back-compat, or 512 if client is new enough.\n\n * TODO: consult blk_bs(blk)->bl.request_alignment? */\n\n sizes[0] = (opt == NBD_OPT_INFO || blocksize) ? BDRV_SECTOR_SIZE : 1;\n\n /* preferred - Hard-code to 4096 for now.\n\n * TODO: is blk_bs(blk)->bl.opt_transfer appropriate? */\n\n sizes[1] = 4096;\n\n /* maximum - At most 32M, but smaller as appropriate. */\n\n sizes[2] = MIN(blk_get_max_transfer(exp->blk), NBD_MAX_BUFFER_SIZE);\n\n trace_nbd_negotiate_handle_info_block_size(sizes[0], sizes[1], sizes[2]);\n\n cpu_to_be32s(&sizes[0]);\n\n cpu_to_be32s(&sizes[1]);\n\n cpu_to_be32s(&sizes[2]);\n\n rc = nbd_negotiate_send_info(client, opt, NBD_INFO_BLOCK_SIZE,\n\n sizeof(sizes), sizes, errp);\n\n if (rc < 0) {\n\n return rc;\n\n }\n\n\n\n /* Send NBD_INFO_EXPORT always */\n\n trace_nbd_negotiate_new_style_size_flags(exp->size,\n\n exp->nbdflags | myflags);\n\n stq_be_p(buf, exp->size);\n\n stw_be_p(buf + 8, exp->nbdflags | myflags);\n\n rc = nbd_negotiate_send_info(client, opt, NBD_INFO_EXPORT,\n\n sizeof(buf), buf, errp);\n\n if (rc < 0) {\n\n return rc;\n\n }\n\n\n\n /* If the client is just asking for NBD_OPT_INFO, but forgot to\n\n * request block sizes, return an error.\n\n * TODO: consult blk_bs(blk)->request_align, and only error if it\n\n * is not 1? */\n\n if (opt == NBD_OPT_INFO && !blocksize) {\n\n return nbd_negotiate_send_rep_err(client->ioc,\n\n NBD_REP_ERR_BLOCK_SIZE_REQD, opt,\n\n errp,\n\n \"request NBD_INFO_BLOCK_SIZE to \"\n\n \"use this export\");\n\n }\n\n\n\n /* Final reply */\n\n rc = nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, opt, errp);\n\n if (rc < 0) {\n\n return rc;\n\n }\n\n\n\n if (opt == NBD_OPT_GO) {\n\n client->exp = exp;\n\n QTAILQ_INSERT_TAIL(&client->exp->clients, client, next);\n\n nbd_export_get(client->exp);\n\n rc = 1;\n\n }\n\n return rc;\n\n\n\n invalid:\n\n if (nbd_drop(client->ioc, length, errp) < 0) {\n\n return -EIO;\n\n }\n\n return nbd_negotiate_send_rep_err(client->ioc, NBD_REP_ERR_INVALID, opt,\n\n errp, \"%s\", msg);\n\n}\n", "idx": 5673}552{"project": "qemu", "commit_id": "28b70c9dbdce0d517ade9c04c7d7ae05c8b76d2f", "target": 0, "func": "static int scsi_req_stream_length(SCSICommand *cmd, SCSIDevice *dev, uint8_t *buf)\n\n{\n\n switch (buf[0]) {\n\n /* stream commands */\n\n case ERASE_12:\n\n case ERASE_16:\n\n cmd->xfer = 0;\n\n break;\n\n case READ_6:\n\n case READ_REVERSE:\n\n case RECOVER_BUFFERED_DATA:\n\n case WRITE_6:\n\n cmd->len = 6;\n\n cmd->xfer = buf[4] | (buf[3] << 8) | (buf[2] << 16);\n\n if (buf[1] & 0x01) { /* fixed */\n\n cmd->xfer *= dev->blocksize;\n\n }\n\n break;\n\n case READ_16:\n\n case READ_REVERSE_16:\n\n case VERIFY_16:\n\n case WRITE_16:\n\n cmd->len = 16;\n\n cmd->xfer = buf[14] | (buf[13] << 8) | (buf[12] << 16);\n\n if (buf[1] & 0x01) { /* fixed */\n\n cmd->xfer *= dev->blocksize;\n\n }\n\n break;\n\n case REWIND:\n\n case LOAD_UNLOAD:\n\n cmd->len = 6;\n\n cmd->xfer = 0;\n\n break;\n\n case SPACE_16:\n\n cmd->xfer = buf[13] | (buf[12] << 8);\n\n break;\n\n case READ_POSITION:\n\n cmd->xfer = buf[8] | (buf[7] << 8);\n\n break;\n\n case FORMAT_UNIT:\n\n cmd->xfer = buf[4] | (buf[3] << 8);\n\n break;\n\n /* generic commands */\n\n default:\n\n return scsi_req_length(cmd, dev, buf);\n\n }\n\n return 0;\n\n}\n", "idx": 5676}553{"project": "qemu", "commit_id": "a7812ae412311d7d47f8aa85656faadac9d64b56", "target": 0, "func": "static void gen_tst_cc (DisasContext *dc, TCGv cc, int cond)\n\n{\n\n\tint arith_opt, move_opt;\n\n\n\n\t/* TODO: optimize more condition codes. */\n\n\n\n\t/*\n\n\t * If the flags are live, we've gotta look into the bits of CCS.\n\n\t * Otherwise, if we just did an arithmetic operation we try to\n\n\t * evaluate the condition code faster.\n\n\t *\n\n\t * When this function is done, T0 should be non-zero if the condition\n\n\t * code is true.\n\n\t */\n\n\tarith_opt = arith_cc(dc) && !dc->flags_uptodate;\n\n\tmove_opt = (dc->cc_op == CC_OP_MOVE) && dc->flags_uptodate;\n\n\tswitch (cond) {\n\n\t\tcase CC_EQ:\n\n\t\t\tif (arith_opt || move_opt) {\n\n\t\t\t\t/* If cc_result is zero, T0 should be \n\n\t\t\t\t non-zero otherwise T0 should be zero. */\n\n\t\t\t\tint l1;\n\n\t\t\t\tl1 = gen_new_label();\n\n\t\t\t\ttcg_gen_movi_tl(cc, 0);\n\n\t\t\t\ttcg_gen_brcondi_tl(TCG_COND_NE, cc_result, \n\n\t\t\t\t\t\t 0, l1);\n\n\t\t\t\ttcg_gen_movi_tl(cc, 1);\n\n\t\t\t\tgen_set_label(l1);\n\n\t\t\t}\n\n\t\t\telse {\n\n\t\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t\ttcg_gen_andi_tl(cc, \n\n\t\t\t\t\t\tcpu_PR[PR_CCS], Z_FLAG);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_NE:\n\n\t\t\tif (arith_opt || move_opt)\n\n\t\t\t\ttcg_gen_mov_tl(cc, cc_result);\n\n\t\t\telse {\n\n\t\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t\ttcg_gen_xori_tl(cc, cpu_PR[PR_CCS],\n\n\t\t\t\t\t\tZ_FLAG);\n\n\t\t\t\ttcg_gen_andi_tl(cc, cc, Z_FLAG);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_CS:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\ttcg_gen_andi_tl(cc, cpu_PR[PR_CCS], C_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_CC:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\ttcg_gen_xori_tl(cc, cpu_PR[PR_CCS], C_FLAG);\n\n\t\t\ttcg_gen_andi_tl(cc, cc, C_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_VS:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\ttcg_gen_andi_tl(cc, cpu_PR[PR_CCS], V_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_VC:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\ttcg_gen_xori_tl(cc, cpu_PR[PR_CCS],\n\n\t\t\t\t\tV_FLAG);\n\n\t\t\ttcg_gen_andi_tl(cc, cc, V_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_PL:\n\n\t\t\tif (arith_opt || move_opt) {\n\n\t\t\t\tint bits = 31;\n\n\n\n\t\t\t\tif (dc->cc_size == 1)\n\n\t\t\t\t\tbits = 7;\n\n\t\t\t\telse if (dc->cc_size == 2)\n\n\t\t\t\t\tbits = 15;\t\n\n\n\n\t\t\t\ttcg_gen_shri_tl(cc, cc_result, bits);\n\n\t\t\t\ttcg_gen_xori_tl(cc, cc, 1);\n\n\t\t\t} else {\n\n\t\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t\ttcg_gen_xori_tl(cc, cpu_PR[PR_CCS],\n\n\t\t\t\t\t\tN_FLAG);\n\n\t\t\t\ttcg_gen_andi_tl(cc, cc, N_FLAG);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_MI:\n\n\t\t\tif (arith_opt || move_opt) {\n\n\t\t\t\tint bits = 31;\n\n\n\n\t\t\t\tif (dc->cc_size == 1)\n\n\t\t\t\t\tbits = 7;\n\n\t\t\t\telse if (dc->cc_size == 2)\n\n\t\t\t\t\tbits = 15;\t\n\n\n\n\t\t\t\ttcg_gen_shri_tl(cc, cc_result, 31);\n\n\t\t\t}\n\n\t\t\telse {\n\n\t\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t\ttcg_gen_andi_tl(cc, cpu_PR[PR_CCS],\n\n\t\t\t\t\t\tN_FLAG);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_LS:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\ttcg_gen_andi_tl(cc, cpu_PR[PR_CCS],\n\n\t\t\t\t\tC_FLAG | Z_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_HI:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t{\n\n\t\t\t\tTCGv tmp;\n\n\n\n\t\t\t\ttmp = tcg_temp_new(TCG_TYPE_TL);\n\n\t\t\t\ttcg_gen_xori_tl(tmp, cpu_PR[PR_CCS],\n\n\t\t\t\t\t\tC_FLAG | Z_FLAG);\n\n\t\t\t\t/* Overlay the C flag on top of the Z. */\n\n\t\t\t\ttcg_gen_shli_tl(cc, tmp, 2);\n\n\t\t\t\ttcg_gen_and_tl(cc, tmp, cc);\n\n\t\t\t\ttcg_gen_andi_tl(cc, cc, Z_FLAG);\n\n\n\n\t\t\t\ttcg_temp_free(tmp);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_GE:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t/* Overlay the V flag on top of the N. */\n\n\t\t\ttcg_gen_shli_tl(cc, cpu_PR[PR_CCS], 2);\n\n\t\t\ttcg_gen_xor_tl(cc,\n\n\t\t\t\t cpu_PR[PR_CCS], cc);\n\n\t\t\ttcg_gen_andi_tl(cc, cc, N_FLAG);\n\n\t\t\ttcg_gen_xori_tl(cc, cc, N_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_LT:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t/* Overlay the V flag on top of the N. */\n\n\t\t\ttcg_gen_shli_tl(cc, cpu_PR[PR_CCS], 2);\n\n\t\t\ttcg_gen_xor_tl(cc,\n\n\t\t\t\t cpu_PR[PR_CCS], cc);\n\n\t\t\ttcg_gen_andi_tl(cc, cc, N_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_GT:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t{\n\n\t\t\t\tTCGv n, z;\n\n\n\n\t\t\t\tn = tcg_temp_new(TCG_TYPE_TL);\n\n\t\t\t\tz = tcg_temp_new(TCG_TYPE_TL);\n\n\n\n\t\t\t\t/* To avoid a shift we overlay everything on\n\n\t\t\t\t the V flag. */\n\n\t\t\t\ttcg_gen_shri_tl(n, cpu_PR[PR_CCS], 2);\n\n\t\t\t\ttcg_gen_shri_tl(z, cpu_PR[PR_CCS], 1);\n\n\t\t\t\t/* invert Z. */\n\n\t\t\t\ttcg_gen_xori_tl(z, z, 2);\n\n\n\n\t\t\t\ttcg_gen_xor_tl(n, n, cpu_PR[PR_CCS]);\n\n\t\t\t\ttcg_gen_xori_tl(n, n, 2);\n\n\t\t\t\ttcg_gen_and_tl(cc, z, n);\n\n\t\t\t\ttcg_gen_andi_tl(cc, cc, 2);\n\n\n\n\t\t\t\ttcg_temp_free(n);\n\n\t\t\t\ttcg_temp_free(z);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_LE:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\t{\n\n\t\t\t\tTCGv n, z;\n\n\n\n\t\t\t\tn = tcg_temp_new(TCG_TYPE_TL);\n\n\t\t\t\tz = tcg_temp_new(TCG_TYPE_TL);\n\n\n\n\t\t\t\t/* To avoid a shift we overlay everything on\n\n\t\t\t\t the V flag. */\n\n\t\t\t\ttcg_gen_shri_tl(n, cpu_PR[PR_CCS], 2);\n\n\t\t\t\ttcg_gen_shri_tl(z, cpu_PR[PR_CCS], 1);\n\n\n\n\t\t\t\ttcg_gen_xor_tl(n, n, cpu_PR[PR_CCS]);\n\n\t\t\t\ttcg_gen_or_tl(cc, z, n);\n\n\t\t\t\ttcg_gen_andi_tl(cc, cc, 2);\n\n\n\n\t\t\t\ttcg_temp_free(n);\n\n\t\t\t\ttcg_temp_free(z);\n\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase CC_P:\n\n\t\t\tcris_evaluate_flags(dc);\n\n\t\t\ttcg_gen_andi_tl(cc, cpu_PR[PR_CCS], P_FLAG);\n\n\t\t\tbreak;\n\n\t\tcase CC_A:\n\n\t\t\ttcg_gen_movi_tl(cc, 1);\n\n\t\t\tbreak;\n\n\t\tdefault:\n\n\t\t\tBUG();\n\n\t\t\tbreak;\n\n\t};\n\n}\n", "idx": 5694}554{"project": "qemu", "commit_id": "b4854f1384176d897747de236f426d020668fa3c", "target": 0, "func": "void do_smm_enter(X86CPU *cpu)\n\n{\n\n CPUX86State *env = &cpu->env;\n\n CPUState *cs = CPU(cpu);\n\n target_ulong sm_state;\n\n SegmentCache *dt;\n\n int i, offset;\n\n\n\n qemu_log_mask(CPU_LOG_INT, \"SMM: enter\\n\");\n\n log_cpu_state_mask(CPU_LOG_INT, CPU(cpu), CPU_DUMP_CCOP);\n\n\n\n env->hflags |= HF_SMM_MASK;\n\n if (env->hflags2 & HF2_NMI_MASK) {\n\n env->hflags2 |= HF2_SMM_INSIDE_NMI_MASK;\n\n } else {\n\n env->hflags2 |= HF2_NMI_MASK;\n\n }\n\n cpu_smm_update(env);\n\n\n\n sm_state = env->smbase + 0x8000;\n\n\n\n#ifdef TARGET_X86_64\n\n for (i = 0; i < 6; i++) {\n\n dt = &env->segs[i];\n\n offset = 0x7e00 + i * 16;\n\n x86_stw_phys(cs, sm_state + offset, dt->selector);\n\n x86_stw_phys(cs, sm_state + offset + 2, (dt->flags >> 8) & 0xf0ff);\n\n x86_stl_phys(cs, sm_state + offset + 4, dt->limit);\n\n x86_stq_phys(cs, sm_state + offset + 8, dt->base);\n\n }\n\n\n\n x86_stq_phys(cs, sm_state + 0x7e68, env->gdt.base);\n\n x86_stl_phys(cs, sm_state + 0x7e64, env->gdt.limit);\n\n\n\n x86_stw_phys(cs, sm_state + 0x7e70, env->ldt.selector);\n\n x86_stq_phys(cs, sm_state + 0x7e78, env->ldt.base);\n\n x86_stl_phys(cs, sm_state + 0x7e74, env->ldt.limit);\n\n x86_stw_phys(cs, sm_state + 0x7e72, (env->ldt.flags >> 8) & 0xf0ff);\n\n\n\n x86_stq_phys(cs, sm_state + 0x7e88, env->idt.base);\n\n x86_stl_phys(cs, sm_state + 0x7e84, env->idt.limit);\n\n\n\n x86_stw_phys(cs, sm_state + 0x7e90, env->tr.selector);\n\n x86_stq_phys(cs, sm_state + 0x7e98, env->tr.base);\n\n x86_stl_phys(cs, sm_state + 0x7e94, env->tr.limit);\n\n x86_stw_phys(cs, sm_state + 0x7e92, (env->tr.flags >> 8) & 0xf0ff);\n\n\n\n x86_stq_phys(cs, sm_state + 0x7ed0, env->efer);\n\n\n\n x86_stq_phys(cs, sm_state + 0x7ff8, env->regs[R_EAX]);\n\n x86_stq_phys(cs, sm_state + 0x7ff0, env->regs[R_ECX]);\n\n x86_stq_phys(cs, sm_state + 0x7fe8, env->regs[R_EDX]);\n\n x86_stq_phys(cs, sm_state + 0x7fe0, env->regs[R_EBX]);\n\n x86_stq_phys(cs, sm_state + 0x7fd8, env->regs[R_ESP]);\n\n x86_stq_phys(cs, sm_state + 0x7fd0, env->regs[R_EBP]);\n\n x86_stq_phys(cs, sm_state + 0x7fc8, env->regs[R_ESI]);\n\n x86_stq_phys(cs, sm_state + 0x7fc0, env->regs[R_EDI]);\n\n for (i = 8; i < 16; i++) {\n\n x86_stq_phys(cs, sm_state + 0x7ff8 - i * 8, env->regs[i]);\n\n }\n\n x86_stq_phys(cs, sm_state + 0x7f78, env->eip);\n\n x86_stl_phys(cs, sm_state + 0x7f70, cpu_compute_eflags(env));\n\n x86_stl_phys(cs, sm_state + 0x7f68, env->dr[6]);\n\n x86_stl_phys(cs, sm_state + 0x7f60, env->dr[7]);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7f48, env->cr[4]);\n\n x86_stq_phys(cs, sm_state + 0x7f50, env->cr[3]);\n\n x86_stl_phys(cs, sm_state + 0x7f58, env->cr[0]);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7efc, SMM_REVISION_ID);\n\n x86_stl_phys(cs, sm_state + 0x7f00, env->smbase);\n\n#else\n\n x86_stl_phys(cs, sm_state + 0x7ffc, env->cr[0]);\n\n x86_stl_phys(cs, sm_state + 0x7ff8, env->cr[3]);\n\n x86_stl_phys(cs, sm_state + 0x7ff4, cpu_compute_eflags(env));\n\n x86_stl_phys(cs, sm_state + 0x7ff0, env->eip);\n\n x86_stl_phys(cs, sm_state + 0x7fec, env->regs[R_EDI]);\n\n x86_stl_phys(cs, sm_state + 0x7fe8, env->regs[R_ESI]);\n\n x86_stl_phys(cs, sm_state + 0x7fe4, env->regs[R_EBP]);\n\n x86_stl_phys(cs, sm_state + 0x7fe0, env->regs[R_ESP]);\n\n x86_stl_phys(cs, sm_state + 0x7fdc, env->regs[R_EBX]);\n\n x86_stl_phys(cs, sm_state + 0x7fd8, env->regs[R_EDX]);\n\n x86_stl_phys(cs, sm_state + 0x7fd4, env->regs[R_ECX]);\n\n x86_stl_phys(cs, sm_state + 0x7fd0, env->regs[R_EAX]);\n\n x86_stl_phys(cs, sm_state + 0x7fcc, env->dr[6]);\n\n x86_stl_phys(cs, sm_state + 0x7fc8, env->dr[7]);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7fc4, env->tr.selector);\n\n x86_stl_phys(cs, sm_state + 0x7f64, env->tr.base);\n\n x86_stl_phys(cs, sm_state + 0x7f60, env->tr.limit);\n\n x86_stl_phys(cs, sm_state + 0x7f5c, (env->tr.flags >> 8) & 0xf0ff);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7fc0, env->ldt.selector);\n\n x86_stl_phys(cs, sm_state + 0x7f80, env->ldt.base);\n\n x86_stl_phys(cs, sm_state + 0x7f7c, env->ldt.limit);\n\n x86_stl_phys(cs, sm_state + 0x7f78, (env->ldt.flags >> 8) & 0xf0ff);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7f74, env->gdt.base);\n\n x86_stl_phys(cs, sm_state + 0x7f70, env->gdt.limit);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7f58, env->idt.base);\n\n x86_stl_phys(cs, sm_state + 0x7f54, env->idt.limit);\n\n\n\n for (i = 0; i < 6; i++) {\n\n dt = &env->segs[i];\n\n if (i < 3) {\n\n offset = 0x7f84 + i * 12;\n\n } else {\n\n offset = 0x7f2c + (i - 3) * 12;\n\n }\n\n x86_stl_phys(cs, sm_state + 0x7fa8 + i * 4, dt->selector);\n\n x86_stl_phys(cs, sm_state + offset + 8, dt->base);\n\n x86_stl_phys(cs, sm_state + offset + 4, dt->limit);\n\n x86_stl_phys(cs, sm_state + offset, (dt->flags >> 8) & 0xf0ff);\n\n }\n\n x86_stl_phys(cs, sm_state + 0x7f14, env->cr[4]);\n\n\n\n x86_stl_phys(cs, sm_state + 0x7efc, SMM_REVISION_ID);\n\n x86_stl_phys(cs, sm_state + 0x7ef8, env->smbase);\n\n#endif\n\n /* init SMM cpu state */\n\n\n\n#ifdef TARGET_X86_64\n\n cpu_load_efer(env, 0);\n\n#endif\n\n cpu_load_eflags(env, 0, ~(CC_O | CC_S | CC_Z | CC_A | CC_P | CC_C |\n\n DF_MASK));\n\n env->eip = 0x00008000;\n\n cpu_x86_update_cr0(env,\n\n env->cr[0] & ~(CR0_PE_MASK | CR0_EM_MASK | CR0_TS_MASK |\n\n CR0_PG_MASK));\n\n cpu_x86_update_cr4(env, 0);\n\n env->dr[7] = 0x00000400;\n\n\n\n cpu_x86_load_seg_cache(env, R_CS, (env->smbase >> 4) & 0xffff, env->smbase,\n\n 0xffffffff,\n\n DESC_P_MASK | DESC_S_MASK | DESC_W_MASK |\n\n DESC_A_MASK);\n\n cpu_x86_load_seg_cache(env, R_DS, 0, 0, 0xffffffff,\n\n DESC_P_MASK | DESC_S_MASK | DESC_W_MASK |\n\n DESC_A_MASK);\n\n cpu_x86_load_seg_cache(env, R_ES, 0, 0, 0xffffffff,\n\n DESC_P_MASK | DESC_S_MASK | DESC_W_MASK |\n\n DESC_A_MASK);\n\n cpu_x86_load_seg_cache(env, R_SS, 0, 0, 0xffffffff,\n\n DESC_P_MASK | DESC_S_MASK | DESC_W_MASK |\n\n DESC_A_MASK);\n\n cpu_x86_load_seg_cache(env, R_FS, 0, 0, 0xffffffff,\n\n DESC_P_MASK | DESC_S_MASK | DESC_W_MASK |\n\n DESC_A_MASK);\n\n cpu_x86_load_seg_cache(env, R_GS, 0, 0, 0xffffffff,\n\n DESC_P_MASK | DESC_S_MASK | DESC_W_MASK |\n\n DESC_A_MASK);\n\n}\n", "idx": 5707}555{"project": "qemu", "commit_id": "07caea315a85ebfe90851f9c2e4ef3fdd24117b5", "target": 1, "func": "PCIDevice *pci_nic_init(NICInfo *nd, const char *default_model,\n\n const char *default_devaddr)\n\n{\n\n const char *devaddr = nd->devaddr ? nd->devaddr : default_devaddr;\n\n PCIDevice *pci_dev;\n\n DeviceState *dev;\n\n int i;\n\n\n\n i = qemu_check_nic_model_list(nd, pci_nic_models, default_model);\n\n pci_dev = pci_create(pci_nic_names[i], devaddr);\n\n dev = &pci_dev->qdev;\n\n if (nd->id)\n\n dev->id = qemu_strdup(nd->id);\n\n dev->nd = nd;\n\n qdev_init(dev);\n\n nd->private = dev;\n\n return pci_dev;\n\n}\n", "idx": 5718}556{"project": "FFmpeg", "commit_id": "d2ee495fb241fa4ef5b8b56161328c4379d1c79a", "target": 1, "func": "void ff_mlp_init_x86(DSPContext* c, AVCodecContext *avctx)\n\n{\n\n#if HAVE_7REGS && HAVE_TEN_OPERANDS\n\n c->mlp_filter_channel = mlp_filter_channel_x86;\n\n#endif\n\n}\n", "idx": 5731}557{"project": "FFmpeg", "commit_id": "295b79b5d8c0cf0a9691f8d6b512aa1e289d528d", "target": 1, "func": "static av_cold int roq_encode_init(AVCodecContext *avctx)\n{\n RoqContext *enc = avctx->priv_data;\n av_lfg_init(&enc->randctx, 1);\n enc->framesSinceKeyframe = 0;\n if ((avctx->width & 0xf) || (avctx->height & 0xf)) {\n av_log(avctx, AV_LOG_ERROR, \"Dimensions must be divisible by 16\\n\");\n return AVERROR(EINVAL);\n if (avctx->width > 65535 || avctx->height > 65535) {\n av_log(avctx, AV_LOG_ERROR, \"Dimensions are max %d\\n\", enc->quake3_compat ? 32768 : 65535);\n return AVERROR(EINVAL);\n if (((avctx->width)&(avctx->width-1))||((avctx->height)&(avctx->height-1)))\n av_log(avctx, AV_LOG_ERROR, \"Warning: dimensions not power of two, this is not supported by quake\\n\");\n enc->width = avctx->width;\n enc->height = avctx->height;\n enc->framesSinceKeyframe = 0;\n enc->first_frame = 1;\n enc->last_frame = av_frame_alloc();\n enc->current_frame = av_frame_alloc();\n if (!enc->last_frame || !enc->current_frame) {\n enc->tmpData = av_malloc(sizeof(RoqTempdata));\n enc->this_motion4 =\n av_mallocz_array((enc->width*enc->height/16), sizeof(motion_vect));\n enc->last_motion4 =\n av_malloc_array ((enc->width*enc->height/16), sizeof(motion_vect));\n enc->this_motion8 =\n av_mallocz_array((enc->width*enc->height/64), sizeof(motion_vect));\n enc->last_motion8 =\n av_malloc_array ((enc->width*enc->height/64), sizeof(motion_vect));\n return 0;", "idx": 5754}558{"project": "FFmpeg", "commit_id": "fd1588919d2c70288a1a3fea1aefdd3ea2c424bb", "target": 1, "func": "void ff_h264_flush_change(H264Context *h)\n\n{\n\n int i, j;\n\n\n\n h->next_outputed_poc = INT_MIN;\n\n h->prev_interlaced_frame = 1;\n\n idr(h);\n\n\n\n h->poc.prev_frame_num = -1;\n\n if (h->cur_pic_ptr) {\n\n h->cur_pic_ptr->reference = 0;\n\n for (j=i=0; h->delayed_pic[i]; i++)\n\n if (h->delayed_pic[i] != h->cur_pic_ptr)\n\n h->delayed_pic[j++] = h->delayed_pic[i];\n\n h->delayed_pic[j] = NULL;\n\n }\n\n ff_h264_unref_picture(h, &h->last_pic_for_ec);\n\n\n\n h->first_field = 0;\n\n ff_h264_sei_uninit(&h->sei);\n\n h->recovery_frame = -1;\n\n h->frame_recovered = 0;\n\n h->current_slice = 0;\n\n h->mmco_reset = 1;\n\n for (i = 0; i < h->nb_slice_ctx; i++)\n\n h->slice_ctx[i].list_count = 0;\n\n}\n", "idx": 5755}559{"project": "FFmpeg", "commit_id": "4dbcdfa86d1405f7e5c0ec14a4be7d2fb5903d7b", "target": 0, "func": "static int av_set_number2(void *obj, const char *name, double num, int den, int64_t intnum, const AVOption **o_out)\n\n{\n\n const AVOption *o = av_opt_find(obj, name, NULL, 0, 0);\n\n void *dst;\n\n if (o_out)\n\n *o_out= o;\n\n if (!o || o->offset<=0)\n\n return AVERROR_OPTION_NOT_FOUND;\n\n\n\n if (o->max*den < num*intnum || o->min*den > num*intnum) {\n\n av_log(obj, AV_LOG_ERROR, \"Value %lf for parameter '%s' out of range\\n\", num, name);\n\n return AVERROR(ERANGE);\n\n }\n\n\n\n dst= ((uint8_t*)obj) + o->offset;\n\n\n\n switch (o->type) {\n\n case FF_OPT_TYPE_FLAGS:\n\n case FF_OPT_TYPE_INT: *(int *)dst= llrint(num/den)*intnum; break;\n\n case FF_OPT_TYPE_INT64: *(int64_t *)dst= llrint(num/den)*intnum; break;\n\n case FF_OPT_TYPE_FLOAT: *(float *)dst= num*intnum/den; break;\n\n case FF_OPT_TYPE_DOUBLE:*(double *)dst= num*intnum/den; break;\n\n case FF_OPT_TYPE_RATIONAL:\n\n if ((int)num == num) *(AVRational*)dst= (AVRational){num*intnum, den};\n\n else *(AVRational*)dst= av_d2q(num*intnum/den, 1<<24);\n\n break;\n\n default:\n\n return AVERROR(EINVAL);\n\n }\n\n return 0;\n\n}\n", "idx": 5762}560{"project": "qemu", "commit_id": "f8ed85ac992c48814d916d5df4d44f9a971c5de4", "target": 1, "func": "static void qxl_realize_common(PCIQXLDevice *qxl, Error **errp)\n\n{\n\n uint8_t* config = qxl->pci.config;\n\n uint32_t pci_device_rev;\n\n uint32_t io_size;\n\n\n\n qxl->mode = QXL_MODE_UNDEFINED;\n\n qxl->generation = 1;\n\n qxl->num_memslots = NUM_MEMSLOTS;\n\n qemu_mutex_init(&qxl->track_lock);\n\n qemu_mutex_init(&qxl->async_lock);\n\n qxl->current_async = QXL_UNDEFINED_IO;\n\n qxl->guest_bug = 0;\n\n\n\n switch (qxl->revision) {\n\n case 1: /* spice 0.4 -- qxl-1 */\n\n pci_device_rev = QXL_REVISION_STABLE_V04;\n\n io_size = 8;\n\n break;\n\n case 2: /* spice 0.6 -- qxl-2 */\n\n pci_device_rev = QXL_REVISION_STABLE_V06;\n\n io_size = 16;\n\n break;\n\n case 3: /* qxl-3 */\n\n pci_device_rev = QXL_REVISION_STABLE_V10;\n\n io_size = 32; /* PCI region size must be pow2 */\n\n break;\n\n case 4: /* qxl-4 */\n\n pci_device_rev = QXL_REVISION_STABLE_V12;\n\n io_size = pow2ceil(QXL_IO_RANGE_SIZE);\n\n break;\n\n default:\n\n error_setg(errp, \"Invalid revision %d for qxl device (max %d)\",\n\n qxl->revision, QXL_DEFAULT_REVISION);\n\n return;\n\n }\n\n\n\n pci_set_byte(&config[PCI_REVISION_ID], pci_device_rev);\n\n pci_set_byte(&config[PCI_INTERRUPT_PIN], 1);\n\n\n\n qxl->rom_size = qxl_rom_size();\n\n memory_region_init_ram(&qxl->rom_bar, OBJECT(qxl), \"qxl.vrom\",\n\n qxl->rom_size, &error_abort);\n\n vmstate_register_ram(&qxl->rom_bar, &qxl->pci.qdev);\n\n init_qxl_rom(qxl);\n\n init_qxl_ram(qxl);\n\n\n\n qxl->guest_surfaces.cmds = g_new0(QXLPHYSICAL, qxl->ssd.num_surfaces);\n\n memory_region_init_ram(&qxl->vram_bar, OBJECT(qxl), \"qxl.vram\",\n\n qxl->vram_size, &error_abort);\n\n vmstate_register_ram(&qxl->vram_bar, &qxl->pci.qdev);\n\n memory_region_init_alias(&qxl->vram32_bar, OBJECT(qxl), \"qxl.vram32\",\n\n &qxl->vram_bar, 0, qxl->vram32_size);\n\n\n\n memory_region_init_io(&qxl->io_bar, OBJECT(qxl), &qxl_io_ops, qxl,\n\n \"qxl-ioports\", io_size);\n\n if (qxl->id == 0) {\n\n vga_dirty_log_start(&qxl->vga);\n\n }\n\n memory_region_set_flush_coalesced(&qxl->io_bar);\n\n\n\n\n\n pci_register_bar(&qxl->pci, QXL_IO_RANGE_INDEX,\n\n PCI_BASE_ADDRESS_SPACE_IO, &qxl->io_bar);\n\n\n\n pci_register_bar(&qxl->pci, QXL_ROM_RANGE_INDEX,\n\n PCI_BASE_ADDRESS_SPACE_MEMORY, &qxl->rom_bar);\n\n\n\n pci_register_bar(&qxl->pci, QXL_RAM_RANGE_INDEX,\n\n PCI_BASE_ADDRESS_SPACE_MEMORY, &qxl->vga.vram);\n\n\n\n pci_register_bar(&qxl->pci, QXL_VRAM_RANGE_INDEX,\n\n PCI_BASE_ADDRESS_SPACE_MEMORY, &qxl->vram32_bar);\n\n\n\n if (qxl->vram32_size < qxl->vram_size) {\n\n /*\n\n * Make the 64bit vram bar show up only in case it is\n\n * configured to be larger than the 32bit vram bar.\n\n */\n\n pci_register_bar(&qxl->pci, QXL_VRAM64_RANGE_INDEX,\n\n PCI_BASE_ADDRESS_SPACE_MEMORY |\n\n PCI_BASE_ADDRESS_MEM_TYPE_64 |\n\n PCI_BASE_ADDRESS_MEM_PREFETCH,\n\n &qxl->vram_bar);\n\n }\n\n\n\n /* print pci bar details */\n\n dprint(qxl, 1, \"ram/%s: %d MB [region 0]\\n\",\n\n qxl->id == 0 ? \"pri\" : \"sec\",\n\n qxl->vga.vram_size / (1024*1024));\n\n dprint(qxl, 1, \"vram/32: %d MB [region 1]\\n\",\n\n qxl->vram32_size / (1024*1024));\n\n dprint(qxl, 1, \"vram/64: %d MB %s\\n\",\n\n qxl->vram_size / (1024*1024),\n\n qxl->vram32_size < qxl->vram_size ? \"[region 4]\" : \"[unmapped]\");\n\n\n\n qxl->ssd.qxl.base.sif = &qxl_interface.base;\n\n if (qemu_spice_add_display_interface(&qxl->ssd.qxl, qxl->vga.con) != 0) {\n\n error_setg(errp, \"qxl interface %d.%d not supported by spice-server\",\n\n SPICE_INTERFACE_QXL_MAJOR, SPICE_INTERFACE_QXL_MINOR);\n\n return;\n\n }\n\n qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl);\n\n\n\n qxl->update_irq = qemu_bh_new(qxl_update_irq_bh, qxl);\n\n qxl_reset_state(qxl);\n\n\n\n qxl->update_area_bh = qemu_bh_new(qxl_render_update_area_bh, qxl);\n\n qxl->ssd.cursor_bh = qemu_bh_new(qemu_spice_cursor_refresh_bh, &qxl->ssd);\n\n}\n", "idx": 5767}561{"project": "FFmpeg", "commit_id": "c23acbaed40101c677dfcfbbfe0d2c230a8e8f44", "target": 1, "func": "static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, DCTELEM *block)\n\n{\n\n int i;\n\n int dc = block[0];\n\n const uint8_t *cm;\n\n dc = ( 3 * dc + 1) >> 1;\n\n dc = (17 * dc + 64) >> 7;\n\n cm = ff_cropTbl + MAX_NEG_CROP + dc;\n\n for(i = 0; i < 4; i++){\n\n dest[0] = cm[dest[0]];\n\n dest[1] = cm[dest[1]];\n\n dest[2] = cm[dest[2]];\n\n dest[3] = cm[dest[3]];\n\n dest[4] = cm[dest[4]];\n\n dest[5] = cm[dest[5]];\n\n dest[6] = cm[dest[6]];\n\n dest[7] = cm[dest[7]];\n\n dest += linesize;\n\n }\n\n}\n", "idx": 5781}562{"project": "FFmpeg", "commit_id": "a70c27e813346a11e5fff3d329ecba82fb76826a", "target": 1, "func": "static always_inline uint8_t vc1_mspel_filter(const uint8_t *src, int stride, int mode, int r)\n\n{\n\n switch(mode){\n\n case 0: //no shift\n\n return src[0];\n\n case 1: // 1/4 shift\n\n return (-4*src[-stride] + 53*src[0] + 18*src[stride] - 3*src[stride*2] + 32 - r) >> 6;\n\n case 2: // 1/2 shift\n\n return (-src[-stride] + 9*src[0] + 9*src[stride] - src[stride*2] + 8 - r) >> 4;\n\n case 3: // 3/4 shift\n\n return (-3*src[-stride] + 18*src[0] + 53*src[stride] - 4*src[stride*2] + 32 - r) >> 6;\n\n }\n\n return 0; //should not occur\n\n}\n", "idx": 5789}563{"project": "qemu", "commit_id": "4c4f0e4801ac79632d03867c88aafc90b4ce503c", "target": 1, "func": "static uint64_t openpic_tmr_read(void *opaque, hwaddr addr, unsigned len)\n\n{\n\n OpenPICState *opp = opaque;\n\n uint32_t retval = -1;\n\n int idx;\n\n\n\n DPRINTF(\"%s: addr %08x\\n\", __func__, addr);\n\n if (addr & 0xF) {\n\n goto out;\n\n }\n\n idx = (addr >> 6) & 0x3;\n\n if (addr == 0x0) {\n\n /* TIFR (TFRR) */\n\n retval = opp->tifr;\n\n goto out;\n\n }\n\n switch (addr & 0x30) {\n\n case 0x00: /* TICC (GTCCR) */\n\n retval = opp->timers[idx].ticc;\n\n break;\n\n case 0x10: /* TIBC (GTBCR) */\n\n retval = opp->timers[idx].tibc;\n\n break;\n\n case 0x20: /* TIPV (TIPV) */\n\n retval = read_IRQreg_ipvp(opp, opp->irq_tim0 + idx);\n\n break;\n\n case 0x30: /* TIDE (TIDR) */\n\n retval = read_IRQreg_ide(opp, opp->irq_tim0 + idx);\n\n break;\n\n }\n\n\n\nout:\n\n DPRINTF(\"%s: => %08x\\n\", __func__, retval);\n\n\n\n return retval;\n\n}\n", "idx": 5797}564{"project": "qemu", "commit_id": "40f860cd6c1aa0d3399e3f8158f20bdc5b2bfbfe", "target": 0, "func": "static void gen_exception_insn(DisasContext *s, int offset, int excp)\n\n{\n\n gen_a64_set_pc_im(s->pc - offset);\n\n gen_exception(excp);\n\n s->is_jmp = DISAS_JUMP;\n\n}\n", "idx": 5810}565{"project": "qemu", "commit_id": "ca6b6e1e68ac44b2e8895da10dd1c80dc03d08b7", "target": 0, "func": "static QDict *qmp_dispatch_check_obj(const QObject *request, Error **errp)\n\n{\n\n const QDictEntry *ent;\n\n const char *arg_name;\n\n const QObject *arg_obj;\n\n bool has_exec_key = false;\n\n QDict *dict = NULL;\n\n\n\n if (qobject_type(request) != QTYPE_QDICT) {\n\n error_setg(errp, QERR_QMP_BAD_INPUT_OBJECT,\n\n \"request is not a dictionary\");\n\n return NULL;\n\n }\n\n\n\n dict = qobject_to_qdict(request);\n\n\n\n for (ent = qdict_first(dict); ent;\n\n ent = qdict_next(dict, ent)) {\n\n arg_name = qdict_entry_key(ent);\n\n arg_obj = qdict_entry_value(ent);\n\n\n\n if (!strcmp(arg_name, \"execute\")) {\n\n if (qobject_type(arg_obj) != QTYPE_QSTRING) {\n\n error_setg(errp, QERR_QMP_BAD_INPUT_OBJECT_MEMBER, \"execute\",\n\n \"string\");\n\n return NULL;\n\n }\n\n has_exec_key = true;\n\n } else if (strcmp(arg_name, \"arguments\")) {\n\n error_setg(errp, QERR_QMP_EXTRA_MEMBER, arg_name);\n\n return NULL;\n\n }\n\n }\n\n\n\n if (!has_exec_key) {\n\n error_setg(errp, QERR_QMP_BAD_INPUT_OBJECT, \"execute\");\n\n return NULL;\n\n }\n\n\n\n return dict;\n\n}\n", "idx": 5820}566{"project": "FFmpeg", "commit_id": "7e4fe5162ab94a413e04caae19193c5e7a4c6478", "target": 0, "func": "static void sha1_transform(uint32_t state[5], const uint8_t buffer[64])\n\n{\n\n uint32_t block[80];\n\n unsigned int i, a, b, c, d, e;\n\n\n\n a = state[0];\n\n b = state[1];\n\n c = state[2];\n\n d = state[3];\n\n e = state[4];\n\n#if CONFIG_SMALL\n\n for (i = 0; i < 80; i++) {\n\n int t;\n\n if (i < 16)\n\n t = AV_RB32(buffer + 4 * i);\n\n else\n\n t = rol(block[i-3] ^ block[i-8] ^ block[i-14] ^ block[i-16], 1);\n\n block[i] = t;\n\n t += e + rol(a, 5);\n\n if (i < 40) {\n\n if (i < 20)\n\n t += ((b&(c^d))^d) + 0x5A827999;\n\n else\n\n t += ( b^c ^d) + 0x6ED9EBA1;\n\n } else {\n\n if (i < 60)\n\n t += (((b|c)&d)|(b&c)) + 0x8F1BBCDC;\n\n else\n\n t += ( b^c ^d) + 0xCA62C1D6;\n\n }\n\n e = d;\n\n d = c;\n\n c = rol(b, 30);\n\n b = a;\n\n a = t;\n\n }\n\n#else\n\n for (i = 0; i < 15; i += 5) {\n\n R0(a, b, c, d, e, 0 + i);\n\n R0(e, a, b, c, d, 1 + i);\n\n R0(d, e, a, b, c, 2 + i);\n\n R0(c, d, e, a, b, 3 + i);\n\n R0(b, c, d, e, a, 4 + i);\n\n }\n\n R0(a, b, c, d, e, 15);\n\n R1(e, a, b, c, d, 16);\n\n R1(d, e, a, b, c, 17);\n\n R1(c, d, e, a, b, 18);\n\n R1(b, c, d, e, a, 19);\n\n for (i = 20; i < 40; i += 5) {\n\n R2(a, b, c, d, e, 0 + i);\n\n R2(e, a, b, c, d, 1 + i);\n\n R2(d, e, a, b, c, 2 + i);\n\n R2(c, d, e, a, b, 3 + i);\n\n R2(b, c, d, e, a, 4 + i);\n\n }\n\n for (; i < 60; i += 5) {\n\n R3(a, b, c, d, e, 0 + i);\n\n R3(e, a, b, c, d, 1 + i);\n\n R3(d, e, a, b, c, 2 + i);\n\n R3(c, d, e, a, b, 3 + i);\n\n R3(b, c, d, e, a, 4 + i);\n\n }\n\n for (; i < 80; i += 5) {\n\n R4(a, b, c, d, e, 0 + i);\n\n R4(e, a, b, c, d, 1 + i);\n\n R4(d, e, a, b, c, 2 + i);\n\n R4(c, d, e, a, b, 3 + i);\n\n R4(b, c, d, e, a, 4 + i);\n\n }\n\n#endif\n\n state[0] += a;\n\n state[1] += b;\n\n state[2] += c;\n\n state[3] += d;\n\n state[4] += e;\n\n}\n", "idx": 5826}567{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static int get_int64(QEMUFile *f, void *pv, size_t size)\n\n{\n\n int64_t *v = pv;\n\n qemu_get_sbe64s(f, v);\n\n return 0;\n\n}\n", "idx": 5834}568{"project": "qemu", "commit_id": "ad5b88b1f198182642b6cbf3dacb4cade0c80fb9", "target": 1, "func": "static void acpi_build_update(void *build_opaque, uint32_t offset)\n\n{\n\n AcpiBuildState *build_state = build_opaque;\n\n AcpiBuildTables tables;\n\n\n\n /* No state to update or already patched? Nothing to do. */\n\n if (!build_state || build_state->patched) {\n\n return;\n\n }\n\n build_state->patched = 1;\n\n\n\n acpi_build_tables_init(&tables);\n\n\n\n acpi_build(build_state->guest_info, &tables);\n\n\n\n assert(acpi_data_len(tables.table_data) == build_state->table_size);\n\n memcpy(build_state->table_ram, tables.table_data->data,\n\n build_state->table_size);\n\n\n\n acpi_build_tables_cleanup(&tables, true);\n\n}\n", "idx": 5837}569{"project": "FFmpeg", "commit_id": "a8bdf2405c6027f45a899eaaa6ba74e97c1c2701", "target": 1, "func": "static av_cold int amr_nb_encode_init(AVCodecContext *avctx)\n\n{\n\n AMRContext *s = avctx->priv_data;\n\n\n\n if (avctx->sample_rate != 8000) {\n\n av_log(avctx, AV_LOG_ERROR, \"Only 8000Hz sample rate supported\\n\");\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n if (avctx->channels != 1) {\n\n av_log(avctx, AV_LOG_ERROR, \"Only mono supported\\n\");\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n avctx->frame_size = 160;\n\n avctx->coded_frame = avcodec_alloc_frame();\n\n\n\n\n\n s->enc_state = Encoder_Interface_init(s->enc_dtx);\n\n if (!s->enc_state) {\n\n av_log(avctx, AV_LOG_ERROR, \"Encoder_Interface_init error\\n\");\n\n\n return -1;\n\n }\n\n\n\n s->enc_mode = get_bitrate_mode(avctx->bit_rate, avctx);\n\n s->enc_bitrate = avctx->bit_rate;\n\n\n\n return 0;\n\n}", "idx": 5845}570{"project": "FFmpeg", "commit_id": "c6bdc90890250ce351b260eff69ce3c0d0745a62", "target": 1, "func": "void help(void)\n\n{\n\n printf(\"dct-test [-i] [<test-number>]\\n\"\n\n \"test-number 0 -> test with random matrixes\\n\"\n\n \" 1 -> test with random sparse matrixes\\n\"\n\n \" 2 -> do 3. test from mpeg4 std\\n\"\n\n \"-i test IDCT implementations\\n\"\n\n \"-4 test IDCT248 implementations\\n\");\n\n exit(1);\n\n}\n", "idx": 5846}571{"project": "qemu", "commit_id": "d9bce9d99f4656ae0b0127f7472db9067b8f84ab", "target": 1, "func": "PPC_OP(slw)\n\n{\n\n if (T1 & 0x20) {\n\n T0 = 0;\n\n } else {\n\n T0 = T0 << T1;\n\n }\n\n RETURN();\n\n}\n", "idx": 5855}572{"project": "FFmpeg", "commit_id": "e3052ce7b177164da8aecfec065650fa5733e2d1", "target": 1, "func": "static int get_num(ByteIOContext *pb, int *len)\n\n{\n\n int n, n1;\n\n\n\n n = get_be16(pb);\n\n (*len)-=2;\n\n// n &= 0x7FFF;\n\n if (n >= 0x4000) {\n\n return n - 0x4000;\n\n } else {\n\n n1 = get_be16(pb);\n\n (*len)-=2;\n\n return (n << 16) | n1;\n\n }\n\n}\n", "idx": 5864}573{"project": "qemu", "commit_id": "e5ba83c53add51796e8ea787d2b7cb1f9c3cb72d", "target": 0, "func": "CPUState *ppc440ep_init(MemoryRegion *address_space_mem, ram_addr_t *ram_size,\n\n PCIBus **pcip, const unsigned int pci_irq_nrs[4],\n\n int do_init, const char *cpu_model)\n\n{\n\n MemoryRegion *ram_memories\n\n = g_malloc(PPC440EP_SDRAM_NR_BANKS * sizeof(*ram_memories));\n\n target_phys_addr_t ram_bases[PPC440EP_SDRAM_NR_BANKS];\n\n target_phys_addr_t ram_sizes[PPC440EP_SDRAM_NR_BANKS];\n\n CPUState *env;\n\n qemu_irq *pic;\n\n qemu_irq *irqs;\n\n qemu_irq *pci_irqs;\n\n\n\n if (cpu_model == NULL) {\n\n cpu_model = \"440-Xilinx\"; // XXX: should be 440EP\n\n }\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"Unable to initialize CPU!\\n\");\n\n exit(1);\n\n }\n\n\n\n ppc_booke_timers_init(env, 400000000, 0);\n\n ppc_dcr_init(env, NULL, NULL);\n\n\n\n /* interrupt controller */\n\n irqs = g_malloc0(sizeof(qemu_irq) * PPCUIC_OUTPUT_NB);\n\n irqs[PPCUIC_OUTPUT_INT] = ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT];\n\n irqs[PPCUIC_OUTPUT_CINT] = ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT];\n\n pic = ppcuic_init(env, irqs, 0x0C0, 0, 1);\n\n\n\n /* SDRAM controller */\n\n memset(ram_bases, 0, sizeof(ram_bases));\n\n memset(ram_sizes, 0, sizeof(ram_sizes));\n\n *ram_size = ppc4xx_sdram_adjust(*ram_size, PPC440EP_SDRAM_NR_BANKS,\n\n ram_memories,\n\n ram_bases, ram_sizes,\n\n ppc440ep_sdram_bank_sizes);\n\n /* XXX 440EP's ECC interrupts are on UIC1, but we've only created UIC0. */\n\n ppc4xx_sdram_init(env, pic[14], PPC440EP_SDRAM_NR_BANKS, ram_memories,\n\n ram_bases, ram_sizes, do_init);\n\n\n\n /* PCI */\n\n pci_irqs = g_malloc(sizeof(qemu_irq) * 4);\n\n pci_irqs[0] = pic[pci_irq_nrs[0]];\n\n pci_irqs[1] = pic[pci_irq_nrs[1]];\n\n pci_irqs[2] = pic[pci_irq_nrs[2]];\n\n pci_irqs[3] = pic[pci_irq_nrs[3]];\n\n *pcip = ppc4xx_pci_init(env, pci_irqs,\n\n PPC440EP_PCI_CONFIG,\n\n PPC440EP_PCI_INTACK,\n\n PPC440EP_PCI_SPECIAL,\n\n PPC440EP_PCI_REGS);\n\n if (!*pcip)\n\n printf(\"couldn't create PCI controller!\\n\");\n\n\n\n isa_mmio_init(PPC440EP_PCI_IO, PPC440EP_PCI_IOLEN);\n\n\n\n if (serial_hds[0] != NULL) {\n\n serial_mm_init(address_space_mem, 0xef600300, 0, pic[0],\n\n PPC_SERIAL_MM_BAUDBASE, serial_hds[0],\n\n DEVICE_BIG_ENDIAN);\n\n }\n\n if (serial_hds[1] != NULL) {\n\n serial_mm_init(address_space_mem, 0xef600400, 0, pic[1],\n\n PPC_SERIAL_MM_BAUDBASE, serial_hds[1],\n\n DEVICE_BIG_ENDIAN);\n\n }\n\n\n\n return env;\n\n}\n", "idx": 5875}574{"project": "qemu", "commit_id": "146beee5d9f94d96ab3bf54ac355a263290b75ac", "target": 0, "func": "static int piix4_initfn(PCIDevice *dev)\n\n{\n\n PIIX4State *d = DO_UPCAST(PIIX4State, dev, dev);\n\n uint8_t *pci_conf;\n\n\n\n isa_bus_new(&d->dev.qdev);\n\n\n\n pci_conf = d->dev.config;\n\n pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_INTEL);\n\n pci_config_set_device_id(pci_conf, PCI_DEVICE_ID_INTEL_82371AB_0); // 82371AB/EB/MB PIIX4 PCI-to-ISA bridge\n\n pci_config_set_class(pci_conf, PCI_CLASS_BRIDGE_ISA);\n\n\n\n piix4_dev = &d->dev;\n\n qemu_register_reset(piix4_reset, d);\n\n return 0;\n\n}\n", "idx": 5899}575{"project": "FFmpeg", "commit_id": "d6945aeee419a8417b8019c7c92227e12e45b7ad", "target": 1, "func": "static void FUNCC(ff_h264_add_pixels8)(uint8_t *_dst, int16_t *_src, int stride)\n\n{\n\n int i;\n\n pixel *dst = (pixel *) _dst;\n\n dctcoef *src = (dctcoef *) _src;\n\n stride /= sizeof(pixel);\n\n\n\n for (i = 0; i < 8; i++) {\n\n dst[0] += src[0];\n\n dst[1] += src[1];\n\n dst[2] += src[2];\n\n dst[3] += src[3];\n\n dst[4] += src[4];\n\n dst[5] += src[5];\n\n dst[6] += src[6];\n\n dst[7] += src[7];\n\n\n\n dst += stride;\n\n src += 8;\n\n }\n\n\n\n memset(_src, 0, sizeof(dctcoef) * 64);\n\n}\n", "idx": 5905}576{"project": "FFmpeg", "commit_id": "fbaf75b166cd067cf383a75ffcccb1e2b370bf6d", "target": 1, "func": "static int output_frame(H264Context *h, AVFrame *dst, AVFrame *src)\n\n{\n\n int i;\n\n int ret = av_frame_ref(dst, src);\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (!h->sps.crop)\n\n return 0;\n\n\n\n for (i = 0; i < 3; i++) {\n\n int hshift = (i > 0) ? h->chroma_x_shift : 0;\n\n int vshift = (i > 0) ? h->chroma_y_shift : 0;\n\n int off = ((h->sps.crop_left >> hshift) << h->pixel_shift) +\n\n (h->sps.crop_top >> vshift) * dst->linesize[i];\n\n dst->data[i] += off;\n\n }\n\n return 0;\n\n}\n", "idx": 5908}577{"project": "qemu", "commit_id": "100f8f26086ad85a9361f2883edd55bc337ce594", "target": 1, "func": "void throttle_account(ThrottleState *ts, bool is_write, uint64_t size)\n\n{\n\n double units = 1.0;\n\n\n\n /* if cfg.op_size is defined and smaller than size we compute unit count */\n\n if (ts->cfg.op_size && size > ts->cfg.op_size) {\n\n units = (double) size / ts->cfg.op_size;\n\n }\n\n\n\n ts->cfg.buckets[THROTTLE_BPS_TOTAL].level += size;\n\n ts->cfg.buckets[THROTTLE_OPS_TOTAL].level += units;\n\n\n\n if (is_write) {\n\n ts->cfg.buckets[THROTTLE_BPS_WRITE].level += size;\n\n ts->cfg.buckets[THROTTLE_OPS_WRITE].level += units;\n\n } else {\n\n ts->cfg.buckets[THROTTLE_BPS_READ].level += size;\n\n ts->cfg.buckets[THROTTLE_OPS_READ].level += units;\n\n }\n\n}\n", "idx": 5920}578{"project": "qemu", "commit_id": "e8a095dadb70e2ea6d5169d261920db3747bfa45", "target": 1, "func": "void bdrv_remove_aio_context_notifier(BlockDriverState *bs,\n\n void (*attached_aio_context)(AioContext *,\n\n void *),\n\n void (*detach_aio_context)(void *),\n\n void *opaque)\n\n{\n\n BdrvAioNotifier *ban, *ban_next;\n\n\n\n QLIST_FOREACH_SAFE(ban, &bs->aio_notifiers, list, ban_next) {\n\n if (ban->attached_aio_context == attached_aio_context &&\n\n ban->detach_aio_context == detach_aio_context &&\n\n ban->opaque == opaque)\n\n {\n\n QLIST_REMOVE(ban, list);\n\n g_free(ban);\n\n\n\n return;\n\n }\n\n }\n\n\n\n abort();\n\n}\n", "idx": 5931}579{"project": "qemu", "commit_id": "7d1b0095bff7157e856d1d0e6c4295641ced2752", "target": 1, "func": "static void gen_addq_lo(DisasContext *s, TCGv_i64 val, int rlow)\n\n{\n\n TCGv_i64 tmp;\n\n TCGv tmp2;\n\n\n\n /* Load value and extend to 64 bits. */\n\n tmp = tcg_temp_new_i64();\n\n tmp2 = load_reg(s, rlow);\n\n tcg_gen_extu_i32_i64(tmp, tmp2);\n\n dead_tmp(tmp2);\n\n tcg_gen_add_i64(val, val, tmp);\n\n tcg_temp_free_i64(tmp);\n\n}\n", "idx": 5962}580{"project": "qemu", "commit_id": "b4ba67d9a702507793c2724e56f98e9b0f7be02b", "target": 1, "func": "static void test_bmdma_simple_rw(void)\n\n{\n\n QPCIDevice *dev;\n\n void *bmdma_base, *ide_base;\n\n uint8_t status;\n\n uint8_t *buf;\n\n uint8_t *cmpbuf;\n\n size_t len = 512;\n\n uintptr_t guest_buf = guest_alloc(guest_malloc, len);\n\n\n\n PrdtEntry prdt[] = {\n\n {\n\n .addr = cpu_to_le32(guest_buf),\n\n .size = cpu_to_le32(len | PRDT_EOT),\n\n },\n\n };\n\n\n\n dev = get_pci_device(&bmdma_base, &ide_base);\n\n\n\n buf = g_malloc(len);\n\n cmpbuf = g_malloc(len);\n\n\n\n /* Write 0x55 pattern to sector 0 */\n\n memset(buf, 0x55, len);\n\n memwrite(guest_buf, buf, len);\n\n\n\n status = send_dma_request(CMD_WRITE_DMA, 0, 1, prdt,\n\n ARRAY_SIZE(prdt), NULL);\n\n g_assert_cmphex(status, ==, BM_STS_INTR);\n\n assert_bit_clear(qpci_io_readb(dev, ide_base + reg_status), DF | ERR);\n\n\n\n /* Write 0xaa pattern to sector 1 */\n\n memset(buf, 0xaa, len);\n\n memwrite(guest_buf, buf, len);\n\n\n\n status = send_dma_request(CMD_WRITE_DMA, 1, 1, prdt,\n\n ARRAY_SIZE(prdt), NULL);\n\n g_assert_cmphex(status, ==, BM_STS_INTR);\n\n assert_bit_clear(qpci_io_readb(dev, ide_base + reg_status), DF | ERR);\n\n\n\n /* Read and verify 0x55 pattern in sector 0 */\n\n memset(cmpbuf, 0x55, len);\n\n\n\n status = send_dma_request(CMD_READ_DMA, 0, 1, prdt, ARRAY_SIZE(prdt), NULL);\n\n g_assert_cmphex(status, ==, BM_STS_INTR);\n\n assert_bit_clear(qpci_io_readb(dev, ide_base + reg_status), DF | ERR);\n\n\n\n memread(guest_buf, buf, len);\n\n g_assert(memcmp(buf, cmpbuf, len) == 0);\n\n\n\n /* Read and verify 0xaa pattern in sector 1 */\n\n memset(cmpbuf, 0xaa, len);\n\n\n\n status = send_dma_request(CMD_READ_DMA, 1, 1, prdt, ARRAY_SIZE(prdt), NULL);\n\n g_assert_cmphex(status, ==, BM_STS_INTR);\n\n assert_bit_clear(qpci_io_readb(dev, ide_base + reg_status), DF | ERR);\n\n\n\n memread(guest_buf, buf, len);\n\n g_assert(memcmp(buf, cmpbuf, len) == 0);\n\n\n\n\n\n g_free(buf);\n\n g_free(cmpbuf);\n\n}\n", "idx": 5963}581{"project": "FFmpeg", "commit_id": "33f58c3616d2870d3861da68217ef9d05cc5047a", "target": 1, "func": "static int idcin_read_packet(AVFormatContext *s,\n\n AVPacket *pkt)\n\n{\n\n int ret;\n\n unsigned int command;\n\n unsigned int chunk_size;\n\n IdcinDemuxContext *idcin = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n int i;\n\n int palette_scale;\n\n unsigned char r, g, b;\n\n unsigned char palette_buffer[768];\n\n uint32_t palette[256];\n\n\n\n if (s->pb->eof_reached)\n\n return AVERROR(EIO);\n\n\n\n if (idcin->next_chunk_is_video) {\n\n command = avio_rl32(pb);\n\n if (command == 2) {\n\n return AVERROR(EIO);\n\n } else if (command == 1) {\n\n /* trigger a palette change */\n\n if (avio_read(pb, palette_buffer, 768) != 768)\n\n return AVERROR(EIO);\n\n /* scale the palette as necessary */\n\n palette_scale = 2;\n\n for (i = 0; i < 768; i++)\n\n if (palette_buffer[i] > 63) {\n\n palette_scale = 0;\n\n break;\n\n\n\n\n for (i = 0; i < 256; i++) {\n\n r = palette_buffer[i * 3 ] << palette_scale;\n\n g = palette_buffer[i * 3 + 1] << palette_scale;\n\n b = palette_buffer[i * 3 + 2] << palette_scale;\n\n palette[i] = (r << 16) | (g << 8) | (b);\n\n\n\n\n\n chunk_size = avio_rl32(pb);\n\n\n\n\n\n /* skip the number of decoded bytes (always equal to width * height) */\n\n avio_skip(pb, 4);\n\n chunk_size -= 4;\n\n ret= av_get_packet(pb, pkt, chunk_size);\n\n if (ret < 0)\n\n return ret;\n\n if (command == 1) {\n\n uint8_t *pal;\n\n\n\n pal = av_packet_new_side_data(pkt, AV_PKT_DATA_PALETTE,\n\n AVPALETTE_SIZE);\n\n if (ret < 0)\n\n return ret;\n\n memcpy(pal, palette, AVPALETTE_SIZE);\n\n pkt->flags |= AV_PKT_FLAG_KEY;\n\n\n pkt->stream_index = idcin->video_stream_index;\n\n pkt->duration = 1;\n\n } else {\n\n /* send out the audio chunk */\n\n if (idcin->current_audio_chunk)\n\n chunk_size = idcin->audio_chunk_size2;\n\n else\n\n chunk_size = idcin->audio_chunk_size1;\n\n ret= av_get_packet(pb, pkt, chunk_size);\n\n if (ret < 0)\n\n return ret;\n\n pkt->stream_index = idcin->audio_stream_index;\n\n pkt->duration = chunk_size / idcin->block_align;\n\n\n\n idcin->current_audio_chunk ^= 1;\n\n\n\n\n if (idcin->audio_present)\n\n idcin->next_chunk_is_video ^= 1;\n\n\n\n return ret;\n", "idx": 5965}582{"project": "FFmpeg", "commit_id": "009f829dde811af654af7110326aea3a72c05d5e", "target": 1, "func": "static inline void RENAME(yuv2rgb555_2)(SwsContext *c, const uint16_t *buf0,\n\n const uint16_t *buf1, const uint16_t *ubuf0,\n\n const uint16_t *ubuf1, const uint16_t *vbuf0,\n\n const uint16_t *vbuf1, const uint16_t *abuf0,\n\n const uint16_t *abuf1, uint8_t *dest,\n\n int dstW, int yalpha, int uvalpha, int y)\n\n{\n\n x86_reg uv_off = c->uv_off << 1;\n\n\n\n //Note 8280 == DSTW_OFFSET but the preprocessor can't handle that there :(\n\n __asm__ volatile(\n\n \"mov %%\"REG_b\", \"ESP_OFFSET\"(%5) \\n\\t\"\n\n \"mov %4, %%\"REG_b\" \\n\\t\"\n\n \"push %%\"REG_BP\" \\n\\t\"\n\n YSCALEYUV2RGB(%%REGBP, %5, %6)\n\n \"pxor %%mm7, %%mm7 \\n\\t\"\n\n /* mm2=B, %%mm4=G, %%mm5=R, %%mm7=0 */\n\n#ifdef DITHER1XBPP\n\n \"paddusb \"BLUE_DITHER\"(%5), %%mm2 \\n\\t\"\n\n \"paddusb \"GREEN_DITHER\"(%5), %%mm4 \\n\\t\"\n\n \"paddusb \"RED_DITHER\"(%5), %%mm5 \\n\\t\"\n\n#endif\n\n WRITERGB15(%%REGb, 8280(%5), %%REGBP)\n\n \"pop %%\"REG_BP\" \\n\\t\"\n\n \"mov \"ESP_OFFSET\"(%5), %%\"REG_b\" \\n\\t\"\n\n :: \"c\" (buf0), \"d\" (buf1), \"S\" (ubuf0), \"D\" (ubuf1), \"m\" (dest),\n\n \"a\" (&c->redDither), \"m\"(uv_off)\n\n );\n\n}\n", "idx": 5981}583{"project": "qemu", "commit_id": "51b19ebe4320f3dcd93cea71235c1219318ddfd2", "target": 0, "func": "static VirtIOBlockReq *virtio_blk_get_request(VirtIOBlock *s)\n\n{\n\n VirtIOBlockReq *req = virtio_blk_alloc_request(s);\n\n\n\n if (!virtqueue_pop(s->vq, &req->elem)) {\n\n virtio_blk_free_request(req);\n\n return NULL;\n\n }\n\n\n\n return req;\n\n}\n", "idx": 6007}584{"project": "FFmpeg", "commit_id": "f7a02d5d694bcef993b0229c9e57f22421fed637", "target": 0, "func": "static int output_packet(InputStream *ist, const AVPacket *pkt)\n\n{\n\n int ret = 0, i;\n\n int got_output;\n\n\n\n AVPacket avpkt;\n\n if (!ist->saw_first_ts) {\n\n ist->dts = ist->st->avg_frame_rate.num ? - ist->st->codec->has_b_frames * AV_TIME_BASE / av_q2d(ist->st->avg_frame_rate) : 0;\n\n ist->pts = 0;\n\n if (pkt != NULL && pkt->pts != AV_NOPTS_VALUE && !ist->decoding_needed) {\n\n ist->dts += av_rescale_q(pkt->pts, ist->st->time_base, AV_TIME_BASE_Q);\n\n ist->pts = ist->dts; //unused but better to set it to a value thats not totally wrong\n\n }\n\n ist->saw_first_ts = 1;\n\n }\n\n\n\n if (ist->next_dts == AV_NOPTS_VALUE)\n\n ist->next_dts = ist->dts;\n\n if (ist->next_pts == AV_NOPTS_VALUE)\n\n ist->next_pts = ist->pts;\n\n\n\n if (pkt == NULL) {\n\n /* EOF handling */\n\n av_init_packet(&avpkt);\n\n avpkt.data = NULL;\n\n avpkt.size = 0;\n\n goto handle_eof;\n\n } else {\n\n avpkt = *pkt;\n\n }\n\n\n\n if (pkt->dts != AV_NOPTS_VALUE) {\n\n ist->next_dts = ist->dts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);\n\n if (ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO || !ist->decoding_needed)\n\n ist->next_pts = ist->pts = ist->dts;\n\n }\n\n\n\n // while we have more to decode or while the decoder did output something on EOF\n\n while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) {\n\n int duration;\n\n handle_eof:\n\n\n\n ist->pts = ist->next_pts;\n\n ist->dts = ist->next_dts;\n\n\n\n if (avpkt.size && avpkt.size != pkt->size) {\n\n av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,\n\n \"Multiple frames in a packet from stream %d\\n\", pkt->stream_index);\n\n ist->showed_multi_packet_warning = 1;\n\n }\n\n\n\n switch (ist->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n ret = decode_audio (ist, &avpkt, &got_output);\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n ret = decode_video (ist, &avpkt, &got_output);\n\n if (avpkt.duration) {\n\n duration = av_rescale_q(avpkt.duration, ist->st->time_base, AV_TIME_BASE_Q);\n\n } else if(ist->st->codec->time_base.num != 0 && ist->st->codec->time_base.den != 0) {\n\n int ticks= ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame;\n\n duration = ((int64_t)AV_TIME_BASE *\n\n ist->st->codec->time_base.num * ticks) /\n\n ist->st->codec->time_base.den;\n\n } else\n\n duration = 0;\n\n\n\n if(ist->dts != AV_NOPTS_VALUE && duration) {\n\n ist->next_dts += duration;\n\n }else\n\n ist->next_dts = AV_NOPTS_VALUE;\n\n\n\n if (got_output)\n\n ist->next_pts += duration; //FIXME the duration is not correct in some cases\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n ret = transcode_subtitles(ist, &avpkt, &got_output);\n\n break;\n\n default:\n\n return -1;\n\n }\n\n\n\n if (ret < 0)\n\n return ret;\n\n\n\n avpkt.dts=\n\n avpkt.pts= AV_NOPTS_VALUE;\n\n\n\n // touch data and size only if not EOF\n\n if (pkt) {\n\n if(ist->st->codec->codec_type != AVMEDIA_TYPE_AUDIO)\n\n ret = avpkt.size;\n\n avpkt.data += ret;\n\n avpkt.size -= ret;\n\n }\n\n if (!got_output) {\n\n continue;\n\n }\n\n }\n\n\n\n /* handle stream copy */\n\n if (!ist->decoding_needed) {\n\n rate_emu_sleep(ist);\n\n ist->dts = ist->next_dts;\n\n switch (ist->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n ist->next_dts += ((int64_t)AV_TIME_BASE * ist->st->codec->frame_size) /\n\n ist->st->codec->sample_rate;\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n if (pkt->duration) {\n\n ist->next_dts += av_rescale_q(pkt->duration, ist->st->time_base, AV_TIME_BASE_Q);\n\n } else if(ist->st->codec->time_base.num != 0) {\n\n int ticks= ist->st->parser ? ist->st->parser->repeat_pict + 1 : ist->st->codec->ticks_per_frame;\n\n ist->next_dts += ((int64_t)AV_TIME_BASE *\n\n ist->st->codec->time_base.num * ticks) /\n\n ist->st->codec->time_base.den;\n\n }\n\n break;\n\n }\n\n ist->pts = ist->dts;\n\n ist->next_pts = ist->next_dts;\n\n }\n\n for (i = 0; pkt && i < nb_output_streams; i++) {\n\n OutputStream *ost = output_streams[i];\n\n\n\n if (!check_output_constraints(ist, ost) || ost->encoding_needed)\n\n continue;\n\n\n\n do_streamcopy(ist, ost, pkt);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 6008}585{"project": "qemu", "commit_id": "ea375f9ab8c76686dca0af8cb4f87a4eb569cad3", "target": 1, "func": "void qemu_system_reset(void)\n\n{\n\n QEMUResetEntry *re, *nre;\n\n\n\n /* reset all devices */\n\n QTAILQ_FOREACH_SAFE(re, &reset_handlers, entry, nre) {\n\n re->func(re->opaque);\n\n }\n\n\n}", "idx": 6025}586{"project": "qemu", "commit_id": "a9c0183059d6a4e4d940cd86ac0f9402b0655d24", "target": 0, "func": "static void sd_reset(SDState *sd, BlockDriverState *bdrv)\n\n{\n\n uint64_t size;\n\n uint64_t sect;\n\n\n\n if (bdrv) {\n\n bdrv_get_geometry(bdrv, §);\n\n } else {\n\n sect = 0;\n\n }\n\n size = sect << 9;\n\n\n\n sect = (size >> (HWBLOCK_SHIFT + SECTOR_SHIFT + WPGROUP_SHIFT)) + 1;\n\n\n\n sd->state = sd_idle_state;\n\n sd->rca = 0x0000;\n\n sd_set_ocr(sd);\n\n sd_set_scr(sd);\n\n sd_set_cid(sd);\n\n sd_set_csd(sd, size);\n\n sd_set_cardstatus(sd);\n\n sd_set_sdstatus(sd);\n\n\n\n sd->bdrv = bdrv;\n\n\n\n if (sd->wp_groups)\n\n g_free(sd->wp_groups);\n\n sd->wp_switch = bdrv ? bdrv_is_read_only(bdrv) : 0;\n\n sd->wp_groups = (int *) g_malloc0(sizeof(int) * sect);\n\n memset(sd->function_group, 0, sizeof(int) * 6);\n\n sd->erase_start = 0;\n\n sd->erase_end = 0;\n\n sd->size = size;\n\n sd->blk_len = 0x200;\n\n sd->pwd_len = 0;\n\n sd->expecting_acmd = 0;\n\n}\n", "idx": 6032}587{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static void phys_page_set(AddressSpaceDispatch *d,\n\n target_phys_addr_t index, target_phys_addr_t nb,\n\n uint16_t leaf)\n\n{\n\n /* Wildly overreserve - it doesn't matter much. */\n\n phys_map_node_reserve(3 * P_L2_LEVELS);\n\n\n\n phys_page_set_level(&d->phys_map, &index, &nb, leaf, P_L2_LEVELS - 1);\n\n}\n", "idx": 6033}588{"project": "qemu", "commit_id": "425532d71d5d295cc9c649500e4969ac621ce51d", "target": 0, "func": "static inline void tcg_out_op(TCGContext *s, TCGOpcode opc, const TCGArg *args,\n\n const int *const_args)\n\n{\n\n int c;\n\n\n\n switch (opc) {\n\n case INDEX_op_exit_tb:\n\n if (check_fit_tl(args[0], 13)) {\n\n tcg_out_arithi(s, TCG_REG_G0, TCG_REG_I7, 8, RETURN);\n\n tcg_out_movi_imm13(s, TCG_REG_O0, args[0]);\n\n } else {\n\n tcg_out_movi(s, TCG_TYPE_PTR, TCG_REG_I0, args[0] & ~0x3ff);\n\n tcg_out_arithi(s, TCG_REG_G0, TCG_REG_I7, 8, RETURN);\n\n tcg_out_arithi(s, TCG_REG_O0, TCG_REG_O0,\n\n args[0] & 0x3ff, ARITH_OR);\n\n }\n\n break;\n\n case INDEX_op_goto_tb:\n\n if (s->tb_jmp_offset) {\n\n /* direct jump method */\n\n uint32_t old_insn = *(uint32_t *)s->code_ptr;\n\n s->tb_jmp_offset[args[0]] = s->code_ptr - s->code_buf;\n\n /* Make sure to preserve links during retranslation. */\n\n tcg_out32(s, CALL | (old_insn & ~INSN_OP(-1)));\n\n } else {\n\n /* indirect jump method */\n\n tcg_out_ld_ptr(s, TCG_REG_T1, (uintptr_t)(s->tb_next + args[0]));\n\n tcg_out_arithi(s, TCG_REG_G0, TCG_REG_T1, 0, JMPL);\n\n }\n\n tcg_out_nop(s);\n\n s->tb_next_offset[args[0]] = s->code_ptr - s->code_buf;\n\n break;\n\n case INDEX_op_call:\n\n if (const_args[0]) {\n\n tcg_out_calli(s, args[0]);\n\n } else {\n\n tcg_out_arithi(s, TCG_REG_O7, args[0], 0, JMPL);\n\n }\n\n /* delay slot */\n\n tcg_out_nop(s);\n\n break;\n\n case INDEX_op_br:\n\n tcg_out_bpcc(s, COND_A, BPCC_PT, args[0]);\n\n tcg_out_nop(s);\n\n break;\n\n case INDEX_op_movi_i32:\n\n tcg_out_movi(s, TCG_TYPE_I32, args[0], (uint32_t)args[1]);\n\n break;\n\n\n\n#define OP_32_64(x) \\\n\n glue(glue(case INDEX_op_, x), _i32): \\\n\n glue(glue(case INDEX_op_, x), _i64)\n\n\n\n OP_32_64(ld8u):\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDUB);\n\n break;\n\n OP_32_64(ld8s):\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDSB);\n\n break;\n\n OP_32_64(ld16u):\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDUH);\n\n break;\n\n OP_32_64(ld16s):\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDSH);\n\n break;\n\n case INDEX_op_ld_i32:\n\n case INDEX_op_ld32u_i64:\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDUW);\n\n break;\n\n OP_32_64(st8):\n\n tcg_out_ldst(s, args[0], args[1], args[2], STB);\n\n break;\n\n OP_32_64(st16):\n\n tcg_out_ldst(s, args[0], args[1], args[2], STH);\n\n break;\n\n case INDEX_op_st_i32:\n\n case INDEX_op_st32_i64:\n\n tcg_out_ldst(s, args[0], args[1], args[2], STW);\n\n break;\n\n OP_32_64(add):\n\n c = ARITH_ADD;\n\n goto gen_arith;\n\n OP_32_64(sub):\n\n c = ARITH_SUB;\n\n goto gen_arith;\n\n OP_32_64(and):\n\n c = ARITH_AND;\n\n goto gen_arith;\n\n OP_32_64(andc):\n\n c = ARITH_ANDN;\n\n goto gen_arith;\n\n OP_32_64(or):\n\n c = ARITH_OR;\n\n goto gen_arith;\n\n OP_32_64(orc):\n\n c = ARITH_ORN;\n\n goto gen_arith;\n\n OP_32_64(xor):\n\n c = ARITH_XOR;\n\n goto gen_arith;\n\n case INDEX_op_shl_i32:\n\n c = SHIFT_SLL;\n\n do_shift32:\n\n /* Limit immediate shift count lest we create an illegal insn. */\n\n tcg_out_arithc(s, args[0], args[1], args[2] & 31, const_args[2], c);\n\n break;\n\n case INDEX_op_shr_i32:\n\n c = SHIFT_SRL;\n\n goto do_shift32;\n\n case INDEX_op_sar_i32:\n\n c = SHIFT_SRA;\n\n goto do_shift32;\n\n case INDEX_op_mul_i32:\n\n c = ARITH_UMUL;\n\n goto gen_arith;\n\n\n\n OP_32_64(neg):\n\n\tc = ARITH_SUB;\n\n\tgoto gen_arith1;\n\n OP_32_64(not):\n\n\tc = ARITH_ORN;\n\n\tgoto gen_arith1;\n\n\n\n case INDEX_op_div_i32:\n\n tcg_out_div32(s, args[0], args[1], args[2], const_args[2], 0);\n\n break;\n\n case INDEX_op_divu_i32:\n\n tcg_out_div32(s, args[0], args[1], args[2], const_args[2], 1);\n\n break;\n\n\n\n case INDEX_op_brcond_i32:\n\n tcg_out_brcond_i32(s, args[2], args[0], args[1], const_args[1],\n\n args[3]);\n\n break;\n\n case INDEX_op_setcond_i32:\n\n tcg_out_setcond_i32(s, args[3], args[0], args[1],\n\n args[2], const_args[2]);\n\n break;\n\n case INDEX_op_movcond_i32:\n\n tcg_out_movcond_i32(s, args[5], args[0], args[1],\n\n args[2], const_args[2], args[3], const_args[3]);\n\n break;\n\n\n\n case INDEX_op_add2_i32:\n\n tcg_out_addsub2(s, args[0], args[1], args[2], args[3],\n\n args[4], const_args[4], args[5], const_args[5],\n\n ARITH_ADDCC, ARITH_ADDX);\n\n break;\n\n case INDEX_op_sub2_i32:\n\n tcg_out_addsub2(s, args[0], args[1], args[2], args[3],\n\n args[4], const_args[4], args[5], const_args[5],\n\n ARITH_SUBCC, ARITH_SUBX);\n\n break;\n\n case INDEX_op_mulu2_i32:\n\n c = ARITH_UMUL;\n\n goto do_mul2;\n\n case INDEX_op_muls2_i32:\n\n c = ARITH_SMUL;\n\n do_mul2:\n\n /* The 32-bit multiply insns produce a full 64-bit result. If the\n\n destination register can hold it, we can avoid the slower RDY. */\n\n tcg_out_arithc(s, args[0], args[2], args[3], const_args[3], c);\n\n if (SPARC64 || args[0] <= TCG_REG_O7) {\n\n tcg_out_arithi(s, args[1], args[0], 32, SHIFT_SRLX);\n\n } else {\n\n tcg_out_rdy(s, args[1]);\n\n }\n\n break;\n\n\n\n case INDEX_op_qemu_ld_i32:\n\n tcg_out_qemu_ld(s, args[0], args[1], args[2], args[3], false);\n\n break;\n\n case INDEX_op_qemu_ld_i64:\n\n tcg_out_qemu_ld(s, args[0], args[1], args[2], args[3], true);\n\n break;\n\n case INDEX_op_qemu_st_i32:\n\n tcg_out_qemu_st(s, args[0], args[1], args[2], args[3]);\n\n break;\n\n case INDEX_op_qemu_st_i64:\n\n tcg_out_qemu_st(s, args[0], args[1], args[2], args[3]);\n\n break;\n\n\n\n case INDEX_op_movi_i64:\n\n tcg_out_movi(s, TCG_TYPE_I64, args[0], args[1]);\n\n break;\n\n case INDEX_op_ld32s_i64:\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDSW);\n\n break;\n\n case INDEX_op_ld_i64:\n\n tcg_out_ldst(s, args[0], args[1], args[2], LDX);\n\n break;\n\n case INDEX_op_st_i64:\n\n tcg_out_ldst(s, args[0], args[1], args[2], STX);\n\n break;\n\n case INDEX_op_shl_i64:\n\n c = SHIFT_SLLX;\n\n do_shift64:\n\n /* Limit immediate shift count lest we create an illegal insn. */\n\n tcg_out_arithc(s, args[0], args[1], args[2] & 63, const_args[2], c);\n\n break;\n\n case INDEX_op_shr_i64:\n\n c = SHIFT_SRLX;\n\n goto do_shift64;\n\n case INDEX_op_sar_i64:\n\n c = SHIFT_SRAX;\n\n goto do_shift64;\n\n case INDEX_op_mul_i64:\n\n c = ARITH_MULX;\n\n goto gen_arith;\n\n case INDEX_op_div_i64:\n\n c = ARITH_SDIVX;\n\n goto gen_arith;\n\n case INDEX_op_divu_i64:\n\n c = ARITH_UDIVX;\n\n goto gen_arith;\n\n case INDEX_op_ext32s_i64:\n\n tcg_out_arithi(s, args[0], args[1], 0, SHIFT_SRA);\n\n break;\n\n case INDEX_op_ext32u_i64:\n\n tcg_out_arithi(s, args[0], args[1], 0, SHIFT_SRL);\n\n break;\n\n case INDEX_op_trunc_shr_i32:\n\n if (args[2] == 0) {\n\n tcg_out_mov(s, TCG_TYPE_I32, args[0], args[1]);\n\n } else {\n\n tcg_out_arithi(s, args[0], args[1], args[2], SHIFT_SRLX);\n\n }\n\n break;\n\n\n\n case INDEX_op_brcond_i64:\n\n tcg_out_brcond_i64(s, args[2], args[0], args[1], const_args[1],\n\n args[3]);\n\n break;\n\n case INDEX_op_setcond_i64:\n\n tcg_out_setcond_i64(s, args[3], args[0], args[1],\n\n args[2], const_args[2]);\n\n break;\n\n case INDEX_op_movcond_i64:\n\n tcg_out_movcond_i64(s, args[5], args[0], args[1],\n\n args[2], const_args[2], args[3], const_args[3]);\n\n break;\n\n\n\n gen_arith:\n\n tcg_out_arithc(s, args[0], args[1], args[2], const_args[2], c);\n\n break;\n\n\n\n gen_arith1:\n\n\ttcg_out_arithc(s, args[0], TCG_REG_G0, args[1], const_args[1], c);\n\n\tbreak;\n\n\n\n default:\n\n fprintf(stderr, \"unknown opcode 0x%x\\n\", opc);\n\n tcg_abort();\n\n }\n\n}\n", "idx": 6043}589{"project": "FFmpeg", "commit_id": "df824548d031dbfc5fa86ea9e0c652bd086b55c4", "target": 0, "func": "static int eightsvx_decode_frame(AVCodecContext *avctx, void *data,\n\n int *got_frame_ptr, AVPacket *avpkt)\n\n{\n\n EightSvxContext *esc = avctx->priv_data;\n\n int n, out_data_size;\n\n int ch, ret;\n\n uint8_t *src;\n\n\n\n /* decode and interleave the first packet */\n\n if (!esc->samples && avpkt) {\n\n int packet_size = avpkt->size;\n\n\n\n if (packet_size % avctx->channels) {\n\n av_log(avctx, AV_LOG_WARNING, \"Packet with odd size, ignoring last byte\\n\");\n\n if (packet_size < avctx->channels)\n\n return packet_size;\n\n packet_size -= packet_size % avctx->channels;\n\n }\n\n esc->samples_size = !esc->table ?\n\n packet_size : avctx->channels + (packet_size-avctx->channels) * 2;\n\n if (!(esc->samples = av_malloc(esc->samples_size)))\n\n return AVERROR(ENOMEM);\n\n\n\n /* decompress */\n\n if (esc->table) {\n\n const uint8_t *buf = avpkt->data;\n\n uint8_t *dst;\n\n int buf_size = avpkt->size;\n\n int i, n = esc->samples_size;\n\n\n\n if (buf_size < 2) {\n\n av_log(avctx, AV_LOG_ERROR, \"packet size is too small\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n /* the uncompressed starting value is contained in the first byte */\n\n dst = esc->samples;\n\n for (i = 0; i < avctx->channels; i++) {\n\n *(dst++) = buf[0]+128;\n\n delta_decode(dst, buf + 1, buf_size / avctx->channels - 1, (buf[0]+128)&0xFF, esc->table);\n\n buf += buf_size / avctx->channels;\n\n dst += n / avctx->channels - 1;\n\n }\n\n } else {\n\n raw_decode(esc->samples, avpkt->data, esc->samples_size);\n\n }\n\n }\n\n\n\n /* get output buffer */\n\n av_assert1(!(esc->samples_size % avctx->channels || esc->samples_idx % avctx->channels));\n\n esc->frame.nb_samples = FFMIN(MAX_FRAME_SIZE, esc->samples_size - esc->samples_idx) / avctx->channels;\n\n if ((ret = avctx->get_buffer(avctx, &esc->frame)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return ret;\n\n }\n\n\n\n *got_frame_ptr = 1;\n\n *(AVFrame *)data = esc->frame;\n\n\n\n out_data_size = esc->frame.nb_samples;\n\n for (ch = 0; ch<avctx->channels; ch++) {\n\n src = esc->samples + esc->samples_idx / avctx->channels + ch * esc->samples_size / avctx->channels;\n\n memcpy(esc->frame.data[ch], src, out_data_size);\n\n }\n\n out_data_size *= avctx->channels;\n\n esc->samples_idx += out_data_size;\n\n\n\n return esc->table ?\n\n (avctx->frame_number == 0)*2 + out_data_size / 2 :\n\n out_data_size;\n\n}\n", "idx": 6063}590{"project": "qemu", "commit_id": "80dcfb8532ae76343109a48f12ba8ca1c505c179", "target": 0, "func": "static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id)\n\n{\n\n VirtIOSerial *s = opaque;\n\n VirtIOSerialPort *port;\n\n uint32_t max_nr_ports, nr_active_ports, ports_map;\n\n unsigned int i;\n\n int ret;\n\n\n\n if (version_id > 3) {\n\n return -EINVAL;\n\n }\n\n\n\n /* The virtio device */\n\n ret = virtio_load(&s->vdev, f);\n\n if (ret) {\n\n return ret;\n\n }\n\n\n\n if (version_id < 2) {\n\n return 0;\n\n }\n\n\n\n /* The config space */\n\n qemu_get_be16s(f, &s->config.cols);\n\n qemu_get_be16s(f, &s->config.rows);\n\n\n\n qemu_get_be32s(f, &max_nr_ports);\n\n tswap32s(&max_nr_ports);\n\n if (max_nr_ports > tswap32(s->config.max_nr_ports)) {\n\n /* Source could have had more ports than us. Fail migration. */\n\n return -EINVAL;\n\n }\n\n\n\n for (i = 0; i < (max_nr_ports + 31) / 32; i++) {\n\n qemu_get_be32s(f, &ports_map);\n\n\n\n if (ports_map != s->ports_map[i]) {\n\n /*\n\n * Ports active on source and destination don't\n\n * match. Fail migration.\n\n */\n\n return -EINVAL;\n\n }\n\n }\n\n\n\n qemu_get_be32s(f, &nr_active_ports);\n\n\n\n /* Items in struct VirtIOSerialPort */\n\n for (i = 0; i < nr_active_ports; i++) {\n\n uint32_t id;\n\n bool host_connected;\n\n\n\n id = qemu_get_be32(f);\n\n port = find_port_by_id(s, id);\n\n if (!port) {\n\n return -EINVAL;\n\n }\n\n\n\n port->guest_connected = qemu_get_byte(f);\n\n host_connected = qemu_get_byte(f);\n\n if (host_connected != port->host_connected) {\n\n /*\n\n * We have to let the guest know of the host connection\n\n * status change\n\n */\n\n send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN,\n\n port->host_connected);\n\n }\n\n\n\n if (version_id > 2) {\n\n uint32_t elem_popped;\n\n\n\n qemu_get_be32s(f, &elem_popped);\n\n if (elem_popped) {\n\n qemu_get_be32s(f, &port->iov_idx);\n\n qemu_get_be64s(f, &port->iov_offset);\n\n\n\n qemu_get_buffer(f, (unsigned char *)&port->elem,\n\n sizeof(port->elem));\n\n virtqueue_map_sg(port->elem.in_sg, port->elem.in_addr,\n\n port->elem.in_num, 1);\n\n virtqueue_map_sg(port->elem.out_sg, port->elem.out_addr,\n\n port->elem.out_num, 1);\n\n\n\n /*\n\n * Port was throttled on source machine. Let's\n\n * unthrottle it here so data starts flowing again.\n\n */\n\n virtio_serial_throttle_port(port, false);\n\n }\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 6069}591{"project": "qemu", "commit_id": "130257dc443574a9da91dc293665be2cfc40245a", "target": 0, "func": "static CharDriverState *qemu_chr_open_spice_port(const char *id,\n\n ChardevBackend *backend,\n\n ChardevReturn *ret,\n\n Error **errp)\n\n{\n\n const char *name = backend->spiceport->fqdn;\n\n CharDriverState *chr;\n\n SpiceCharDriver *s;\n\n\n\n if (name == NULL) {\n\n fprintf(stderr, \"spice-qemu-char: missing name parameter\\n\");\n\n return NULL;\n\n }\n\n\n\n chr = chr_open(\"port\", spice_port_set_fe_open);\n\n s = chr->opaque;\n\n s->sin.portname = g_strdup(name);\n\n\n\n return chr;\n\n}\n", "idx": 6092}592{"project": "qemu", "commit_id": "ec53b45bcd1f74f7a4c31331fa6d50b402cd6d26", "target": 0, "func": "void cpu_breakpoint_remove_by_ref(CPUState *cpu, CPUBreakpoint *breakpoint)\n\n{\n\n#if defined(TARGET_HAS_ICE)\n\n QTAILQ_REMOVE(&cpu->breakpoints, breakpoint, entry);\n\n\n\n breakpoint_invalidate(cpu, breakpoint->pc);\n\n\n\n g_free(breakpoint);\n\n#endif\n\n}\n", "idx": 6098}593{"project": "FFmpeg", "commit_id": "1eaff98c8320d9ba48fbaec2a558f31f4104de98", "target": 1, "func": "static int flv_write_trailer(AVFormatContext *s)\n\n{\n\n int64_t file_size;\n\n\n\n AVIOContext *pb = s->pb;\n\n FLVContext *flv = s->priv_data;\n\n int i;\n\n\n\n /* Add EOS tag */\n\n for (i = 0; i < s->nb_streams; i++) {\n\n AVCodecContext *enc = s->streams[i]->codec;\n\n FLVStreamContext *sc = s->streams[i]->priv_data;\n\n if (enc->codec_type == AVMEDIA_TYPE_VIDEO &&\n\n enc->codec_id == AV_CODEC_ID_H264)\n\n put_avc_eos_tag(pb, sc->last_ts);\n\n }\n\n\n\n file_size = avio_tell(pb);\n\n\n\n /* update information */\n\n avio_seek(pb, flv->duration_offset, SEEK_SET);\n\n put_amf_double(pb, flv->duration / (double)1000);\n\n avio_seek(pb, flv->filesize_offset, SEEK_SET);\n\n put_amf_double(pb, file_size);\n\n\n\n avio_seek(pb, file_size, SEEK_SET);\n\n return 0;\n\n}\n", "idx": 6103}594{"project": "qemu", "commit_id": "2d896b454a0e19ec4c1ddbb0e0b65b7e54fcedf3", "target": 1, "func": "static const void *boston_fdt_filter(void *opaque, const void *fdt_orig,\n\n const void *match_data, hwaddr *load_addr)\n\n{\n\n BostonState *s = BOSTON(opaque);\n\n MachineState *machine = s->mach;\n\n const char *cmdline;\n\n int err;\n\n void *fdt;\n\n size_t fdt_sz, ram_low_sz, ram_high_sz;\n\n\n\n fdt_sz = fdt_totalsize(fdt_orig) * 2;\n\n fdt = g_malloc0(fdt_sz);\n\n\n\n err = fdt_open_into(fdt_orig, fdt, fdt_sz);\n\n if (err) {\n\n fprintf(stderr, \"unable to open FDT\\n\");\n\n return NULL;\n\n }\n\n\n\n cmdline = (machine->kernel_cmdline && machine->kernel_cmdline[0])\n\n ? machine->kernel_cmdline : \" \";\n\n err = qemu_fdt_setprop_string(fdt, \"/chosen\", \"bootargs\", cmdline);\n\n if (err < 0) {\n\n fprintf(stderr, \"couldn't set /chosen/bootargs\\n\");\n\n return NULL;\n\n }\n\n\n\n ram_low_sz = MIN(256 * M_BYTE, machine->ram_size);\n\n ram_high_sz = machine->ram_size - ram_low_sz;\n\n qemu_fdt_setprop_sized_cells(fdt, \"/memory@0\", \"reg\",\n\n 1, 0x00000000, 1, ram_low_sz,\n\n 1, 0x90000000, 1, ram_high_sz);\n\n\n\n fdt = g_realloc(fdt, fdt_totalsize(fdt));\n\n qemu_fdt_dumpdtb(fdt, fdt_sz);\n\n\n\n s->fdt_base = *load_addr;\n\n\n\n return fdt;\n\n}\n", "idx": 6108}595{"project": "FFmpeg", "commit_id": "5c720657c23afd798ae0db7c7362eb859a89ab3d", "target": 1, "func": "static int mov_read_cmov(MOVContext *c, AVIOContext *pb, MOVAtom atom)\n\n{\n\n#if CONFIG_ZLIB\n\n AVIOContext ctx;\n\n uint8_t *cmov_data;\n\n uint8_t *moov_data; /* uncompressed data */\n\n long cmov_len, moov_len;\n\n int ret = -1;\n\n\n\n avio_rb32(pb); /* dcom atom */\n\n if (avio_rl32(pb) != MKTAG('d','c','o','m'))\n\n return AVERROR_INVALIDDATA;\n\n if (avio_rl32(pb) != MKTAG('z','l','i','b')) {\n\n av_log(c->fc, AV_LOG_ERROR, \"unknown compression for cmov atom !\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n avio_rb32(pb); /* cmvd atom */\n\n if (avio_rl32(pb) != MKTAG('c','m','v','d'))\n\n return AVERROR_INVALIDDATA;\n\n moov_len = avio_rb32(pb); /* uncompressed size */\n\n cmov_len = atom.size - 6 * 4;\n\n\n\n cmov_data = av_malloc(cmov_len);\n\n if (!cmov_data)\n\n return AVERROR(ENOMEM);\n\n moov_data = av_malloc(moov_len);\n\n if (!moov_data) {\n\n av_free(cmov_data);\n\n return AVERROR(ENOMEM);\n\n }\n\n avio_read(pb, cmov_data, cmov_len);\n\n if (uncompress (moov_data, (uLongf *) &moov_len, (const Bytef *)cmov_data, cmov_len) != Z_OK)\n\n goto free_and_return;\n\n if (ffio_init_context(&ctx, moov_data, moov_len, 0, NULL, NULL, NULL, NULL) != 0)\n\n goto free_and_return;\n\n atom.type = MKTAG('m','o','o','v');\n\n atom.size = moov_len;\n\n ret = mov_read_default(c, &ctx, atom);\n\nfree_and_return:\n\n av_free(moov_data);\n\n av_free(cmov_data);\n\n return ret;\n\n#else\n\n av_log(c->fc, AV_LOG_ERROR, \"this file requires zlib support compiled in\\n\");\n\n return AVERROR(ENOSYS);\n\n#endif\n\n}\n", "idx": 6112}596{"project": "FFmpeg", "commit_id": "170870b77c8c71304f9eae946d49aa5e30a464bc", "target": 1, "func": "static int sdp_parse_rtpmap(AVFormatContext *s,\n\n AVCodecContext *codec, RTSPStream *rtsp_st,\n\n int payload_type, const char *p)\n\n{\n\n char buf[256];\n\n int i;\n\n AVCodec *c;\n\n const char *c_name;\n\n\n\n /* Loop into AVRtpDynamicPayloadTypes[] and AVRtpPayloadTypes[] and\n\n * see if we can handle this kind of payload.\n\n * The space should normally not be there but some Real streams or\n\n * particular servers (\"RealServer Version 6.1.3.970\", see issue 1658)\n\n * have a trailing space. */\n\n get_word_sep(buf, sizeof(buf), \"/ \", &p);\n\n if (payload_type >= RTP_PT_PRIVATE) {\n\n RTPDynamicProtocolHandler *handler;\n\n for (handler = RTPFirstDynamicPayloadHandler;\n\n handler; handler = handler->next) {\n\n if (!strcasecmp(buf, handler->enc_name) &&\n\n codec->codec_type == handler->codec_type) {\n\n codec->codec_id = handler->codec_id;\n\n rtsp_st->dynamic_handler = handler;\n\n if (handler->open)\n\n rtsp_st->dynamic_protocol_context = handler->open();\n\n break;\n\n }\n\n }\n\n } else {\n\n /* We are in a standard case\n\n * (from http://www.iana.org/assignments/rtp-parameters). */\n\n /* search into AVRtpPayloadTypes[] */\n\n codec->codec_id = ff_rtp_codec_id(buf, codec->codec_type);\n\n }\n\n\n\n c = avcodec_find_decoder(codec->codec_id);\n\n if (c && c->name)\n\n c_name = c->name;\n\n else\n\n c_name = (char *) NULL;\n\n\n\n if (c_name) {\n\n get_word_sep(buf, sizeof(buf), \"/\", &p);\n\n i = atoi(buf);\n\n switch (codec->codec_type) {\n\n case CODEC_TYPE_AUDIO:\n\n av_log(s, AV_LOG_DEBUG, \"audio codec set to: %s\\n\", c_name);\n\n codec->sample_rate = RTSP_DEFAULT_AUDIO_SAMPLERATE;\n\n codec->channels = RTSP_DEFAULT_NB_AUDIO_CHANNELS;\n\n if (i > 0) {\n\n codec->sample_rate = i;\n\n get_word_sep(buf, sizeof(buf), \"/\", &p);\n\n i = atoi(buf);\n\n if (i > 0)\n\n codec->channels = i;\n\n // TODO: there is a bug here; if it is a mono stream, and\n\n // less than 22000Hz, faad upconverts to stereo and twice\n\n // the frequency. No problem, but the sample rate is being\n\n // set here by the sdp line. Patch on its way. (rdm)\n\n }\n\n av_log(s, AV_LOG_DEBUG, \"audio samplerate set to: %i\\n\",\n\n codec->sample_rate);\n\n av_log(s, AV_LOG_DEBUG, \"audio channels set to: %i\\n\",\n\n codec->channels);\n\n break;\n\n case CODEC_TYPE_VIDEO:\n\n av_log(s, AV_LOG_DEBUG, \"video codec set to: %s\\n\", c_name);\n\n break;\n\n default:\n\n break;\n\n }\n\n return 0;\n\n }\n\n\n\n return -1;\n\n}\n", "idx": 6125}597{"project": "FFmpeg", "commit_id": "dcc39ee10e82833ce24aa57926c00ffeb1948198", "target": 0, "func": "void ff_mpv_frame_end(MpegEncContext *s)\n\n{\n\n#if FF_API_XVMC\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n /* redraw edges for the frame if decoding didn't complete */\n\n // just to make sure that all data is rendered.\n\n if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration) {\n\n ff_xvmc_field_end(s);\n\n } else\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif /* FF_API_XVMC */\n\n\n\n emms_c();\n\n\n\n if (s->current_picture.reference)\n\n ff_thread_report_progress(&s->current_picture_ptr->tf, INT_MAX, 0);\n\n}\n", "idx": 6140}598{"project": "FFmpeg", "commit_id": "b67f3d65757e9b08a797f584ee818ad7cfe7b303", "target": 1, "func": "static int read_ffserver_streams(AVFormatContext *s, const char *filename)\n\n{\n\n int i, err;\n\n AVFormatContext *ic;\n\n int nopts = 0;\n\n\n\n err = av_open_input_file(&ic, filename, NULL, FFM_PACKET_SIZE, NULL);\n\n if (err < 0)\n\n return err;\n\n /* copy stream format */\n\n s->nb_streams = ic->nb_streams;\n\n for(i=0;i<ic->nb_streams;i++) {\n\n AVStream *st;\n\n AVCodec *codec;\n\n\n\n // FIXME: a more elegant solution is needed\n\n st = av_mallocz(sizeof(AVStream));\n\n memcpy(st, ic->streams[i], sizeof(AVStream));\n\n st->codec = avcodec_alloc_context();\n\n if (!st->codec) {\n\n print_error(filename, AVERROR(ENOMEM));\n\n ffmpeg_exit(1);\n\n }\n\n avcodec_copy_context(st->codec, ic->streams[i]->codec);\n\n s->streams[i] = st;\n\n\n\n codec = avcodec_find_encoder(st->codec->codec_id);\n\n if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n if (audio_stream_copy) {\n\n st->stream_copy = 1;\n\n } else\n\n choose_sample_fmt(st, codec);\n\n } else if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n if (video_stream_copy) {\n\n st->stream_copy = 1;\n\n } else\n\n choose_pixel_fmt(st, codec);\n\n }\n\n\n\n if(!st->codec->thread_count)\n\n st->codec->thread_count = 1;\n\n if(st->codec->thread_count>1)\n\n avcodec_thread_init(st->codec, st->codec->thread_count);\n\n\n\n if(st->codec->flags & CODEC_FLAG_BITEXACT)\n\n nopts = 1;\n\n }\n\n\n\n if (!nopts)\n\n s->timestamp = av_gettime();\n\n\n\n av_close_input_file(ic);\n\n return 0;\n\n}\n", "idx": 6160}599{"project": "FFmpeg", "commit_id": "ff763351e74550df3b9a0465634d1ec48b15b043", "target": 1, "func": "static void uninit(AVFilterContext *ctx)\n\n{\n\n ZScaleContext *s = ctx->priv;\n\n\n\n zimg_filter_graph_free(s->graph);\n\n\n av_freep(&s->tmp);\n\n s->tmp_size = 0;\n\n}", "idx": 6165}600{"project": "qemu", "commit_id": "47e04430ed3e6ab835f023a5c84381ca2ce9f4d8", "target": 0, "func": "static void decode_bo_addrmode_post_pre_base(CPUTriCoreState *env,\n\n DisasContext *ctx)\n\n{\n\n uint32_t op2;\n\n uint32_t off10;\n\n int32_t r1, r2;\n\n TCGv temp;\n\n\n\n r1 = MASK_OP_BO_S1D(ctx->opcode);\n\n r2 = MASK_OP_BO_S2(ctx->opcode);\n\n off10 = MASK_OP_BO_OFF10_SEXT(ctx->opcode);\n\n op2 = MASK_OP_BO_OP2(ctx->opcode);\n\n\n\n switch (op2) {\n\n case OPC2_32_BO_CACHEA_WI_SHORTOFF:\n\n case OPC2_32_BO_CACHEA_W_SHORTOFF:\n\n case OPC2_32_BO_CACHEA_I_SHORTOFF:\n\n /* instruction to access the cache */\n\n break;\n\n case OPC2_32_BO_CACHEA_WI_POSTINC:\n\n case OPC2_32_BO_CACHEA_W_POSTINC:\n\n case OPC2_32_BO_CACHEA_I_POSTINC:\n\n /* instruction to access the cache, but we still need to handle\n\n the addressing mode */\n\n tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);\n\n break;\n\n case OPC2_32_BO_CACHEA_WI_PREINC:\n\n case OPC2_32_BO_CACHEA_W_PREINC:\n\n case OPC2_32_BO_CACHEA_I_PREINC:\n\n /* instruction to access the cache, but we still need to handle\n\n the addressing mode */\n\n tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);\n\n break;\n\n case OPC2_32_BO_CACHEI_WI_SHORTOFF:\n\n case OPC2_32_BO_CACHEI_W_SHORTOFF:\n\n /* TODO: Raise illegal opcode trap,\n\n if tricore_feature(TRICORE_FEATURE_13) */\n\n break;\n\n case OPC2_32_BO_CACHEI_W_POSTINC:\n\n case OPC2_32_BO_CACHEI_WI_POSTINC:\n\n if (!tricore_feature(env, TRICORE_FEATURE_13)) {\n\n tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);\n\n } /* TODO: else raise illegal opcode trap */\n\n break;\n\n case OPC2_32_BO_CACHEI_W_PREINC:\n\n case OPC2_32_BO_CACHEI_WI_PREINC:\n\n if (!tricore_feature(env, TRICORE_FEATURE_13)) {\n\n tcg_gen_addi_tl(cpu_gpr_d[r2], cpu_gpr_d[r2], off10);\n\n } /* TODO: else raise illegal opcode trap */\n\n break;\n\n case OPC2_32_BO_ST_A_SHORTOFF:\n\n gen_offset_st(ctx, cpu_gpr_a[r1], cpu_gpr_a[r2], off10, MO_LESL);\n\n break;\n\n case OPC2_32_BO_ST_A_POSTINC:\n\n tcg_gen_qemu_st_tl(cpu_gpr_a[r1], cpu_gpr_a[r2], ctx->mem_idx,\n\n MO_LESL);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n break;\n\n case OPC2_32_BO_ST_A_PREINC:\n\n gen_st_preincr(ctx, cpu_gpr_a[r1], cpu_gpr_a[r2], off10, MO_LESL);\n\n break;\n\n case OPC2_32_BO_ST_B_SHORTOFF:\n\n gen_offset_st(ctx, cpu_gpr_d[r1], cpu_gpr_a[r2], off10, MO_UB);\n\n break;\n\n case OPC2_32_BO_ST_B_POSTINC:\n\n tcg_gen_qemu_st_tl(cpu_gpr_d[r1], cpu_gpr_a[r2], ctx->mem_idx,\n\n MO_UB);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n break;\n\n case OPC2_32_BO_ST_B_PREINC:\n\n gen_st_preincr(ctx, cpu_gpr_d[r1], cpu_gpr_a[r2], off10, MO_UB);\n\n break;\n\n case OPC2_32_BO_ST_D_SHORTOFF:\n\n gen_offset_st_2regs(cpu_gpr_d[r1+1], cpu_gpr_d[r1], cpu_gpr_a[r2],\n\n off10, ctx);\n\n break;\n\n case OPC2_32_BO_ST_D_POSTINC:\n\n gen_st_2regs_64(cpu_gpr_d[r1+1], cpu_gpr_d[r1], cpu_gpr_a[r2], ctx);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n break;\n\n case OPC2_32_BO_ST_D_PREINC:\n\n temp = tcg_temp_new();\n\n tcg_gen_addi_tl(temp, cpu_gpr_a[r2], off10);\n\n gen_st_2regs_64(cpu_gpr_d[r1+1], cpu_gpr_d[r1], temp, ctx);\n\n tcg_gen_mov_tl(cpu_gpr_a[r2], temp);\n\n tcg_temp_free(temp);\n\n break;\n\n case OPC2_32_BO_ST_DA_SHORTOFF:\n\n gen_offset_st_2regs(cpu_gpr_a[r1+1], cpu_gpr_a[r1], cpu_gpr_a[r2],\n\n off10, ctx);\n\n break;\n\n case OPC2_32_BO_ST_DA_POSTINC:\n\n gen_st_2regs_64(cpu_gpr_a[r1+1], cpu_gpr_a[r1], cpu_gpr_a[r2], ctx);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n break;\n\n case OPC2_32_BO_ST_DA_PREINC:\n\n temp = tcg_temp_new();\n\n tcg_gen_addi_tl(temp, cpu_gpr_a[r2], off10);\n\n gen_st_2regs_64(cpu_gpr_a[r1+1], cpu_gpr_a[r1], temp, ctx);\n\n tcg_gen_mov_tl(cpu_gpr_a[r2], temp);\n\n tcg_temp_free(temp);\n\n break;\n\n case OPC2_32_BO_ST_H_SHORTOFF:\n\n gen_offset_st(ctx, cpu_gpr_d[r1], cpu_gpr_a[r2], off10, MO_LEUW);\n\n break;\n\n case OPC2_32_BO_ST_H_POSTINC:\n\n tcg_gen_qemu_st_tl(cpu_gpr_d[r1], cpu_gpr_a[r2], ctx->mem_idx,\n\n MO_LEUW);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n break;\n\n case OPC2_32_BO_ST_H_PREINC:\n\n gen_st_preincr(ctx, cpu_gpr_d[r1], cpu_gpr_a[r2], off10, MO_LEUW);\n\n break;\n\n case OPC2_32_BO_ST_Q_SHORTOFF:\n\n temp = tcg_temp_new();\n\n tcg_gen_shri_tl(temp, cpu_gpr_d[r1], 16);\n\n gen_offset_st(ctx, temp, cpu_gpr_a[r2], off10, MO_LEUW);\n\n tcg_temp_free(temp);\n\n break;\n\n case OPC2_32_BO_ST_Q_POSTINC:\n\n temp = tcg_temp_new();\n\n tcg_gen_shri_tl(temp, cpu_gpr_d[r1], 16);\n\n tcg_gen_qemu_st_tl(temp, cpu_gpr_a[r2], ctx->mem_idx,\n\n MO_LEUW);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n tcg_temp_free(temp);\n\n break;\n\n case OPC2_32_BO_ST_Q_PREINC:\n\n temp = tcg_temp_new();\n\n tcg_gen_shri_tl(temp, cpu_gpr_d[r1], 16);\n\n gen_st_preincr(ctx, temp, cpu_gpr_a[r2], off10, MO_LEUW);\n\n tcg_temp_free(temp);\n\n break;\n\n case OPC2_32_BO_ST_W_SHORTOFF:\n\n gen_offset_st(ctx, cpu_gpr_d[r1], cpu_gpr_a[r2], off10, MO_LEUL);\n\n break;\n\n case OPC2_32_BO_ST_W_POSTINC:\n\n tcg_gen_qemu_st_tl(cpu_gpr_d[r1], cpu_gpr_a[r2], ctx->mem_idx,\n\n MO_LEUL);\n\n tcg_gen_addi_tl(cpu_gpr_a[r2], cpu_gpr_a[r2], off10);\n\n break;\n\n case OPC2_32_BO_ST_W_PREINC:\n\n gen_st_preincr(ctx, cpu_gpr_d[r1], cpu_gpr_a[r2], off10, MO_LEUL);\n\n break;\n\n }\n\n}\n", "idx": 6186}601{"project": "qemu", "commit_id": "bee62662a312b99b4418b558a99b3963a4cbff07", "target": 0, "func": "static int kvm_mips_get_fpu_registers(CPUState *cs)\n\n{\n\n MIPSCPU *cpu = MIPS_CPU(cs);\n\n CPUMIPSState *env = &cpu->env;\n\n int err, ret = 0;\n\n unsigned int i;\n\n\n\n /* Only get FPU state if we're emulating a CPU with an FPU */\n\n if (env->CP0_Config1 & (1 << CP0C1_FP)) {\n\n /* FPU Control Registers */\n\n err = kvm_mips_get_one_ureg(cs, KVM_REG_MIPS_FCR_IR,\n\n &env->active_fpu.fcr0);\n\n if (err < 0) {\n\n DPRINTF(\"%s: Failed to get FCR_IR (%d)\\n\", __func__, err);\n\n ret = err;\n\n }\n\n err = kvm_mips_get_one_ureg(cs, KVM_REG_MIPS_FCR_CSR,\n\n &env->active_fpu.fcr31);\n\n if (err < 0) {\n\n DPRINTF(\"%s: Failed to get FCR_CSR (%d)\\n\", __func__, err);\n\n ret = err;\n\n } else {\n\n restore_fp_status(env);\n\n }\n\n\n\n /* Floating point registers */\n\n for (i = 0; i < 32; ++i) {\n\n if (env->CP0_Status & (1 << CP0St_FR)) {\n\n err = kvm_mips_get_one_ureg64(cs, KVM_REG_MIPS_FPR_64(i),\n\n &env->active_fpu.fpr[i].d);\n\n } else {\n\n err = kvm_mips_get_one_ureg(cs, KVM_REG_MIPS_FPR_32(i),\n\n &env->active_fpu.fpr[i].w[FP_ENDIAN_IDX]);\n\n }\n\n if (err < 0) {\n\n DPRINTF(\"%s: Failed to get FPR%u (%d)\\n\", __func__, i, err);\n\n ret = err;\n\n }\n\n }\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 6189}602{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_loongson_integer(DisasContext *ctx, uint32_t opc,\n\n int rd, int rs, int rt)\n\n{\n\n const char *opn = \"loongson\";\n\n TCGv t0, t1;\n\n\n\n if (rd == 0) {\n\n /* Treat as NOP. */\n\n MIPS_DEBUG(\"NOP\");\n\n return;\n\n }\n\n\n\n switch (opc) {\n\n case OPC_MULT_G_2E:\n\n case OPC_MULT_G_2F:\n\n case OPC_MULTU_G_2E:\n\n case OPC_MULTU_G_2F:\n\n#if defined(TARGET_MIPS64)\n\n case OPC_DMULT_G_2E:\n\n case OPC_DMULT_G_2F:\n\n case OPC_DMULTU_G_2E:\n\n case OPC_DMULTU_G_2F:\n\n#endif\n\n t0 = tcg_temp_new();\n\n t1 = tcg_temp_new();\n\n break;\n\n default:\n\n t0 = tcg_temp_local_new();\n\n t1 = tcg_temp_local_new();\n\n break;\n\n }\n\n\n\n gen_load_gpr(t0, rs);\n\n gen_load_gpr(t1, rt);\n\n\n\n switch (opc) {\n\n case OPC_MULT_G_2E:\n\n case OPC_MULT_G_2F:\n\n tcg_gen_mul_tl(cpu_gpr[rd], t0, t1);\n\n tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);\n\n opn = \"mult.g\";\n\n break;\n\n case OPC_MULTU_G_2E:\n\n case OPC_MULTU_G_2F:\n\n tcg_gen_ext32u_tl(t0, t0);\n\n tcg_gen_ext32u_tl(t1, t1);\n\n tcg_gen_mul_tl(cpu_gpr[rd], t0, t1);\n\n tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);\n\n opn = \"multu.g\";\n\n break;\n\n case OPC_DIV_G_2E:\n\n case OPC_DIV_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n int l3 = gen_new_label();\n\n tcg_gen_ext32s_tl(t0, t0);\n\n tcg_gen_ext32s_tl(t1, t1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l3);\n\n gen_set_label(l1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t0, INT_MIN, l2);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, -1, l2);\n\n tcg_gen_mov_tl(cpu_gpr[rd], t0);\n\n tcg_gen_br(l3);\n\n gen_set_label(l2);\n\n tcg_gen_div_tl(cpu_gpr[rd], t0, t1);\n\n tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);\n\n gen_set_label(l3);\n\n }\n\n opn = \"div.g\";\n\n break;\n\n case OPC_DIVU_G_2E:\n\n case OPC_DIVU_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n tcg_gen_ext32u_tl(t0, t0);\n\n tcg_gen_ext32u_tl(t1, t1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l2);\n\n gen_set_label(l1);\n\n tcg_gen_divu_tl(cpu_gpr[rd], t0, t1);\n\n tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);\n\n gen_set_label(l2);\n\n }\n\n opn = \"divu.g\";\n\n break;\n\n case OPC_MOD_G_2E:\n\n case OPC_MOD_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n int l3 = gen_new_label();\n\n tcg_gen_ext32u_tl(t0, t0);\n\n tcg_gen_ext32u_tl(t1, t1);\n\n tcg_gen_brcondi_tl(TCG_COND_EQ, t1, 0, l1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t0, INT_MIN, l2);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, -1, l2);\n\n gen_set_label(l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l3);\n\n gen_set_label(l2);\n\n tcg_gen_rem_tl(cpu_gpr[rd], t0, t1);\n\n tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);\n\n gen_set_label(l3);\n\n }\n\n opn = \"mod.g\";\n\n break;\n\n case OPC_MODU_G_2E:\n\n case OPC_MODU_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n tcg_gen_ext32u_tl(t0, t0);\n\n tcg_gen_ext32u_tl(t1, t1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l2);\n\n gen_set_label(l1);\n\n tcg_gen_remu_tl(cpu_gpr[rd], t0, t1);\n\n tcg_gen_ext32s_tl(cpu_gpr[rd], cpu_gpr[rd]);\n\n gen_set_label(l2);\n\n }\n\n opn = \"modu.g\";\n\n break;\n\n#if defined(TARGET_MIPS64)\n\n case OPC_DMULT_G_2E:\n\n case OPC_DMULT_G_2F:\n\n tcg_gen_mul_tl(cpu_gpr[rd], t0, t1);\n\n opn = \"dmult.g\";\n\n break;\n\n case OPC_DMULTU_G_2E:\n\n case OPC_DMULTU_G_2F:\n\n tcg_gen_mul_tl(cpu_gpr[rd], t0, t1);\n\n opn = \"dmultu.g\";\n\n break;\n\n case OPC_DDIV_G_2E:\n\n case OPC_DDIV_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n int l3 = gen_new_label();\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l3);\n\n gen_set_label(l1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t0, -1LL << 63, l2);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, -1LL, l2);\n\n tcg_gen_mov_tl(cpu_gpr[rd], t0);\n\n tcg_gen_br(l3);\n\n gen_set_label(l2);\n\n tcg_gen_div_tl(cpu_gpr[rd], t0, t1);\n\n gen_set_label(l3);\n\n }\n\n opn = \"ddiv.g\";\n\n break;\n\n case OPC_DDIVU_G_2E:\n\n case OPC_DDIVU_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l2);\n\n gen_set_label(l1);\n\n tcg_gen_divu_tl(cpu_gpr[rd], t0, t1);\n\n gen_set_label(l2);\n\n }\n\n opn = \"ddivu.g\";\n\n break;\n\n case OPC_DMOD_G_2E:\n\n case OPC_DMOD_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n int l3 = gen_new_label();\n\n tcg_gen_brcondi_tl(TCG_COND_EQ, t1, 0, l1);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t0, -1LL << 63, l2);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, -1LL, l2);\n\n gen_set_label(l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l3);\n\n gen_set_label(l2);\n\n tcg_gen_rem_tl(cpu_gpr[rd], t0, t1);\n\n gen_set_label(l3);\n\n }\n\n opn = \"dmod.g\";\n\n break;\n\n case OPC_DMODU_G_2E:\n\n case OPC_DMODU_G_2F:\n\n {\n\n int l1 = gen_new_label();\n\n int l2 = gen_new_label();\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n tcg_gen_movi_tl(cpu_gpr[rd], 0);\n\n tcg_gen_br(l2);\n\n gen_set_label(l1);\n\n tcg_gen_remu_tl(cpu_gpr[rd], t0, t1);\n\n gen_set_label(l2);\n\n }\n\n opn = \"dmodu.g\";\n\n break;\n\n#endif\n\n }\n\n\n\n (void)opn; /* avoid a compiler warning */\n\n MIPS_DEBUG(\"%s %s, %s\", opn, regnames[rd], regnames[rs]);\n\n tcg_temp_free(t0);\n\n tcg_temp_free(t1);\n\n}\n", "idx": 6193}603{"project": "qemu", "commit_id": "7d489dcdf5fd71b5052ffd401b869a627e1c751f", "target": 0, "func": "static void vfio_pci_load_rom(VFIOPCIDevice *vdev)\n\n{\n\n struct vfio_region_info reg_info = {\n\n .argsz = sizeof(reg_info),\n\n .index = VFIO_PCI_ROM_REGION_INDEX\n\n };\n\n uint64_t size;\n\n off_t off = 0;\n\n size_t bytes;\n\n\n\n if (ioctl(vdev->vbasedev.fd, VFIO_DEVICE_GET_REGION_INFO, ®_info)) {\n\n error_report(\"vfio: Error getting ROM info: %m\");\n\n return;\n\n }\n\n\n\n trace_vfio_pci_load_rom(vdev->vbasedev.name, (unsigned long)reg_info.size,\n\n (unsigned long)reg_info.offset,\n\n (unsigned long)reg_info.flags);\n\n\n\n vdev->rom_size = size = reg_info.size;\n\n vdev->rom_offset = reg_info.offset;\n\n\n\n if (!vdev->rom_size) {\n\n vdev->rom_read_failed = true;\n\n error_report(\"vfio-pci: Cannot read device rom at \"\n\n \"%s\", vdev->vbasedev.name);\n\n error_printf(\"Device option ROM contents are probably invalid \"\n\n \"(check dmesg).\\nSkip option ROM probe with rombar=0, \"\n\n \"or load from file with romfile=\\n\");\n\n return;\n\n }\n\n\n\n vdev->rom = g_malloc(size);\n\n memset(vdev->rom, 0xff, size);\n\n\n\n while (size) {\n\n bytes = pread(vdev->vbasedev.fd, vdev->rom + off,\n\n size, vdev->rom_offset + off);\n\n if (bytes == 0) {\n\n break;\n\n } else if (bytes > 0) {\n\n off += bytes;\n\n size -= bytes;\n\n } else {\n\n if (errno == EINTR || errno == EAGAIN) {\n\n continue;\n\n }\n\n error_report(\"vfio: Error reading device ROM: %m\");\n\n break;\n\n }\n\n }\n\n}\n", "idx": 6196}604{"project": "qemu", "commit_id": "684e508c23d28af8d6ed2c62738a0f60447c8274", "target": 1, "func": "static bool try_poll_mode(AioContext *ctx, bool blocking)\n\n{\n\n if (blocking && ctx->poll_max_ns && ctx->poll_disable_cnt == 0) {\n\n /* See qemu_soonest_timeout() uint64_t hack */\n\n int64_t max_ns = MIN((uint64_t)aio_compute_timeout(ctx),\n\n (uint64_t)ctx->poll_max_ns);\n\n\n\n if (max_ns) {\n\n if (run_poll_handlers(ctx, max_ns)) {\n\n return true;\n\n }\n\n }\n\n }\n\n\n\n return false;\n\n}\n", "idx": 6206}605{"project": "qemu", "commit_id": "f1d3b99154138741161fc52f5a8c373bf71613c6", "target": 1, "func": "static void pci_basic(gconstpointer data)\n\n{\n\n QVirtioPCIDevice *dev;\n\n QPCIBus *bus;\n\n QVirtQueuePCI *tx, *rx;\n\n QGuestAllocator *alloc;\n\n void (*func) (const QVirtioBus *bus,\n\n QVirtioDevice *dev,\n\n QGuestAllocator *alloc,\n\n QVirtQueue *rvq,\n\n QVirtQueue *tvq,\n\n int socket) = data;\n\n int sv[2], ret;\n\n\n\n ret = socketpair(PF_UNIX, SOCK_STREAM, 0, sv);\n\n g_assert_cmpint(ret, !=, -1);\n\n\n\n bus = pci_test_start(sv[1]);\n\n dev = virtio_net_pci_init(bus, PCI_SLOT);\n\n\n\n alloc = pc_alloc_init();\n\n rx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &dev->vdev,\n\n alloc, 0);\n\n tx = (QVirtQueuePCI *)qvirtqueue_setup(&qvirtio_pci, &dev->vdev,\n\n alloc, 1);\n\n\n\n driver_init(&qvirtio_pci, &dev->vdev);\n\n func(&qvirtio_pci, &dev->vdev, alloc, &rx->vq, &tx->vq, sv[0]);\n\n\n\n /* End test */\n\n close(sv[0]);\n\n guest_free(alloc, tx->vq.desc);\n\n pc_alloc_uninit(alloc);\n\n qvirtio_pci_device_disable(dev);\n\n g_free(dev);\n\n qpci_free_pc(bus);\n\n test_end();\n\n}\n", "idx": 6217}606{"project": "qemu", "commit_id": "bc7c08a2c375acb7ae4d433054415588b176d34c", "target": 0, "func": "static void test_qemu_strtoul_full_negative(void)\n\n{\n\n const char *str = \" \\t -321\";\n\n unsigned long res = 999;\n\n int err;\n\n\n\n err = qemu_strtoul(str, NULL, 0, &res);\n\n g_assert_cmpint(err, ==, 0);\n\n g_assert_cmpint(res, ==, -321ul);\n\n}\n", "idx": 6241}607{"project": "qemu", "commit_id": "5fb6c7a8b26eab1a22207d24b4784bd2b39ab54b", "target": 0, "func": "static int vnc_validate_certificate(struct VncState *vs)\n\n{\n\n int ret;\n\n unsigned int status;\n\n const gnutls_datum_t *certs;\n\n unsigned int nCerts, i;\n\n time_t now;\n\n\n\n VNC_DEBUG(\"Validating client certificate\\n\");\n\n if ((ret = gnutls_certificate_verify_peers2 (vs->tls_session, &status)) < 0) {\n\n\tVNC_DEBUG(\"Verify failed %s\\n\", gnutls_strerror(ret));\n\n\treturn -1;\n\n }\n\n\n\n if ((now = time(NULL)) == ((time_t)-1)) {\n\n\treturn -1;\n\n }\n\n\n\n if (status != 0) {\n\n\tif (status & GNUTLS_CERT_INVALID)\n\n\t VNC_DEBUG(\"The certificate is not trusted.\\n\");\n\n\n\n\tif (status & GNUTLS_CERT_SIGNER_NOT_FOUND)\n\n\t VNC_DEBUG(\"The certificate hasn't got a known issuer.\\n\");\n\n\n\n\tif (status & GNUTLS_CERT_REVOKED)\n\n\t VNC_DEBUG(\"The certificate has been revoked.\\n\");\n\n\n\n\tif (status & GNUTLS_CERT_INSECURE_ALGORITHM)\n\n\t VNC_DEBUG(\"The certificate uses an insecure algorithm\\n\");\n\n\n\n\treturn -1;\n\n } else {\n\n\tVNC_DEBUG(\"Certificate is valid!\\n\");\n\n }\n\n\n\n /* Only support x509 for now */\n\n if (gnutls_certificate_type_get(vs->tls_session) != GNUTLS_CRT_X509)\n\n\treturn -1;\n\n\n\n if (!(certs = gnutls_certificate_get_peers(vs->tls_session, &nCerts)))\n\n\treturn -1;\n\n\n\n for (i = 0 ; i < nCerts ; i++) {\n\n\tgnutls_x509_crt_t cert;\n\n\tVNC_DEBUG (\"Checking certificate chain %d\\n\", i);\n\n\tif (gnutls_x509_crt_init (&cert) < 0)\n\n\t return -1;\n\n\n\n\tif (gnutls_x509_crt_import(cert, &certs[i], GNUTLS_X509_FMT_DER) < 0) {\n\n\t gnutls_x509_crt_deinit (cert);\n\n\t return -1;\n\n\t}\n\n\n\n\tif (gnutls_x509_crt_get_expiration_time (cert) < now) {\n\n\t VNC_DEBUG(\"The certificate has expired\\n\");\n\n\t gnutls_x509_crt_deinit (cert);\n\n\t return -1;\n\n\t}\n\n\n\n\tif (gnutls_x509_crt_get_activation_time (cert) > now) {\n\n\t VNC_DEBUG(\"The certificate is not yet activated\\n\");\n\n\t gnutls_x509_crt_deinit (cert);\n\n\t return -1;\n\n\t}\n\n\n\n\tif (gnutls_x509_crt_get_activation_time (cert) > now) {\n\n\t VNC_DEBUG(\"The certificate is not yet activated\\n\");\n\n\t gnutls_x509_crt_deinit (cert);\n\n\t return -1;\n\n\t}\n\n\n\n\tgnutls_x509_crt_deinit (cert);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 6243}608{"project": "qemu", "commit_id": "85df0de4cfe54fd64df7e37448cd152d0c9199a4", "target": 0, "func": "int fw_cfg_add_callback(void *opaque, uint16_t key, FWCfgCallback callback,\n\n void *callback_opaque, uint8_t *data, size_t len)\n\n{\n\n FWCfgState *s = opaque;\n\n int arch = !!(key & FW_CFG_ARCH_LOCAL);\n\n\n\n key &= FW_CFG_ENTRY_MASK;\n\n\n\n if (key >= FW_CFG_MAX_ENTRY || !(key & FW_CFG_WRITE_CHANNEL)\n\n || len > 65535)\n\n return 0;\n\n\n\n s->entries[arch][key].data = data;\n\n s->entries[arch][key].len = len;\n\n s->entries[arch][key].callback_opaque = callback_opaque;\n\n s->entries[arch][key].callback = callback;\n\n\n\n return 1;\n\n}\n", "idx": 6251}609{"project": "FFmpeg", "commit_id": "3e1028c625e11d9d19376f5c88267de1cee8fa70", "target": 1, "func": "static void lpc_analyze_remodulate(int32_t *decoded, const int coeffs[32],\n\n int order, int qlevel, int len, int bps)\n\n{\n\n int i, j;\n\n int ebps = 1 << (bps-1);\n\n unsigned sigma = 0;\n\n\n\n for (i = order; i < len; i++)\n\n sigma |= decoded[i] + ebps;\n\n\n\n if (sigma < 2*ebps)\n\n return;\n\n\n\n for (i = len - 1; i >= order; i--) {\n\n int64_t p = 0;\n\n for (j = 0; j < order; j++)\n\n p += coeffs[j] * (int64_t)decoded[i-order+j];\n\n decoded[i] -= p >> qlevel;\n\n }\n\n for (i = order; i < len; i++, decoded++) {\n\n int32_t p = 0;\n\n for (j = 0; j < order; j++)\n\n p += coeffs[j] * (uint32_t)decoded[j];\n\n decoded[j] += p >> qlevel;\n\n }\n\n}\n", "idx": 6272}610{"project": "FFmpeg", "commit_id": "b853cfe7eaf13b7d4ff3ceba7098544ccc049df8", "target": 0, "func": "static int read_thread(void *arg)\n\n{\n\n VideoState *is = arg;\n\n AVFormatContext *ic = NULL;\n\n int err, i, ret;\n\n int st_index[AVMEDIA_TYPE_NB];\n\n AVPacket pkt1, *pkt = &pkt1;\n\n int eof = 0;\n\n int pkt_in_play_range = 0;\n\n AVDictionaryEntry *t;\n\n AVDictionary **opts;\n\n int orig_nb_streams;\n\n SDL_mutex *wait_mutex = SDL_CreateMutex();\n\n\n\n memset(st_index, -1, sizeof(st_index));\n\n is->last_video_stream = is->video_stream = -1;\n\n is->last_audio_stream = is->audio_stream = -1;\n\n is->last_subtitle_stream = is->subtitle_stream = -1;\n\n\n\n ic = avformat_alloc_context();\n\n ic->interrupt_callback.callback = decode_interrupt_cb;\n\n ic->interrupt_callback.opaque = is;\n\n err = avformat_open_input(&ic, is->filename, is->iformat, &format_opts);\n\n if (err < 0) {\n\n print_error(is->filename, err);\n\n ret = -1;\n\n goto fail;\n\n }\n\n if ((t = av_dict_get(format_opts, \"\", NULL, AV_DICT_IGNORE_SUFFIX))) {\n\n av_log(NULL, AV_LOG_ERROR, \"Option %s not found.\\n\", t->key);\n\n ret = AVERROR_OPTION_NOT_FOUND;\n\n goto fail;\n\n }\n\n is->ic = ic;\n\n\n\n if (genpts)\n\n ic->flags |= AVFMT_FLAG_GENPTS;\n\n\n\n opts = setup_find_stream_info_opts(ic, codec_opts);\n\n orig_nb_streams = ic->nb_streams;\n\n\n\n err = avformat_find_stream_info(ic, opts);\n\n if (err < 0) {\n\n fprintf(stderr, \"%s: could not find codec parameters\\n\", is->filename);\n\n ret = -1;\n\n goto fail;\n\n }\n\n for (i = 0; i < orig_nb_streams; i++)\n\n av_dict_free(&opts[i]);\n\n av_freep(&opts);\n\n\n\n if (ic->pb)\n\n ic->pb->eof_reached = 0; // FIXME hack, ffplay maybe should not use url_feof() to test for the end\n\n\n\n if (seek_by_bytes < 0)\n\n seek_by_bytes = !!(ic->iformat->flags & AVFMT_TS_DISCONT);\n\n\n\n is->max_frame_duration = (ic->iformat->flags & AVFMT_TS_DISCONT) ? 10.0 : 3600.0;\n\n\n\n /* if seeking requested, we execute it */\n\n if (start_time != AV_NOPTS_VALUE) {\n\n int64_t timestamp;\n\n\n\n timestamp = start_time;\n\n /* add the stream start time */\n\n if (ic->start_time != AV_NOPTS_VALUE)\n\n timestamp += ic->start_time;\n\n ret = avformat_seek_file(ic, -1, INT64_MIN, timestamp, INT64_MAX, 0);\n\n if (ret < 0) {\n\n fprintf(stderr, \"%s: could not seek to position %0.3f\\n\",\n\n is->filename, (double)timestamp / AV_TIME_BASE);\n\n }\n\n }\n\n\n\n is->realtime = is_realtime(ic);\n\n\n\n for (i = 0; i < ic->nb_streams; i++)\n\n ic->streams[i]->discard = AVDISCARD_ALL;\n\n if (!video_disable)\n\n st_index[AVMEDIA_TYPE_VIDEO] =\n\n av_find_best_stream(ic, AVMEDIA_TYPE_VIDEO,\n\n wanted_stream[AVMEDIA_TYPE_VIDEO], -1, NULL, 0);\n\n if (!audio_disable)\n\n st_index[AVMEDIA_TYPE_AUDIO] =\n\n av_find_best_stream(ic, AVMEDIA_TYPE_AUDIO,\n\n wanted_stream[AVMEDIA_TYPE_AUDIO],\n\n st_index[AVMEDIA_TYPE_VIDEO],\n\n NULL, 0);\n\n if (!video_disable)\n\n st_index[AVMEDIA_TYPE_SUBTITLE] =\n\n av_find_best_stream(ic, AVMEDIA_TYPE_SUBTITLE,\n\n wanted_stream[AVMEDIA_TYPE_SUBTITLE],\n\n (st_index[AVMEDIA_TYPE_AUDIO] >= 0 ?\n\n st_index[AVMEDIA_TYPE_AUDIO] :\n\n st_index[AVMEDIA_TYPE_VIDEO]),\n\n NULL, 0);\n\n if (show_status) {\n\n av_dump_format(ic, 0, is->filename, 0);\n\n }\n\n\n\n is->show_mode = show_mode;\n\n\n\n /* open the streams */\n\n if (st_index[AVMEDIA_TYPE_AUDIO] >= 0) {\n\n stream_component_open(is, st_index[AVMEDIA_TYPE_AUDIO]);\n\n }\n\n\n\n ret = -1;\n\n if (st_index[AVMEDIA_TYPE_VIDEO] >= 0) {\n\n ret = stream_component_open(is, st_index[AVMEDIA_TYPE_VIDEO]);\n\n }\n\n if (is->show_mode == SHOW_MODE_NONE)\n\n is->show_mode = ret >= 0 ? SHOW_MODE_VIDEO : SHOW_MODE_RDFT;\n\n\n\n is->refresh_tid = SDL_CreateThread(refresh_thread, is);\n\n\n\n if (st_index[AVMEDIA_TYPE_SUBTITLE] >= 0) {\n\n stream_component_open(is, st_index[AVMEDIA_TYPE_SUBTITLE]);\n\n }\n\n\n\n if (is->video_stream < 0 && is->audio_stream < 0) {\n\n fprintf(stderr, \"%s: could not open codecs\\n\", is->filename);\n\n ret = -1;\n\n goto fail;\n\n }\n\n\n\n if (infinite_buffer < 0 && is->realtime)\n\n infinite_buffer = 1;\n\n\n\n for (;;) {\n\n if (is->abort_request)\n\n break;\n\n if (is->paused != is->last_paused) {\n\n is->last_paused = is->paused;\n\n if (is->paused)\n\n is->read_pause_return = av_read_pause(ic);\n\n else\n\n av_read_play(ic);\n\n }\n\n#if CONFIG_RTSP_DEMUXER || CONFIG_MMSH_PROTOCOL\n\n if (is->paused &&\n\n (!strcmp(ic->iformat->name, \"rtsp\") ||\n\n (ic->pb && !strncmp(input_filename, \"mmsh:\", 5)))) {\n\n /* wait 10 ms to avoid trying to get another packet */\n\n /* XXX: horrible */\n\n SDL_Delay(10);\n\n continue;\n\n }\n\n#endif\n\n if (is->seek_req) {\n\n int64_t seek_target = is->seek_pos;\n\n int64_t seek_min = is->seek_rel > 0 ? seek_target - is->seek_rel + 2: INT64_MIN;\n\n int64_t seek_max = is->seek_rel < 0 ? seek_target - is->seek_rel - 2: INT64_MAX;\n\n// FIXME the +-2 is due to rounding being not done in the correct direction in generation\n\n// of the seek_pos/seek_rel variables\n\n\n\n ret = avformat_seek_file(is->ic, -1, seek_min, seek_target, seek_max, is->seek_flags);\n\n if (ret < 0) {\n\n fprintf(stderr, \"%s: error while seeking\\n\", is->ic->filename);\n\n } else {\n\n if (is->audio_stream >= 0) {\n\n packet_queue_flush(&is->audioq);\n\n packet_queue_put(&is->audioq, &flush_pkt);\n\n }\n\n if (is->subtitle_stream >= 0) {\n\n packet_queue_flush(&is->subtitleq);\n\n packet_queue_put(&is->subtitleq, &flush_pkt);\n\n }\n\n if (is->video_stream >= 0) {\n\n packet_queue_flush(&is->videoq);\n\n packet_queue_put(&is->videoq, &flush_pkt);\n\n }\n\n if (is->seek_flags & AVSEEK_FLAG_BYTE) {\n\n //FIXME: use a cleaner way to signal obsolete external clock...\n\n update_external_clock_pts(is, (double)AV_NOPTS_VALUE);\n\n } else {\n\n update_external_clock_pts(is, seek_target / (double)AV_TIME_BASE);\n\n }\n\n }\n\n is->seek_req = 0;\n\n eof = 0;\n\n if (is->paused)\n\n step_to_next_frame(is);\n\n }\n\n if (is->queue_attachments_req) {\n\n avformat_queue_attached_pictures(ic);\n\n is->queue_attachments_req = 0;\n\n }\n\n\n\n /* if the queue are full, no need to read more */\n\n if (infinite_buffer<1 &&\n\n (is->audioq.size + is->videoq.size + is->subtitleq.size > MAX_QUEUE_SIZE\n\n || ( (is->audioq .nb_packets > MIN_FRAMES || is->audio_stream < 0 || is->audioq.abort_request)\n\n && (is->videoq .nb_packets > MIN_FRAMES || is->video_stream < 0 || is->videoq.abort_request)\n\n && (is->subtitleq.nb_packets > MIN_FRAMES || is->subtitle_stream < 0 || is->subtitleq.abort_request)))) {\n\n /* wait 10 ms */\n\n SDL_LockMutex(wait_mutex);\n\n SDL_CondWaitTimeout(is->continue_read_thread, wait_mutex, 10);\n\n SDL_UnlockMutex(wait_mutex);\n\n continue;\n\n }\n\n if (eof) {\n\n if (is->video_stream >= 0) {\n\n av_init_packet(pkt);\n\n pkt->data = NULL;\n\n pkt->size = 0;\n\n pkt->stream_index = is->video_stream;\n\n packet_queue_put(&is->videoq, pkt);\n\n }\n\n if (is->audio_stream >= 0 &&\n\n is->audio_st->codec->codec->capabilities & CODEC_CAP_DELAY) {\n\n av_init_packet(pkt);\n\n pkt->data = NULL;\n\n pkt->size = 0;\n\n pkt->stream_index = is->audio_stream;\n\n packet_queue_put(&is->audioq, pkt);\n\n }\n\n SDL_Delay(10);\n\n if (is->audioq.size + is->videoq.size + is->subtitleq.size == 0) {\n\n if (loop != 1 && (!loop || --loop)) {\n\n stream_seek(is, start_time != AV_NOPTS_VALUE ? start_time : 0, 0, 0);\n\n } else if (autoexit) {\n\n ret = AVERROR_EOF;\n\n goto fail;\n\n }\n\n }\n\n eof=0;\n\n continue;\n\n }\n\n ret = av_read_frame(ic, pkt);\n\n if (ret < 0) {\n\n if (ret == AVERROR_EOF || url_feof(ic->pb))\n\n eof = 1;\n\n if (ic->pb && ic->pb->error)\n\n break;\n\n SDL_LockMutex(wait_mutex);\n\n SDL_CondWaitTimeout(is->continue_read_thread, wait_mutex, 10);\n\n SDL_UnlockMutex(wait_mutex);\n\n continue;\n\n }\n\n /* check if packet is in play range specified by user, then queue, otherwise discard */\n\n pkt_in_play_range = duration == AV_NOPTS_VALUE ||\n\n (pkt->pts - ic->streams[pkt->stream_index]->start_time) *\n\n av_q2d(ic->streams[pkt->stream_index]->time_base) -\n\n (double)(start_time != AV_NOPTS_VALUE ? start_time : 0) / 1000000\n\n <= ((double)duration / 1000000);\n\n if (pkt->stream_index == is->audio_stream && pkt_in_play_range) {\n\n packet_queue_put(&is->audioq, pkt);\n\n } else if (pkt->stream_index == is->video_stream && pkt_in_play_range) {\n\n packet_queue_put(&is->videoq, pkt);\n\n } else if (pkt->stream_index == is->subtitle_stream && pkt_in_play_range) {\n\n packet_queue_put(&is->subtitleq, pkt);\n\n } else {\n\n av_free_packet(pkt);\n\n }\n\n }\n\n /* wait until the end */\n\n while (!is->abort_request) {\n\n SDL_Delay(100);\n\n }\n\n\n\n ret = 0;\n\n fail:\n\n /* close each stream */\n\n if (is->audio_stream >= 0)\n\n stream_component_close(is, is->audio_stream);\n\n if (is->video_stream >= 0)\n\n stream_component_close(is, is->video_stream);\n\n if (is->subtitle_stream >= 0)\n\n stream_component_close(is, is->subtitle_stream);\n\n if (is->ic) {\n\n avformat_close_input(&is->ic);\n\n }\n\n\n\n if (ret != 0) {\n\n SDL_Event event;\n\n\n\n event.type = FF_QUIT_EVENT;\n\n event.user.data1 = is;\n\n SDL_PushEvent(&event);\n\n }\n\n SDL_DestroyMutex(wait_mutex);\n\n return 0;\n\n}\n", "idx": 6277}611{"project": "FFmpeg", "commit_id": "859bb3cfee28efff9c965d4c9320c7837b85849e", "target": 0, "func": "int ff_xvmc_field_start(MpegEncContext *s, AVCodecContext *avctx)\n\n{\n\n struct xvmc_pix_fmt *last, *next, *render = (struct xvmc_pix_fmt*)s->current_picture.data[2];\n\n const int mb_block_count = 4 + (1 << s->chroma_format);\n\n\n\n assert(avctx);\n\n if (!render || render->xvmc_id != AV_XVMC_ID ||\n\n !render->data_blocks || !render->mv_blocks) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Render token doesn't look as expected.\\n\");\n\n return -1; // make sure that this is a render packet\n\n }\n\n\n\n if (render->filled_mv_blocks_num) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Rendering surface contains %i unprocessed blocks.\\n\",\n\n render->filled_mv_blocks_num);\n\n return -1;\n\n }\n\n if (render->allocated_mv_blocks < 1 ||\n\n render->allocated_data_blocks < render->allocated_mv_blocks*mb_block_count ||\n\n render->start_mv_blocks_num >= render->allocated_mv_blocks ||\n\n render->next_free_data_block_num >\n\n render->allocated_data_blocks -\n\n mb_block_count*(render->allocated_mv_blocks-render->start_mv_blocks_num)) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Rendering surface doesn't provide enough block structures to work with.\\n\");\n\n return -1;\n\n }\n\n\n\n render->picture_structure = s->picture_structure;\n\n render->flags = s->first_field ? 0 : XVMC_SECOND_FIELD;\n\n render->p_future_surface = NULL;\n\n render->p_past_surface = NULL;\n\n\n\n switch(s->pict_type) {\n\n case FF_I_TYPE:\n\n return 0; // no prediction from other frames\n\n case FF_B_TYPE:\n\n next = (struct xvmc_pix_fmt*)s->next_picture.data[2];\n\n if (!next)\n\n return -1;\n\n if (next->xvmc_id != AV_XVMC_ID)\n\n return -1;\n\n render->p_future_surface = next->p_surface;\n\n // no return here, going to set forward prediction\n\n case FF_P_TYPE:\n\n last = (struct xvmc_pix_fmt*)s->last_picture.data[2];\n\n if (!last)\n\n last = render; // predict second field from the first\n\n if (last->xvmc_id != AV_XVMC_ID)\n\n return -1;\n\n render->p_past_surface = last->p_surface;\n\n return 0;\n\n }\n\n\n\nreturn -1;\n\n}\n", "idx": 6293}612{"project": "FFmpeg", "commit_id": "0eec40b713eee84e2aec8af35ccce059817cad2a", "target": 1, "func": "static int calculate_bitrate(AVFormatContext *s)\n\n{\n\n AVIContext *avi = s->priv_data;\n\n int i, j;\n\n int64_t lensum = 0;\n\n int64_t maxpos = 0;\n\n\n\n for (i = 0; i<s->nb_streams; i++) {\n\n int64_t len = 0;\n\n AVStream *st = s->streams[i];\n\n\n\n if (!st->nb_index_entries)\n\n continue;\n\n\n\n for (j = 0; j < st->nb_index_entries; j++)\n\n len += st->index_entries[j].size;\n\n maxpos = FFMAX(maxpos, st->index_entries[j-1].pos);\n\n lensum += len;\n\n }\n\n if (maxpos < avi->io_fsize*9/10) // index does not cover the whole file\n\n return 0;\n\n if (lensum*9/10 > maxpos || lensum < maxpos*9/10) // frame sum and filesize mismatch\n\n return 0;\n\n\n\n for (i = 0; i<s->nb_streams; i++) {\n\n int64_t len = 0;\n\n AVStream *st = s->streams[i];\n\n int64_t duration;\n\n\n\n for (j = 0; j < st->nb_index_entries; j++)\n\n len += st->index_entries[j].size;\n\n\n\n if (st->nb_index_entries < 2 || st->codec->bit_rate > 0)\n\n continue;\n\n duration = st->index_entries[j-1].timestamp - st->index_entries[0].timestamp;\n\n st->codec->bit_rate = av_rescale(8*len, st->time_base.den, duration * st->time_base.num);\n\n }\n\n return 1;\n\n}\n", "idx": 6307}613{"project": "qemu", "commit_id": "7d1b0095bff7157e856d1d0e6c4295641ced2752", "target": 1, "func": "static inline void gen_st16(TCGv val, TCGv addr, int index)\n\n{\n\n tcg_gen_qemu_st16(val, addr, index);\n\n dead_tmp(val);\n\n}\n", "idx": 6335}614{"project": "qemu", "commit_id": "2f295167e0c429cec233aef7dc8e9fd6f90376df", "target": 1, "func": "static void q35_host_class_init(ObjectClass *klass, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(klass);\n\n PCIHostBridgeClass *hc = PCI_HOST_BRIDGE_CLASS(klass);\n\n\n\n hc->root_bus_path = q35_host_root_bus_path;\n\n dc->realize = q35_host_realize;\n\n dc->props = mch_props;\n\n /* Reason: needs to be wired up by pc_q35_init */\n\n dc->user_creatable = false;\n\n set_bit(DEVICE_CATEGORY_BRIDGE, dc->categories);\n\n dc->fw_name = \"pci\";\n\n}\n", "idx": 6346}615{"project": "qemu", "commit_id": "340849a9ff2a246bbc9a2da3f079c9fdbd2d5852", "target": 1, "func": "static struct addrinfo *inet_parse_connect_saddr(InetSocketAddress *saddr,\n\n Error **errp)\n\n{\n\n struct addrinfo ai, *res;\n\n int rc;\n\n Error *err = NULL;\n\n\n\n memset(&ai, 0, sizeof(ai));\n\n\n\n ai.ai_flags = AI_CANONNAME | AI_V4MAPPED | AI_ADDRCONFIG;\n\n ai.ai_family = inet_ai_family_from_address(saddr, &err);\n\n ai.ai_socktype = SOCK_STREAM;\n\n\n\n if (err) {\n\n error_propagate(errp, err);\n\n return NULL;\n\n }\n\n\n\n if (saddr->host == NULL || saddr->port == NULL) {\n\n error_setg(errp, \"host and/or port not specified\");\n\n return NULL;\n\n }\n\n\n\n /* lookup */\n\n rc = getaddrinfo(saddr->host, saddr->port, &ai, &res);\n\n if (rc != 0) {\n\n error_setg(errp, \"address resolution failed for %s:%s: %s\",\n\n saddr->host, saddr->port, gai_strerror(rc));\n\n return NULL;\n\n }\n\n return res;\n\n}\n", "idx": 6374}616{"project": "qemu", "commit_id": "4482e05cbbb7e50e476f6a9500cf0b38913bd939", "target": 1, "func": "static void bamboo_init(MachineState *machine)\n\n{\n\n ram_addr_t ram_size = machine->ram_size;\n\n const char *kernel_filename = machine->kernel_filename;\n\n const char *kernel_cmdline = machine->kernel_cmdline;\n\n const char *initrd_filename = machine->initrd_filename;\n\n unsigned int pci_irq_nrs[4] = { 28, 27, 26, 25 };\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n MemoryRegion *isa = g_new(MemoryRegion, 1);\n\n MemoryRegion *ram_memories\n\n = g_malloc(PPC440EP_SDRAM_NR_BANKS * sizeof(*ram_memories));\n\n hwaddr ram_bases[PPC440EP_SDRAM_NR_BANKS];\n\n hwaddr ram_sizes[PPC440EP_SDRAM_NR_BANKS];\n\n qemu_irq *pic;\n\n qemu_irq *irqs;\n\n PCIBus *pcibus;\n\n PowerPCCPU *cpu;\n\n CPUPPCState *env;\n\n uint64_t elf_entry;\n\n uint64_t elf_lowaddr;\n\n hwaddr loadaddr = 0;\n\n target_long initrd_size = 0;\n\n DeviceState *dev;\n\n int success;\n\n int i;\n\n\n\n /* Setup CPU. */\n\n if (machine->cpu_model == NULL) {\n\n machine->cpu_model = \"440EP\";\n\n }\n\n cpu = POWERPC_CPU(cpu_generic_init(TYPE_POWERPC_CPU, machine->cpu_model));\n\n if (cpu == NULL) {\n\n fprintf(stderr, \"Unable to initialize CPU!\\n\");\n\n exit(1);\n\n }\n\n env = &cpu->env;\n\n\n\n if (env->mmu_model != POWERPC_MMU_BOOKE) {\n\n fprintf(stderr, \"MMU model %i not supported by this machine.\\n\",\n\n env->mmu_model);\n\n exit(1);\n\n }\n\n\n\n qemu_register_reset(main_cpu_reset, cpu);\n\n ppc_booke_timers_init(cpu, 400000000, 0);\n\n ppc_dcr_init(env, NULL, NULL);\n\n\n\n /* interrupt controller */\n\n irqs = g_malloc0(sizeof(qemu_irq) * PPCUIC_OUTPUT_NB);\n\n irqs[PPCUIC_OUTPUT_INT] = ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_INT];\n\n irqs[PPCUIC_OUTPUT_CINT] = ((qemu_irq *)env->irq_inputs)[PPC40x_INPUT_CINT];\n\n pic = ppcuic_init(env, irqs, 0x0C0, 0, 1);\n\n\n\n /* SDRAM controller */\n\n memset(ram_bases, 0, sizeof(ram_bases));\n\n memset(ram_sizes, 0, sizeof(ram_sizes));\n\n ram_size = ppc4xx_sdram_adjust(ram_size, PPC440EP_SDRAM_NR_BANKS,\n\n ram_memories,\n\n ram_bases, ram_sizes,\n\n ppc440ep_sdram_bank_sizes);\n\n /* XXX 440EP's ECC interrupts are on UIC1, but we've only created UIC0. */\n\n ppc4xx_sdram_init(env, pic[14], PPC440EP_SDRAM_NR_BANKS, ram_memories,\n\n ram_bases, ram_sizes, 1);\n\n\n\n /* PCI */\n\n dev = sysbus_create_varargs(TYPE_PPC4xx_PCI_HOST_BRIDGE,\n\n PPC440EP_PCI_CONFIG,\n\n pic[pci_irq_nrs[0]], pic[pci_irq_nrs[1]],\n\n pic[pci_irq_nrs[2]], pic[pci_irq_nrs[3]],\n\n NULL);\n\n pcibus = (PCIBus *)qdev_get_child_bus(dev, \"pci.0\");\n\n if (!pcibus) {\n\n fprintf(stderr, \"couldn't create PCI controller!\\n\");\n\n exit(1);\n\n }\n\n\n\n memory_region_init_alias(isa, NULL, \"isa_mmio\",\n\n get_system_io(), 0, PPC440EP_PCI_IOLEN);\n\n memory_region_add_subregion(get_system_memory(), PPC440EP_PCI_IO, isa);\n\n\n\n if (serial_hds[0] != NULL) {\n\n serial_mm_init(address_space_mem, 0xef600300, 0, pic[0],\n\n PPC_SERIAL_MM_BAUDBASE, serial_hds[0],\n\n DEVICE_BIG_ENDIAN);\n\n }\n\n if (serial_hds[1] != NULL) {\n\n serial_mm_init(address_space_mem, 0xef600400, 0, pic[1],\n\n PPC_SERIAL_MM_BAUDBASE, serial_hds[1],\n\n DEVICE_BIG_ENDIAN);\n\n }\n\n\n\n if (pcibus) {\n\n /* Register network interfaces. */\n\n for (i = 0; i < nb_nics; i++) {\n\n /* There are no PCI NICs on the Bamboo board, but there are\n\n * PCI slots, so we can pick whatever default model we want. */\n\n pci_nic_init_nofail(&nd_table[i], pcibus, \"e1000\", NULL);\n\n }\n\n }\n\n\n\n /* Load kernel. */\n\n if (kernel_filename) {\n\n success = load_uimage(kernel_filename, &entry, &loadaddr, NULL,\n\n NULL, NULL);\n\n if (success < 0) {\n\n success = load_elf(kernel_filename, NULL, NULL, &elf_entry,\n\n &elf_lowaddr, NULL, 1, PPC_ELF_MACHINE,\n\n 0, 0);\n\n entry = elf_entry;\n\n loadaddr = elf_lowaddr;\n\n }\n\n /* XXX try again as binary */\n\n if (success < 0) {\n\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\",\n\n kernel_filename);\n\n exit(1);\n\n }\n\n }\n\n\n\n /* Load initrd. */\n\n if (initrd_filename) {\n\n initrd_size = load_image_targphys(initrd_filename, RAMDISK_ADDR,\n\n ram_size - RAMDISK_ADDR);\n\n\n\n if (initrd_size < 0) {\n\n fprintf(stderr, \"qemu: could not load ram disk '%s' at %x\\n\",\n\n initrd_filename, RAMDISK_ADDR);\n\n exit(1);\n\n }\n\n }\n\n\n\n /* If we're loading a kernel directly, we must load the device tree too. */\n\n if (kernel_filename) {\n\n if (bamboo_load_device_tree(FDT_ADDR, ram_size, RAMDISK_ADDR,\n\n initrd_size, kernel_cmdline) < 0) {\n\n fprintf(stderr, \"couldn't load device tree\\n\");\n\n exit(1);\n\n }\n\n }\n\n}\n", "idx": 6385}617{"project": "qemu", "commit_id": "6476615d385eb249105b25873ef30ba4b9c808dc", "target": 0, "func": "void HELPER(stpq)(CPUS390XState *env, uint64_t addr,\n\n uint64_t low, uint64_t high)\n\n{\n\n uintptr_t ra = GETPC();\n\n\n\n if (parallel_cpus) {\n\n#ifndef CONFIG_ATOMIC128\n\n cpu_loop_exit_atomic(ENV_GET_CPU(env), ra);\n\n#else\n\n int mem_idx = cpu_mmu_index(env, false);\n\n TCGMemOpIdx oi = make_memop_idx(MO_TEQ | MO_ALIGN_16, mem_idx);\n\n\n\n Int128 v = int128_make128(low, high);\n\n helper_atomic_sto_be_mmu(env, addr, v, oi, ra);\n\n#endif\n\n } else {\n\n check_alignment(env, addr, 16, ra);\n\n\n\n cpu_stq_data_ra(env, addr + 0, high, ra);\n\n cpu_stq_data_ra(env, addr + 8, low, ra);\n\n }\n\n}\n", "idx": 6408}618{"project": "FFmpeg", "commit_id": "2da0d70d5eebe42f9fcd27ee554419ebe2a5da06", "target": 1, "func": "static inline void RENAME(yuy2ToUV)(uint8_t *dstU, uint8_t *dstV, uint8_t *src1, uint8_t *src2, long width)\n\n{\n\n#ifdef HAVE_MMX\n\n\tasm volatile(\n\n\t\t\"movq \"MANGLE(bm01010101)\", %%mm4\\n\\t\"\n\n\t\t\"mov %0, %%\"REG_a\"\t\t\\n\\t\"\n\n\t\t\"1:\t\t\t\t\\n\\t\"\n\n\t\t\"movq (%1, %%\"REG_a\",4), %%mm0\t\\n\\t\"\n\n\t\t\"movq 8(%1, %%\"REG_a\",4), %%mm1\t\\n\\t\"\n\n\t\t\"psrlw $8, %%mm0\t\t\\n\\t\"\n\n\t\t\"psrlw $8, %%mm1\t\t\\n\\t\"\n\n\t\t\"packuswb %%mm1, %%mm0\t\t\\n\\t\"\n\n\t\t\"movq %%mm0, %%mm1\t\t\\n\\t\"\n\n\t\t\"psrlw $8, %%mm0\t\t\\n\\t\"\n\n\t\t\"pand %%mm4, %%mm1\t\t\\n\\t\"\n\n\t\t\"packuswb %%mm0, %%mm0\t\t\\n\\t\"\n\n\t\t\"packuswb %%mm1, %%mm1\t\t\\n\\t\"\n\n\t\t\"movd %%mm0, (%3, %%\"REG_a\")\t\\n\\t\"\n\n\t\t\"movd %%mm1, (%2, %%\"REG_a\")\t\\n\\t\"\n\n\t\t\"add $4, %%\"REG_a\"\t\t\\n\\t\"\n\n\t\t\" js 1b\t\t\t\t\\n\\t\"\n\n\t\t: : \"g\" (-width), \"r\" (src1+width*4), \"r\" (dstU+width), \"r\" (dstV+width)\n\n\t\t: \"%\"REG_a\n\n\t);\n\n#else\n\n\tint i;\n\n\tfor(i=0; i<width; i++)\n\n\t{\n\n\t\tdstU[i]= src1[4*i + 1];\n\n\t\tdstV[i]= src1[4*i + 3];\n\n\t}\n\n#endif\n\n assert(src1 == src2);\n\n}\n", "idx": 6432}619{"project": "FFmpeg", "commit_id": "fdbbf2e0fc1bb91a5d735a49f39337eb172e68a7", "target": 0, "func": "static void h261_v_loop_filter_c(uint8_t *dest,uint8_t *src, int stride){\n\n int i,j,xy,yz;\n\n int res;\n\n for(i=0; i<8; i++){\n\n for(j=1; j<7; j++){\n\n xy = j * stride + i;\n\n yz = j * 8 + i;\n\n res = (int)src[yz-1*8] + ((int)(src[yz+0*8]) * 2) + (int)src[yz+1*8];\n\n res +=2;\n\n res >>=2;\n\n dest[xy] = (uint8_t)res;\n\n }\n\n }\n\n}\n", "idx": 6452}620{"project": "FFmpeg", "commit_id": "c3ab0004ae4dffc32494ae84dd15cfaa909a7884", "target": 1, "func": "static inline void RENAME(uyvyToY)(uint8_t *dst, const uint8_t *src, int width, uint32_t *unused)\n\n{\n\n#if COMPILE_TEMPLATE_MMX\n\n __asm__ volatile(\n\n \"mov %0, %%\"REG_a\" \\n\\t\"\n\n \"1: \\n\\t\"\n\n \"movq (%1, %%\"REG_a\",2), %%mm0 \\n\\t\"\n\n \"movq 8(%1, %%\"REG_a\",2), %%mm1 \\n\\t\"\n\n \"psrlw $8, %%mm0 \\n\\t\"\n\n \"psrlw $8, %%mm1 \\n\\t\"\n\n \"packuswb %%mm1, %%mm0 \\n\\t\"\n\n \"movq %%mm0, (%2, %%\"REG_a\") \\n\\t\"\n\n \"add $8, %%\"REG_a\" \\n\\t\"\n\n \" js 1b \\n\\t\"\n\n : : \"g\" ((x86_reg)-width), \"r\" (src+width*2), \"r\" (dst+width)\n\n : \"%\"REG_a\n\n );\n\n#else\n\n int i;\n\n for (i=0; i<width; i++)\n\n dst[i]= src[2*i+1];\n\n#endif\n\n}\n", "idx": 6455}621{"project": "qemu", "commit_id": "aec4b054ea36c53c8b887da99f20010133b84378", "target": 1, "func": "static void simple_number(void)\n\n{\n\n int i;\n\n struct {\n\n const char *encoded;\n\n int64_t decoded;\n\n int skip;\n\n } test_cases[] = {\n\n { \"0\", 0 },\n\n { \"1234\", 1234 },\n\n { \"1\", 1 },\n\n { \"-32\", -32 },\n\n { \"-0\", 0, .skip = 1 },\n\n { },\n\n };\n\n\n\n for (i = 0; test_cases[i].encoded; i++) {\n\n QInt *qint;\n\n\n\n qint = qobject_to_qint(qobject_from_json(test_cases[i].encoded, NULL));\n\n g_assert(qint);\n\n g_assert(qint_get_int(qint) == test_cases[i].decoded);\n\n if (test_cases[i].skip == 0) {\n\n QString *str;\n\n\n\n str = qobject_to_json(QOBJECT(qint));\n\n g_assert(strcmp(qstring_get_str(str), test_cases[i].encoded) == 0);\n\n QDECREF(str);\n\n }\n\n\n\n QDECREF(qint);\n\n }\n\n}\n", "idx": 6486}622{"project": "FFmpeg", "commit_id": "951e715cebfaffced7f13c1525771ff917fe1d38", "target": 1, "func": "static int video_thread(void *arg)\n\n{\n\n VideoState *is = arg;\n\n AVFrame *frame = avcodec_alloc_frame();\n\n int64_t pts_int;\n\n double pts;\n\n int ret;\n\n\n\n#if CONFIG_AVFILTER\n\n AVFilterGraph *graph = avfilter_graph_alloc();\n\n AVFilterContext *filt_out = NULL;\n\n int64_t pos;\n\n int last_w = is->video_st->codec->width;\n\n int last_h = is->video_st->codec->height;\n\n\n\n if ((ret = configure_video_filters(graph, is, vfilters)) < 0)\n\n goto the_end;\n\n filt_out = is->out_video_filter;\n\n#endif\n\n\n\n for (;;) {\n\n#if !CONFIG_AVFILTER\n\n AVPacket pkt;\n\n#else\n\n AVFilterBufferRef *picref;\n\n AVRational tb;\n\n#endif\n\n while (is->paused && !is->videoq.abort_request)\n\n SDL_Delay(10);\n\n#if CONFIG_AVFILTER\n\n if ( last_w != is->video_st->codec->width\n\n || last_h != is->video_st->codec->height) {\n\n av_dlog(NULL, \"Changing size %dx%d -> %dx%d\\n\", last_w, last_h,\n\n is->video_st->codec->width, is->video_st->codec->height);\n\n avfilter_graph_free(&graph);\n\n graph = avfilter_graph_alloc();\n\n if ((ret = configure_video_filters(graph, is, vfilters)) < 0)\n\n goto the_end;\n\n filt_out = is->out_video_filter;\n\n last_w = is->video_st->codec->width;\n\n last_h = is->video_st->codec->height;\n\n }\n\n ret = get_filtered_video_frame(filt_out, frame, &picref, &tb);\n\n if (picref) {\n\n pts_int = picref->pts;\n\n pos = picref->pos;\n\n frame->opaque = picref;\n\n }\n\n\n\n if (av_cmp_q(tb, is->video_st->time_base)) {\n\n av_unused int64_t pts1 = pts_int;\n\n pts_int = av_rescale_q(pts_int, tb, is->video_st->time_base);\n\n av_dlog(NULL, \"video_thread(): \"\n\n \"tb:%d/%d pts:%\"PRId64\" -> tb:%d/%d pts:%\"PRId64\"\\n\",\n\n tb.num, tb.den, pts1,\n\n is->video_st->time_base.num, is->video_st->time_base.den, pts_int);\n\n }\n\n#else\n\n ret = get_video_frame(is, frame, &pts_int, &pkt);\n\n#endif\n\n\n\n if (ret < 0)\n\n goto the_end;\n\n\n\n if (!ret)\n\n continue;\n\n\n\n pts = pts_int * av_q2d(is->video_st->time_base);\n\n\n\n#if CONFIG_AVFILTER\n\n ret = output_picture2(is, frame, pts, pos);\n\n#else\n\n ret = output_picture2(is, frame, pts, pkt.pos);\n\n av_free_packet(&pkt);\n\n#endif\n\n if (ret < 0)\n\n goto the_end;\n\n\n\n if (step)\n\n if (cur_stream)\n\n stream_pause(cur_stream);\n\n }\n\n the_end:\n\n#if CONFIG_AVFILTER\n\n avfilter_graph_free(&graph);\n\n#endif\n\n av_free(frame);\n\n return 0;\n\n}\n", "idx": 6489}623{"project": "qemu", "commit_id": "e13e973eedba0a52b4b8b079c4b85cdc68b7b4f0", "target": 1, "func": "static int ccid_initfn(USBDevice *dev)\n\n{\n\n USBCCIDState *s = DO_UPCAST(USBCCIDState, dev, dev);\n\n\n\n s->bus = ccid_bus_new(&dev->qdev);\n\n s->card = NULL;\n\n s->cardinfo = NULL;\n\n s->migration_state = MIGRATION_NONE;\n\n s->migration_target_ip = 0;\n\n s->migration_target_port = 0;\n\n s->dev.speed = USB_SPEED_FULL;\n\n s->notify_slot_change = false;\n\n s->powered = true;\n\n s->pending_answers_num = 0;\n\n s->last_answer_error = 0;\n\n s->bulk_in_pending_start = 0;\n\n s->bulk_in_pending_end = 0;\n\n s->current_bulk_in = NULL;\n\n ccid_reset_error_status(s);\n\n s->bulk_out_pos = 0;\n\n ccid_reset_parameters(s);\n\n ccid_reset(s);\n\n return 0;\n\n}\n", "idx": 6500}624{"project": "qemu", "commit_id": "5a1972c8472fafd519a68b689fdcaf33ec857945", "target": 1, "func": "static void ppc4xx_pob_reset (void *opaque)\n\n{\n\n ppc4xx_pob_t *pob;\n\n\n\n pob = opaque;\n\n /* No error */\n\n pob->bear = 0x00000000;\n\n pob->besr[0] = 0x0000000;\n\n pob->besr[1] = 0x0000000;\n\n}\n", "idx": 6507}625{"project": "FFmpeg", "commit_id": "5d20f19be25c973fe10d0d17db9245002585710d", "target": 1, "func": "int av_aes_init(AVAES *a, const uint8_t *key, int key_bits, int decrypt)\n\n{\n\n int i, j, t, rconpointer = 0;\n\n uint8_t tk[8][4];\n\n int KC = key_bits >> 5;\n\n int rounds = KC + 6;\n\n uint8_t log8[256];\n\n uint8_t alog8[512];\n\n\n\n if (!enc_multbl[FF_ARRAY_ELEMS(enc_multbl)-1][FF_ARRAY_ELEMS(enc_multbl[0])-1]) {\n\n j = 1;\n\n for (i = 0; i < 255; i++) {\n\n alog8[i] = alog8[i + 255] = j;\n\n log8[j] = i;\n\n j ^= j + j;\n\n if (j > 255)\n\n j ^= 0x11B;\n\n }\n\n for (i = 0; i < 256; i++) {\n\n j = i ? alog8[255 - log8[i]] : 0;\n\n j ^= (j << 1) ^ (j << 2) ^ (j << 3) ^ (j << 4);\n\n j = (j ^ (j >> 8) ^ 99) & 255;\n\n inv_sbox[j] = i;\n\n sbox[i] = j;\n\n }\n\n init_multbl2(dec_multbl[0], (const int[4]) { 0xe, 0x9, 0xd, 0xb },\n\n log8, alog8, inv_sbox);\n\n init_multbl2(enc_multbl[0], (const int[4]) { 0x2, 0x1, 0x1, 0x3 },\n\n log8, alog8, sbox);\n\n }\n\n\n\n if (key_bits != 128 && key_bits != 192 && key_bits != 256)\n\n return -1;\n\n\n\n a->rounds = rounds;\n\n\n\n memcpy(tk, key, KC * 4);\n\n\n\n for (t = 0; t < (rounds + 1) * 16;) {\n\n memcpy(a->round_key[0].u8 + t, tk, KC * 4);\n\n t += KC * 4;\n\n\n\n for (i = 0; i < 4; i++)\n\n tk[0][i] ^= sbox[tk[KC - 1][(i + 1) & 3]];\n\n tk[0][0] ^= rcon[rconpointer++];\n\n\n\n for (j = 1; j < KC; j++) {\n\n if (KC != 8 || j != KC >> 1)\n\n for (i = 0; i < 4; i++)\n\n tk[j][i] ^= tk[j - 1][i];\n\n else\n\n for (i = 0; i < 4; i++)\n\n tk[j][i] ^= sbox[tk[j - 1][i]];\n\n }\n\n }\n\n\n\n if (decrypt) {\n\n for (i = 1; i < rounds; i++) {\n\n av_aes_block tmp[3];\n\n tmp[2] = a->round_key[i];\n\n subshift(&tmp[1], 0, sbox);\n\n mix(tmp, dec_multbl, 1, 3);\n\n a->round_key[i] = tmp[0];\n\n }\n\n } else {\n\n for (i = 0; i < (rounds + 1) >> 1; i++) {\n\n FFSWAP(av_aes_block, a->round_key[i], a->round_key[rounds-i]);\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 6509}626{"project": "FFmpeg", "commit_id": "7f526efd17973ec6d2204f7a47b6923e2be31363", "target": 1, "func": "static inline void RENAME(yv12touyvy)(const uint8_t *ysrc, const uint8_t *usrc, const uint8_t *vsrc, uint8_t *dst,\n\n\tunsigned int width, unsigned int height,\n\n\tint lumStride, int chromStride, int dstStride)\n\n{\n\n\t//FIXME interpolate chroma\n\n\tRENAME(yuvPlanartouyvy)(ysrc, usrc, vsrc, dst, width, height, lumStride, chromStride, dstStride, 2);\n\n}\n", "idx": 6519}627{"project": "qemu", "commit_id": "3dc6f8693694a649a9c83f1e2746565b47683923", "target": 0, "func": "static void spapr_populate_cpu_dt(CPUState *cs, void *fdt, int offset,\n\n sPAPRMachineState *spapr)\n\n{\n\n PowerPCCPU *cpu = POWERPC_CPU(cs);\n\n CPUPPCState *env = &cpu->env;\n\n PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cs);\n\n int index = ppc_get_vcpu_dt_id(cpu);\n\n uint32_t segs[] = {cpu_to_be32(28), cpu_to_be32(40),\n\n 0xffffffff, 0xffffffff};\n\n uint32_t tbfreq = kvm_enabled() ? kvmppc_get_tbfreq()\n\n : SPAPR_TIMEBASE_FREQ;\n\n uint32_t cpufreq = kvm_enabled() ? kvmppc_get_clockfreq() : 1000000000;\n\n uint32_t page_sizes_prop[64];\n\n size_t page_sizes_prop_size;\n\n uint32_t vcpus_per_socket = smp_threads * smp_cores;\n\n uint32_t pft_size_prop[] = {0, cpu_to_be32(spapr->htab_shift)};\n\n int compat_smt = MIN(smp_threads, ppc_compat_max_threads(cpu));\n\n sPAPRDRConnector *drc;\n\n int drc_index;\n\n uint32_t radix_AP_encodings[PPC_PAGE_SIZES_MAX_SZ];\n\n int i;\n\n\n\n drc = spapr_drc_by_id(TYPE_SPAPR_DRC_CPU, index);\n\n if (drc) {\n\n drc_index = spapr_drc_index(drc);\n\n _FDT((fdt_setprop_cell(fdt, offset, \"ibm,my-drc-index\", drc_index)));\n\n }\n\n\n\n _FDT((fdt_setprop_cell(fdt, offset, \"reg\", index)));\n\n _FDT((fdt_setprop_string(fdt, offset, \"device_type\", \"cpu\")));\n\n\n\n _FDT((fdt_setprop_cell(fdt, offset, \"cpu-version\", env->spr[SPR_PVR])));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"d-cache-block-size\",\n\n env->dcache_line_size)));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"d-cache-line-size\",\n\n env->dcache_line_size)));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"i-cache-block-size\",\n\n env->icache_line_size)));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"i-cache-line-size\",\n\n env->icache_line_size)));\n\n\n\n if (pcc->l1_dcache_size) {\n\n _FDT((fdt_setprop_cell(fdt, offset, \"d-cache-size\",\n\n pcc->l1_dcache_size)));\n\n } else {\n\n error_report(\"Warning: Unknown L1 dcache size for cpu\");\n\n }\n\n if (pcc->l1_icache_size) {\n\n _FDT((fdt_setprop_cell(fdt, offset, \"i-cache-size\",\n\n pcc->l1_icache_size)));\n\n } else {\n\n error_report(\"Warning: Unknown L1 icache size for cpu\");\n\n }\n\n\n\n _FDT((fdt_setprop_cell(fdt, offset, \"timebase-frequency\", tbfreq)));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"clock-frequency\", cpufreq)));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"slb-size\", env->slb_nr)));\n\n _FDT((fdt_setprop_cell(fdt, offset, \"ibm,slb-size\", env->slb_nr)));\n\n _FDT((fdt_setprop_string(fdt, offset, \"status\", \"okay\")));\n\n _FDT((fdt_setprop(fdt, offset, \"64-bit\", NULL, 0)));\n\n\n\n if (env->spr_cb[SPR_PURR].oea_read) {\n\n _FDT((fdt_setprop(fdt, offset, \"ibm,purr\", NULL, 0)));\n\n }\n\n\n\n if (env->mmu_model & POWERPC_MMU_1TSEG) {\n\n _FDT((fdt_setprop(fdt, offset, \"ibm,processor-segment-sizes\",\n\n segs, sizeof(segs))));\n\n }\n\n\n\n /* Advertise VMX/VSX (vector extensions) if available\n\n * 0 / no property == no vector extensions\n\n * 1 == VMX / Altivec available\n\n * 2 == VSX available */\n\n if (env->insns_flags & PPC_ALTIVEC) {\n\n uint32_t vmx = (env->insns_flags2 & PPC2_VSX) ? 2 : 1;\n\n\n\n _FDT((fdt_setprop_cell(fdt, offset, \"ibm,vmx\", vmx)));\n\n }\n\n\n\n /* Advertise DFP (Decimal Floating Point) if available\n\n * 0 / no property == no DFP\n\n * 1 == DFP available */\n\n if (env->insns_flags2 & PPC2_DFP) {\n\n _FDT((fdt_setprop_cell(fdt, offset, \"ibm,dfp\", 1)));\n\n }\n\n\n\n page_sizes_prop_size = ppc_create_page_sizes_prop(env, page_sizes_prop,\n\n sizeof(page_sizes_prop));\n\n if (page_sizes_prop_size) {\n\n _FDT((fdt_setprop(fdt, offset, \"ibm,segment-page-sizes\",\n\n page_sizes_prop, page_sizes_prop_size)));\n\n }\n\n\n\n spapr_populate_pa_features(env, fdt, offset, false);\n\n\n\n _FDT((fdt_setprop_cell(fdt, offset, \"ibm,chip-id\",\n\n cs->cpu_index / vcpus_per_socket)));\n\n\n\n _FDT((fdt_setprop(fdt, offset, \"ibm,pft-size\",\n\n pft_size_prop, sizeof(pft_size_prop))));\n\n\n\n if (nb_numa_nodes > 1) {\n\n _FDT(spapr_fixup_cpu_numa_dt(fdt, offset, cpu));\n\n }\n\n\n\n _FDT(spapr_fixup_cpu_smt_dt(fdt, offset, cpu, compat_smt));\n\n\n\n if (pcc->radix_page_info) {\n\n for (i = 0; i < pcc->radix_page_info->count; i++) {\n\n radix_AP_encodings[i] =\n\n cpu_to_be32(pcc->radix_page_info->entries[i]);\n\n }\n\n _FDT((fdt_setprop(fdt, offset, \"ibm,processor-radix-AP-encodings\",\n\n radix_AP_encodings,\n\n pcc->radix_page_info->count *\n\n sizeof(radix_AP_encodings[0]))));\n\n }\n\n}\n", "idx": 6524}628{"project": "qemu", "commit_id": "f94d18d6c6df388fde196d3ab252f57e33843a8b", "target": 0, "func": "static void xhci_kick_epctx(XHCIEPContext *epctx, unsigned int streamid)\n\n{\n\n XHCIState *xhci = epctx->xhci;\n\n XHCIStreamContext *stctx;\n\n XHCITransfer *xfer;\n\n XHCIRing *ring;\n\n USBEndpoint *ep = NULL;\n\n uint64_t mfindex;\n\n int length;\n\n int i;\n\n\n\n trace_usb_xhci_ep_kick(epctx->slotid, epctx->epid, streamid);\n\n\n\n /* If the device has been detached, but the guest has not noticed this\n\n yet the 2 above checks will succeed, but we must NOT continue */\n\n if (!xhci->slots[epctx->slotid - 1].uport ||\n\n !xhci->slots[epctx->slotid - 1].uport->dev ||\n\n !xhci->slots[epctx->slotid - 1].uport->dev->attached) {\n\n return;\n\n }\n\n\n\n if (epctx->retry) {\n\n XHCITransfer *xfer = epctx->retry;\n\n\n\n trace_usb_xhci_xfer_retry(xfer);\n\n assert(xfer->running_retry);\n\n if (xfer->timed_xfer) {\n\n /* time to kick the transfer? */\n\n mfindex = xhci_mfindex_get(xhci);\n\n xhci_check_intr_iso_kick(xhci, xfer, epctx, mfindex);\n\n if (xfer->running_retry) {\n\n return;\n\n }\n\n xfer->timed_xfer = 0;\n\n xfer->running_retry = 1;\n\n }\n\n if (xfer->iso_xfer) {\n\n /* retry iso transfer */\n\n if (xhci_setup_packet(xfer) < 0) {\n\n return;\n\n }\n\n usb_handle_packet(xfer->packet.ep->dev, &xfer->packet);\n\n assert(xfer->packet.status != USB_RET_NAK);\n\n xhci_complete_packet(xfer);\n\n } else {\n\n /* retry nak'ed transfer */\n\n if (xhci_setup_packet(xfer) < 0) {\n\n return;\n\n }\n\n usb_handle_packet(xfer->packet.ep->dev, &xfer->packet);\n\n if (xfer->packet.status == USB_RET_NAK) {\n\n return;\n\n }\n\n xhci_complete_packet(xfer);\n\n }\n\n assert(!xfer->running_retry);\n\n xhci_ep_free_xfer(epctx->retry);\n\n epctx->retry = NULL;\n\n }\n\n\n\n if (epctx->state == EP_HALTED) {\n\n DPRINTF(\"xhci: ep halted, not running schedule\\n\");\n\n return;\n\n }\n\n\n\n\n\n if (epctx->nr_pstreams) {\n\n uint32_t err;\n\n stctx = xhci_find_stream(epctx, streamid, &err);\n\n if (stctx == NULL) {\n\n return;\n\n }\n\n ring = &stctx->ring;\n\n xhci_set_ep_state(xhci, epctx, stctx, EP_RUNNING);\n\n } else {\n\n ring = &epctx->ring;\n\n streamid = 0;\n\n xhci_set_ep_state(xhci, epctx, NULL, EP_RUNNING);\n\n }\n\n assert(ring->dequeue != 0);\n\n\n\n while (1) {\n\n length = xhci_ring_chain_length(xhci, ring);\n\n if (length <= 0) {\n\n break;\n\n }\n\n xfer = xhci_ep_alloc_xfer(epctx, length);\n\n if (xfer == NULL) {\n\n break;\n\n }\n\n\n\n for (i = 0; i < length; i++) {\n\n TRBType type;\n\n type = xhci_ring_fetch(xhci, ring, &xfer->trbs[i], NULL);\n\n assert(type);\n\n }\n\n xfer->streamid = streamid;\n\n\n\n if (epctx->epid == 1) {\n\n xhci_fire_ctl_transfer(xhci, xfer);\n\n } else {\n\n xhci_fire_transfer(xhci, xfer, epctx);\n\n }\n\n if (xfer->complete) {\n\n xhci_ep_free_xfer(xfer);\n\n xfer = NULL;\n\n }\n\n\n\n if (epctx->state == EP_HALTED) {\n\n break;\n\n }\n\n if (xfer != NULL && xfer->running_retry) {\n\n DPRINTF(\"xhci: xfer nacked, stopping schedule\\n\");\n\n epctx->retry = xfer;\n\n break;\n\n }\n\n }\n\n\n\n ep = xhci_epid_to_usbep(epctx);\n\n if (ep) {\n\n usb_device_flush_ep_queue(ep->dev, ep);\n\n }\n\n}\n", "idx": 6532}629{"project": "FFmpeg", "commit_id": "b04665ac028d26747396eaf4dbf9188225a6f2a1", "target": 0, "func": "static int opt_preset(const char *opt, const char *arg)\n\n{\n\n FILE *f=NULL;\n\n char filename[1000], tmp[1000], tmp2[1000], line[1000];\n\n int i;\n\n const char *base[3]= { getenv(\"HOME\"),\n\n \"/usr/local/share\",\n\n \"/usr/share\",\n\n };\n\n\n\n for(i=!base[0]; i<3 && !f; i++){\n\n snprintf(filename, sizeof(filename), \"%s/%sffmpeg/%s.ffpreset\", base[i], i ? \"\" : \".\", arg);\n\n f= fopen(filename, \"r\");\n\n if(!f){\n\n char *codec_name= *opt == 'v' ? video_codec_name :\n\n *opt == 'a' ? audio_codec_name :\n\n subtitle_codec_name;\n\n snprintf(filename, sizeof(filename), \"%s/%sffmpeg/%s-%s.ffpreset\", base[i], i ? \"\" : \".\", codec_name, arg);\n\n f= fopen(filename, \"r\");\n\n }\n\n }\n\n if(!f && ((arg[0]=='.' && arg[1]=='/') || arg[0]=='/' ||\n\n is_dos_path(arg))){\n\n snprintf(filename, sizeof(filename), arg);\n\n f= fopen(filename, \"r\");\n\n }\n\n\n\n if(!f){\n\n fprintf(stderr, \"File for preset '%s' not found\\n\", arg);\n\n av_exit(1);\n\n }\n\n\n\n while(!feof(f)){\n\n int e= fscanf(f, \"%999[^\\n]\\n\", line) - 1;\n\n if(line[0] == '#' && !e)\n\n continue;\n\n e|= sscanf(line, \"%999[^=]=%999[^\\n]\\n\", tmp, tmp2) - 2;\n\n if(e){\n\n fprintf(stderr, \"%s: Preset file invalid\\n\", filename);\n\n av_exit(1);\n\n }\n\n if(!strcmp(tmp, \"acodec\")){\n\n opt_audio_codec(tmp2);\n\n }else if(!strcmp(tmp, \"vcodec\")){\n\n opt_video_codec(tmp2);\n\n }else if(!strcmp(tmp, \"scodec\")){\n\n opt_subtitle_codec(tmp2);\n\n }else if(opt_default(tmp, tmp2) < 0){\n\n fprintf(stderr, \"%s: Invalid option or argument: %s=%s\\n\", filename, tmp, tmp2);\n\n av_exit(1);\n\n }\n\n }\n\n\n\n fclose(f);\n\n\n\n return 0;\n\n}\n", "idx": 6535}630{"project": "FFmpeg", "commit_id": "fdbc544d29176ba69d67dd879df4696f0a19052e", "target": 1, "func": "static int asf_read_ext_content(AVFormatContext *s, const GUIDParseTable *g)\n\n{\n\n ASFContext *asf = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n uint64_t size = avio_rl64(pb);\n\n uint16_t nb_desc = avio_rl16(pb);\n\n int i, ret;\n\n\n\n for (i = 0; i < nb_desc; i++) {\n\n uint16_t name_len, type, val_len;\n\n uint8_t *name = NULL;\n\n\n\n name_len = avio_rl16(pb);\n\n if (!name_len)\n\n return AVERROR_INVALIDDATA;\n\n name = av_malloc(name_len);\n\n if (!name)\n\n return AVERROR(ENOMEM);\n\n avio_get_str16le(pb, name_len, name,\n\n name_len);\n\n type = avio_rl16(pb);\n\n val_len = avio_rl16(pb);\n\n\n\n if ((ret = process_metadata(s, name, name_len, val_len, type, &s->metadata)) < 0)\n\n return ret;\n\n }\n\n\n\n align_position(pb, asf->offset, size);\n\n return 0;\n\n}\n", "idx": 6543}631{"project": "qemu", "commit_id": "3f910692c287e1c611c00e763ebeb95ed0e017f8", "target": 1, "func": "static int vhdx_log_write(BlockDriverState *bs, BDRVVHDXState *s,\n\n void *data, uint32_t length, uint64_t offset)\n\n{\n\n int ret = 0;\n\n void *buffer = NULL;\n\n void *merged_sector = NULL;\n\n void *data_tmp, *sector_write;\n\n unsigned int i;\n\n int sector_offset;\n\n uint32_t desc_sectors, sectors, total_length;\n\n uint32_t sectors_written = 0;\n\n uint32_t aligned_length;\n\n uint32_t leading_length = 0;\n\n uint32_t trailing_length = 0;\n\n uint32_t partial_sectors = 0;\n\n uint32_t bytes_written = 0;\n\n uint64_t file_offset;\n\n VHDXHeader *header;\n\n VHDXLogEntryHeader new_hdr;\n\n VHDXLogDescriptor *new_desc = NULL;\n\n VHDXLogDataSector *data_sector = NULL;\n\n MSGUID new_guid = { 0 };\n\n\n\n header = s->headers[s->curr_header];\n\n\n\n /* need to have offset read data, and be on 4096 byte boundary */\n\n\n\n if (length > header->log_length) {\n\n /* no log present. we could create a log here instead of failing */\n\n ret = -EINVAL;\n\n goto exit;\n\n }\n\n\n\n if (guid_eq(header->log_guid, zero_guid)) {\n\n vhdx_guid_generate(&new_guid);\n\n vhdx_update_headers(bs, s, false, &new_guid);\n\n } else {\n\n /* currently, we require that the log be flushed after\n\n * every write. */\n\n ret = -ENOTSUP;\n\n goto exit;\n\n }\n\n\n\n /* 0 is an invalid sequence number, but may also represent the first\n\n * log write (or a wrapped seq) */\n\n if (s->log.sequence == 0) {\n\n s->log.sequence = 1;\n\n }\n\n\n\n sector_offset = offset % VHDX_LOG_SECTOR_SIZE;\n\n file_offset = (offset / VHDX_LOG_SECTOR_SIZE) * VHDX_LOG_SECTOR_SIZE;\n\n\n\n aligned_length = length;\n\n\n\n /* add in the unaligned head and tail bytes */\n\n if (sector_offset) {\n\n leading_length = (VHDX_LOG_SECTOR_SIZE - sector_offset);\n\n leading_length = leading_length > length ? length : leading_length;\n\n aligned_length -= leading_length;\n\n partial_sectors++;\n\n }\n\n\n\n sectors = aligned_length / VHDX_LOG_SECTOR_SIZE;\n\n trailing_length = aligned_length - (sectors * VHDX_LOG_SECTOR_SIZE);\n\n if (trailing_length) {\n\n partial_sectors++;\n\n }\n\n\n\n sectors += partial_sectors;\n\n\n\n /* sectors is now how many sectors the data itself takes, not\n\n * including the header and descriptor metadata */\n\n\n\n new_hdr = (VHDXLogEntryHeader) {\n\n .signature = VHDX_LOG_SIGNATURE,\n\n .tail = s->log.tail,\n\n .sequence_number = s->log.sequence,\n\n .descriptor_count = sectors,\n\n .reserved = 0,\n\n .flushed_file_offset = bdrv_getlength(bs->file->bs),\n\n .last_file_offset = bdrv_getlength(bs->file->bs),\n\n };\n\n\n\n new_hdr.log_guid = header->log_guid;\n\n\n\n desc_sectors = vhdx_compute_desc_sectors(new_hdr.descriptor_count);\n\n\n\n total_length = (desc_sectors + sectors) * VHDX_LOG_SECTOR_SIZE;\n\n new_hdr.entry_length = total_length;\n\n\n\n vhdx_log_entry_hdr_le_export(&new_hdr);\n\n\n\n buffer = qemu_blockalign(bs, total_length);\n\n memcpy(buffer, &new_hdr, sizeof(new_hdr));\n\n\n\n new_desc = buffer + sizeof(new_hdr);\n\n data_sector = buffer + (desc_sectors * VHDX_LOG_SECTOR_SIZE);\n\n data_tmp = data;\n\n\n\n /* All log sectors are 4KB, so for any partial sectors we must\n\n * merge the data with preexisting data from the final file\n\n * destination */\n\n merged_sector = qemu_blockalign(bs, VHDX_LOG_SECTOR_SIZE);\n\n\n\n for (i = 0; i < sectors; i++) {\n\n new_desc->signature = VHDX_LOG_DESC_SIGNATURE;\n\n new_desc->sequence_number = s->log.sequence;\n\n new_desc->file_offset = file_offset;\n\n\n\n if (i == 0 && leading_length) {\n\n /* partial sector at the front of the buffer */\n\n ret = bdrv_pread(bs->file, file_offset, merged_sector,\n\n VHDX_LOG_SECTOR_SIZE);\n\n if (ret < 0) {\n\n goto exit;\n\n }\n\n memcpy(merged_sector + sector_offset, data_tmp, leading_length);\n\n bytes_written = leading_length;\n\n sector_write = merged_sector;\n\n } else if (i == sectors - 1 && trailing_length) {\n\n /* partial sector at the end of the buffer */\n\n ret = bdrv_pread(bs->file,\n\n file_offset,\n\n merged_sector + trailing_length,\n\n VHDX_LOG_SECTOR_SIZE - trailing_length);\n\n if (ret < 0) {\n\n goto exit;\n\n }\n\n memcpy(merged_sector, data_tmp, trailing_length);\n\n bytes_written = trailing_length;\n\n sector_write = merged_sector;\n\n } else {\n\n bytes_written = VHDX_LOG_SECTOR_SIZE;\n\n sector_write = data_tmp;\n\n }\n\n\n\n /* populate the raw sector data into the proper structures,\n\n * as well as update the descriptor, and convert to proper\n\n * endianness */\n\n vhdx_log_raw_to_le_sector(new_desc, data_sector, sector_write,\n\n s->log.sequence);\n\n\n\n data_tmp += bytes_written;\n\n data_sector++;\n\n new_desc++;\n\n file_offset += VHDX_LOG_SECTOR_SIZE;\n\n }\n\n\n\n /* checksum covers entire entry, from the log header through the\n\n * last data sector */\n\n vhdx_update_checksum(buffer, total_length,\n\n offsetof(VHDXLogEntryHeader, checksum));\n\n\n\n /* now write to the log */\n\n ret = vhdx_log_write_sectors(bs, &s->log, §ors_written, buffer,\n\n desc_sectors + sectors);\n\n if (ret < 0) {\n\n goto exit;\n\n }\n\n\n\n if (sectors_written != desc_sectors + sectors) {\n\n /* instead of failing, we could flush the log here */\n\n ret = -EINVAL;\n\n goto exit;\n\n }\n\n\n\n s->log.sequence++;\n\n /* write new tail */\n\n s->log.tail = s->log.write;\n\n\n\nexit:\n\n qemu_vfree(buffer);\n\n qemu_vfree(merged_sector);\n\n return ret;\n\n}\n", "idx": 6545}632{"project": "qemu", "commit_id": "aa4a3dce1c88ed51b616806b8214b7c8428b7470", "target": 1, "func": "static void vmxnet3_net_uninit(VMXNET3State *s)\n\n{\n\n g_free(s->mcast_list);\n\n vmxnet_tx_pkt_reset(s->tx_pkt);\n\n vmxnet_tx_pkt_uninit(s->tx_pkt);\n\n vmxnet_rx_pkt_uninit(s->rx_pkt);\n\n qemu_del_nic(s->nic);\n\n}\n", "idx": 6547}633{"project": "FFmpeg", "commit_id": "ec3b22326dc07fb8300a577bd6b17c19a0f1bcf7", "target": 1, "func": "static int http_prepare_data(HTTPContext *c)\n\n{\n\n int i;\n\n\n\n switch(c->state) {\n\n case HTTPSTATE_SEND_DATA_HEADER:\n\n memset(&c->fmt_ctx, 0, sizeof(c->fmt_ctx));\n\n if (c->stream->feed) {\n\n /* open output stream by using specified codecs */\n\n c->fmt_ctx.oformat = c->stream->fmt;\n\n c->fmt_ctx.nb_streams = c->stream->nb_streams;\n\n for(i=0;i<c->fmt_ctx.nb_streams;i++) {\n\n AVStream *st;\n\n st = av_mallocz(sizeof(AVStream));\n\n c->fmt_ctx.streams[i] = st;\n\n if (c->stream->feed == c->stream)\n\n memcpy(st, c->stream->streams[i], sizeof(AVStream));\n\n else\n\n memcpy(st, c->stream->feed->streams[c->stream->feed_streams[i]], sizeof(AVStream));\n\n\n\n st->codec.frame_number = 0; /* XXX: should be done in\n\n AVStream, not in codec */\n\n }\n\n c->got_key_frame = 0;\n\n } else {\n\n /* open output stream by using codecs in specified file */\n\n c->fmt_ctx.oformat = c->stream->fmt;\n\n c->fmt_ctx.nb_streams = c->fmt_in->nb_streams;\n\n for(i=0;i<c->fmt_ctx.nb_streams;i++) {\n\n AVStream *st;\n\n st = av_mallocz(sizeof(AVStream));\n\n c->fmt_ctx.streams[i] = st;\n\n memcpy(st, c->fmt_in->streams[i], sizeof(AVStream));\n\n st->codec.frame_number = 0; /* XXX: should be done in\n\n AVStream, not in codec */\n\n }\n\n c->got_key_frame = 0;\n\n }\n\n init_put_byte(&c->fmt_ctx.pb, c->pbuffer, PACKET_MAX_SIZE,\n\n 1, c, NULL, http_write_packet, NULL);\n\n c->fmt_ctx.pb.is_streamed = 1;\n\n /* prepare header */\n\n av_write_header(&c->fmt_ctx);\n\n c->state = HTTPSTATE_SEND_DATA;\n\n c->last_packet_sent = 0;\n\n break;\n\n case HTTPSTATE_SEND_DATA:\n\n /* find a new packet */\n\n#if 0\n\n fifo_total_size = http_fifo_write_count - c->last_http_fifo_write_count;\n\n if (fifo_total_size >= ((3 * FIFO_MAX_SIZE) / 4)) {\n\n /* overflow : resync. We suppose that wptr is at this\n\n point a pointer to a valid packet */\n\n c->rptr = http_fifo.wptr;\n\n c->got_key_frame = 0;\n\n }\n\n \n\n start_rptr = c->rptr;\n\n if (fifo_read(&http_fifo, (UINT8 *)&hdr, sizeof(hdr), &c->rptr) < 0)\n\n return 0;\n\n payload_size = ntohs(hdr.payload_size);\n\n payload = av_malloc(payload_size);\n\n if (fifo_read(&http_fifo, payload, payload_size, &c->rptr) < 0) {\n\n /* cannot read all the payload */\n\n av_free(payload);\n\n c->rptr = start_rptr;\n\n return 0;\n\n }\n\n \n\n c->last_http_fifo_write_count = http_fifo_write_count - \n\n fifo_size(&http_fifo, c->rptr);\n\n \n\n if (c->stream->stream_type != STREAM_TYPE_MASTER) {\n\n /* test if the packet can be handled by this format */\n\n ret = 0;\n\n for(i=0;i<c->fmt_ctx.nb_streams;i++) {\n\n AVStream *st = c->fmt_ctx.streams[i];\n\n if (test_header(&hdr, &st->codec)) {\n\n /* only begin sending when got a key frame */\n\n if (st->codec.key_frame)\n\n c->got_key_frame |= 1 << i;\n\n if (c->got_key_frame & (1 << i)) {\n\n ret = c->fmt_ctx.format->write_packet(&c->fmt_ctx, i,\n\n payload, payload_size);\n\n }\n\n break;\n\n }\n\n }\n\n if (ret) {\n\n /* must send trailer now */\n\n c->state = HTTPSTATE_SEND_DATA_TRAILER;\n\n }\n\n } else {\n\n /* master case : send everything */\n\n char *q;\n\n q = c->buffer;\n\n memcpy(q, &hdr, sizeof(hdr));\n\n q += sizeof(hdr);\n\n memcpy(q, payload, payload_size);\n\n q += payload_size;\n\n c->buffer_ptr = c->buffer;\n\n c->buffer_end = q;\n\n }\n\n av_free(payload);\n\n#endif\n\n {\n\n AVPacket pkt;\n\n\n\n /* read a packet from the input stream */\n\n if (c->stream->feed) {\n\n ffm_set_write_index(c->fmt_in, \n\n c->stream->feed->feed_write_index,\n\n c->stream->feed->feed_size);\n\n }\n\n \n\n if (av_read_packet(c->fmt_in, &pkt) < 0) {\n\n if (c->stream->feed && c->stream->feed->feed_opened) {\n\n /* if coming from feed, it means we reached the end of the\n\n ffm file, so must wait for more data */\n\n c->state = HTTPSTATE_WAIT_FEED;\n\n return 1; /* state changed */\n\n } else {\n\n /* must send trailer now because eof or error */\n\n c->state = HTTPSTATE_SEND_DATA_TRAILER;\n\n }\n\n } else {\n\n /* send it to the appropriate stream */\n\n if (c->stream->feed) {\n\n /* if coming from a feed, select the right stream */\n\n for(i=0;i<c->stream->nb_streams;i++) {\n\n if (c->stream->feed_streams[i] == pkt.stream_index) {\n\n pkt.stream_index = i;\n\n if (pkt.flags & PKT_FLAG_KEY) {\n\n c->got_key_frame |= 1 << i;\n\n }\n\n /* See if we have all the key frames, then \n\n * we start to send. This logic is not quite\n\n * right, but it works for the case of a \n\n * single video stream with one or more\n\n * audio streams (for which every frame is \n\n * typically a key frame). \n\n */\n\n if (!c->stream->send_on_key || ((c->got_key_frame + 1) >> c->stream->nb_streams)) {\n\n goto send_it;\n\n }\n\n }\n\n }\n\n } else {\n\n AVCodecContext *codec;\n\n send_it:\n\n /* Fudge here */\n\n codec = &c->fmt_ctx.streams[pkt.stream_index]->codec;\n\n\n\n codec->key_frame = ((pkt.flags & PKT_FLAG_KEY) != 0);\n\n\n\n#ifdef PJSG\n\n if (codec->codec_type == CODEC_TYPE_AUDIO) {\n\n codec->frame_size = (codec->sample_rate * pkt.duration + 500000) / 1000000;\n\n /* printf(\"Calculated size %d, from sr %d, duration %d\\n\", codec->frame_size, codec->sample_rate, pkt.duration); */\n\n }\n\n#endif\n\n\n\n if (av_write_packet(&c->fmt_ctx, &pkt, 0))\n\n c->state = HTTPSTATE_SEND_DATA_TRAILER;\n\n\n\n codec->frame_number++;\n\n }\n\n\n\n av_free_packet(&pkt);\n\n }\n\n }\n\n break;\n\n default:\n\n case HTTPSTATE_SEND_DATA_TRAILER:\n\n /* last packet test ? */\n\n if (c->last_packet_sent)\n\n return -1;\n\n /* prepare header */\n\n av_write_trailer(&c->fmt_ctx);\n\n c->last_packet_sent = 1;\n\n break;\n\n }\n\n return 0;\n\n}\n", "idx": 6556}634{"project": "FFmpeg", "commit_id": "65db4899fa8790049bec3af16ecdb75dd81051fd", "target": 1, "func": "static void input_callback(MMAL_PORT_T *port, MMAL_BUFFER_HEADER_T *buffer)\n\n{\n\n if (!buffer->cmd) {\n\n AVBufferRef *buf = buffer->user_data;\n\n av_buffer_unref(&buf);\n\n }\n\n mmal_buffer_header_release(buffer);\n\n}\n", "idx": 6575}635{"project": "qemu", "commit_id": "61c7480fa36775cc2baa2f8141f0c64a15f827b5", "target": 1, "func": "CPUArchState *cpu_copy(CPUArchState *env)\n\n{\n\n CPUState *cpu = ENV_GET_CPU(env);\n\n CPUState *new_cpu = cpu_init(cpu_model);\n\n CPUArchState *new_env = cpu->env_ptr;\n\n CPUBreakpoint *bp;\n\n CPUWatchpoint *wp;\n\n\n\n /* Reset non arch specific state */\n\n cpu_reset(new_cpu);\n\n\n\n memcpy(new_env, env, sizeof(CPUArchState));\n\n\n\n /* Clone all break/watchpoints.\n\n Note: Once we support ptrace with hw-debug register access, make sure\n\n BP_CPU break/watchpoints are handled correctly on clone. */\n\n QTAILQ_INIT(&cpu->breakpoints);\n\n QTAILQ_INIT(&cpu->watchpoints);\n\n QTAILQ_FOREACH(bp, &cpu->breakpoints, entry) {\n\n cpu_breakpoint_insert(new_cpu, bp->pc, bp->flags, NULL);\n\n }\n\n QTAILQ_FOREACH(wp, &cpu->watchpoints, entry) {\n\n cpu_watchpoint_insert(new_cpu, wp->vaddr, wp->len, wp->flags, NULL);\n\n }\n\n\n\n return new_env;\n\n}\n", "idx": 6577}636{"project": "FFmpeg", "commit_id": "72dbc610be3272ba36603f78a39cc2d2d8fe0cc3", "target": 0, "func": "static void avc_luma_vt_and_aver_dst_16x16_msa(const uint8_t *src,\n\n int32_t src_stride,\n\n uint8_t *dst, int32_t dst_stride)\n\n{\n\n int32_t loop_cnt;\n\n int16_t filt_const0 = 0xfb01;\n\n int16_t filt_const1 = 0x1414;\n\n int16_t filt_const2 = 0x1fb;\n\n v16u8 dst0, dst1, dst2, dst3;\n\n v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8;\n\n v16i8 src10_r, src32_r, src54_r, src76_r, src21_r, src43_r, src65_r;\n\n v16i8 src87_r, src10_l, src32_l, src54_l, src76_l, src21_l, src43_l;\n\n v16i8 src65_l, src87_l;\n\n v8i16 out0_r, out1_r, out2_r, out3_r, out0_l, out1_l, out2_l, out3_l;\n\n v16i8 filt0, filt1, filt2;\n\n v16u8 res0, res1, res2, res3;\n\n\n\n filt0 = (v16i8) __msa_fill_h(filt_const0);\n\n filt1 = (v16i8) __msa_fill_h(filt_const1);\n\n filt2 = (v16i8) __msa_fill_h(filt_const2);\n\n\n\n LD_SB5(src, src_stride, src0, src1, src2, src3, src4);\n\n src += (5 * src_stride);\n\n\n\n XORI_B5_128_SB(src0, src1, src2, src3, src4);\n\n ILVR_B4_SB(src1, src0, src2, src1, src3, src2, src4, src3,\n\n src10_r, src21_r, src32_r, src43_r);\n\n ILVL_B4_SB(src1, src0, src2, src1, src3, src2, src4, src3,\n\n src10_l, src21_l, src32_l, src43_l);\n\n\n\n for (loop_cnt = 4; loop_cnt--;) {\n\n LD_SB4(src, src_stride, src5, src6, src7, src8);\n\n src += (4 * src_stride);\n\n\n\n XORI_B4_128_SB(src5, src6, src7, src8);\n\n ILVR_B4_SB(src5, src4, src6, src5, src7, src6, src8, src7,\n\n src54_r, src65_r, src76_r, src87_r);\n\n ILVL_B4_SB(src5, src4, src6, src5, src7, src6, src8, src7,\n\n src54_l, src65_l, src76_l, src87_l);\n\n out0_r = DPADD_SH3_SH(src10_r, src32_r, src54_r, filt0, filt1, filt2);\n\n out1_r = DPADD_SH3_SH(src21_r, src43_r, src65_r, filt0, filt1, filt2);\n\n out2_r = DPADD_SH3_SH(src32_r, src54_r, src76_r, filt0, filt1, filt2);\n\n out3_r = DPADD_SH3_SH(src43_r, src65_r, src87_r, filt0, filt1, filt2);\n\n out0_l = DPADD_SH3_SH(src10_l, src32_l, src54_l, filt0, filt1, filt2);\n\n out1_l = DPADD_SH3_SH(src21_l, src43_l, src65_l, filt0, filt1, filt2);\n\n out2_l = DPADD_SH3_SH(src32_l, src54_l, src76_l, filt0, filt1, filt2);\n\n out3_l = DPADD_SH3_SH(src43_l, src65_l, src87_l, filt0, filt1, filt2);\n\n SRARI_H4_SH(out0_r, out1_r, out2_r, out3_r, 5);\n\n SRARI_H4_SH(out0_l, out1_l, out2_l, out3_l, 5);\n\n SAT_SH4_SH(out0_r, out1_r, out2_r, out3_r, 7);\n\n SAT_SH4_SH(out0_l, out1_l, out2_l, out3_l, 7);\n\n LD_UB4(dst, dst_stride, dst0, dst1, dst2, dst3);\n\n PCKEV_B4_UB(out0_l, out0_r, out1_l, out1_r, out2_l, out2_r, out3_l,\n\n out3_r, res0, res1, res2, res3);\n\n XORI_B4_128_UB(res0, res1, res2, res3);\n\n AVER_UB4_UB(res0, dst0, res1, dst1, res2, dst2, res3, dst3,\n\n res0, res1, res2, res3);\n\n ST_UB4(res0, res1, res2, res3, dst, dst_stride);\n\n dst += (4 * dst_stride);\n\n\n\n src10_r = src54_r;\n\n src32_r = src76_r;\n\n src21_r = src65_r;\n\n src43_r = src87_r;\n\n src10_l = src54_l;\n\n src32_l = src76_l;\n\n src21_l = src65_l;\n\n src43_l = src87_l;\n\n src4 = src8;\n\n }\n\n}\n", "idx": 6580}637{"project": "qemu", "commit_id": "6e99c631f116221d169ea53953d91b8aa74d297a", "target": 0, "func": "static int net_socket_can_send(void *opaque)\n\n{\n\n NetSocketState *s = opaque;\n\n\n\n return qemu_can_send_packet(&s->nc);\n\n}\n", "idx": 6594}638{"project": "qemu", "commit_id": "64d7e9a421fea0ac50b44541f5521de455e7cd5d", "target": 0, "func": "static void ppc_prep_init (ram_addr_t ram_size,\n\n const char *boot_device,\n\n const char *kernel_filename,\n\n const char *kernel_cmdline,\n\n const char *initrd_filename,\n\n const char *cpu_model)\n\n{\n\n CPUState *env = NULL;\n\n char *filename;\n\n nvram_t nvram;\n\n M48t59State *m48t59;\n\n int PPC_io_memory;\n\n int linux_boot, i, nb_nics1, bios_size;\n\n ram_addr_t ram_offset, bios_offset;\n\n uint32_t kernel_base, initrd_base;\n\n long kernel_size, initrd_size;\n\n PCIBus *pci_bus;\n\n qemu_irq *i8259;\n\n qemu_irq *cpu_exit_irq;\n\n int ppc_boot_device;\n\n DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];\n\n DriveInfo *fd[MAX_FD];\n\n\n\n sysctrl = qemu_mallocz(sizeof(sysctrl_t));\n\n\n\n linux_boot = (kernel_filename != NULL);\n\n\n\n /* init CPUs */\n\n if (cpu_model == NULL)\n\n cpu_model = \"602\";\n\n for (i = 0; i < smp_cpus; i++) {\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"Unable to find PowerPC CPU definition\\n\");\n\n exit(1);\n\n }\n\n if (env->flags & POWERPC_FLAG_RTC_CLK) {\n\n /* POWER / PowerPC 601 RTC clock frequency is 7.8125 MHz */\n\n cpu_ppc_tb_init(env, 7812500UL);\n\n } else {\n\n /* Set time-base frequency to 100 Mhz */\n\n cpu_ppc_tb_init(env, 100UL * 1000UL * 1000UL);\n\n }\n\n qemu_register_reset((QEMUResetHandler*)&cpu_reset, env);\n\n }\n\n\n\n /* allocate RAM */\n\n ram_offset = qemu_ram_alloc(NULL, \"ppc_prep.ram\", ram_size);\n\n cpu_register_physical_memory(0, ram_size, ram_offset);\n\n\n\n /* allocate and load BIOS */\n\n bios_offset = qemu_ram_alloc(NULL, \"ppc_prep.bios\", BIOS_SIZE);\n\n if (bios_name == NULL)\n\n bios_name = BIOS_FILENAME;\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);\n\n if (filename) {\n\n bios_size = get_image_size(filename);\n\n } else {\n\n bios_size = -1;\n\n }\n\n if (bios_size > 0 && bios_size <= BIOS_SIZE) {\n\n target_phys_addr_t bios_addr;\n\n bios_size = (bios_size + 0xfff) & ~0xfff;\n\n bios_addr = (uint32_t)(-bios_size);\n\n cpu_register_physical_memory(bios_addr, bios_size,\n\n bios_offset | IO_MEM_ROM);\n\n bios_size = load_image_targphys(filename, bios_addr, bios_size);\n\n }\n\n if (bios_size < 0 || bios_size > BIOS_SIZE) {\n\n hw_error(\"qemu: could not load PPC PREP bios '%s'\\n\", bios_name);\n\n }\n\n if (filename) {\n\n qemu_free(filename);\n\n }\n\n\n\n if (linux_boot) {\n\n kernel_base = KERNEL_LOAD_ADDR;\n\n /* now we can load the kernel */\n\n kernel_size = load_image_targphys(kernel_filename, kernel_base,\n\n ram_size - kernel_base);\n\n if (kernel_size < 0) {\n\n hw_error(\"qemu: could not load kernel '%s'\\n\", kernel_filename);\n\n exit(1);\n\n }\n\n /* load initrd */\n\n if (initrd_filename) {\n\n initrd_base = INITRD_LOAD_ADDR;\n\n initrd_size = load_image_targphys(initrd_filename, initrd_base,\n\n ram_size - initrd_base);\n\n if (initrd_size < 0) {\n\n hw_error(\"qemu: could not load initial ram disk '%s'\\n\",\n\n initrd_filename);\n\n }\n\n } else {\n\n initrd_base = 0;\n\n initrd_size = 0;\n\n }\n\n ppc_boot_device = 'm';\n\n } else {\n\n kernel_base = 0;\n\n kernel_size = 0;\n\n initrd_base = 0;\n\n initrd_size = 0;\n\n ppc_boot_device = '\\0';\n\n /* For now, OHW cannot boot from the network. */\n\n for (i = 0; boot_device[i] != '\\0'; i++) {\n\n if (boot_device[i] >= 'a' && boot_device[i] <= 'f') {\n\n ppc_boot_device = boot_device[i];\n\n break;\n\n }\n\n }\n\n if (ppc_boot_device == '\\0') {\n\n fprintf(stderr, \"No valid boot device for Mac99 machine\\n\");\n\n exit(1);\n\n }\n\n }\n\n\n\n isa_mem_base = 0xc0000000;\n\n if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) {\n\n hw_error(\"Only 6xx bus is supported on PREP machine\\n\");\n\n }\n\n i8259 = i8259_init(first_cpu->irq_inputs[PPC6xx_INPUT_INT]);\n\n pci_bus = pci_prep_init(i8259);\n\n /* Hmm, prep has no pci-isa bridge ??? */\n\n isa_bus_new(NULL);\n\n isa_bus_irqs(i8259);\n\n // pci_bus = i440fx_init();\n\n /* Register 8 MB of ISA IO space (needed for non-contiguous map) */\n\n PPC_io_memory = cpu_register_io_memory(PPC_prep_io_read,\n\n PPC_prep_io_write, sysctrl,\n\n DEVICE_LITTLE_ENDIAN);\n\n cpu_register_physical_memory(0x80000000, 0x00800000, PPC_io_memory);\n\n\n\n /* init basic PC hardware */\n\n pci_vga_init(pci_bus);\n\n // openpic = openpic_init(0x00000000, 0xF0000000, 1);\n\n // pit = pit_init(0x40, i8259[0]);\n\n rtc_init(2000, NULL);\n\n\n\n if (serial_hds[0])\n\n serial_isa_init(0, serial_hds[0]);\n\n nb_nics1 = nb_nics;\n\n if (nb_nics1 > NE2000_NB_MAX)\n\n nb_nics1 = NE2000_NB_MAX;\n\n for(i = 0; i < nb_nics1; i++) {\n\n if (nd_table[i].model == NULL) {\n\n\t nd_table[i].model = qemu_strdup(\"ne2k_isa\");\n\n }\n\n if (strcmp(nd_table[i].model, \"ne2k_isa\") == 0) {\n\n isa_ne2000_init(ne2000_io[i], ne2000_irq[i], &nd_table[i]);\n\n } else {\n\n pci_nic_init_nofail(&nd_table[i], \"ne2k_pci\", NULL);\n\n }\n\n }\n\n\n\n if (drive_get_max_bus(IF_IDE) >= MAX_IDE_BUS) {\n\n fprintf(stderr, \"qemu: too many IDE bus\\n\");\n\n exit(1);\n\n }\n\n\n\n for(i = 0; i < MAX_IDE_BUS * MAX_IDE_DEVS; i++) {\n\n hd[i] = drive_get(IF_IDE, i / MAX_IDE_DEVS, i % MAX_IDE_DEVS);\n\n }\n\n\n\n for(i = 0; i < 1/*MAX_IDE_BUS*/; i++) {\n\n isa_ide_init(ide_iobase[i], ide_iobase2[i], ide_irq[i],\n\n hd[2 * i],\n\n\t\t hd[2 * i + 1]);\n\n }\n\n isa_create_simple(\"i8042\");\n\n\n\n cpu_exit_irq = qemu_allocate_irqs(cpu_request_exit, NULL, 1);\n\n DMA_init(1, cpu_exit_irq);\n\n\n\n // SB16_init();\n\n\n\n for(i = 0; i < MAX_FD; i++) {\n\n fd[i] = drive_get(IF_FLOPPY, 0, i);\n\n }\n\n fdctrl_init_isa(fd);\n\n\n\n /* Register speaker port */\n\n register_ioport_read(0x61, 1, 1, speaker_ioport_read, NULL);\n\n register_ioport_write(0x61, 1, 1, speaker_ioport_write, NULL);\n\n /* Register fake IO ports for PREP */\n\n sysctrl->reset_irq = first_cpu->irq_inputs[PPC6xx_INPUT_HRESET];\n\n register_ioport_read(0x398, 2, 1, &PREP_io_read, sysctrl);\n\n register_ioport_write(0x398, 2, 1, &PREP_io_write, sysctrl);\n\n /* System control ports */\n\n register_ioport_read(0x0092, 0x01, 1, &PREP_io_800_readb, sysctrl);\n\n register_ioport_write(0x0092, 0x01, 1, &PREP_io_800_writeb, sysctrl);\n\n register_ioport_read(0x0800, 0x52, 1, &PREP_io_800_readb, sysctrl);\n\n register_ioport_write(0x0800, 0x52, 1, &PREP_io_800_writeb, sysctrl);\n\n /* PCI intack location */\n\n PPC_io_memory = cpu_register_io_memory(PPC_intack_read,\n\n PPC_intack_write, NULL,\n\n DEVICE_LITTLE_ENDIAN);\n\n cpu_register_physical_memory(0xBFFFFFF0, 0x4, PPC_io_memory);\n\n /* PowerPC control and status register group */\n\n#if 0\n\n PPC_io_memory = cpu_register_io_memory(PPC_XCSR_read, PPC_XCSR_write,\n\n NULL, DEVICE_LITTLE_ENDIAN);\n\n cpu_register_physical_memory(0xFEFF0000, 0x1000, PPC_io_memory);\n\n#endif\n\n\n\n if (usb_enabled) {\n\n usb_ohci_init_pci(pci_bus, -1);\n\n }\n\n\n\n m48t59 = m48t59_init(i8259[8], 0, 0x0074, NVRAM_SIZE, 59);\n\n if (m48t59 == NULL)\n\n return;\n\n sysctrl->nvram = m48t59;\n\n\n\n /* Initialise NVRAM */\n\n nvram.opaque = m48t59;\n\n nvram.read_fn = &m48t59_read;\n\n nvram.write_fn = &m48t59_write;\n\n PPC_NVRAM_set_params(&nvram, NVRAM_SIZE, \"PREP\", ram_size, ppc_boot_device,\n\n kernel_base, kernel_size,\n\n kernel_cmdline,\n\n initrd_base, initrd_size,\n\n /* XXX: need an option to load a NVRAM image */\n\n 0,\n\n graphic_width, graphic_height, graphic_depth);\n\n\n\n /* Special port to get debug messages from Open-Firmware */\n\n register_ioport_write(0x0F00, 4, 1, &PPC_debug_write, NULL);\n\n}\n", "idx": 6605}639{"project": "FFmpeg", "commit_id": "15ea222778caaec0877b3f9938140b707c931d96", "target": 0, "func": "static void copy_picture_field(InterlaceContext *s,\n\n AVFrame *src_frame, AVFrame *dst_frame,\n\n AVFilterLink *inlink, enum FieldType field_type,\n\n int lowpass)\n\n{\n\n const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(inlink->format);\n\n int hsub = desc->log2_chroma_w;\n\n int vsub = desc->log2_chroma_h;\n\n int plane, j;\n\n\n\n for (plane = 0; plane < desc->nb_components; plane++) {\n\n int cols = (plane == 1 || plane == 2) ? -(-inlink->w) >> hsub : inlink->w;\n\n int lines = (plane == 1 || plane == 2) ? -(-inlink->h) >> vsub : inlink->h;\n\n uint8_t *dstp = dst_frame->data[plane];\n\n const uint8_t *srcp = src_frame->data[plane];\n\n\n\n av_assert0(cols >= 0 || lines >= 0);\n\n\n\n lines = (lines + (field_type == FIELD_UPPER)) / 2;\n\n if (field_type == FIELD_LOWER)\n\n srcp += src_frame->linesize[plane];\n\n if (field_type == FIELD_LOWER)\n\n dstp += dst_frame->linesize[plane];\n\n if (lowpass) {\n\n int srcp_linesize = src_frame->linesize[plane] * 2;\n\n int dstp_linesize = dst_frame->linesize[plane] * 2;\n\n for (j = lines; j > 0; j--) {\n\n const uint8_t *srcp_above = srcp - src_frame->linesize[plane];\n\n const uint8_t *srcp_below = srcp + src_frame->linesize[plane];\n\n if (j == lines)\n\n srcp_above = srcp; // there is no line above\n\n if (j == 1)\n\n srcp_below = srcp; // there is no line below\n\n s->lowpass_line(dstp, cols, srcp, srcp_above, srcp_below);\n\n dstp += dstp_linesize;\n\n srcp += srcp_linesize;\n\n }\n\n } else {\n\n av_image_copy_plane(dstp, dst_frame->linesize[plane] * 2,\n\n srcp, src_frame->linesize[plane] * 2,\n\n cols, lines);\n\n }\n\n }\n\n}\n", "idx": 6622}640{"project": "qemu", "commit_id": "d96391c1ffeb30a0afa695c86579517c69d9a889", "target": 1, "func": "target_ulong helper_rdhwr_cpunum(CPUMIPSState *env)\n\n{\n\n check_hwrena(env, 0);\n\n return env->CP0_EBase & 0x3ff;\n\n}\n", "idx": 6628}641{"project": "qemu", "commit_id": "9cb805fd2674f474d058fee6d7aa9e83fcd3d336", "target": 1, "func": "void qmp_inject_nmi(Error **errp)\n\n{\n\n#if defined(TARGET_I386)\n\n CPUState *cs;\n\n\n\n CPU_FOREACH(cs) {\n\n X86CPU *cpu = X86_CPU(cs);\n\n\n\n if (!cpu->apic_state) {\n\n cpu_interrupt(cs, CPU_INTERRUPT_NMI);\n\n } else {\n\n apic_deliver_nmi(cpu->apic_state);\n\n }\n\n }\n\n#elif defined(TARGET_S390X)\n\n CPUState *cs;\n\n S390CPU *cpu;\n\n\n\n CPU_FOREACH(cs) {\n\n cpu = S390_CPU(cs);\n\n if (cpu->env.cpu_num == monitor_get_cpu_index()) {\n\n if (s390_cpu_restart(S390_CPU(cs)) == -1) {\n\n error_set(errp, QERR_UNSUPPORTED);\n\n return;\n\n }\n\n break;\n\n }\n\n }\n\n#else\n\n error_set(errp, QERR_UNSUPPORTED);\n\n#endif\n\n}\n", "idx": 6635}642{"project": "qemu", "commit_id": "e175bce587936bf479889881488821ea8d61c89c", "target": 1, "func": "void helper_single_step(CPUX86State *env)\n\n{\n\n#ifndef CONFIG_USER_ONLY\n\n check_hw_breakpoints(env, 1);\n\n env->dr[6] |= DR6_BS;\n\n#endif\n\n raise_exception(env, EXCP01_DB);\n\n}\n", "idx": 6641}643{"project": "FFmpeg", "commit_id": "3ab9a2a5577d445252724af4067d2a7c8a378efa", "target": 1, "func": "static av_always_inline void rv40_weak_loop_filter(uint8_t *src,\n\n const int step,\n\n const int stride,\n\n const int filter_p1,\n\n const int filter_q1,\n\n const int alpha,\n\n const int beta,\n\n const int lim_p0q0,\n\n const int lim_q1,\n\n const int lim_p1)\n\n{\n\n uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;\n\n int i, t, u, diff;\n\n\n\n for (i = 0; i < 4; i++, src += stride) {\n\n int diff_p1p0 = src[-2*step] - src[-1*step];\n\n int diff_q1q0 = src[ 1*step] - src[ 0*step];\n\n int diff_p1p2 = src[-2*step] - src[-3*step];\n\n int diff_q1q2 = src[ 1*step] - src[ 2*step];\n\n\n\n t = src[0*step] - src[-1*step];\n\n if (!t)\n\n continue;\n\n\n\n u = (alpha * FFABS(t)) >> 7;\n\n if (u > 3 - (filter_p1 && filter_q1))\n\n continue;\n\n\n\n t <<= 2;\n\n if (filter_p1 && filter_q1)\n\n t += src[-2*step] - src[1*step];\n\n\n\n diff = CLIP_SYMM((t + 4) >> 3, lim_p0q0);\n\n src[-1*step] = cm[src[-1*step] + diff];\n\n src[ 0*step] = cm[src[ 0*step] - diff];\n\n\n\n if (filter_p1 && FFABS(diff_p1p2) <= beta) {\n\n t = (diff_p1p0 + diff_p1p2 - diff) >> 1;\n\n src[-2*step] = cm[src[-2*step] - CLIP_SYMM(t, lim_p1)];\n\n }\n\n\n\n if (filter_q1 && FFABS(diff_q1q2) <= beta) {\n\n t = (diff_q1q0 + diff_q1q2 + diff) >> 1;\n\n src[ 1*step] = cm[src[ 1*step] - CLIP_SYMM(t, lim_q1)];\n\n }\n\n }\n\n}\n", "idx": 6646}644{"project": "qemu", "commit_id": "e0cb42ae4bc4438ba4ec0760df2d830b8759b255", "target": 1, "func": "static void con_disconnect(struct XenDevice *xendev)\n\n{\n\n struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);\n\n\n\n if (con->chr) {\n\n qemu_chr_add_handlers(con->chr, NULL, NULL, NULL, NULL);\n\n qemu_chr_fe_release(con->chr);\n\n }\n\n xen_be_unbind_evtchn(&con->xendev);\n\n\n\n if (con->sring) {\n\n if (!xendev->dev) {\n\n munmap(con->sring, XC_PAGE_SIZE);\n\n } else {\n\n xengnttab_unmap(xendev->gnttabdev, con->sring, 1);\n\n }\n\n con->sring = NULL;\n\n }\n\n}\n", "idx": 6650}645{"project": "FFmpeg", "commit_id": "8772d2511a4ac45f275eaef2b4b6b1ef132c993b", "target": 1, "func": "static int normalize_bits(int num, int width)\n\n{\n\n if (!num)\n\n return 0;\n\n if (num == -1)\n\n return width;\n\n if (num < 0)\n\n num = ~num;\n\n\n\n return width - av_log2(num);\n\n}\n", "idx": 6670}646{"project": "qemu", "commit_id": "2e63eb2becc228232f12a1ea30a91b2aa8c5cecd", "target": 1, "func": "static void xen_pci_passthrough_class_init(ObjectClass *klass, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(klass);\n\n PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);\n\n\n\n k->realize = xen_pt_realize;\n\n k->exit = xen_pt_unregister_device;\n\n k->config_read = xen_pt_pci_read_config;\n\n k->config_write = xen_pt_pci_write_config;\n\n\n set_bit(DEVICE_CATEGORY_MISC, dc->categories);\n\n dc->desc = \"Assign an host PCI device with Xen\";\n\n dc->props = xen_pci_passthrough_properties;\n\n};", "idx": 6674}647{"project": "qemu", "commit_id": "fa1298c2d623522eda7b4f1f721fcb935abb7360", "target": 1, "func": "static int ohci_bus_start(OHCIState *ohci)\n\n{\n\n ohci->eof_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL,\n\n ohci_frame_boundary,\n\n ohci);\n\n\n\n if (ohci->eof_timer == NULL) {\n\n trace_usb_ohci_bus_eof_timer_failed(ohci->name);\n\n ohci_die(ohci);\n\n return 0;\n\n }\n\n\n\n trace_usb_ohci_start(ohci->name);\n\n\n\n /* Delay the first SOF event by one frame time as\n\n * linux driver is not ready to receive it and\n\n * can meet some race conditions\n\n */\n\n\n\n ohci_eof_timer(ohci);\n\n\n\n return 1;\n\n}\n", "idx": 6685}648{"project": "qemu", "commit_id": "3ac2f2f765a0bc18dfb18c38a522e6123289ffc1", "target": 1, "func": "void bdrv_image_info_specific_dump(fprintf_function func_fprintf, void *f,\n\n ImageInfoSpecific *info_spec)\n\n{\n\n QObject *obj, *data;\n\n Visitor *v = qmp_output_visitor_new(&obj);\n\n\n\n visit_type_ImageInfoSpecific(v, NULL, &info_spec, &error_abort);\n\n visit_complete(v, &obj);\n\n assert(qobject_type(obj) == QTYPE_QDICT);\n\n data = qdict_get(qobject_to_qdict(obj), \"data\");\n\n dump_qobject(func_fprintf, f, 1, data);\n\n\n visit_free(v);\n\n}", "idx": 6699}649{"project": "FFmpeg", "commit_id": "7b94df232a4b76c44e243e618573f8d331a1eb1c", "target": 0, "func": "static int srt_decode_frame(AVCodecContext *avctx,\n\n void *data, int *got_sub_ptr, AVPacket *avpkt)\n\n{\n\n AVSubtitle *sub = data;\n\n AVBPrint buffer;\n\n int x1 = -1, y1 = -1, x2 = -1, y2 = -1;\n\n int size, ret;\n\n const uint8_t *p = av_packet_get_side_data(avpkt, AV_PKT_DATA_SUBTITLE_POSITION, &size);\n\n FFASSDecoderContext *s = avctx->priv_data;\n\n\n\n if (p && size == 16) {\n\n x1 = AV_RL32(p );\n\n y1 = AV_RL32(p + 4);\n\n x2 = AV_RL32(p + 8);\n\n y2 = AV_RL32(p + 12);\n\n }\n\n\n\n if (avpkt->size <= 0)\n\n return avpkt->size;\n\n\n\n av_bprint_init(&buffer, 0, AV_BPRINT_SIZE_UNLIMITED);\n\n\n\n srt_to_ass(avctx, &buffer, avpkt->data, x1, y1, x2, y2);\n\n ret = ff_ass_add_rect(sub, buffer.str, s->readorder++, 0, NULL, NULL);\n\n av_bprint_finalize(&buffer, NULL);\n\n if (ret < 0)\n\n return ret;\n\n\n\n *got_sub_ptr = sub->num_rects > 0;\n\n return avpkt->size;\n\n}\n", "idx": 6708}650{"project": "FFmpeg", "commit_id": "221f902f1dc167bdc0bfdff6b6af3214ae3cc1f4", "target": 1, "func": "static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)\n\n{\n\n YADIFContext *s = ctx->priv;\n\n ThreadData *td = arg;\n\n int refs = s->cur->linesize[td->plane];\n\n int df = (s->csp->comp[td->plane].depth_minus1 + 8) / 8;\n\n int pix_3 = 3 * df;\n\n int slice_h = td->h / nb_jobs;\n\n int slice_start = jobnr * slice_h;\n\n int slice_end = (jobnr == nb_jobs - 1) ? td->h : (jobnr + 1) * slice_h;\n\n int y;\n\n\n\n /* filtering reads 3 pixels to the left/right; to avoid invalid reads,\n\n * we need to call the c variant which avoids this for border pixels\n\n */\n\n for (y = slice_start; y < slice_end; y++) {\n\n if ((y ^ td->parity) & 1) {\n\n uint8_t *prev = &s->prev->data[td->plane][y * refs];\n\n uint8_t *cur = &s->cur ->data[td->plane][y * refs];\n\n uint8_t *next = &s->next->data[td->plane][y * refs];\n\n uint8_t *dst = &td->frame->data[td->plane][y * td->frame->linesize[td->plane]];\n\n int mode = y == 1 || y + 2 == td->h ? 2 : s->mode;\n\n s->filter_line(dst + pix_3, prev + pix_3, cur + pix_3,\n\n next + pix_3, td->w - 6,\n\n y + 1 < td->h ? refs : -refs,\n\n y ? -refs : refs,\n\n td->parity ^ td->tff, mode);\n\n s->filter_edges(dst, prev, cur, next, td->w,\n\n y + 1 < td->h ? refs : -refs,\n\n y ? -refs : refs,\n\n td->parity ^ td->tff, mode);\n\n } else {\n\n memcpy(&td->frame->data[td->plane][y * td->frame->linesize[td->plane]],\n\n &s->cur->data[td->plane][y * refs], td->w * df);\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 6727}651{"project": "qemu", "commit_id": "d5fee0bbe68d5e61e2d2beb5ff6de0b9c1cfd182", "target": 0, "func": "int ppc64_v3_handle_mmu_fault(PowerPCCPU *cpu, vaddr eaddr, int rwx,\n\n int mmu_idx)\n\n{\n\n if (ppc64_radix_guest(cpu)) { /* Guest uses radix */\n\n /* TODO - Unsupported */\n\n error_report(\"Guest Radix Support Unimplemented\");\n\n exit(1);\n\n } else { /* Guest uses hash */\n\n return ppc_hash64_handle_mmu_fault(cpu, eaddr, rwx, mmu_idx);\n\n }\n\n}\n", "idx": 6753}652{"project": "FFmpeg", "commit_id": "1f361124d97cf8b8ce6d3aacb10cdc53706470de", "target": 1, "func": "int ff_img_read_packet(AVFormatContext *s1, AVPacket *pkt)\n\n{\n\n VideoDemuxData *s = s1->priv_data;\n\n char filename_bytes[1024];\n\n char *filename = filename_bytes;\n\n int i;\n\n int size[3] = { 0 }, ret[3] = { 0 };\n\n AVIOContext *f[3] = { NULL };\n\n AVCodecContext *codec = s1->streams[0]->codec;\n\n\n\n if (!s->is_pipe) {\n\n /* loop over input */\n\n if (s->loop && s->img_number > s->img_last) {\n\n s->img_number = s->img_first;\n\n }\n\n if (s->img_number > s->img_last)\n\n return AVERROR_EOF;\n\n if (s->use_glob) {\n\n#if HAVE_GLOB\n\n filename = s->globstate.gl_pathv[s->img_number];\n\n#endif\n\n } else {\n\n if (av_get_frame_filename(filename_bytes, sizeof(filename_bytes),\n\n s->path,\n\n s->img_number) < 0 && s->img_number > 1)\n\n return AVERROR(EIO);\n\n }\n\n for (i = 0; i < 3; i++) {\n\n if (avio_open2(&f[i], filename, AVIO_FLAG_READ,\n\n &s1->interrupt_callback, NULL) < 0) {\n\n if (i >= 1)\n\n break;\n\n av_log(s1, AV_LOG_ERROR, \"Could not open file : %s\\n\",\n\n filename);\n\n return AVERROR(EIO);\n\n }\n\n size[i] = avio_size(f[i]);\n\n\n\n if (!s->split_planes)\n\n break;\n\n filename[strlen(filename) - 1] = 'U' + i;\n\n }\n\n\n\n if (codec->codec_id == AV_CODEC_ID_NONE) {\n\n AVProbeData pd;\n\n AVInputFormat *ifmt;\n\n uint8_t header[PROBE_BUF_MIN + AVPROBE_PADDING_SIZE];\n\n int ret;\n\n int score = 0;\n\n\n\n ret = avio_read(f[0], header, PROBE_BUF_MIN);\n\n if (ret < 0)\n\n return ret;\n\n\n avio_skip(f[0], -ret);\n\n pd.buf = header;\n\n pd.buf_size = ret;\n\n pd.filename = filename;\n\n\n\n ifmt = av_probe_input_format3(&pd, 1, &score);\n\n if (ifmt && ifmt->read_packet == ff_img_read_packet && ifmt->raw_codec_id)\n\n codec->codec_id = ifmt->raw_codec_id;\n\n }\n\n\n\n if (codec->codec_id == AV_CODEC_ID_RAWVIDEO && !codec->width)\n\n infer_size(&codec->width, &codec->height, size[0]);\n\n } else {\n\n f[0] = s1->pb;\n\n if (url_feof(f[0]))\n\n return AVERROR(EIO);\n\n if (s->frame_size > 0) {\n\n size[0] = s->frame_size;\n\n } else {\n\n size[0] = 4096;\n\n }\n\n }\n\n\n\n if (av_new_packet(pkt, size[0] + size[1] + size[2]) < 0)\n\n return AVERROR(ENOMEM);\n\n pkt->stream_index = 0;\n\n pkt->flags |= AV_PKT_FLAG_KEY;\n\n if (s->ts_from_file) {\n\n struct stat img_stat;\n\n if (stat(filename, &img_stat))\n\n return AVERROR(EIO);\n\n pkt->pts = (int64_t)img_stat.st_mtime;\n\n av_add_index_entry(s1->streams[0], s->img_number, pkt->pts, 0, 0, AVINDEX_KEYFRAME);\n\n } else if (!s->is_pipe) {\n\n pkt->pts = s->pts;\n\n }\n\n\n\n pkt->size = 0;\n\n for (i = 0; i < 3; i++) {\n\n if (f[i]) {\n\n ret[i] = avio_read(f[i], pkt->data + pkt->size, size[i]);\n\n if (!s->is_pipe)\n\n avio_close(f[i]);\n\n if (ret[i] > 0)\n\n pkt->size += ret[i];\n\n }\n\n }\n\n\n\n if (ret[0] <= 0 || ret[1] < 0 || ret[2] < 0) {\n\n av_free_packet(pkt);\n\n return AVERROR(EIO); /* signal EOF */\n\n } else {\n\n s->img_count++;\n\n s->img_number++;\n\n s->pts++;\n\n return 0;\n\n }\n\n}", "idx": 6763}653{"project": "qemu", "commit_id": "40c4ed3f95f0b2ffa0848df0fc311556bb7472a1", "target": 1, "func": "void ide_data_writew(void *opaque, uint32_t addr, uint32_t val)\n\n{\n\n IDEBus *bus = opaque;\n\n IDEState *s = idebus_active_if(bus);\n\n uint8_t *p;\n\n\n\n /* PIO data access allowed only when DRQ bit is set */\n\n if (!(s->status & DRQ_STAT))\n\n return;\n\n\n\n p = s->data_ptr;\n\n *(uint16_t *)p = le16_to_cpu(val);\n\n p += 2;\n\n s->data_ptr = p;\n\n if (p >= s->data_end)\n\n s->end_transfer_func(s);\n\n}\n", "idx": 6775}654{"project": "FFmpeg", "commit_id": "01ecb7172b684f1c4b3e748f95c5a9a494ca36ec", "target": 1, "func": "static void quantize_and_encode_band_cost_SPAIR_mips(struct AACEncContext *s,\n\n PutBitContext *pb, const float *in, float *out,\n\n const float *scaled, int size, int scale_idx,\n\n int cb, const float lambda, const float uplim,\n\n int *bits, const float ROUNDING)\n\n{\n\n const float Q34 = ff_aac_pow34sf_tab[POW_SF2_ZERO - scale_idx + SCALE_ONE_POS - SCALE_DIV_512];\n\n const float IQ = ff_aac_pow2sf_tab [POW_SF2_ZERO + scale_idx - SCALE_ONE_POS + SCALE_DIV_512];\n\n int i;\n\n int qc1, qc2, qc3, qc4;\n\n\n\n uint8_t *p_bits = (uint8_t *)ff_aac_spectral_bits[cb-1];\n\n uint16_t *p_codes = (uint16_t *)ff_aac_spectral_codes[cb-1];\n\n float *p_vec = (float *)ff_aac_codebook_vectors[cb-1];\n\n\n\n abs_pow34_v(s->scoefs, in, size);\n\n scaled = s->scoefs;\n\n for (i = 0; i < size; i += 4) {\n\n int curidx, curidx2;\n\n int *in_int = (int *)&in[i];\n\n uint8_t v_bits;\n\n unsigned int v_codes;\n\n int t0, t1, t2, t3, t4, t5, t6, t7;\n\n const float *vec1, *vec2;\n\n\n\n qc1 = scaled[i ] * Q34 + ROUND_STANDARD;\n\n qc2 = scaled[i+1] * Q34 + ROUND_STANDARD;\n\n qc3 = scaled[i+2] * Q34 + ROUND_STANDARD;\n\n qc4 = scaled[i+3] * Q34 + ROUND_STANDARD;\n\n\n\n __asm__ volatile (\n\n \".set push \\n\\t\"\n\n \".set noreorder \\n\\t\"\n\n\n\n \"ori %[t4], $zero, 4 \\n\\t\"\n\n \"slt %[t0], %[t4], %[qc1] \\n\\t\"\n\n \"slt %[t1], %[t4], %[qc2] \\n\\t\"\n\n \"slt %[t2], %[t4], %[qc3] \\n\\t\"\n\n \"slt %[t3], %[t4], %[qc4] \\n\\t\"\n\n \"movn %[qc1], %[t4], %[t0] \\n\\t\"\n\n \"movn %[qc2], %[t4], %[t1] \\n\\t\"\n\n \"movn %[qc3], %[t4], %[t2] \\n\\t\"\n\n \"movn %[qc4], %[t4], %[t3] \\n\\t\"\n\n \"lw %[t0], 0(%[in_int]) \\n\\t\"\n\n \"lw %[t1], 4(%[in_int]) \\n\\t\"\n\n \"lw %[t2], 8(%[in_int]) \\n\\t\"\n\n \"lw %[t3], 12(%[in_int]) \\n\\t\"\n\n \"srl %[t0], %[t0], 31 \\n\\t\"\n\n \"srl %[t1], %[t1], 31 \\n\\t\"\n\n \"srl %[t2], %[t2], 31 \\n\\t\"\n\n \"srl %[t3], %[t3], 31 \\n\\t\"\n\n \"subu %[t4], $zero, %[qc1] \\n\\t\"\n\n \"subu %[t5], $zero, %[qc2] \\n\\t\"\n\n \"subu %[t6], $zero, %[qc3] \\n\\t\"\n\n \"subu %[t7], $zero, %[qc4] \\n\\t\"\n\n \"movn %[qc1], %[t4], %[t0] \\n\\t\"\n\n \"movn %[qc2], %[t5], %[t1] \\n\\t\"\n\n \"movn %[qc3], %[t6], %[t2] \\n\\t\"\n\n \"movn %[qc4], %[t7], %[t3] \\n\\t\"\n\n\n\n \".set pop \\n\\t\"\n\n\n\n : [qc1]\"+r\"(qc1), [qc2]\"+r\"(qc2),\n\n [qc3]\"+r\"(qc3), [qc4]\"+r\"(qc4),\n\n [t0]\"=&r\"(t0), [t1]\"=&r\"(t1), [t2]\"=&r\"(t2), [t3]\"=&r\"(t3),\n\n [t4]\"=&r\"(t4), [t5]\"=&r\"(t5), [t6]\"=&r\"(t6), [t7]\"=&r\"(t7)\n\n : [in_int]\"r\"(in_int)\n\n : \"memory\"\n\n );\n\n\n\n curidx = 9 * qc1;\n\n curidx += qc2 + 40;\n\n\n\n curidx2 = 9 * qc3;\n\n curidx2 += qc4 + 40;\n\n\n\n v_codes = (p_codes[curidx] << p_bits[curidx2]) | (p_codes[curidx2]);\n\n v_bits = p_bits[curidx] + p_bits[curidx2];\n\n put_bits(pb, v_bits, v_codes);\n\n\n\n if (out) {\n\n vec1 = &p_vec[curidx*2 ];\n\n vec2 = &p_vec[curidx2*2];\n\n out[i+0] = vec1[0] * IQ;\n\n out[i+1] = vec1[1] * IQ;\n\n out[i+2] = vec2[0] * IQ;\n\n out[i+3] = vec2[1] * IQ;\n\n }\n\n }\n\n}\n", "idx": 6778}655{"project": "FFmpeg", "commit_id": "eef9f06508354d1c7d5624c1c18997e7974288f1", "target": 0, "func": "static int stream_component_open(PlayerState *is, int stream_index)\n\n{\n\n AVFormatContext *ic = is->ic;\n\n AVCodecContext *avctx;\n\n AVCodec *codec;\n\n SDL_AudioSpec wanted_spec, spec;\n\n AVDictionary *opts;\n\n AVDictionaryEntry *t = NULL;\n\n int ret = 0;\n\n\n\n if (stream_index < 0 || stream_index >= ic->nb_streams)\n\n return -1;\n\n avctx = ic->streams[stream_index]->codec;\n\n\n\n opts = filter_codec_opts(codec_opts, avctx->codec_id, ic, ic->streams[stream_index], NULL);\n\n\n\n codec = avcodec_find_decoder(avctx->codec_id);\n\n avctx->workaround_bugs = workaround_bugs;\n\n avctx->idct_algo = idct;\n\n avctx->skip_frame = skip_frame;\n\n avctx->skip_idct = skip_idct;\n\n avctx->skip_loop_filter = skip_loop_filter;\n\n avctx->error_concealment = error_concealment;\n\n\n\n if (fast)\n\n avctx->flags2 |= AV_CODEC_FLAG2_FAST;\n\n\n\n if (!av_dict_get(opts, \"threads\", NULL, 0))\n\n av_dict_set(&opts, \"threads\", \"auto\", 0);\n\n if (avctx->codec_type == AVMEDIA_TYPE_VIDEO)\n\n av_dict_set(&opts, \"refcounted_frames\", \"1\", 0);\n\n if (!codec ||\n\n (ret = avcodec_open2(avctx, codec, &opts)) < 0) {\n\n goto fail;\n\n }\n\n if ((t = av_dict_get(opts, \"\", NULL, AV_DICT_IGNORE_SUFFIX))) {\n\n av_log(NULL, AV_LOG_ERROR, \"Option %s not found.\\n\", t->key);\n\n ret = AVERROR_OPTION_NOT_FOUND;\n\n goto fail;\n\n }\n\n\n\n /* prepare audio output */\n\n if (avctx->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n is->sdl_sample_rate = avctx->sample_rate;\n\n\n\n if (!avctx->channel_layout)\n\n avctx->channel_layout = av_get_default_channel_layout(avctx->channels);\n\n if (!avctx->channel_layout) {\n\n fprintf(stderr, \"unable to guess channel layout\\n\");\n\n ret = AVERROR_INVALIDDATA;\n\n goto fail;\n\n }\n\n if (avctx->channels == 1)\n\n is->sdl_channel_layout = AV_CH_LAYOUT_MONO;\n\n else\n\n is->sdl_channel_layout = AV_CH_LAYOUT_STEREO;\n\n is->sdl_channels = av_get_channel_layout_nb_channels(is->sdl_channel_layout);\n\n\n\n wanted_spec.format = AUDIO_S16SYS;\n\n wanted_spec.freq = is->sdl_sample_rate;\n\n wanted_spec.channels = is->sdl_channels;\n\n wanted_spec.silence = 0;\n\n wanted_spec.samples = SDL_AUDIO_BUFFER_SIZE;\n\n wanted_spec.callback = sdl_audio_callback;\n\n wanted_spec.userdata = is;\n\n if (SDL_OpenAudio(&wanted_spec, &spec) < 0) {\n\n fprintf(stderr, \"SDL_OpenAudio: %s\\n\", SDL_GetError());\n\n ret = AVERROR_UNKNOWN;\n\n goto fail;\n\n }\n\n is->audio_hw_buf_size = spec.size;\n\n is->sdl_sample_fmt = AV_SAMPLE_FMT_S16;\n\n is->resample_sample_fmt = is->sdl_sample_fmt;\n\n is->resample_channel_layout = avctx->channel_layout;\n\n is->resample_sample_rate = avctx->sample_rate;\n\n }\n\n\n\n ic->streams[stream_index]->discard = AVDISCARD_DEFAULT;\n\n switch (avctx->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n is->audio_stream = stream_index;\n\n is->audio_st = ic->streams[stream_index];\n\n is->audio_buf_size = 0;\n\n is->audio_buf_index = 0;\n\n\n\n /* init averaging filter */\n\n is->audio_diff_avg_coef = exp(log(0.01) / AUDIO_DIFF_AVG_NB);\n\n is->audio_diff_avg_count = 0;\n\n /* since we do not have a precise anough audio fifo fullness,\n\n we correct audio sync only if larger than this threshold */\n\n is->audio_diff_threshold = 2.0 * SDL_AUDIO_BUFFER_SIZE / avctx->sample_rate;\n\n\n\n memset(&is->audio_pkt, 0, sizeof(is->audio_pkt));\n\n packet_queue_init(&is->audioq);\n\n SDL_PauseAudio(0);\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n is->video_stream = stream_index;\n\n is->video_st = ic->streams[stream_index];\n\n\n\n packet_queue_init(&is->videoq);\n\n is->video_tid = SDL_CreateThread(video_thread, is);\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n is->subtitle_stream = stream_index;\n\n is->subtitle_st = ic->streams[stream_index];\n\n packet_queue_init(&is->subtitleq);\n\n\n\n is->subtitle_tid = SDL_CreateThread(subtitle_thread, is);\n\n break;\n\n default:\n\n break;\n\n }\n\n\n\nfail:\n\n av_dict_free(&opts);\n\n\n\n return ret;\n\n}\n", "idx": 6801}656{"project": "qemu", "commit_id": "aec4b054ea36c53c8b887da99f20010133b84378", "target": 1, "func": "static void keyword_literal(void)\n\n{\n\n QObject *obj;\n\n QBool *qbool;\n\n QObject *null;\n\n QString *str;\n\n\n\n obj = qobject_from_json(\"true\", NULL);\n\n qbool = qobject_to_qbool(obj);\n\n g_assert(qbool);\n\n g_assert(qbool_get_bool(qbool) == true);\n\n\n\n str = qobject_to_json(obj);\n\n g_assert(strcmp(qstring_get_str(str), \"true\") == 0);\n\n QDECREF(str);\n\n\n\n QDECREF(qbool);\n\n\n\n obj = qobject_from_json(\"false\", NULL);\n\n qbool = qobject_to_qbool(obj);\n\n g_assert(qbool);\n\n g_assert(qbool_get_bool(qbool) == false);\n\n\n\n str = qobject_to_json(obj);\n\n g_assert(strcmp(qstring_get_str(str), \"false\") == 0);\n\n QDECREF(str);\n\n\n\n QDECREF(qbool);\n\n\n\n qbool = qobject_to_qbool(qobject_from_jsonf(\"%i\", false));\n\n g_assert(qbool);\n\n g_assert(qbool_get_bool(qbool) == false);\n\n QDECREF(qbool);\n\n\n\n /* Test that non-zero values other than 1 get collapsed to true */\n\n qbool = qobject_to_qbool(qobject_from_jsonf(\"%i\", 2));\n\n g_assert(qbool);\n\n g_assert(qbool_get_bool(qbool) == true);\n\n QDECREF(qbool);\n\n\n\n obj = qobject_from_json(\"null\", NULL);\n\n g_assert(obj != NULL);\n\n g_assert(qobject_type(obj) == QTYPE_QNULL);\n\n\n\n null = qnull();\n\n g_assert(null == obj);\n\n\n\n qobject_decref(obj);\n\n qobject_decref(null);\n\n}\n", "idx": 6816}657{"project": "qemu", "commit_id": "093209cd681fe9fb65bd8a1c2ff711b8168bbfcd", "target": 0, "func": "static void ppc_core99_init (ram_addr_t ram_size,\n\n const char *boot_device,\n\n const char *kernel_filename,\n\n const char *kernel_cmdline,\n\n const char *initrd_filename,\n\n const char *cpu_model)\n\n{\n\n CPUState *env = NULL, *envs[MAX_CPUS];\n\n char *filename;\n\n qemu_irq *pic, **openpic_irqs;\n\n int unin_memory;\n\n int linux_boot, i;\n\n ram_addr_t ram_offset, bios_offset, vga_bios_offset;\n\n uint32_t kernel_base, kernel_size, initrd_base, initrd_size;\n\n PCIBus *pci_bus;\n\n MacIONVRAMState *nvr;\n\n int nvram_mem_index;\n\n int vga_bios_size, bios_size;\n\n int pic_mem_index, dbdma_mem_index, cuda_mem_index, escc_mem_index;\n\n int ide_mem_index[3];\n\n int ppc_boot_device;\n\n DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];\n\n void *fw_cfg;\n\n void *dbdma;\n\n uint8_t *vga_bios_ptr;\n\n int machine_arch;\n\n\n\n linux_boot = (kernel_filename != NULL);\n\n\n\n /* init CPUs */\n\n if (cpu_model == NULL)\n\n#ifdef TARGET_PPC64\n\n cpu_model = \"970fx\";\n\n#else\n\n cpu_model = \"G4\";\n\n#endif\n\n for (i = 0; i < smp_cpus; i++) {\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"Unable to find PowerPC CPU definition\\n\");\n\n exit(1);\n\n }\n\n /* Set time-base frequency to 100 Mhz */\n\n cpu_ppc_tb_init(env, 100UL * 1000UL * 1000UL);\n\n#if 0\n\n env->osi_call = vga_osi_call;\n\n#endif\n\n qemu_register_reset((QEMUResetHandler*)&cpu_reset, env);\n\n envs[i] = env;\n\n }\n\n\n\n /* allocate RAM */\n\n ram_offset = qemu_ram_alloc(NULL, \"ppc_core99.ram\", ram_size);\n\n cpu_register_physical_memory(0, ram_size, ram_offset);\n\n\n\n /* allocate and load BIOS */\n\n bios_offset = qemu_ram_alloc(NULL, \"ppc_core99.bios\", BIOS_SIZE);\n\n if (bios_name == NULL)\n\n bios_name = PROM_FILENAME;\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);\n\n cpu_register_physical_memory(PROM_ADDR, BIOS_SIZE, bios_offset | IO_MEM_ROM);\n\n\n\n /* Load OpenBIOS (ELF) */\n\n if (filename) {\n\n bios_size = load_elf(filename, NULL, NULL, NULL,\n\n NULL, NULL, 1, ELF_MACHINE, 0);\n\n\n\n qemu_free(filename);\n\n } else {\n\n bios_size = -1;\n\n }\n\n if (bios_size < 0 || bios_size > BIOS_SIZE) {\n\n hw_error(\"qemu: could not load PowerPC bios '%s'\\n\", bios_name);\n\n exit(1);\n\n }\n\n\n\n /* allocate and load VGA BIOS */\n\n vga_bios_offset = qemu_ram_alloc(NULL, \"ppc_core99.vbios\", VGA_BIOS_SIZE);\n\n vga_bios_ptr = qemu_get_ram_ptr(vga_bios_offset);\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, VGABIOS_FILENAME);\n\n if (filename) {\n\n vga_bios_size = load_image(filename, vga_bios_ptr + 8);\n\n qemu_free(filename);\n\n } else {\n\n vga_bios_size = -1;\n\n }\n\n if (vga_bios_size < 0) {\n\n /* if no bios is present, we can still work */\n\n fprintf(stderr, \"qemu: warning: could not load VGA bios '%s'\\n\",\n\n VGABIOS_FILENAME);\n\n vga_bios_size = 0;\n\n } else {\n\n /* set a specific header (XXX: find real Apple format for NDRV\n\n drivers) */\n\n vga_bios_ptr[0] = 'N';\n\n vga_bios_ptr[1] = 'D';\n\n vga_bios_ptr[2] = 'R';\n\n vga_bios_ptr[3] = 'V';\n\n cpu_to_be32w((uint32_t *)(vga_bios_ptr + 4), vga_bios_size);\n\n vga_bios_size += 8;\n\n\n\n /* Round to page boundary */\n\n vga_bios_size = (vga_bios_size + TARGET_PAGE_SIZE - 1) &\n\n TARGET_PAGE_MASK;\n\n }\n\n\n\n if (linux_boot) {\n\n uint64_t lowaddr = 0;\n\n int bswap_needed;\n\n\n\n#ifdef BSWAP_NEEDED\n\n bswap_needed = 1;\n\n#else\n\n bswap_needed = 0;\n\n#endif\n\n kernel_base = KERNEL_LOAD_ADDR;\n\n\n\n kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL,\n\n NULL, &lowaddr, NULL, 1, ELF_MACHINE, 0);\n\n if (kernel_size < 0)\n\n kernel_size = load_aout(kernel_filename, kernel_base,\n\n ram_size - kernel_base, bswap_needed,\n\n TARGET_PAGE_SIZE);\n\n if (kernel_size < 0)\n\n kernel_size = load_image_targphys(kernel_filename,\n\n kernel_base,\n\n ram_size - kernel_base);\n\n if (kernel_size < 0) {\n\n hw_error(\"qemu: could not load kernel '%s'\\n\", kernel_filename);\n\n exit(1);\n\n }\n\n /* load initrd */\n\n if (initrd_filename) {\n\n initrd_base = INITRD_LOAD_ADDR;\n\n initrd_size = load_image_targphys(initrd_filename, initrd_base,\n\n ram_size - initrd_base);\n\n if (initrd_size < 0) {\n\n hw_error(\"qemu: could not load initial ram disk '%s'\\n\",\n\n initrd_filename);\n\n exit(1);\n\n }\n\n } else {\n\n initrd_base = 0;\n\n initrd_size = 0;\n\n }\n\n ppc_boot_device = 'm';\n\n } else {\n\n kernel_base = 0;\n\n kernel_size = 0;\n\n initrd_base = 0;\n\n initrd_size = 0;\n\n ppc_boot_device = '\\0';\n\n /* We consider that NewWorld PowerMac never have any floppy drive\n\n * For now, OHW cannot boot from the network.\n\n */\n\n for (i = 0; boot_device[i] != '\\0'; i++) {\n\n if (boot_device[i] >= 'c' && boot_device[i] <= 'f') {\n\n ppc_boot_device = boot_device[i];\n\n break;\n\n }\n\n }\n\n if (ppc_boot_device == '\\0') {\n\n fprintf(stderr, \"No valid boot device for Mac99 machine\\n\");\n\n exit(1);\n\n }\n\n }\n\n\n\n isa_mem_base = 0x80000000;\n\n\n\n /* Register 8 MB of ISA IO space */\n\n isa_mmio_init(0xf2000000, 0x00800000, 1);\n\n\n\n /* UniN init */\n\n unin_memory = cpu_register_io_memory(unin_read, unin_write, NULL);\n\n cpu_register_physical_memory(0xf8000000, 0x00001000, unin_memory);\n\n\n\n openpic_irqs = qemu_mallocz(smp_cpus * sizeof(qemu_irq *));\n\n openpic_irqs[0] =\n\n qemu_mallocz(smp_cpus * sizeof(qemu_irq) * OPENPIC_OUTPUT_NB);\n\n for (i = 0; i < smp_cpus; i++) {\n\n /* Mac99 IRQ connection between OpenPIC outputs pins\n\n * and PowerPC input pins\n\n */\n\n switch (PPC_INPUT(env)) {\n\n case PPC_FLAGS_INPUT_6xx:\n\n openpic_irqs[i] = openpic_irqs[0] + (i * OPENPIC_OUTPUT_NB);\n\n openpic_irqs[i][OPENPIC_OUTPUT_INT] =\n\n ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT];\n\n openpic_irqs[i][OPENPIC_OUTPUT_CINT] =\n\n ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT];\n\n openpic_irqs[i][OPENPIC_OUTPUT_MCK] =\n\n ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_MCP];\n\n /* Not connected ? */\n\n openpic_irqs[i][OPENPIC_OUTPUT_DEBUG] = NULL;\n\n /* Check this */\n\n openpic_irqs[i][OPENPIC_OUTPUT_RESET] =\n\n ((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_HRESET];\n\n break;\n\n#if defined(TARGET_PPC64)\n\n case PPC_FLAGS_INPUT_970:\n\n openpic_irqs[i] = openpic_irqs[0] + (i * OPENPIC_OUTPUT_NB);\n\n openpic_irqs[i][OPENPIC_OUTPUT_INT] =\n\n ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_INT];\n\n openpic_irqs[i][OPENPIC_OUTPUT_CINT] =\n\n ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_INT];\n\n openpic_irqs[i][OPENPIC_OUTPUT_MCK] =\n\n ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_MCP];\n\n /* Not connected ? */\n\n openpic_irqs[i][OPENPIC_OUTPUT_DEBUG] = NULL;\n\n /* Check this */\n\n openpic_irqs[i][OPENPIC_OUTPUT_RESET] =\n\n ((qemu_irq *)env->irq_inputs)[PPC970_INPUT_HRESET];\n\n break;\n\n#endif /* defined(TARGET_PPC64) */\n\n default:\n\n hw_error(\"Bus model not supported on mac99 machine\\n\");\n\n exit(1);\n\n }\n\n }\n\n pic = openpic_init(NULL, &pic_mem_index, smp_cpus, openpic_irqs, NULL);\n\n if (PPC_INPUT(env) == PPC_FLAGS_INPUT_970) {\n\n /* 970 gets a U3 bus */\n\n pci_bus = pci_pmac_u3_init(pic);\n\n machine_arch = ARCH_MAC99_U3;\n\n } else {\n\n pci_bus = pci_pmac_init(pic);\n\n machine_arch = ARCH_MAC99;\n\n }\n\n /* init basic PC hardware */\n\n pci_vga_init(pci_bus, vga_bios_offset, vga_bios_size);\n\n\n\n escc_mem_index = escc_init(0x80013000, pic[0x25], pic[0x24],\n\n serial_hds[0], serial_hds[1], ESCC_CLOCK, 4);\n\n\n\n for(i = 0; i < nb_nics; i++)\n\n pci_nic_init_nofail(&nd_table[i], \"ne2k_pci\", NULL);\n\n\n\n if (drive_get_max_bus(IF_IDE) >= MAX_IDE_BUS) {\n\n fprintf(stderr, \"qemu: too many IDE bus\\n\");\n\n exit(1);\n\n }\n\n dbdma = DBDMA_init(&dbdma_mem_index);\n\n\n\n /* We only emulate 2 out of 3 IDE controllers for now */\n\n ide_mem_index[0] = -1;\n\n hd[0] = drive_get(IF_IDE, 0, 0);\n\n hd[1] = drive_get(IF_IDE, 0, 1);\n\n ide_mem_index[1] = pmac_ide_init(hd, pic[0x0d], dbdma, 0x16, pic[0x02]);\n\n hd[0] = drive_get(IF_IDE, 1, 0);\n\n hd[1] = drive_get(IF_IDE, 1, 1);\n\n ide_mem_index[2] = pmac_ide_init(hd, pic[0x0e], dbdma, 0x1a, pic[0x02]);\n\n\n\n /* cuda also initialize ADB */\n\n if (machine_arch == ARCH_MAC99_U3) {\n\n usb_enabled = 1;\n\n }\n\n cuda_init(&cuda_mem_index, pic[0x19]);\n\n\n\n adb_kbd_init(&adb_bus);\n\n adb_mouse_init(&adb_bus);\n\n\n\n macio_init(pci_bus, PCI_DEVICE_ID_APPLE_UNI_N_KEYL, 0, pic_mem_index,\n\n dbdma_mem_index, cuda_mem_index, NULL, 3, ide_mem_index,\n\n escc_mem_index);\n\n\n\n if (usb_enabled) {\n\n usb_ohci_init_pci(pci_bus, -1);\n\n }\n\n\n\n /* U3 needs to use USB for input because Linux doesn't support via-cuda\n\n on PPC64 */\n\n if (machine_arch == ARCH_MAC99_U3) {\n\n usbdevice_create(\"keyboard\");\n\n usbdevice_create(\"mouse\");\n\n }\n\n\n\n if (graphic_depth != 15 && graphic_depth != 32 && graphic_depth != 8)\n\n graphic_depth = 15;\n\n\n\n /* The NewWorld NVRAM is not located in the MacIO device */\n\n nvr = macio_nvram_init(&nvram_mem_index, 0x2000, 1);\n\n pmac_format_nvram_partition(nvr, 0x2000);\n\n macio_nvram_map(nvr, 0xFFF04000);\n\n /* No PCI init: the BIOS will do it */\n\n\n\n fw_cfg = fw_cfg_init(0, 0, CFG_ADDR, CFG_ADDR + 2);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_ID, 1);\n\n fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)ram_size);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_MACHINE_ID, machine_arch);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, kernel_base);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, kernel_size);\n\n if (kernel_cmdline) {\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, CMDLINE_ADDR);\n\n pstrcpy_targphys(\"cmdline\", CMDLINE_ADDR, TARGET_PAGE_SIZE, kernel_cmdline);\n\n } else {\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_CMDLINE, 0);\n\n }\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, initrd_base);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, initrd_size);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_BOOT_DEVICE, ppc_boot_device);\n\n\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_WIDTH, graphic_width);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_HEIGHT, graphic_height);\n\n fw_cfg_add_i16(fw_cfg, FW_CFG_PPC_DEPTH, graphic_depth);\n\n\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_IS_KVM, kvm_enabled());\n\n if (kvm_enabled()) {\n\n#ifdef CONFIG_KVM\n\n uint8_t *hypercall;\n\n\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_TBFREQ, kvmppc_get_tbfreq());\n\n hypercall = qemu_malloc(16);\n\n kvmppc_get_hypercall(env, hypercall, 16);\n\n fw_cfg_add_bytes(fw_cfg, FW_CFG_PPC_KVM_HC, hypercall, 16);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_KVM_PID, getpid());\n\n#endif\n\n } else {\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_TBFREQ, get_ticks_per_sec());\n\n }\n\n\n\n qemu_register_boot_set(fw_cfg_boot_set, fw_cfg);\n\n}\n", "idx": 6829}658{"project": "qemu", "commit_id": "492c30af2567a59413c064f88eb81e1691865195", "target": 0, "func": "void DMA_run(void)\n\n{\n\n /* XXXXX */\n\n}\n", "idx": 6838}659{"project": "qemu", "commit_id": "f090c9d4ad5812fb92843d6470a1111c15190c4c", "target": 0, "func": "INLINE int16 extractFloat64Exp( float64 a )\n\n{\n\n\n\n return ( a>>52 ) & 0x7FF;\n\n\n\n}\n", "idx": 6844}660{"project": "qemu", "commit_id": "185698715dfb18c82ad2a5dbc169908602d43e81", "target": 0, "func": "uint32_t helper_fcmp_un(uint32_t a, uint32_t b)\n\n{\n\n CPU_FloatU fa, fb;\n\n uint32_t r = 0;\n\n\n\n fa.l = a;\n\n fb.l = b;\n\n\n\n if (float32_is_signaling_nan(fa.f) || float32_is_signaling_nan(fb.f)) {\n\n update_fpu_flags(float_flag_invalid);\n\n r = 1;\n\n }\n\n\n\n if (float32_is_nan(fa.f) || float32_is_nan(fb.f)) {\n\n r = 1;\n\n }\n\n\n\n return r;\n\n}\n", "idx": 6852}661{"project": "qemu", "commit_id": "b931bfbf042983f311b3b09894d8030b2755a638", "target": 0, "func": "static int vhost_user_start(VhostUserState *s)\n\n{\n\n VhostNetOptions options;\n\n\n\n if (vhost_user_running(s)) {\n\n return 0;\n\n }\n\n\n\n options.backend_type = VHOST_BACKEND_TYPE_USER;\n\n options.net_backend = &s->nc;\n\n options.opaque = s->chr;\n\n\n\n s->vhost_net = vhost_net_init(&options);\n\n\n\n return vhost_user_running(s) ? 0 : -1;\n\n}\n", "idx": 6867}662{"project": "FFmpeg", "commit_id": "7a206eb32f624171a35235f714d44ee9dec9abcb", "target": 0, "func": "static int alac_set_info(ALACContext *alac)\n\n{\n\n GetByteContext gb;\n\n\n\n bytestream2_init(&gb, alac->avctx->extradata,\n\n alac->avctx->extradata_size);\n\n\n\n bytestream2_skipu(&gb, 12); // size:4, alac:4, version:4\n\n\n\n alac->max_samples_per_frame = bytestream2_get_be32u(&gb);\n\n if (alac->max_samples_per_frame >= UINT_MAX/4){\n\n av_log(alac->avctx, AV_LOG_ERROR,\n\n \"max_samples_per_frame too large\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n bytestream2_skipu(&gb, 1); // compatible version\n\n alac->sample_size = bytestream2_get_byteu(&gb);\n\n alac->rice_history_mult = bytestream2_get_byteu(&gb);\n\n alac->rice_initial_history = bytestream2_get_byteu(&gb);\n\n alac->rice_limit = bytestream2_get_byteu(&gb);\n\n alac->channels = bytestream2_get_byteu(&gb);\n\n bytestream2_get_be16u(&gb); // maxRun\n\n bytestream2_get_be32u(&gb); // max coded frame size\n\n bytestream2_get_be32u(&gb); // average bitrate\n\n bytestream2_get_be32u(&gb); // samplerate\n\n\n\n return 0;\n\n}\n", "idx": 6879}663{"project": "qemu", "commit_id": "8be487d8f184f2f721cabeac559fb7a6cba18c95", "target": 1, "func": "static void sdhci_send_command(SDHCIState *s)\n\n{\n\n SDRequest request;\n\n uint8_t response[16];\n\n int rlen;\n\n\n\n s->errintsts = 0;\n\n s->acmd12errsts = 0;\n\n request.cmd = s->cmdreg >> 8;\n\n request.arg = s->argument;\n\n DPRINT_L1(\"sending CMD%u ARG[0x%08x]\\n\", request.cmd, request.arg);\n\n rlen = sdbus_do_command(&s->sdbus, &request, response);\n\n\n\n if (s->cmdreg & SDHC_CMD_RESPONSE) {\n\n if (rlen == 4) {\n\n s->rspreg[0] = (response[0] << 24) | (response[1] << 16) |\n\n (response[2] << 8) | response[3];\n\n s->rspreg[1] = s->rspreg[2] = s->rspreg[3] = 0;\n\n DPRINT_L1(\"Response: RSPREG[31..0]=0x%08x\\n\", s->rspreg[0]);\n\n } else if (rlen == 16) {\n\n s->rspreg[0] = (response[11] << 24) | (response[12] << 16) |\n\n (response[13] << 8) | response[14];\n\n s->rspreg[1] = (response[7] << 24) | (response[8] << 16) |\n\n (response[9] << 8) | response[10];\n\n s->rspreg[2] = (response[3] << 24) | (response[4] << 16) |\n\n (response[5] << 8) | response[6];\n\n s->rspreg[3] = (response[0] << 16) | (response[1] << 8) |\n\n response[2];\n\n DPRINT_L1(\"Response received:\\n RSPREG[127..96]=0x%08x, RSPREG[95..\"\n\n \"64]=0x%08x,\\n RSPREG[63..32]=0x%08x, RSPREG[31..0]=0x%08x\\n\",\n\n s->rspreg[3], s->rspreg[2], s->rspreg[1], s->rspreg[0]);\n\n } else {\n\n ERRPRINT(\"Timeout waiting for command response\\n\");\n\n if (s->errintstsen & SDHC_EISEN_CMDTIMEOUT) {\n\n s->errintsts |= SDHC_EIS_CMDTIMEOUT;\n\n s->norintsts |= SDHC_NIS_ERR;\n\n }\n\n }\n\n\n\n if ((s->norintstsen & SDHC_NISEN_TRSCMP) &&\n\n (s->cmdreg & SDHC_CMD_RESPONSE) == SDHC_CMD_RSP_WITH_BUSY) {\n\n s->norintsts |= SDHC_NIS_TRSCMP;\n\n }\n\n }\n\n\n\n if (s->norintstsen & SDHC_NISEN_CMDCMP) {\n\n s->norintsts |= SDHC_NIS_CMDCMP;\n\n }\n\n\n\n sdhci_update_irq(s);\n\n\n\n if (s->blksize && (s->cmdreg & SDHC_CMD_DATA_PRESENT)) {\n\n s->data_count = 0;\n\n sdhci_data_transfer(s);\n\n }\n\n}\n", "idx": 6891}664{"project": "qemu", "commit_id": "ddf21908961073199f3d186204da4810f2ea150b", "target": 0, "func": "static void test_dealloc_types(void)\n\n{\n\n UserDefOne *ud1test, *ud1a, *ud1b;\n\n UserDefOneList *ud1list;\n\n\n\n ud1test = g_malloc0(sizeof(UserDefOne));\n\n ud1test->base = g_new0(UserDefZero, 1);\n\n ud1test->base->integer = 42;\n\n ud1test->string = g_strdup(\"hi there 42\");\n\n\n\n qapi_free_UserDefOne(ud1test);\n\n\n\n ud1a = g_malloc0(sizeof(UserDefOne));\n\n ud1a->base = g_new0(UserDefZero, 1);\n\n ud1a->base->integer = 43;\n\n ud1a->string = g_strdup(\"hi there 43\");\n\n\n\n ud1b = g_malloc0(sizeof(UserDefOne));\n\n ud1b->base = g_new0(UserDefZero, 1);\n\n ud1b->base->integer = 44;\n\n ud1b->string = g_strdup(\"hi there 44\");\n\n\n\n ud1list = g_malloc0(sizeof(UserDefOneList));\n\n ud1list->value = ud1a;\n\n ud1list->next = g_malloc0(sizeof(UserDefOneList));\n\n ud1list->next->value = ud1b;\n\n\n\n qapi_free_UserDefOneList(ud1list);\n\n}\n", "idx": 6919}665{"project": "qemu", "commit_id": "362786f14a753d8a5256ef97d7c10ed576d6572b", "target": 0, "func": "void net_checksum_calculate(uint8_t *data, int length)\n\n{\n\n int hlen, plen, proto, csum_offset;\n\n uint16_t csum;\n\n\n\n if ((data[14] & 0xf0) != 0x40)\n\n\treturn; /* not IPv4 */\n\n hlen = (data[14] & 0x0f) * 4;\n\n plen = (data[16] << 8 | data[17]) - hlen;\n\n proto = data[23];\n\n\n\n switch (proto) {\n\n case PROTO_TCP:\n\n\tcsum_offset = 16;\n\n\tbreak;\n\n case PROTO_UDP:\n\n\tcsum_offset = 6;\n\n\tbreak;\n\n default:\n\n\treturn;\n\n }\n\n\n\n if (plen < csum_offset+2)\n\n\treturn;\n\n\n\n data[14+hlen+csum_offset] = 0;\n\n data[14+hlen+csum_offset+1] = 0;\n\n csum = net_checksum_tcpudp(plen, proto, data+14+12, data+14+hlen);\n\n data[14+hlen+csum_offset] = csum >> 8;\n\n data[14+hlen+csum_offset+1] = csum & 0xff;\n\n}\n", "idx": 6927}666{"project": "qemu", "commit_id": "f17fd4fdf0df3d2f3444399d04c38d22b9a3e1b7", "target": 0, "func": "static void x86_cpu_parse_featurestr(const char *typename, char *features,\n\n Error **errp)\n\n{\n\n char *featurestr; /* Single 'key=value\" string being parsed */\n\n static bool cpu_globals_initialized;\n\n bool ambiguous = false;\n\n\n\n if (cpu_globals_initialized) {\n\n return;\n\n }\n\n cpu_globals_initialized = true;\n\n\n\n if (!features) {\n\n return;\n\n }\n\n\n\n for (featurestr = strtok(features, \",\");\n\n featurestr;\n\n featurestr = strtok(NULL, \",\")) {\n\n const char *name;\n\n const char *val = NULL;\n\n char *eq = NULL;\n\n char num[32];\n\n GlobalProperty *prop;\n\n\n\n /* Compatibility syntax: */\n\n if (featurestr[0] == '+') {\n\n plus_features = g_list_append(plus_features,\n\n g_strdup(featurestr + 1));\n\n continue;\n\n } else if (featurestr[0] == '-') {\n\n minus_features = g_list_append(minus_features,\n\n g_strdup(featurestr + 1));\n\n continue;\n\n }\n\n\n\n eq = strchr(featurestr, '=');\n\n if (eq) {\n\n *eq++ = 0;\n\n val = eq;\n\n } else {\n\n val = \"on\";\n\n }\n\n\n\n feat2prop(featurestr);\n\n name = featurestr;\n\n\n\n if (g_list_find_custom(plus_features, name, compare_string)) {\n\n error_report(\"warning: Ambiguous CPU model string. \"\n\n \"Don't mix both \\\"+%s\\\" and \\\"%s=%s\\\"\",\n\n name, name, val);\n\n ambiguous = true;\n\n }\n\n if (g_list_find_custom(minus_features, name, compare_string)) {\n\n error_report(\"warning: Ambiguous CPU model string. \"\n\n \"Don't mix both \\\"-%s\\\" and \\\"%s=%s\\\"\",\n\n name, name, val);\n\n ambiguous = true;\n\n }\n\n\n\n /* Special case: */\n\n if (!strcmp(name, \"tsc-freq\")) {\n\n int64_t tsc_freq;\n\n\n\n tsc_freq = qemu_strtosz_metric(val, NULL);\n\n if (tsc_freq < 0) {\n\n error_setg(errp, \"bad numerical value %s\", val);\n\n return;\n\n }\n\n snprintf(num, sizeof(num), \"%\" PRId64, tsc_freq);\n\n val = num;\n\n name = \"tsc-frequency\";\n\n }\n\n\n\n prop = g_new0(typeof(*prop), 1);\n\n prop->driver = typename;\n\n prop->property = g_strdup(name);\n\n prop->value = g_strdup(val);\n\n prop->errp = &error_fatal;\n\n qdev_prop_register_global(prop);\n\n }\n\n\n\n if (ambiguous) {\n\n error_report(\"warning: Compatibility of ambiguous CPU model \"\n\n \"strings won't be kept on future QEMU versions\");\n\n }\n\n}\n", "idx": 6935}667{"project": "qemu", "commit_id": "361dcc790db8c87b2e46ab610739191ced894c44", "target": 1, "func": "static VirtIOSCSIVring *virtio_scsi_vring_init(VirtIOSCSI *s,\n\n VirtQueue *vq,\n\n EventNotifierHandler *handler,\n\n int n)\n\n{\n\n BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(s)));\n\n VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);\n\n VirtIOSCSIVring *r = g_slice_new(VirtIOSCSIVring);\n\n int rc;\n\n\n\n /* Set up virtqueue notify */\n\n rc = k->set_host_notifier(qbus->parent, n, true);\n\n if (rc != 0) {\n\n fprintf(stderr, \"virtio-scsi: Failed to set host notifier (%d)\\n\",\n\n rc);\n\n exit(1);\n\n }\n\n r->host_notifier = *virtio_queue_get_host_notifier(vq);\n\n r->guest_notifier = *virtio_queue_get_guest_notifier(vq);\n\n aio_set_event_notifier(s->ctx, &r->host_notifier, handler);\n\n\n\n r->parent = s;\n\n\n\n if (!vring_setup(&r->vring, VIRTIO_DEVICE(s), n)) {\n\n fprintf(stderr, \"virtio-scsi: VRing setup failed\\n\");\n\n exit(1);\n\n }\n\n return r;\n\n}\n", "idx": 6946}668{"project": "qemu", "commit_id": "7d91ddd25e3a4e5008a2ac16127d51a34fd56bf1", "target": 1, "func": "void qemu_net_queue_purge(NetQueue *queue, NetClientState *from)\n\n{\n\n NetPacket *packet, *next;\n\n\n\n QTAILQ_FOREACH_SAFE(packet, &queue->packets, entry, next) {\n\n if (packet->sender == from) {\n\n QTAILQ_REMOVE(&queue->packets, packet, entry);\n\n\n g_free(packet);\n\n }\n\n }\n\n}", "idx": 6951}669{"project": "qemu", "commit_id": "3e305e4a4752f70c0b5c3cf5b43ec957881714f7", "target": 1, "func": "static ssize_t vnc_client_read_tls(gnutls_session_t *session, uint8_t *data,\n\n size_t datalen)\n\n{\n\n ssize_t ret = gnutls_read(*session, data, datalen);\n\n if (ret < 0) {\n\n if (ret == GNUTLS_E_AGAIN) {\n\n errno = EAGAIN;\n\n } else {\n\n errno = EIO;\n\n }\n\n ret = -1;\n\n }\n\n return ret;\n\n}\n", "idx": 6953}670{"project": "FFmpeg", "commit_id": "f6774f905fb3cfdc319523ac640be30b14c1bc55", "target": 1, "func": "static int slice_end(AVCodecContext *avctx, AVFrame *pict)\n\n{\n\n Mpeg1Context *s1 = avctx->priv_data;\n\n MpegEncContext *s = &s1->mpeg_enc_ctx;\n\n\n\n if (!s1->mpeg_enc_ctx_allocated || !s->current_picture_ptr)\n\n return 0;\n\n\n\n if (s->avctx->hwaccel) {\n\n if (s->avctx->hwaccel->end_frame(s->avctx) < 0)\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"hardware accelerator failed to decode picture\\n\");\n\n }\n\n\n\n#if FF_API_XVMC\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n if (CONFIG_MPEG_XVMC_DECODER && s->avctx->xvmc_acceleration)\n\n ff_xvmc_field_end(s);\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif /* FF_API_XVMC */\n\n\n\n /* end of slice reached */\n\n if (/* s->mb_y << field_pic == s->mb_height && */ !s->first_field) {\n\n /* end of image */\n\n\n\n ff_er_frame_end(&s->er);\n\n\n\n ff_MPV_frame_end(s);\n\n\n\n if (s->pict_type == AV_PICTURE_TYPE_B || s->low_delay) {\n\n int ret = av_frame_ref(pict, &s->current_picture_ptr->f);\n\n if (ret < 0)\n\n return ret;\n\n ff_print_debug_info(s, s->current_picture_ptr);\n\n } else {\n\n if (avctx->active_thread_type & FF_THREAD_FRAME)\n\n s->picture_number++;\n\n /* latency of 1 frame for I- and P-frames */\n\n /* XXX: use another variable than picture_number */\n\n if (s->last_picture_ptr != NULL) {\n\n int ret = av_frame_ref(pict, &s->last_picture_ptr->f);\n\n if (ret < 0)\n\n return ret;\n\n ff_print_debug_info(s, s->last_picture_ptr);\n\n }\n\n }\n\n\n\n return 1;\n\n } else {\n\n return 0;\n\n }\n\n}\n", "idx": 6956}671{"project": "FFmpeg", "commit_id": "d82eccea2bf905cd51889954658f4e7f64876df8", "target": 1, "func": "static inline int mpeg2_fast_decode_block_non_intra(MpegEncContext *s,\n\n int16_t *block, int n)\n\n{\n\n int level, i, j, run;\n\n RLTable *rl = &ff_rl_mpeg1;\n\n uint8_t * const scantable = s->intra_scantable.permutated;\n\n const int qscale = s->qscale;\n\n OPEN_READER(re, &s->gb);\n\n i = -1;\n\n\n\n // special case for first coefficient, no need to add second VLC table\n\n UPDATE_CACHE(re, &s->gb);\n\n if (((int32_t)GET_CACHE(re, &s->gb)) < 0) {\n\n level = (3 * qscale) >> 1;\n\n if (GET_CACHE(re, &s->gb) & 0x40000000)\n\n level = -level;\n\n block[0] = level;\n\n i++;\n\n SKIP_BITS(re, &s->gb, 2);\n\n if (((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)\n\n goto end;\n\n }\n\n\n\n /* now quantify & encode AC coefficients */\n\n for (;;) {\n\n GET_RL_VLC(level, run, re, &s->gb, rl->rl_vlc[0], TEX_VLC_BITS, 2, 0);\n\n\n\n if (level != 0) {\n\n i += run;\n\n j = scantable[i];\n\n level = ((level * 2 + 1) * qscale) >> 1;\n\n level = (level ^ SHOW_SBITS(re, &s->gb, 1)) - SHOW_SBITS(re, &s->gb, 1);\n\n SKIP_BITS(re, &s->gb, 1);\n\n } else {\n\n /* escape */\n\n run = SHOW_UBITS(re, &s->gb, 6) + 1; LAST_SKIP_BITS(re, &s->gb, 6);\n\n UPDATE_CACHE(re, &s->gb);\n\n level = SHOW_SBITS(re, &s->gb, 12); SKIP_BITS(re, &s->gb, 12);\n\n\n\n i += run;\n\n j = scantable[i];\n\n if (level < 0) {\n\n level = ((-level * 2 + 1) * qscale) >> 1;\n\n level = -level;\n\n } else {\n\n level = ((level * 2 + 1) * qscale) >> 1;\n\n }\n\n }\n\n\n\n block[j] = level;\n\n if (((int32_t)GET_CACHE(re, &s->gb)) <= (int32_t)0xBFFFFFFF)\n\n break;\n\n UPDATE_CACHE(re, &s->gb);\n\n }\n\nend:\n\n LAST_SKIP_BITS(re, &s->gb, 2);\n\n CLOSE_READER(re, &s->gb);\n\n s->block_last_index[n] = i;\n\n return 0;\n\n}\n", "idx": 6972}672{"project": "FFmpeg", "commit_id": "b853cfe7eaf13b7d4ff3ceba7098544ccc049df8", "target": 0, "func": "static void stream_close(VideoState *is)\n\n{\n\n VideoPicture *vp;\n\n int i;\n\n /* XXX: use a special url_shutdown call to abort parse cleanly */\n\n is->abort_request = 1;\n\n SDL_WaitThread(is->read_tid, NULL);\n\n SDL_WaitThread(is->refresh_tid, NULL);\n\n packet_queue_destroy(&is->videoq);\n\n packet_queue_destroy(&is->audioq);\n\n packet_queue_destroy(&is->subtitleq);\n\n\n\n /* free all pictures */\n\n for (i = 0; i < VIDEO_PICTURE_QUEUE_SIZE; i++) {\n\n vp = &is->pictq[i];\n\n#if CONFIG_AVFILTER\n\n avfilter_unref_bufferp(&vp->picref);\n\n#endif\n\n if (vp->bmp) {\n\n SDL_FreeYUVOverlay(vp->bmp);\n\n vp->bmp = NULL;\n\n }\n\n }\n\n SDL_DestroyMutex(is->pictq_mutex);\n\n SDL_DestroyCond(is->pictq_cond);\n\n SDL_DestroyMutex(is->subpq_mutex);\n\n SDL_DestroyCond(is->subpq_cond);\n\n SDL_DestroyCond(is->continue_read_thread);\n\n#if !CONFIG_AVFILTER\n\n sws_freeContext(is->img_convert_ctx);\n\n#endif\n\n av_free(is);\n\n}\n", "idx": 6997}673{"project": "FFmpeg", "commit_id": "560b10a6c3627cccf6735170d370cf9e3d38e805", "target": 1, "func": "static void init_gain_table(COOKContext *q) {\n\n int i;\n\n q->gain_size_factor = q->samples_per_channel/8;\n\n for (i=0 ; i<23 ; i++) {\n\n q->gain_table[i] = pow((double)q->pow2tab[i+52] ,\n\n (1.0/(double)q->gain_size_factor));\n\n }\n\n memset(&q->gain_copy, 0, sizeof(COOKgain));\n\n memset(&q->gain_current, 0, sizeof(COOKgain));\n\n memset(&q->gain_now, 0, sizeof(COOKgain));\n\n memset(&q->gain_previous, 0, sizeof(COOKgain));\n\n}\n", "idx": 6999}674{"project": "qemu", "commit_id": "ea9ebc2ce69198f7aca4b43652824c5d621ac978", "target": 1, "func": "static void qpa_fini_out (HWVoiceOut *hw)\n\n{\n\n void *ret;\n\n PAVoiceOut *pa = (PAVoiceOut *) hw;\n\n\n\n audio_pt_lock (&pa->pt, AUDIO_FUNC);\n\n pa->done = 1;\n\n audio_pt_unlock_and_signal (&pa->pt, AUDIO_FUNC);\n\n audio_pt_join (&pa->pt, &ret, AUDIO_FUNC);\n\n\n\n if (pa->s) {\n\n pa_simple_free (pa->s);\n\n pa->s = NULL;\n\n }\n\n\n\n audio_pt_fini (&pa->pt, AUDIO_FUNC);\n\n g_free (pa->pcm_buf);\n\n pa->pcm_buf = NULL;\n\n}\n", "idx": 7004}675{"project": "qemu", "commit_id": "a818a4b69d47ca3826dee36878074395aeac2083", "target": 0, "func": "static int scsi_device_init(SCSIDevice *s)\n\n{\n\n SCSIDeviceClass *sc = SCSI_DEVICE_GET_CLASS(s);\n\n if (sc->init) {\n\n return sc->init(s);\n\n }\n\n return 0;\n\n}\n", "idx": 7017}676{"project": "qemu", "commit_id": "aaa0eb75e2e56d483c89731a447c999985713b43", "target": 0, "func": "static void set_dirty_bitmap(BlockDriverState *bs, int64_t sector_num,\n\n int nb_sectors, int dirty)\n\n{\n\n int64_t start, end;\n\n unsigned long val, idx, bit;\n\n\n\n start = sector_num / BDRV_SECTORS_PER_DIRTY_CHUNK;\n\n end = (sector_num + nb_sectors - 1) / BDRV_SECTORS_PER_DIRTY_CHUNK;\n\n\n\n for (; start <= end; start++) {\n\n idx = start / (sizeof(unsigned long) * 8);\n\n bit = start % (sizeof(unsigned long) * 8);\n\n val = bs->dirty_bitmap[idx];\n\n if (dirty) {\n\n val |= 1 << bit;\n\n } else {\n\n val &= ~(1 << bit);\n\n }\n\n bs->dirty_bitmap[idx] = val;\n\n }\n\n}\n", "idx": 7019}677{"project": "qemu", "commit_id": "eb700029c7836798046191d62d595363d92c84d4", "target": 0, "func": "static size_t net_tx_pkt_fetch_fragment(struct NetTxPkt *pkt,\n\n int *src_idx, size_t *src_offset, struct iovec *dst, int *dst_idx)\n\n{\n\n size_t fetched = 0;\n\n struct iovec *src = pkt->vec;\n\n\n\n *dst_idx = NET_TX_PKT_FRAGMENT_HEADER_NUM;\n\n\n\n while (fetched < pkt->virt_hdr.gso_size) {\n\n\n\n /* no more place in fragment iov */\n\n if (*dst_idx == NET_MAX_FRAG_SG_LIST) {\n\n break;\n\n }\n\n\n\n /* no more data in iovec */\n\n if (*src_idx == (pkt->payload_frags + NET_TX_PKT_PL_START_FRAG)) {\n\n break;\n\n }\n\n\n\n\n\n dst[*dst_idx].iov_base = src[*src_idx].iov_base + *src_offset;\n\n dst[*dst_idx].iov_len = MIN(src[*src_idx].iov_len - *src_offset,\n\n pkt->virt_hdr.gso_size - fetched);\n\n\n\n *src_offset += dst[*dst_idx].iov_len;\n\n fetched += dst[*dst_idx].iov_len;\n\n\n\n if (*src_offset == src[*src_idx].iov_len) {\n\n *src_offset = 0;\n\n (*src_idx)++;\n\n }\n\n\n\n (*dst_idx)++;\n\n }\n\n\n\n return fetched;\n\n}\n", "idx": 7027}678{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static void lsi_ram_write(void *opaque, target_phys_addr_t addr,\n\n uint64_t val, unsigned size)\n\n{\n\n LSIState *s = opaque;\n\n uint32_t newval;\n\n uint32_t mask;\n\n int shift;\n\n\n\n newval = s->script_ram[addr >> 2];\n\n shift = (addr & 3) * 8;\n\n mask = ((uint64_t)1 << (size * 8)) - 1;\n\n newval &= ~(mask << shift);\n\n newval |= val << shift;\n\n s->script_ram[addr >> 2] = newval;\n\n}\n", "idx": 7033}679{"project": "FFmpeg", "commit_id": "7117547298b13d6f52a20d6a62a27dc0a1c3e263", "target": 1, "func": "static int get_buffer_sao(HEVCContext *s, AVFrame *frame, const HEVCSPS *sps)\n\n{\n\n int ret, i;\n\n\n\n frame->width = s->avctx->width + 2;\n\n frame->height = s->avctx->height + 2;\n\n if ((ret = ff_get_buffer(s->avctx, frame, AV_GET_BUFFER_FLAG_REF)) < 0)\n\n return ret;\n\n for (i = 0; frame->data[i]; i++) {\n\n int offset = frame->linesize[i] + (1 << sps->pixel_shift);\n\n frame->data[i] += offset;\n\n }\n\n frame->width = s->avctx->width;\n\n frame->height = s->avctx->height;\n\n\n\n return 0;\n\n}\n", "idx": 7048}680{"project": "FFmpeg", "commit_id": "662234a9a22f1cd0f0ac83b8bb1ffadedca90c0a", "target": 0, "func": "static void avc_luma_vt_16w_msa(const uint8_t *src, int32_t src_stride,\n\n uint8_t *dst, int32_t dst_stride,\n\n int32_t height)\n\n{\n\n int32_t loop_cnt;\n\n int16_t filt_const0 = 0xfb01;\n\n int16_t filt_const1 = 0x1414;\n\n int16_t filt_const2 = 0x1fb;\n\n v16i8 src0, src1, src2, src3, src4, src5, src6, src7, src8;\n\n v16i8 src10_r, src32_r, src54_r, src76_r, src21_r, src43_r, src65_r;\n\n v16i8 src87_r, src10_l, src32_l, src54_l, src76_l, src21_l, src43_l;\n\n v16i8 src65_l, src87_l;\n\n v8i16 out0_r, out1_r, out2_r, out3_r, out0_l, out1_l, out2_l, out3_l;\n\n v16u8 res0, res1, res2, res3;\n\n v16i8 filt0, filt1, filt2;\n\n\n\n filt0 = (v16i8) __msa_fill_h(filt_const0);\n\n filt1 = (v16i8) __msa_fill_h(filt_const1);\n\n filt2 = (v16i8) __msa_fill_h(filt_const2);\n\n\n\n LD_SB5(src, src_stride, src0, src1, src2, src3, src4);\n\n src += (5 * src_stride);\n\n\n\n XORI_B5_128_SB(src0, src1, src2, src3, src4);\n\n ILVR_B4_SB(src1, src0, src2, src1, src3, src2, src4, src3,\n\n src10_r, src21_r, src32_r, src43_r);\n\n ILVL_B4_SB(src1, src0, src2, src1, src3, src2, src4, src3,\n\n src10_l, src21_l, src32_l, src43_l);\n\n\n\n for (loop_cnt = (height >> 2); loop_cnt--;) {\n\n LD_SB4(src, src_stride, src5, src6, src7, src8);\n\n src += (4 * src_stride);\n\n\n\n XORI_B4_128_SB(src5, src6, src7, src8);\n\n ILVR_B4_SB(src5, src4, src6, src5, src7, src6, src8, src7,\n\n src54_r, src65_r, src76_r, src87_r);\n\n ILVL_B4_SB(src5, src4, src6, src5, src7, src6, src8, src7,\n\n src54_l, src65_l, src76_l, src87_l);\n\n out0_r = DPADD_SH3_SH(src10_r, src32_r, src54_r, filt0, filt1, filt2);\n\n out1_r = DPADD_SH3_SH(src21_r, src43_r, src65_r, filt0, filt1, filt2);\n\n out2_r = DPADD_SH3_SH(src32_r, src54_r, src76_r, filt0, filt1, filt2);\n\n out3_r = DPADD_SH3_SH(src43_r, src65_r, src87_r, filt0, filt1, filt2);\n\n out0_l = DPADD_SH3_SH(src10_l, src32_l, src54_l, filt0, filt1, filt2);\n\n out1_l = DPADD_SH3_SH(src21_l, src43_l, src65_l, filt0, filt1, filt2);\n\n out2_l = DPADD_SH3_SH(src32_l, src54_l, src76_l, filt0, filt1, filt2);\n\n out3_l = DPADD_SH3_SH(src43_l, src65_l, src87_l, filt0, filt1, filt2);\n\n SRARI_H4_SH(out0_r, out1_r, out2_r, out3_r, 5);\n\n SAT_SH4_SH(out0_r, out1_r, out2_r, out3_r, 7);\n\n SRARI_H4_SH(out0_l, out1_l, out2_l, out3_l, 5);\n\n SAT_SH4_SH(out0_l, out1_l, out2_l, out3_l, 7);\n\n PCKEV_B4_UB(out0_l, out0_r, out1_l, out1_r, out2_l, out2_r, out3_l,\n\n out3_r, res0, res1, res2, res3);\n\n XORI_B4_128_UB(res0, res1, res2, res3);\n\n\n\n ST_UB4(res0, res1, res2, res3, dst, dst_stride);\n\n dst += (4 * dst_stride);\n\n\n\n src10_r = src54_r;\n\n src32_r = src76_r;\n\n src21_r = src65_r;\n\n src43_r = src87_r;\n\n src10_l = src54_l;\n\n src32_l = src76_l;\n\n src21_l = src65_l;\n\n src43_l = src87_l;\n\n src4 = src8;\n\n }\n\n}\n", "idx": 7066}681{"project": "qemu", "commit_id": "6b33f3ae8b79726ef0812597b8a83c3e82d31514", "target": 0, "func": "static int img_commit(int argc, char **argv)\n\n{\n\n int c, ret, flags;\n\n const char *filename, *fmt, *cache, *base;\n\n BlockBackend *blk;\n\n BlockDriverState *bs, *base_bs;\n\n bool progress = false, quiet = false, drop = false;\n\n bool writethrough;\n\n Error *local_err = NULL;\n\n CommonBlockJobCBInfo cbi;\n\n bool image_opts = false;\n\n AioContext *aio_context;\n\n\n\n fmt = NULL;\n\n cache = BDRV_DEFAULT_CACHE;\n\n base = NULL;\n\n for(;;) {\n\n static const struct option long_options[] = {\n\n {\"help\", no_argument, 0, 'h'},\n\n {\"object\", required_argument, 0, OPTION_OBJECT},\n\n {\"image-opts\", no_argument, 0, OPTION_IMAGE_OPTS},\n\n {0, 0, 0, 0}\n\n };\n\n c = getopt_long(argc, argv, \"f:ht:b:dpq\",\n\n long_options, NULL);\n\n if (c == -1) {\n\n break;\n\n }\n\n switch(c) {\n\n case '?':\n\n case 'h':\n\n help();\n\n break;\n\n case 'f':\n\n fmt = optarg;\n\n break;\n\n case 't':\n\n cache = optarg;\n\n break;\n\n case 'b':\n\n base = optarg;\n\n /* -b implies -d */\n\n drop = true;\n\n break;\n\n case 'd':\n\n drop = true;\n\n break;\n\n case 'p':\n\n progress = true;\n\n break;\n\n case 'q':\n\n quiet = true;\n\n break;\n\n case OPTION_OBJECT: {\n\n QemuOpts *opts;\n\n opts = qemu_opts_parse_noisily(&qemu_object_opts,\n\n optarg, true);\n\n if (!opts) {\n\n return 1;\n\n }\n\n } break;\n\n case OPTION_IMAGE_OPTS:\n\n image_opts = true;\n\n break;\n\n }\n\n }\n\n\n\n /* Progress is not shown in Quiet mode */\n\n if (quiet) {\n\n progress = false;\n\n }\n\n\n\n if (optind != argc - 1) {\n\n error_exit(\"Expecting one image file name\");\n\n }\n\n filename = argv[optind++];\n\n\n\n if (qemu_opts_foreach(&qemu_object_opts,\n\n user_creatable_add_opts_foreach,\n\n NULL, NULL)) {\n\n return 1;\n\n }\n\n\n\n flags = BDRV_O_RDWR | BDRV_O_UNMAP;\n\n ret = bdrv_parse_cache_mode(cache, &flags, &writethrough);\n\n if (ret < 0) {\n\n error_report(\"Invalid cache option: %s\", cache);\n\n return 1;\n\n }\n\n\n\n blk = img_open(image_opts, filename, fmt, flags, writethrough, quiet);\n\n if (!blk) {\n\n return 1;\n\n }\n\n bs = blk_bs(blk);\n\n\n\n qemu_progress_init(progress, 1.f);\n\n qemu_progress_print(0.f, 100);\n\n\n\n if (base) {\n\n base_bs = bdrv_find_backing_image(bs, base);\n\n if (!base_bs) {\n\n error_setg(&local_err, QERR_BASE_NOT_FOUND, base);\n\n goto done;\n\n }\n\n } else {\n\n /* This is different from QMP, which by default uses the deepest file in\n\n * the backing chain (i.e., the very base); however, the traditional\n\n * behavior of qemu-img commit is using the immediate backing file. */\n\n base_bs = backing_bs(bs);\n\n if (!base_bs) {\n\n error_setg(&local_err, \"Image does not have a backing file\");\n\n goto done;\n\n }\n\n }\n\n\n\n cbi = (CommonBlockJobCBInfo){\n\n .errp = &local_err,\n\n .bs = bs,\n\n };\n\n\n\n aio_context = bdrv_get_aio_context(bs);\n\n aio_context_acquire(aio_context);\n\n commit_active_start(\"commit\", bs, base_bs, BLOCK_JOB_DEFAULT, 0,\n\n BLOCKDEV_ON_ERROR_REPORT, common_block_job_cb, &cbi,\n\n &local_err, false);\n\n aio_context_release(aio_context);\n\n if (local_err) {\n\n goto done;\n\n }\n\n\n\n /* When the block job completes, the BlockBackend reference will point to\n\n * the old backing file. In order to avoid that the top image is already\n\n * deleted, so we can still empty it afterwards, increment the reference\n\n * counter here preemptively. */\n\n if (!drop) {\n\n bdrv_ref(bs);\n\n }\n\n\n\n run_block_job(bs->job, &local_err);\n\n if (local_err) {\n\n goto unref_backing;\n\n }\n\n\n\n if (!drop && bs->drv->bdrv_make_empty) {\n\n ret = bs->drv->bdrv_make_empty(bs);\n\n if (ret) {\n\n error_setg_errno(&local_err, -ret, \"Could not empty %s\",\n\n filename);\n\n goto unref_backing;\n\n }\n\n }\n\n\n\nunref_backing:\n\n if (!drop) {\n\n bdrv_unref(bs);\n\n }\n\n\n\ndone:\n\n qemu_progress_end();\n\n\n\n blk_unref(blk);\n\n\n\n if (local_err) {\n\n error_report_err(local_err);\n\n return 1;\n\n }\n\n\n\n qprintf(quiet, \"Image committed.\\n\");\n\n return 0;\n\n}\n", "idx": 7069}682{"project": "qemu", "commit_id": "b2bedb214469af55179d907a60cd67fed6b0779e", "target": 0, "func": "unsigned long setup_arg_pages(void * mh, char ** argv, char ** env)\n\n{\n\n unsigned long stack_base, error, size;\n\n int i;\n\n int * stack;\n\n int argc, envc;\n\n\n\n /* Create enough stack to hold everything. If we don't use\n\n * it for args, we'll use it for something else...\n\n */\n\n size = stack_size;\n\n\n\n error = target_mmap(0,\n\n size + qemu_host_page_size,\n\n PROT_READ | PROT_WRITE,\n\n MAP_PRIVATE | MAP_ANONYMOUS,\n\n -1, 0);\n\n if (error == -1)\n\n qerror(\"stk mmap\");\n\n\n\n /* we reserve one extra page at the top of the stack as guard */\n\n target_mprotect(error + size, qemu_host_page_size, PROT_NONE);\n\n\n\n stack_base = error + size;\n\n stack = (void*)stack_base;\n\n/*\n\n * | STRING AREA |\n\n * +-------------+\n\n * | 0 |\n\n* +-------------+\n\n * | apple[n] |\n\n * +-------------+\n\n * :\n\n * +-------------+\n\n * | apple[0] |\n\n * +-------------+\n\n * | 0 |\n\n * +-------------+\n\n * | env[n] |\n\n * +-------------+\n\n * :\n\n * :\n\n * +-------------+\n\n * | env[0] |\n\n * +-------------+\n\n * | 0 |\n\n * +-------------+\n\n * | arg[argc-1] |\n\n * +-------------+\n\n * :\n\n * :\n\n * +-------------+\n\n * | arg[0] |\n\n * +-------------+\n\n * | argc |\n\n * +-------------+\n\n * sp-> | mh | address of where the a.out's file offset 0 is in memory\n\n * +-------------+\n\n*/\n\n /* Construct the stack Stack grows down */\n\n stack--;\n\n\n\n /* XXX: string should go up there */\n\n\n\n *stack = 0;\n\n stack--;\n\n\n\n /* Push the absolute path of our executable */\n\n DPRINTF(\"pushing apple %s (0x%x)\\n\", (char*)argv[0], (int)argv[0]);\n\n stl(stack, (int) argv[0]);\n\n\n\n stack--;\n\n\n\n stl(stack, 0);\n\n stack--;\n\n\n\n /* Get envc */\n\n for(envc = 0; env[envc]; envc++);\n\n\n\n for(i = envc-1; i >= 0; i--)\n\n {\n\n DPRINTF(\"pushing env %s (0x%x)\\n\", (char*)env[i], (int)env[i]);\n\n stl(stack, (int)env[i]);\n\n stack--;\n\n\n\n /* XXX: remove that when string will be on top of the stack */\n\n page_set_flags((int)env[i], (int)(env[i]+strlen(env[i])), PROT_READ | PAGE_VALID);\n\n }\n\n\n\n /* Add on the stack the interp_prefix choosen if so */\n\n if(interp_prefix[0])\n\n {\n\n char *dyld_root;\n\n asprintf(&dyld_root, \"DYLD_ROOT_PATH=%s\", interp_prefix);\n\n page_set_flags((int)dyld_root, (int)(dyld_root+strlen(interp_prefix)+1), PROT_READ | PAGE_VALID);\n\n\n\n stl(stack, (int)dyld_root);\n\n stack--;\n\n }\n\n\n\n#ifdef DONT_USE_DYLD_SHARED_MAP\n\n {\n\n char *shared_map_mode;\n\n asprintf(&shared_map_mode, \"DYLD_SHARED_REGION=avoid\");\n\n page_set_flags((int)shared_map_mode, (int)(shared_map_mode+strlen(shared_map_mode)+1), PROT_READ | PAGE_VALID);\n\n\n\n stl(stack, (int)shared_map_mode);\n\n stack--;\n\n }\n\n#endif\n\n\n\n#ifdef ACTIVATE_DYLD_TRACE\n\n char * extra_env_static[] = {\"DYLD_DEBUG_TRACE=yes\",\n\n \"DYLD_PREBIND_DEBUG=3\", \"DYLD_UNKNOW_TRACE=yes\",\n\n \"DYLD_PRINT_INITIALIZERS=yes\",\n\n \"DYLD_PRINT_SEGMENTS=yes\", \"DYLD_PRINT_REBASINGS=yes\", \"DYLD_PRINT_BINDINGS=yes\", \"DYLD_PRINT_INITIALIZERS=yes\", \"DYLD_PRINT_WARNINGS=yes\" };\n\n\n\n char ** extra_env = malloc(sizeof(extra_env_static));\n\n bcopy(extra_env_static, extra_env, sizeof(extra_env_static));\n\n page_set_flags((int)extra_env, (int)((void*)extra_env+sizeof(extra_env_static)), PROT_READ | PAGE_VALID);\n\n\n\n for(i = 0; i<9; i++)\n\n {\n\n DPRINTF(\"pushing (extra) env %s (0x%x)\\n\", (char*)extra_env[i], (int)extra_env[i]);\n\n stl(stack, (int) extra_env[i]);\n\n stack--;\n\n }\n\n#endif\n\n\n\n stl(stack, 0);\n\n stack--;\n\n\n\n /* Get argc */\n\n for(argc = 0; argv[argc]; argc++);\n\n\n\n for(i = argc-1; i >= 0; i--)\n\n {\n\n DPRINTF(\"pushing arg %s (0x%x)\\n\", (char*)argv[i], (int)argv[i]);\n\n stl(stack, (int) argv[i]);\n\n stack--;\n\n\n\n /* XXX: remove that when string will be on top of the stack */\n\n page_set_flags((int)argv[i], (int)(argv[i]+strlen(argv[i])), PROT_READ | PAGE_VALID);\n\n }\n\n\n\n DPRINTF(\"pushing argc %d \\n\", argc);\n\n stl(stack, argc);\n\n stack--;\n\n\n\n DPRINTF(\"pushing mh 0x%x \\n\", (int)mh);\n\n stl(stack, (int) mh);\n\n\n\n /* Stack points on the mh */\n\n return (unsigned long)stack;\n\n}\n", "idx": 7099}683{"project": "qemu", "commit_id": "10a412dab3f54439ea3d60274eb41668f7d83bd2", "target": 0, "func": "int sd_do_command(SDState *sd, SDRequest *req,\n\n uint8_t *response) {\n\n uint32_t last_status = sd->card_status;\n\n sd_rsp_type_t rtype;\n\n int rsplen;\n\n\n\n if (!sd->bdrv || !bdrv_is_inserted(sd->bdrv) || !sd->enable) {\n\n return 0;\n\n }\n\n\n\n if (sd_req_crc_validate(req)) {\n\n sd->card_status |= COM_CRC_ERROR;\n\n rtype = sd_illegal;\n\n goto send_response;\n\n }\n\n\n\n sd->card_status &= ~CARD_STATUS_B;\n\n sd_set_status(sd);\n\n\n\n if (last_status & CARD_IS_LOCKED) {\n\n if (!cmd_valid_while_locked(sd, req)) {\n\n sd->card_status |= ILLEGAL_COMMAND;\n\n fprintf(stderr, \"SD: Card is locked\\n\");\n\n rtype = sd_illegal;\n\n goto send_response;\n\n }\n\n }\n\n\n\n if (last_status & APP_CMD) {\n\n rtype = sd_app_command(sd, *req);\n\n sd->card_status &= ~APP_CMD;\n\n } else\n\n rtype = sd_normal_command(sd, *req);\n\n\n\n if (rtype == sd_illegal) {\n\n sd->card_status |= ILLEGAL_COMMAND;\n\n }\n\n\n\n sd->current_cmd = req->cmd;\n\n\n\nsend_response:\n\n switch (rtype) {\n\n case sd_r1:\n\n case sd_r1b:\n\n sd_response_r1_make(sd, response, last_status);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r2_i:\n\n memcpy(response, sd->cid, sizeof(sd->cid));\n\n rsplen = 16;\n\n break;\n\n\n\n case sd_r2_s:\n\n memcpy(response, sd->csd, sizeof(sd->csd));\n\n rsplen = 16;\n\n break;\n\n\n\n case sd_r3:\n\n sd_response_r3_make(sd, response);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r6:\n\n sd_response_r6_make(sd, response);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r7:\n\n sd_response_r7_make(sd, response);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r0:\n\n case sd_illegal:\n\n default:\n\n rsplen = 0;\n\n break;\n\n }\n\n\n\n#ifdef DEBUG_SD\n\n if (rsplen) {\n\n int i;\n\n DPRINTF(\"Response:\");\n\n for (i = 0; i < rsplen; i++)\n\n printf(\" %02x\", response[i]);\n\n printf(\" state %d\\n\", sd->state);\n\n } else {\n\n DPRINTF(\"No response %d\\n\", sd->state);\n\n }\n\n#endif\n\n\n\n return rsplen;\n\n}\n", "idx": 7105}684{"project": "qemu", "commit_id": "9646f4927faf68e8690588c2fd6dc9834c440b58", "target": 0, "func": "void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,\n\n uint32_t *eax, uint32_t *ebx,\n\n uint32_t *ecx, uint32_t *edx)\n\n{\n\n X86CPU *cpu = x86_env_get_cpu(env);\n\n CPUState *cs = CPU(cpu);\n\n uint32_t pkg_offset;\n\n\n\n /* test if maximum index reached */\n\n if (index & 0x80000000) {\n\n if (index > env->cpuid_xlevel) {\n\n if (env->cpuid_xlevel2 > 0) {\n\n /* Handle the Centaur's CPUID instruction. */\n\n if (index > env->cpuid_xlevel2) {\n\n index = env->cpuid_xlevel2;\n\n } else if (index < 0xC0000000) {\n\n index = env->cpuid_xlevel;\n\n }\n\n } else {\n\n /* Intel documentation states that invalid EAX input will\n\n * return the same information as EAX=cpuid_level\n\n * (Intel SDM Vol. 2A - Instruction Set Reference - CPUID)\n\n */\n\n index = env->cpuid_level;\n\n }\n\n }\n\n } else {\n\n if (index > env->cpuid_level)\n\n index = env->cpuid_level;\n\n }\n\n\n\n switch(index) {\n\n case 0:\n\n *eax = env->cpuid_level;\n\n *ebx = env->cpuid_vendor1;\n\n *edx = env->cpuid_vendor2;\n\n *ecx = env->cpuid_vendor3;\n\n break;\n\n case 1:\n\n *eax = env->cpuid_version;\n\n *ebx = (cpu->apic_id << 24) |\n\n 8 << 8; /* CLFLUSH size in quad words, Linux wants it. */\n\n *ecx = env->features[FEAT_1_ECX];\n\n if ((*ecx & CPUID_EXT_XSAVE) && (env->cr[4] & CR4_OSXSAVE_MASK)) {\n\n *ecx |= CPUID_EXT_OSXSAVE;\n\n }\n\n *edx = env->features[FEAT_1_EDX];\n\n if (cs->nr_cores * cs->nr_threads > 1) {\n\n *ebx |= (cs->nr_cores * cs->nr_threads) << 16;\n\n *edx |= CPUID_HT;\n\n }\n\n break;\n\n case 2:\n\n /* cache info: needed for Pentium Pro compatibility */\n\n if (cpu->cache_info_passthrough) {\n\n host_cpuid(index, 0, eax, ebx, ecx, edx);\n\n break;\n\n }\n\n *eax = 1; /* Number of CPUID[EAX=2] calls required */\n\n *ebx = 0;\n\n if (!cpu->enable_l3_cache) {\n\n *ecx = 0;\n\n } else {\n\n *ecx = L3_N_DESCRIPTOR;\n\n }\n\n *edx = (L1D_DESCRIPTOR << 16) | \\\n\n (L1I_DESCRIPTOR << 8) | \\\n\n (L2_DESCRIPTOR);\n\n break;\n\n case 4:\n\n /* cache info: needed for Core compatibility */\n\n if (cpu->cache_info_passthrough) {\n\n host_cpuid(index, count, eax, ebx, ecx, edx);\n\n *eax &= ~0xFC000000;\n\n } else {\n\n *eax = 0;\n\n switch (count) {\n\n case 0: /* L1 dcache info */\n\n *eax |= CPUID_4_TYPE_DCACHE | \\\n\n CPUID_4_LEVEL(1) | \\\n\n CPUID_4_SELF_INIT_LEVEL;\n\n *ebx = (L1D_LINE_SIZE - 1) | \\\n\n ((L1D_PARTITIONS - 1) << 12) | \\\n\n ((L1D_ASSOCIATIVITY - 1) << 22);\n\n *ecx = L1D_SETS - 1;\n\n *edx = CPUID_4_NO_INVD_SHARING;\n\n break;\n\n case 1: /* L1 icache info */\n\n *eax |= CPUID_4_TYPE_ICACHE | \\\n\n CPUID_4_LEVEL(1) | \\\n\n CPUID_4_SELF_INIT_LEVEL;\n\n *ebx = (L1I_LINE_SIZE - 1) | \\\n\n ((L1I_PARTITIONS - 1) << 12) | \\\n\n ((L1I_ASSOCIATIVITY - 1) << 22);\n\n *ecx = L1I_SETS - 1;\n\n *edx = CPUID_4_NO_INVD_SHARING;\n\n break;\n\n case 2: /* L2 cache info */\n\n *eax |= CPUID_4_TYPE_UNIFIED | \\\n\n CPUID_4_LEVEL(2) | \\\n\n CPUID_4_SELF_INIT_LEVEL;\n\n if (cs->nr_threads > 1) {\n\n *eax |= (cs->nr_threads - 1) << 14;\n\n }\n\n *ebx = (L2_LINE_SIZE - 1) | \\\n\n ((L2_PARTITIONS - 1) << 12) | \\\n\n ((L2_ASSOCIATIVITY - 1) << 22);\n\n *ecx = L2_SETS - 1;\n\n *edx = CPUID_4_NO_INVD_SHARING;\n\n break;\n\n case 3: /* L3 cache info */\n\n if (!cpu->enable_l3_cache) {\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n }\n\n *eax |= CPUID_4_TYPE_UNIFIED | \\\n\n CPUID_4_LEVEL(3) | \\\n\n CPUID_4_SELF_INIT_LEVEL;\n\n pkg_offset = apicid_pkg_offset(cs->nr_cores, cs->nr_threads);\n\n *eax |= ((1 << pkg_offset) - 1) << 14;\n\n *ebx = (L3_N_LINE_SIZE - 1) | \\\n\n ((L3_N_PARTITIONS - 1) << 12) | \\\n\n ((L3_N_ASSOCIATIVITY - 1) << 22);\n\n *ecx = L3_N_SETS - 1;\n\n *edx = CPUID_4_INCLUSIVE | CPUID_4_COMPLEX_IDX;\n\n break;\n\n default: /* end of info */\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n }\n\n }\n\n\n\n /* QEMU gives out its own APIC IDs, never pass down bits 31..26. */\n\n if ((*eax & 31) && cs->nr_cores > 1) {\n\n *eax |= (cs->nr_cores - 1) << 26;\n\n }\n\n break;\n\n case 5:\n\n /* mwait info: needed for Core compatibility */\n\n *eax = 0; /* Smallest monitor-line size in bytes */\n\n *ebx = 0; /* Largest monitor-line size in bytes */\n\n *ecx = CPUID_MWAIT_EMX | CPUID_MWAIT_IBE;\n\n *edx = 0;\n\n break;\n\n case 6:\n\n /* Thermal and Power Leaf */\n\n *eax = env->features[FEAT_6_EAX];\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n case 7:\n\n /* Structured Extended Feature Flags Enumeration Leaf */\n\n if (count == 0) {\n\n *eax = 0; /* Maximum ECX value for sub-leaves */\n\n *ebx = env->features[FEAT_7_0_EBX]; /* Feature flags */\n\n *ecx = env->features[FEAT_7_0_ECX]; /* Feature flags */\n\n if ((*ecx & CPUID_7_0_ECX_PKU) && env->cr[4] & CR4_PKE_MASK) {\n\n *ecx |= CPUID_7_0_ECX_OSPKE;\n\n }\n\n *edx = 0; /* Reserved */\n\n } else {\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n }\n\n break;\n\n case 9:\n\n /* Direct Cache Access Information Leaf */\n\n *eax = 0; /* Bits 0-31 in DCA_CAP MSR */\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n case 0xA:\n\n /* Architectural Performance Monitoring Leaf */\n\n if (kvm_enabled() && cpu->enable_pmu) {\n\n KVMState *s = cs->kvm_state;\n\n\n\n *eax = kvm_arch_get_supported_cpuid(s, 0xA, count, R_EAX);\n\n *ebx = kvm_arch_get_supported_cpuid(s, 0xA, count, R_EBX);\n\n *ecx = kvm_arch_get_supported_cpuid(s, 0xA, count, R_ECX);\n\n *edx = kvm_arch_get_supported_cpuid(s, 0xA, count, R_EDX);\n\n } else {\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n }\n\n break;\n\n case 0xB:\n\n /* Extended Topology Enumeration Leaf */\n\n if (!cpu->enable_cpuid_0xb) {\n\n *eax = *ebx = *ecx = *edx = 0;\n\n break;\n\n }\n\n\n\n *ecx = count & 0xff;\n\n *edx = cpu->apic_id;\n\n\n\n switch (count) {\n\n case 0:\n\n *eax = apicid_core_offset(cs->nr_cores, cs->nr_threads);\n\n *ebx = cs->nr_threads;\n\n *ecx |= CPUID_TOPOLOGY_LEVEL_SMT;\n\n break;\n\n case 1:\n\n *eax = apicid_pkg_offset(cs->nr_cores, cs->nr_threads);\n\n *ebx = cs->nr_cores * cs->nr_threads;\n\n *ecx |= CPUID_TOPOLOGY_LEVEL_CORE;\n\n break;\n\n default:\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx |= CPUID_TOPOLOGY_LEVEL_INVALID;\n\n }\n\n\n\n assert(!(*eax & ~0x1f));\n\n *ebx &= 0xffff; /* The count doesn't need to be reliable. */\n\n break;\n\n case 0xD: {\n\n KVMState *s = cs->kvm_state;\n\n uint64_t ena_mask;\n\n int i;\n\n\n\n /* Processor Extended State */\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n if (!(env->features[FEAT_1_ECX] & CPUID_EXT_XSAVE)) {\n\n break;\n\n }\n\n if (kvm_enabled()) {\n\n ena_mask = kvm_arch_get_supported_cpuid(s, 0xd, 0, R_EDX);\n\n ena_mask <<= 32;\n\n ena_mask |= kvm_arch_get_supported_cpuid(s, 0xd, 0, R_EAX);\n\n } else {\n\n ena_mask = -1;\n\n }\n\n\n\n if (count == 0) {\n\n *ecx = 0x240;\n\n for (i = 2; i < ARRAY_SIZE(x86_ext_save_areas); i++) {\n\n const ExtSaveArea *esa = &x86_ext_save_areas[i];\n\n if ((env->features[esa->feature] & esa->bits) == esa->bits\n\n && ((ena_mask >> i) & 1) != 0) {\n\n if (i < 32) {\n\n *eax |= 1u << i;\n\n } else {\n\n *edx |= 1u << (i - 32);\n\n }\n\n *ecx = MAX(*ecx, esa->offset + esa->size);\n\n }\n\n }\n\n *eax |= ena_mask & (XSTATE_FP_MASK | XSTATE_SSE_MASK);\n\n *ebx = *ecx;\n\n } else if (count == 1) {\n\n *eax = env->features[FEAT_XSAVE];\n\n } else if (count < ARRAY_SIZE(x86_ext_save_areas)) {\n\n const ExtSaveArea *esa = &x86_ext_save_areas[count];\n\n if ((env->features[esa->feature] & esa->bits) == esa->bits\n\n && ((ena_mask >> count) & 1) != 0) {\n\n *eax = esa->size;\n\n *ebx = esa->offset;\n\n }\n\n }\n\n break;\n\n }\n\n case 0x80000000:\n\n *eax = env->cpuid_xlevel;\n\n *ebx = env->cpuid_vendor1;\n\n *edx = env->cpuid_vendor2;\n\n *ecx = env->cpuid_vendor3;\n\n break;\n\n case 0x80000001:\n\n *eax = env->cpuid_version;\n\n *ebx = 0;\n\n *ecx = env->features[FEAT_8000_0001_ECX];\n\n *edx = env->features[FEAT_8000_0001_EDX];\n\n\n\n /* The Linux kernel checks for the CMPLegacy bit and\n\n * discards multiple thread information if it is set.\n\n * So don't set it here for Intel to make Linux guests happy.\n\n */\n\n if (cs->nr_cores * cs->nr_threads > 1) {\n\n if (env->cpuid_vendor1 != CPUID_VENDOR_INTEL_1 ||\n\n env->cpuid_vendor2 != CPUID_VENDOR_INTEL_2 ||\n\n env->cpuid_vendor3 != CPUID_VENDOR_INTEL_3) {\n\n *ecx |= 1 << 1; /* CmpLegacy bit */\n\n }\n\n }\n\n break;\n\n case 0x80000002:\n\n case 0x80000003:\n\n case 0x80000004:\n\n *eax = env->cpuid_model[(index - 0x80000002) * 4 + 0];\n\n *ebx = env->cpuid_model[(index - 0x80000002) * 4 + 1];\n\n *ecx = env->cpuid_model[(index - 0x80000002) * 4 + 2];\n\n *edx = env->cpuid_model[(index - 0x80000002) * 4 + 3];\n\n break;\n\n case 0x80000005:\n\n /* cache info (L1 cache) */\n\n if (cpu->cache_info_passthrough) {\n\n host_cpuid(index, 0, eax, ebx, ecx, edx);\n\n break;\n\n }\n\n *eax = (L1_DTLB_2M_ASSOC << 24) | (L1_DTLB_2M_ENTRIES << 16) | \\\n\n (L1_ITLB_2M_ASSOC << 8) | (L1_ITLB_2M_ENTRIES);\n\n *ebx = (L1_DTLB_4K_ASSOC << 24) | (L1_DTLB_4K_ENTRIES << 16) | \\\n\n (L1_ITLB_4K_ASSOC << 8) | (L1_ITLB_4K_ENTRIES);\n\n *ecx = (L1D_SIZE_KB_AMD << 24) | (L1D_ASSOCIATIVITY_AMD << 16) | \\\n\n (L1D_LINES_PER_TAG << 8) | (L1D_LINE_SIZE);\n\n *edx = (L1I_SIZE_KB_AMD << 24) | (L1I_ASSOCIATIVITY_AMD << 16) | \\\n\n (L1I_LINES_PER_TAG << 8) | (L1I_LINE_SIZE);\n\n break;\n\n case 0x80000006:\n\n /* cache info (L2 cache) */\n\n if (cpu->cache_info_passthrough) {\n\n host_cpuid(index, 0, eax, ebx, ecx, edx);\n\n break;\n\n }\n\n *eax = (AMD_ENC_ASSOC(L2_DTLB_2M_ASSOC) << 28) | \\\n\n (L2_DTLB_2M_ENTRIES << 16) | \\\n\n (AMD_ENC_ASSOC(L2_ITLB_2M_ASSOC) << 12) | \\\n\n (L2_ITLB_2M_ENTRIES);\n\n *ebx = (AMD_ENC_ASSOC(L2_DTLB_4K_ASSOC) << 28) | \\\n\n (L2_DTLB_4K_ENTRIES << 16) | \\\n\n (AMD_ENC_ASSOC(L2_ITLB_4K_ASSOC) << 12) | \\\n\n (L2_ITLB_4K_ENTRIES);\n\n *ecx = (L2_SIZE_KB_AMD << 16) | \\\n\n (AMD_ENC_ASSOC(L2_ASSOCIATIVITY) << 12) | \\\n\n (L2_LINES_PER_TAG << 8) | (L2_LINE_SIZE);\n\n if (!cpu->enable_l3_cache) {\n\n *edx = ((L3_SIZE_KB / 512) << 18) | \\\n\n (AMD_ENC_ASSOC(L3_ASSOCIATIVITY) << 12) | \\\n\n (L3_LINES_PER_TAG << 8) | (L3_LINE_SIZE);\n\n } else {\n\n *edx = ((L3_N_SIZE_KB_AMD / 512) << 18) | \\\n\n (AMD_ENC_ASSOC(L3_N_ASSOCIATIVITY) << 12) | \\\n\n (L3_N_LINES_PER_TAG << 8) | (L3_N_LINE_SIZE);\n\n }\n\n break;\n\n case 0x80000007:\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = env->features[FEAT_8000_0007_EDX];\n\n break;\n\n case 0x80000008:\n\n /* virtual & phys address size in low 2 bytes. */\n\n if (env->features[FEAT_8000_0001_EDX] & CPUID_EXT2_LM) {\n\n /* 64 bit processor, 48 bits virtual, configurable\n\n * physical bits.\n\n */\n\n *eax = 0x00003000 + cpu->phys_bits;\n\n } else {\n\n *eax = cpu->phys_bits;\n\n }\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n if (cs->nr_cores * cs->nr_threads > 1) {\n\n *ecx |= (cs->nr_cores * cs->nr_threads) - 1;\n\n }\n\n break;\n\n case 0x8000000A:\n\n if (env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_SVM) {\n\n *eax = 0x00000001; /* SVM Revision */\n\n *ebx = 0x00000010; /* nr of ASIDs */\n\n *ecx = 0;\n\n *edx = env->features[FEAT_SVM]; /* optional features */\n\n } else {\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n }\n\n break;\n\n case 0xC0000000:\n\n *eax = env->cpuid_xlevel2;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n case 0xC0000001:\n\n /* Support for VIA CPU's CPUID instruction */\n\n *eax = env->cpuid_version;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = env->features[FEAT_C000_0001_EDX];\n\n break;\n\n case 0xC0000002:\n\n case 0xC0000003:\n\n case 0xC0000004:\n\n /* Reserved for the future, and now filled with zero */\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n default:\n\n /* reserved values: zero */\n\n *eax = 0;\n\n *ebx = 0;\n\n *ecx = 0;\n\n *edx = 0;\n\n break;\n\n }\n\n}\n", "idx": 7109}685{"project": "FFmpeg", "commit_id": "f929ab0569ff31ed5a59b0b0adb7ce09df3fca39", "target": 0, "func": "static void prepare_app_arguments(int *argc_ptr, char ***argv_ptr)\n\n{\n\n char *argstr_flat;\n\n wchar_t **argv_w;\n\n int i, buffsize = 0, offset = 0;\n\n\n\n if (win32_argv_utf8) {\n\n *argc_ptr = win32_argc;\n\n *argv_ptr = win32_argv_utf8;\n\n return;\n\n }\n\n\n\n win32_argc = 0;\n\n argv_w = CommandLineToArgvW(GetCommandLineW(), &win32_argc);\n\n if (win32_argc <= 0 || !argv_w)\n\n return;\n\n\n\n /* determine the UTF-8 buffer size (including NULL-termination symbols) */\n\n for (i = 0; i < win32_argc; i++)\n\n buffsize += WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1,\n\n NULL, 0, NULL, NULL);\n\n\n\n win32_argv_utf8 = av_mallocz(sizeof(char *) * (win32_argc + 1) + buffsize);\n\n argstr_flat = (char *)win32_argv_utf8 + sizeof(char *) * (win32_argc + 1);\n\n if (win32_argv_utf8 == NULL) {\n\n LocalFree(argv_w);\n\n return;\n\n }\n\n\n\n for (i = 0; i < win32_argc; i++) {\n\n win32_argv_utf8[i] = &argstr_flat[offset];\n\n offset += WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1,\n\n &argstr_flat[offset],\n\n buffsize - offset, NULL, NULL);\n\n }\n\n win32_argv_utf8[i] = NULL;\n\n LocalFree(argv_w);\n\n\n\n *argc_ptr = win32_argc;\n\n *argv_ptr = win32_argv_utf8;\n\n}\n", "idx": 7111}686{"project": "qemu", "commit_id": "a7812ae412311d7d47f8aa85656faadac9d64b56", "target": 0, "func": "static inline void gen_neon_addl_saturate(TCGv op0, TCGv op1, int size)\n\n{\n\n switch (size) {\n\n case 1: gen_helper_neon_addl_saturate_s32(op0, cpu_env, op0, op1); break;\n\n case 2: gen_helper_neon_addl_saturate_s64(op0, cpu_env, op0, op1); break;\n\n default: abort();\n\n }\n\n}\n", "idx": 7119}687{"project": "FFmpeg", "commit_id": "2f996b8397ee0e646a824f3dfcbd291a114af348", "target": 0, "func": "int MP3lame_encode_frame(AVCodecContext *avctx,\n\n unsigned char *frame, int buf_size, void *data)\n\n{\n\n\tMp3AudioContext *s = avctx->priv_data;\n\n\tint num, i;\n\n//av_log(avctx, AV_LOG_DEBUG, \"%X %d %X\\n\", (int)frame, buf_size, (int)data);\n\n// if(data==NULL)\n\n// return lame_encode_flush(s->gfp, frame, buf_size);\n\n\n\n\t/* lame 3.91 dies on '1-channel interleaved' data */\n\n\tif (s->stereo) {\n\n\t\tnum = lame_encode_buffer_interleaved(s->gfp, data,\n\n\t\t\tMPA_FRAME_SIZE, frame, buf_size);\n\n\t} else {\n\n\t\tnum = lame_encode_buffer(s->gfp, data, data, MPA_FRAME_SIZE,\n\n\t\t\tframe, buf_size);\n\n\n\n/*av_log(avctx, AV_LOG_DEBUG, \"in:%d out:%d\\n\", MPA_FRAME_SIZE, num);\n\nfor(i=0; i<num; i++){\n\n av_log(avctx, AV_LOG_DEBUG, \"%2X \", frame[i]);\n\n}*/\n\n\t}\n\n\n\n\treturn num;\n\n}\n", "idx": 7122}688{"project": "qemu", "commit_id": "53628efbc8aa7a7ab5354d24b971f4d69452151d", "target": 1, "func": "int qemu_chr_fe_read_all(CharDriverState *s, uint8_t *buf, int len)\n\n{\n\n int offset = 0, counter = 10;\n\n int res;\n\n\n\n if (!s->chr_sync_read) {\n\n return 0;\n\n }\n\n \n\n if (s->replay && replay_mode == REPLAY_MODE_PLAY) {\n\n return replay_char_read_all_load(buf);\n\n }\n\n\n\n while (offset < len) {\n\n do {\n\n res = s->chr_sync_read(s, buf + offset, len - offset);\n\n if (res == -1 && errno == EAGAIN) {\n\n g_usleep(100);\n\n }\n\n } while (res == -1 && errno == EAGAIN);\n\n\n\n if (res == 0) {\n\n break;\n\n }\n\n\n\n if (res < 0) {\n\n if (s->replay && replay_mode == REPLAY_MODE_RECORD) {\n\n replay_char_read_all_save_error(res);\n\n }\n\n return res;\n\n }\n\n\n\n offset += res;\n\n\n\n if (!counter--) {\n\n break;\n\n }\n\n }\n\n\n\n if (s->replay && replay_mode == REPLAY_MODE_RECORD) {\n\n replay_char_read_all_save_buf(buf, offset);\n\n }\n\n return offset;\n\n}\n", "idx": 7125}689{"project": "FFmpeg", "commit_id": "bf2bc926f04dcdde0a22c137d08a0bb546e0179e", "target": 1, "func": "static int decode_b_picture_secondary_header(VC9Context *v)\n\n{\n\n GetBitContext *gb = &v->s.gb;\n\n int status;\n\n\n\n bitplane_decoding(&v->skip_mb_plane, v);\n\n if (status < 0) return -1;\n\n#if TRACE\n\n if (v->mv_mode == MV_PMODE_MIXED_MV)\n\n {\n\n status = bitplane_decoding(&v->mv_type_mb_plane, v);\n\n if (status < 0)\n\n return -1;\n\n#if TRACE\n\n av_log(v->s.avctx, AV_LOG_DEBUG, \"MB MV Type plane encoding: \"\n\n \"Imode: %i, Invert: %i\\n\", status>>1, status&1);\n\n#endif\n\n }\n\n\n\n //bitplane\n\n status = bitplane_decoding(&v->direct_mb_plane, v);\n\n if (status < 0) return -1;\n\n#if TRACE\n\n av_log(v->s.avctx, AV_LOG_DEBUG, \"MB Direct plane encoding: \"\n\n \"Imode: %i, Invert: %i\\n\", status>>1, status&1);\n\n#endif\n\n\n\n av_log(v->s.avctx, AV_LOG_DEBUG, \"Skip MB plane encoding: \"\n\n \"Imode: %i, Invert: %i\\n\", status>>1, status&1);\n\n#endif\n\n\n\n /* FIXME: what is actually chosen for B frames ? */\n\n v->s.mv_table_index = get_bits(gb, 2); //but using vc9_ tables\n\n v->cbpcy_vlc = &vc9_cbpcy_p_vlc[get_bits(gb, 2)];\n\n\n\n if (v->dquant)\n\n {\n\n vop_dquant_decoding(v);\n\n }\n\n\n\n if (v->vstransform)\n\n {\n\n v->ttmbf = get_bits(gb, 1);\n\n if (v->ttmbf)\n\n {\n\n v->ttfrm = get_bits(gb, 2);\n\n av_log(v->s.avctx, AV_LOG_INFO, \"Transform used: %ix%i\\n\",\n\n (v->ttfrm & 2) ? 4 : 8, (v->ttfrm & 1) ? 4 : 8);\n\n }\n\n }\n\n /* Epilog (AC/DC syntax) should be done in caller */\n\n return 0;\n\n}\n", "idx": 7130}690{"project": "FFmpeg", "commit_id": "0efb6106118c17308b3fdc3190f5e5bf84b01d5c", "target": 1, "func": "static int mxf_get_stream_index(AVFormatContext *s, KLVPacket *klv)\n\n{\n\n int i;\n\n\n\n for (i = 0; i < s->nb_streams; i++) {\n\n MXFTrack *track = s->streams[i]->priv_data;\n\n /* SMPTE 379M 7.3 */\n\n if (!memcmp(klv->key + sizeof(mxf_essence_element_key), track->track_number, sizeof(track->track_number)))\n\n return i;\n\n }\n\n /* return 0 if only one stream, for OP Atom files with 0 as track number */\n\n return s->nb_streams == 1 ? 0 : -1;\n\n}\n", "idx": 7150}691{"project": "FFmpeg", "commit_id": "f6774f905fb3cfdc319523ac640be30b14c1bc55", "target": 1, "func": "static void vc1_mc_1mv(VC1Context *v, int dir)\n\n{\n\n MpegEncContext *s = &v->s;\n\n H264ChromaContext *h264chroma = &v->h264chroma;\n\n uint8_t *srcY, *srcU, *srcV;\n\n int dxy, mx, my, uvmx, uvmy, src_x, src_y, uvsrc_x, uvsrc_y;\n\n int v_edge_pos = s->v_edge_pos >> v->field_mode;\n\n int i;\n\n uint8_t (*luty)[256], (*lutuv)[256];\n\n int use_ic;\n\n\n\n if ((!v->field_mode ||\n\n (v->ref_field_type[dir] == 1 && v->cur_field_type == 1)) &&\n\n !v->s.last_picture.f.data[0])\n\n return;\n\n\n\n mx = s->mv[dir][0][0];\n\n my = s->mv[dir][0][1];\n\n\n\n // store motion vectors for further use in B frames\n\n if (s->pict_type == AV_PICTURE_TYPE_P) {\n\n for (i = 0; i < 4; i++) {\n\n s->current_picture.motion_val[1][s->block_index[i] + v->blocks_off][0] = mx;\n\n s->current_picture.motion_val[1][s->block_index[i] + v->blocks_off][1] = my;\n\n }\n\n }\n\n\n\n uvmx = (mx + ((mx & 3) == 3)) >> 1;\n\n uvmy = (my + ((my & 3) == 3)) >> 1;\n\n v->luma_mv[s->mb_x][0] = uvmx;\n\n v->luma_mv[s->mb_x][1] = uvmy;\n\n\n\n if (v->field_mode &&\n\n v->cur_field_type != v->ref_field_type[dir]) {\n\n my = my - 2 + 4 * v->cur_field_type;\n\n uvmy = uvmy - 2 + 4 * v->cur_field_type;\n\n }\n\n\n\n // fastuvmc shall be ignored for interlaced frame picture\n\n if (v->fastuvmc && (v->fcm != ILACE_FRAME)) {\n\n uvmx = uvmx + ((uvmx < 0) ? (uvmx & 1) : -(uvmx & 1));\n\n uvmy = uvmy + ((uvmy < 0) ? (uvmy & 1) : -(uvmy & 1));\n\n }\n\n if (!dir) {\n\n if (v->field_mode && (v->cur_field_type != v->ref_field_type[dir]) && v->second_field) {\n\n srcY = s->current_picture.f.data[0];\n\n srcU = s->current_picture.f.data[1];\n\n srcV = s->current_picture.f.data[2];\n\n luty = v->curr_luty;\n\n lutuv = v->curr_lutuv;\n\n use_ic = v->curr_use_ic;\n\n } else {\n\n srcY = s->last_picture.f.data[0];\n\n srcU = s->last_picture.f.data[1];\n\n srcV = s->last_picture.f.data[2];\n\n luty = v->last_luty;\n\n lutuv = v->last_lutuv;\n\n use_ic = v->last_use_ic;\n\n }\n\n } else {\n\n srcY = s->next_picture.f.data[0];\n\n srcU = s->next_picture.f.data[1];\n\n srcV = s->next_picture.f.data[2];\n\n luty = v->next_luty;\n\n lutuv = v->next_lutuv;\n\n use_ic = v->next_use_ic;\n\n }\n\n\n\n if (!srcY || !srcU) {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Referenced frame missing.\\n\");\n\n return;\n\n }\n\n\n\n src_x = s->mb_x * 16 + (mx >> 2);\n\n src_y = s->mb_y * 16 + (my >> 2);\n\n uvsrc_x = s->mb_x * 8 + (uvmx >> 2);\n\n uvsrc_y = s->mb_y * 8 + (uvmy >> 2);\n\n\n\n if (v->profile != PROFILE_ADVANCED) {\n\n src_x = av_clip( src_x, -16, s->mb_width * 16);\n\n src_y = av_clip( src_y, -16, s->mb_height * 16);\n\n uvsrc_x = av_clip(uvsrc_x, -8, s->mb_width * 8);\n\n uvsrc_y = av_clip(uvsrc_y, -8, s->mb_height * 8);\n\n } else {\n\n src_x = av_clip( src_x, -17, s->avctx->coded_width);\n\n src_y = av_clip( src_y, -18, s->avctx->coded_height + 1);\n\n uvsrc_x = av_clip(uvsrc_x, -8, s->avctx->coded_width >> 1);\n\n uvsrc_y = av_clip(uvsrc_y, -8, s->avctx->coded_height >> 1);\n\n }\n\n\n\n srcY += src_y * s->linesize + src_x;\n\n srcU += uvsrc_y * s->uvlinesize + uvsrc_x;\n\n srcV += uvsrc_y * s->uvlinesize + uvsrc_x;\n\n\n\n if (v->field_mode && v->ref_field_type[dir]) {\n\n srcY += s->current_picture_ptr->f.linesize[0];\n\n srcU += s->current_picture_ptr->f.linesize[1];\n\n srcV += s->current_picture_ptr->f.linesize[2];\n\n }\n\n\n\n /* for grayscale we should not try to read from unknown area */\n\n if (s->flags & CODEC_FLAG_GRAY) {\n\n srcU = s->edge_emu_buffer + 18 * s->linesize;\n\n srcV = s->edge_emu_buffer + 18 * s->linesize;\n\n }\n\n\n\n if (v->rangeredfrm || use_ic\n\n || s->h_edge_pos < 22 || v_edge_pos < 22\n\n || (unsigned)(src_x - s->mspel) > s->h_edge_pos - (mx&3) - 16 - s->mspel * 3\n\n || (unsigned)(src_y - 1) > v_edge_pos - (my&3) - 16 - 3) {\n\n uint8_t *uvbuf = s->edge_emu_buffer + 19 * s->linesize;\n\n\n\n srcY -= s->mspel * (1 + s->linesize);\n\n s->vdsp.emulated_edge_mc(s->edge_emu_buffer, srcY,\n\n s->linesize, s->linesize,\n\n 17 + s->mspel * 2, 17 + s->mspel * 2,\n\n src_x - s->mspel, src_y - s->mspel,\n\n s->h_edge_pos, v_edge_pos);\n\n srcY = s->edge_emu_buffer;\n\n s->vdsp.emulated_edge_mc(uvbuf, srcU,\n\n s->uvlinesize, s->uvlinesize,\n\n 8 + 1, 8 + 1,\n\n uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, v_edge_pos >> 1);\n\n s->vdsp.emulated_edge_mc(uvbuf + 16, srcV,\n\n s->uvlinesize, s->uvlinesize,\n\n 8 + 1, 8 + 1,\n\n uvsrc_x, uvsrc_y, s->h_edge_pos >> 1, v_edge_pos >> 1);\n\n srcU = uvbuf;\n\n srcV = uvbuf + 16;\n\n /* if we deal with range reduction we need to scale source blocks */\n\n if (v->rangeredfrm) {\n\n int i, j;\n\n uint8_t *src, *src2;\n\n\n\n src = srcY;\n\n for (j = 0; j < 17 + s->mspel * 2; j++) {\n\n for (i = 0; i < 17 + s->mspel * 2; i++)\n\n src[i] = ((src[i] - 128) >> 1) + 128;\n\n src += s->linesize;\n\n }\n\n src = srcU;\n\n src2 = srcV;\n\n for (j = 0; j < 9; j++) {\n\n for (i = 0; i < 9; i++) {\n\n src[i] = ((src[i] - 128) >> 1) + 128;\n\n src2[i] = ((src2[i] - 128) >> 1) + 128;\n\n }\n\n src += s->uvlinesize;\n\n src2 += s->uvlinesize;\n\n }\n\n }\n\n /* if we deal with intensity compensation we need to scale source blocks */\n\n if (use_ic) {\n\n int i, j;\n\n uint8_t *src, *src2;\n\n\n\n src = srcY;\n\n for (j = 0; j < 17 + s->mspel * 2; j++) {\n\n int f = v->field_mode ? v->ref_field_type[dir] : ((j + src_y - s->mspel) & 1) ;\n\n for (i = 0; i < 17 + s->mspel * 2; i++)\n\n src[i] = luty[f][src[i]];\n\n src += s->linesize;\n\n }\n\n src = srcU;\n\n src2 = srcV;\n\n for (j = 0; j < 9; j++) {\n\n int f = v->field_mode ? v->ref_field_type[dir] : ((j + uvsrc_y) & 1);\n\n for (i = 0; i < 9; i++) {\n\n src[i] = lutuv[f][src[i]];\n\n src2[i] = lutuv[f][src2[i]];\n\n }\n\n src += s->uvlinesize;\n\n src2 += s->uvlinesize;\n\n }\n\n }\n\n srcY += s->mspel * (1 + s->linesize);\n\n }\n\n\n\n if (s->mspel) {\n\n dxy = ((my & 3) << 2) | (mx & 3);\n\n v->vc1dsp.put_vc1_mspel_pixels_tab[dxy](s->dest[0] , srcY , s->linesize, v->rnd);\n\n v->vc1dsp.put_vc1_mspel_pixels_tab[dxy](s->dest[0] + 8, srcY + 8, s->linesize, v->rnd);\n\n srcY += s->linesize * 8;\n\n v->vc1dsp.put_vc1_mspel_pixels_tab[dxy](s->dest[0] + 8 * s->linesize , srcY , s->linesize, v->rnd);\n\n v->vc1dsp.put_vc1_mspel_pixels_tab[dxy](s->dest[0] + 8 * s->linesize + 8, srcY + 8, s->linesize, v->rnd);\n\n } else { // hpel mc - always used for luma\n\n dxy = (my & 2) | ((mx & 2) >> 1);\n\n if (!v->rnd)\n\n s->hdsp.put_pixels_tab[0][dxy](s->dest[0], srcY, s->linesize, 16);\n\n else\n\n s->hdsp.put_no_rnd_pixels_tab[0][dxy](s->dest[0], srcY, s->linesize, 16);\n\n }\n\n\n\n if (s->flags & CODEC_FLAG_GRAY) return;\n\n /* Chroma MC always uses qpel bilinear */\n\n uvmx = (uvmx & 3) << 1;\n\n uvmy = (uvmy & 3) << 1;\n\n if (!v->rnd) {\n\n h264chroma->put_h264_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);\n\n h264chroma->put_h264_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);\n\n } else {\n\n v->vc1dsp.put_no_rnd_vc1_chroma_pixels_tab[0](s->dest[1], srcU, s->uvlinesize, 8, uvmx, uvmy);\n\n v->vc1dsp.put_no_rnd_vc1_chroma_pixels_tab[0](s->dest[2], srcV, s->uvlinesize, 8, uvmx, uvmy);\n\n }\n\n}\n", "idx": 7168}692{"project": "FFmpeg", "commit_id": "7f526efd17973ec6d2204f7a47b6923e2be31363", "target": 1, "func": "static inline void RENAME(yuy2ToUV)(uint8_t *dstU, uint8_t *dstV, uint8_t *src1, uint8_t *src2, int width)\n\n{\n\n#if defined (HAVE_MMX2) || defined (HAVE_3DNOW)\n\n\tasm volatile(\n\n\t\t\"movq \"MANGLE(bm01010101)\", %%mm4\\n\\t\"\n\n\t\t\"mov %0, %%\"REG_a\"\t\t\\n\\t\"\n\n\t\t\"1:\t\t\t\t\\n\\t\"\n\n\t\t\"movq (%1, %%\"REG_a\",4), %%mm0\t\\n\\t\"\n\n\t\t\"movq 8(%1, %%\"REG_a\",4), %%mm1\t\\n\\t\"\n\n\t\t\"movq (%2, %%\"REG_a\",4), %%mm2\t\\n\\t\"\n\n\t\t\"movq 8(%2, %%\"REG_a\",4), %%mm3\t\\n\\t\"\n\n\t\tPAVGB(%%mm2, %%mm0)\n\n\t\tPAVGB(%%mm3, %%mm1)\n\n\t\t\"psrlw $8, %%mm0\t\t\\n\\t\"\n\n\t\t\"psrlw $8, %%mm1\t\t\\n\\t\"\n\n\t\t\"packuswb %%mm1, %%mm0\t\t\\n\\t\"\n\n\t\t\"movq %%mm0, %%mm1\t\t\\n\\t\"\n\n\t\t\"psrlw $8, %%mm0\t\t\\n\\t\"\n\n\t\t\"pand %%mm4, %%mm1\t\t\\n\\t\"\n\n\t\t\"packuswb %%mm0, %%mm0\t\t\\n\\t\"\n\n\t\t\"packuswb %%mm1, %%mm1\t\t\\n\\t\"\n\n\t\t\"movd %%mm0, (%4, %%\"REG_a\")\t\\n\\t\"\n\n\t\t\"movd %%mm1, (%3, %%\"REG_a\")\t\\n\\t\"\n\n\t\t\"add $4, %%\"REG_a\"\t\t\\n\\t\"\n\n\t\t\" js 1b\t\t\t\t\\n\\t\"\n\n\t\t: : \"g\" ((long)-width), \"r\" (src1+width*4), \"r\" (src2+width*4), \"r\" (dstU+width), \"r\" (dstV+width)\n\n\t\t: \"%\"REG_a\n\n\t);\n\n#else\n\n\tint i;\n\n\tfor(i=0; i<width; i++)\n\n\t{\n\n\t\tdstU[i]= (src1[4*i + 1] + src2[4*i + 1])>>1;\n\n\t\tdstV[i]= (src1[4*i + 3] + src2[4*i + 3])>>1;\n\n\t}\n\n#endif\n\n}\n", "idx": 7174}693{"project": "FFmpeg", "commit_id": "ba15aab4a4a296c632bd8d3428b002055109c7d1", "target": 0, "func": "static int mtv_read_header(AVFormatContext *s)\n\n{\n\n MTVDemuxContext *mtv = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n AVStream *st;\n\n unsigned int audio_subsegments;\n\n\n\n avio_skip(pb, 3);\n\n mtv->file_size = avio_rl32(pb);\n\n mtv->segments = avio_rl32(pb);\n\n avio_skip(pb, 32);\n\n mtv->audio_identifier = avio_rl24(pb);\n\n mtv->audio_br = avio_rl16(pb);\n\n mtv->img_colorfmt = avio_rl24(pb);\n\n mtv->img_bpp = avio_r8(pb);\n\n mtv->img_width = avio_rl16(pb);\n\n mtv->img_height = avio_rl16(pb);\n\n mtv->img_segment_size = avio_rl16(pb);\n\n\n\n /* Calculate width and height if missing from header */\n\n\n\n if(mtv->img_bpp>>3){\n\n if(!mtv->img_width && mtv->img_height)\n\n mtv->img_width=mtv->img_segment_size / (mtv->img_bpp>>3)\n\n / mtv->img_height;\n\n\n\n if(!mtv->img_height && mtv->img_width)\n\n mtv->img_height=mtv->img_segment_size / (mtv->img_bpp>>3)\n\n / mtv->img_width;\n\n }\n\n if(!mtv->img_height || !mtv->img_width || !mtv->img_segment_size){\n\n av_log(s, AV_LOG_ERROR, \"width or height or segment_size is invalid and I cannot calculate them from other information\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n avio_skip(pb, 4);\n\n audio_subsegments = avio_rl16(pb);\n\n\n\n if (audio_subsegments == 0) {\n\n avpriv_request_sample(s, \"MTV files without audio\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n mtv->full_segment_size =\n\n audio_subsegments * (MTV_AUDIO_PADDING_SIZE + MTV_ASUBCHUNK_DATA_SIZE) +\n\n mtv->img_segment_size;\n\n mtv->video_fps = (mtv->audio_br / 4) / audio_subsegments;\n\n\n\n // FIXME Add sanity check here\n\n\n\n // all systems go! init decoders\n\n\n\n // video - raw rgb565\n\n\n\n st = avformat_new_stream(s, NULL);\n\n if(!st)\n\n return AVERROR(ENOMEM);\n\n\n\n avpriv_set_pts_info(st, 64, 1, mtv->video_fps);\n\n st->codec->codec_type = AVMEDIA_TYPE_VIDEO;\n\n st->codec->codec_id = AV_CODEC_ID_RAWVIDEO;\n\n st->codec->pix_fmt = AV_PIX_FMT_RGB565BE;\n\n st->codec->width = mtv->img_width;\n\n st->codec->height = mtv->img_height;\n\n st->codec->sample_rate = mtv->video_fps;\n\n st->codec->extradata = av_strdup(\"BottomUp\");\n\n st->codec->extradata_size = 9;\n\n\n\n // audio - mp3\n\n\n\n st = avformat_new_stream(s, NULL);\n\n if(!st)\n\n return AVERROR(ENOMEM);\n\n\n\n avpriv_set_pts_info(st, 64, 1, AUDIO_SAMPLING_RATE);\n\n st->codec->codec_type = AVMEDIA_TYPE_AUDIO;\n\n st->codec->codec_id = AV_CODEC_ID_MP3;\n\n st->codec->bit_rate = mtv->audio_br;\n\n st->need_parsing = AVSTREAM_PARSE_FULL;\n\n\n\n // Jump over header\n\n\n\n if(avio_seek(pb, MTV_HEADER_SIZE, SEEK_SET) != MTV_HEADER_SIZE)\n\n return AVERROR(EIO);\n\n\n\n return 0;\n\n\n\n}\n", "idx": 7177}694{"project": "qemu", "commit_id": "a890643958f03aaa344290700093b280cb606c28", "target": 1, "func": "static bool qht_insert__locked(struct qht *ht, struct qht_map *map,\n\n struct qht_bucket *head, void *p, uint32_t hash,\n\n bool *needs_resize)\n\n{\n\n struct qht_bucket *b = head;\n\n struct qht_bucket *prev = NULL;\n\n struct qht_bucket *new = NULL;\n\n int i;\n\n\n\n do {\n\n for (i = 0; i < QHT_BUCKET_ENTRIES; i++) {\n\n if (b->pointers[i]) {\n\n if (unlikely(b->pointers[i] == p)) {\n\n return false;\n\n }\n\n } else {\n\n goto found;\n\n }\n\n }\n\n prev = b;\n\n b = b->next;\n\n } while (b);\n\n\n\n b = qemu_memalign(QHT_BUCKET_ALIGN, sizeof(*b));\n\n memset(b, 0, sizeof(*b));\n\n new = b;\n\n i = 0;\n\n atomic_inc(&map->n_added_buckets);\n\n if (unlikely(qht_map_needs_resize(map)) && needs_resize) {\n\n *needs_resize = true;\n\n }\n\n\n\n found:\n\n /* found an empty key: acquire the seqlock and write */\n\n seqlock_write_begin(&head->sequence);\n\n if (new) {\n\n atomic_rcu_set(&prev->next, b);\n\n }\n\n b->hashes[i] = hash;\n\n /* smp_wmb() implicit in seqlock_write_begin. */\n\n atomic_set(&b->pointers[i], p);\n\n seqlock_write_end(&head->sequence);\n\n return true;\n\n}\n", "idx": 7191}695{"project": "FFmpeg", "commit_id": "6e1b1a27a4034c578018d5042b3c8228278c4cd6", "target": 1, "func": "static int copy_packet_data(AVPacket *pkt, AVPacket *src, int dup)\n\n{\n\n pkt->data = NULL;\n\n pkt->side_data = NULL;\n\n if (pkt->buf) {\n\n AVBufferRef *ref = av_buffer_ref(src->buf);\n\n if (!ref)\n\n return AVERROR(ENOMEM);\n\n pkt->buf = ref;\n\n pkt->data = ref->data;\n\n } else {\n\n DUP_DATA(pkt->data, src->data, pkt->size, 1, ALLOC_BUF);\n\n }\n\n#if FF_API_DESTRUCT_PACKET\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n pkt->destruct = dummy_destruct_packet;\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n if (pkt->side_data_elems && dup)\n\n pkt->side_data = src->side_data;\n\n if (pkt->side_data_elems && !dup) {\n\n return av_copy_packet_side_data(pkt, src);\n\n }\n\n return 0;\n\n\n\nfailed_alloc:\n\n av_destruct_packet(pkt);\n\n return AVERROR(ENOMEM);\n\n}\n", "idx": 7204}696{"project": "qemu", "commit_id": "aa8f057e74ae08014736a690ff41f76c756f75f1", "target": 0, "func": "static void virtio_crypto_instance_init(Object *obj)\n\n{\n\n VirtIOCrypto *vcrypto = VIRTIO_CRYPTO(obj);\n\n\n\n /*\n\n * The default config_size is sizeof(struct virtio_crypto_config).\n\n * Can be overriden with virtio_crypto_set_config_size.\n\n */\n\n vcrypto->config_size = sizeof(struct virtio_crypto_config);\n\n\n\n object_property_add_link(obj, \"cryptodev\",\n\n TYPE_CRYPTODEV_BACKEND,\n\n (Object **)&vcrypto->conf.cryptodev,\n\n virtio_crypto_check_cryptodev_is_used,\n\n OBJ_PROP_LINK_UNREF_ON_RELEASE, NULL);\n\n}\n", "idx": 7213}697{"project": "qemu", "commit_id": "d4c430a80f000d722bb70287af4d4c184a8d7006", "target": 0, "func": "int cpu_sh4_handle_mmu_fault(CPUState * env, target_ulong address, int rw,\n\n\t\t\t int mmu_idx, int is_softmmu)\n\n{\n\n target_ulong physical;\n\n int prot, ret, access_type;\n\n\n\n access_type = ACCESS_INT;\n\n ret =\n\n\tget_physical_address(env, &physical, &prot, address, rw,\n\n\t\t\t access_type);\n\n\n\n if (ret != MMU_OK) {\n\n\tenv->tea = address;\n\n\tswitch (ret) {\n\n\tcase MMU_ITLB_MISS:\n\n\tcase MMU_DTLB_MISS_READ:\n\n\t env->exception_index = 0x040;\n\n\t break;\n\n\tcase MMU_DTLB_MULTIPLE:\n\n\tcase MMU_ITLB_MULTIPLE:\n\n\t env->exception_index = 0x140;\n\n\t break;\n\n\tcase MMU_ITLB_VIOLATION:\n\n\t env->exception_index = 0x0a0;\n\n\t break;\n\n\tcase MMU_DTLB_MISS_WRITE:\n\n\t env->exception_index = 0x060;\n\n\t break;\n\n\tcase MMU_DTLB_INITIAL_WRITE:\n\n\t env->exception_index = 0x080;\n\n\t break;\n\n\tcase MMU_DTLB_VIOLATION_READ:\n\n\t env->exception_index = 0x0a0;\n\n\t break;\n\n\tcase MMU_DTLB_VIOLATION_WRITE:\n\n\t env->exception_index = 0x0c0;\n\n\t break;\n\n\tcase MMU_IADDR_ERROR:\n\n\tcase MMU_DADDR_ERROR_READ:\n\n\t env->exception_index = 0x0c0;\n\n\t break;\n\n\tcase MMU_DADDR_ERROR_WRITE:\n\n\t env->exception_index = 0x100;\n\n\t break;\n\n\tdefault:\n\n\t assert(0);\n\n\t}\n\n\treturn 1;\n\n }\n\n\n\n address &= TARGET_PAGE_MASK;\n\n physical &= TARGET_PAGE_MASK;\n\n\n\n return tlb_set_page(env, address, physical, prot, mmu_idx, is_softmmu);\n\n}\n", "idx": 7222}698{"project": "qemu", "commit_id": "40dfc16f5fe0afb66f9436718781264dfadb6c61", "target": 1, "func": "static int virtio_blk_device_exit(DeviceState *dev)\n\n{\n\n VirtIODevice *vdev = VIRTIO_DEVICE(dev);\n\n VirtIOBlock *s = VIRTIO_BLK(dev);\n\n#ifdef CONFIG_VIRTIO_BLK_DATA_PLANE\n\n remove_migration_state_change_notifier(&s->migration_state_notifier);\n\n virtio_blk_data_plane_destroy(s->dataplane);\n\n s->dataplane = NULL;\n\n#endif\n\n qemu_del_vm_change_state_handler(s->change);\n\n unregister_savevm(dev, \"virtio-blk\", s);\n\n blockdev_mark_auto_del(s->bs);\n\n virtio_cleanup(vdev);\n\n return 0;\n\n}\n", "idx": 7243}699{"project": "qemu", "commit_id": "0479097859372a760843ad1b9c6ed3705c6423ca", "target": 1, "func": "static void pc_dimm_get_size(Object *obj, Visitor *v, const char *name,\n\n void *opaque, Error **errp)\n\n{\n\n uint64_t value;\n\n MemoryRegion *mr;\n\n PCDIMMDevice *dimm = PC_DIMM(obj);\n\n PCDIMMDeviceClass *ddc = PC_DIMM_GET_CLASS(obj);\n\n\n\n mr = ddc->get_memory_region(dimm);\n\n value = memory_region_size(mr);\n\n\n\n visit_type_uint64(v, name, &value, errp);\n\n}\n", "idx": 7267}700{"project": "qemu", "commit_id": "821303f59b63ab832f0921f070db55e95bb21858", "target": 1, "func": "target_ulong spapr_rtas_call(sPAPREnvironment *spapr,\n uint32_t token, uint32_t nargs, target_ulong args,\n uint32_t nret, target_ulong rets)\n{\n if ((token >= TOKEN_BASE)\n && ((token - TOKEN_BASE) < TOKEN_MAX)) {\n struct rtas_call *call = rtas_table + (token - TOKEN_BASE);\n if (call->fn) {\n call->fn(spapr, token, nargs, args, nret, rets);\n hcall_dprintf(\"Unknown RTAS token 0x%x\\n\", token);\n rtas_st(rets, 0, -3);\n return H_PARAMETER;", "idx": 7269}701{"project": "qemu", "commit_id": "afa46c468acc18914c2773538f1b088c507766ee", "target": 0, "func": "static int32_t scsi_send_command(SCSIRequest *req, uint8_t *cmd)\n\n{\n\n SCSIGenericState *s = DO_UPCAST(SCSIGenericState, qdev, req->dev);\n\n SCSIGenericReq *r = DO_UPCAST(SCSIGenericReq, req, req);\n\n int ret;\n\n\n\n if (cmd[0] != REQUEST_SENSE && req->lun != s->qdev.lun) {\n\n DPRINTF(\"Unimplemented LUN %d\\n\", req->lun);\n\n scsi_req_build_sense(&r->req, SENSE_CODE(LUN_NOT_SUPPORTED));\n\n scsi_req_complete(&r->req, CHECK_CONDITION);\n\n return 0;\n\n }\n\n\n\n if (-1 == scsi_req_parse(&r->req, cmd)) {\n\n BADF(\"Unsupported command length, command %x\\n\", cmd[0]);\n\n scsi_command_complete(r, -EINVAL);\n\n return 0;\n\n }\n\n scsi_req_fixup(&r->req);\n\n\n\n DPRINTF(\"Command: lun=%d tag=0x%x len %zd data=0x%02x\", lun, tag,\n\n r->req.cmd.xfer, cmd[0]);\n\n\n\n#ifdef DEBUG_SCSI\n\n {\n\n int i;\n\n for (i = 1; i < r->req.cmd.len; i++) {\n\n printf(\" 0x%02x\", cmd[i]);\n\n }\n\n printf(\"\\n\");\n\n }\n\n#endif\n\n\n\n if (r->req.cmd.xfer == 0) {\n\n if (r->buf != NULL)\n\n qemu_free(r->buf);\n\n r->buflen = 0;\n\n r->buf = NULL;\n\n ret = execute_command(s->bs, r, SG_DXFER_NONE, scsi_command_complete);\n\n if (ret < 0) {\n\n scsi_command_complete(r, ret);\n\n return 0;\n\n }\n\n return 0;\n\n }\n\n\n\n if (r->buflen != r->req.cmd.xfer) {\n\n if (r->buf != NULL)\n\n qemu_free(r->buf);\n\n r->buf = qemu_malloc(r->req.cmd.xfer);\n\n r->buflen = r->req.cmd.xfer;\n\n }\n\n\n\n memset(r->buf, 0, r->buflen);\n\n r->len = r->req.cmd.xfer;\n\n if (r->req.cmd.mode == SCSI_XFER_TO_DEV) {\n\n r->len = 0;\n\n return -r->req.cmd.xfer;\n\n } else {\n\n return r->req.cmd.xfer;\n\n }\n\n}\n", "idx": 7315}702{"project": "qemu", "commit_id": "fc6c9257c6dd47316a1c55d356bcd89bdc5fd642", "target": 0, "func": "void ip6_input(struct mbuf *m)\n\n{\n\n struct ip6 *ip6;\n\n\n\n DEBUG_CALL(\"ip6_input\");\n\n DEBUG_ARG(\"m = %lx\", (long)m);\n\n DEBUG_ARG(\"m_len = %d\", m->m_len);\n\n\n\n if (m->m_len < sizeof(struct ip6)) {\n\n goto bad;\n\n }\n\n\n\n ip6 = mtod(m, struct ip6 *);\n\n\n\n if (ip6->ip_v != IP6VERSION) {\n\n goto bad;\n\n }\n\n\n\n /* check ip_ttl for a correct ICMP reply */\n\n if (ip6->ip_hl == 0) {\n\n /*icmp_send_error(m, ICMP_TIMXCEED,ICMP_TIMXCEED_INTRANS, 0,\"ttl\");*/\n\n goto bad;\n\n }\n\n\n\n /*\n\n * Switch out to protocol's input routine.\n\n */\n\n switch (ip6->ip_nh) {\n\n case IPPROTO_TCP:\n\n /*tcp_input(m, hlen, (struct socket *)NULL);*/\n\n break;\n\n case IPPROTO_UDP:\n\n /*udp_input(m, hlen);*/\n\n break;\n\n case IPPROTO_ICMPV6:\n\n icmp6_input(m);\n\n break;\n\n default:\n\n m_free(m);\n\n }\n\n return;\n\nbad:\n\n m_free(m);\n\n}\n", "idx": 7324}703{"project": "qemu", "commit_id": "677ef6230b603571ae05125db469f7b4c8912a77", "target": 0, "func": "void fork_start(void)\n\n{\n\n pthread_mutex_lock(&tcg_ctx.tb_ctx.tb_lock);\n\n pthread_mutex_lock(&exclusive_lock);\n\n mmap_fork_start();\n\n}\n", "idx": 7326}704{"project": "qemu", "commit_id": "2f859f80c2077e00237ea1dfae2523ebd8377f5f", "target": 0, "func": "static int write_dump_pages(DumpState *s)\n\n{\n\n int ret = 0;\n\n DataCache page_desc, page_data;\n\n size_t len_buf_out, size_out;\n\n#ifdef CONFIG_LZO\n\n lzo_bytep wrkmem = NULL;\n\n#endif\n\n uint8_t *buf_out = NULL;\n\n off_t offset_desc, offset_data;\n\n PageDescriptor pd, pd_zero;\n\n uint8_t *buf;\n\n int endian = s->dump_info.d_endian;\n\n GuestPhysBlock *block_iter = NULL;\n\n uint64_t pfn_iter;\n\n\n\n /* get offset of page_desc and page_data in dump file */\n\n offset_desc = s->offset_page;\n\n offset_data = offset_desc + sizeof(PageDescriptor) * s->num_dumpable;\n\n\n\n prepare_data_cache(&page_desc, s, offset_desc);\n\n prepare_data_cache(&page_data, s, offset_data);\n\n\n\n /* prepare buffer to store compressed data */\n\n len_buf_out = get_len_buf_out(s->page_size, s->flag_compress);\n\n if (len_buf_out == 0) {\n\n dump_error(s, \"dump: failed to get length of output buffer.\\n\");\n\n goto out;\n\n }\n\n\n\n#ifdef CONFIG_LZO\n\n wrkmem = g_malloc(LZO1X_1_MEM_COMPRESS);\n\n#endif\n\n\n\n buf_out = g_malloc(len_buf_out);\n\n\n\n /*\n\n * init zero page's page_desc and page_data, because every zero page\n\n * uses the same page_data\n\n */\n\n pd_zero.size = cpu_convert_to_target32(s->page_size, endian);\n\n pd_zero.flags = cpu_convert_to_target32(0, endian);\n\n pd_zero.offset = cpu_convert_to_target64(offset_data, endian);\n\n pd_zero.page_flags = cpu_convert_to_target64(0, endian);\n\n buf = g_malloc0(s->page_size);\n\n ret = write_cache(&page_data, buf, s->page_size, false);\n\n g_free(buf);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page data(zero page).\\n\");\n\n goto out;\n\n }\n\n\n\n offset_data += s->page_size;\n\n\n\n /*\n\n * dump memory to vmcore page by page. zero page will all be resided in the\n\n * first page of page section\n\n */\n\n while (get_next_page(&block_iter, &pfn_iter, &buf, s)) {\n\n /* check zero page */\n\n if (is_zero_page(buf, s->page_size)) {\n\n ret = write_cache(&page_desc, &pd_zero, sizeof(PageDescriptor),\n\n false);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page desc.\\n\");\n\n goto out;\n\n }\n\n } else {\n\n /*\n\n * not zero page, then:\n\n * 1. compress the page\n\n * 2. write the compressed page into the cache of page_data\n\n * 3. get page desc of the compressed page and write it into the\n\n * cache of page_desc\n\n *\n\n * only one compression format will be used here, for\n\n * s->flag_compress is set. But when compression fails to work,\n\n * we fall back to save in plaintext.\n\n */\n\n size_out = len_buf_out;\n\n if ((s->flag_compress & DUMP_DH_COMPRESSED_ZLIB) &&\n\n (compress2(buf_out, (uLongf *)&size_out, buf, s->page_size,\n\n Z_BEST_SPEED) == Z_OK) && (size_out < s->page_size)) {\n\n pd.flags = cpu_convert_to_target32(DUMP_DH_COMPRESSED_ZLIB,\n\n endian);\n\n pd.size = cpu_convert_to_target32(size_out, endian);\n\n\n\n ret = write_cache(&page_data, buf_out, size_out, false);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page data.\\n\");\n\n goto out;\n\n }\n\n#ifdef CONFIG_LZO\n\n } else if ((s->flag_compress & DUMP_DH_COMPRESSED_LZO) &&\n\n (lzo1x_1_compress(buf, s->page_size, buf_out,\n\n (lzo_uint *)&size_out, wrkmem) == LZO_E_OK) &&\n\n (size_out < s->page_size)) {\n\n pd.flags = cpu_convert_to_target32(DUMP_DH_COMPRESSED_LZO,\n\n endian);\n\n pd.size = cpu_convert_to_target32(size_out, endian);\n\n\n\n ret = write_cache(&page_data, buf_out, size_out, false);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page data.\\n\");\n\n goto out;\n\n }\n\n#endif\n\n#ifdef CONFIG_SNAPPY\n\n } else if ((s->flag_compress & DUMP_DH_COMPRESSED_SNAPPY) &&\n\n (snappy_compress((char *)buf, s->page_size,\n\n (char *)buf_out, &size_out) == SNAPPY_OK) &&\n\n (size_out < s->page_size)) {\n\n pd.flags = cpu_convert_to_target32(\n\n DUMP_DH_COMPRESSED_SNAPPY, endian);\n\n pd.size = cpu_convert_to_target32(size_out, endian);\n\n\n\n ret = write_cache(&page_data, buf_out, size_out, false);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page data.\\n\");\n\n goto out;\n\n }\n\n#endif\n\n } else {\n\n /*\n\n * fall back to save in plaintext, size_out should be\n\n * assigned to s->page_size\n\n */\n\n pd.flags = cpu_convert_to_target32(0, endian);\n\n size_out = s->page_size;\n\n pd.size = cpu_convert_to_target32(size_out, endian);\n\n\n\n ret = write_cache(&page_data, buf, s->page_size, false);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page data.\\n\");\n\n goto out;\n\n }\n\n }\n\n\n\n /* get and write page desc here */\n\n pd.page_flags = cpu_convert_to_target64(0, endian);\n\n pd.offset = cpu_convert_to_target64(offset_data, endian);\n\n offset_data += size_out;\n\n\n\n ret = write_cache(&page_desc, &pd, sizeof(PageDescriptor), false);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to write page desc.\\n\");\n\n goto out;\n\n }\n\n }\n\n }\n\n\n\n ret = write_cache(&page_desc, NULL, 0, true);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to sync cache for page_desc.\\n\");\n\n goto out;\n\n }\n\n ret = write_cache(&page_data, NULL, 0, true);\n\n if (ret < 0) {\n\n dump_error(s, \"dump: failed to sync cache for page_data.\\n\");\n\n goto out;\n\n }\n\n\n\nout:\n\n free_data_cache(&page_desc);\n\n free_data_cache(&page_data);\n\n\n\n#ifdef CONFIG_LZO\n\n g_free(wrkmem);\n\n#endif\n\n\n\n g_free(buf_out);\n\n\n\n return ret;\n\n}\n", "idx": 7327}705{"project": "qemu", "commit_id": "d516f74c99b1a2c289cfba0bacf125cbc9b681e3", "target": 0, "func": "static void do_ext_interrupt(CPUS390XState *env)\n\n{\n\n S390CPU *cpu = s390_env_get_cpu(env);\n\n uint64_t mask, addr;\n\n LowCore *lowcore;\n\n ExtQueue *q;\n\n\n\n if (!(env->psw.mask & PSW_MASK_EXT)) {\n\n cpu_abort(CPU(cpu), \"Ext int w/o ext mask\\n\");\n\n }\n\n\n\n lowcore = cpu_map_lowcore(env);\n\n\n\n if (env->pending_int & INTERRUPT_EXT_CLOCK_COMPARATOR) {\n\n lowcore->ext_int_code = cpu_to_be16(EXT_CLOCK_COMP);\n\n lowcore->cpu_addr = 0;\n\n env->pending_int &= ~INTERRUPT_EXT_CLOCK_COMPARATOR;\n\n } else if (env->pending_int & INTERRUPT_EXT_CPU_TIMER) {\n\n lowcore->ext_int_code = cpu_to_be16(EXT_CPU_TIMER);\n\n lowcore->cpu_addr = 0;\n\n env->pending_int &= ~INTERRUPT_EXT_CPU_TIMER;\n\n } else if (env->pending_int & INTERRUPT_EXT_SERVICE) {\n\n g_assert(env->ext_index >= 0);\n\n /*\n\n * FIXME: floating IRQs should be considered by all CPUs and\n\n * shuld not get cleared by CPU reset.\n\n */\n\n q = &env->ext_queue[env->ext_index];\n\n lowcore->ext_int_code = cpu_to_be16(q->code);\n\n lowcore->ext_params = cpu_to_be32(q->param);\n\n lowcore->ext_params2 = cpu_to_be64(q->param64);\n\n lowcore->cpu_addr = cpu_to_be16(env->core_id | VIRTIO_SUBCODE_64);\n\n env->ext_index--;\n\n if (env->ext_index == -1) {\n\n env->pending_int &= ~INTERRUPT_EXT_SERVICE;\n\n }\n\n } else {\n\n g_assert_not_reached();\n\n }\n\n\n\n mask = be64_to_cpu(lowcore->external_new_psw.mask);\n\n addr = be64_to_cpu(lowcore->external_new_psw.addr);\n\n lowcore->external_old_psw.mask = cpu_to_be64(get_psw_mask(env));\n\n lowcore->external_old_psw.addr = cpu_to_be64(env->psw.addr);\n\n\n\n cpu_unmap_lowcore(lowcore);\n\n\n\n DPRINTF(\"%s: %\" PRIx64 \" %\" PRIx64 \"\\n\", __func__,\n\n env->psw.mask, env->psw.addr);\n\n\n\n load_psw(env, mask, addr);\n\n}\n", "idx": 7332}706{"project": "qemu", "commit_id": "4be746345f13e99e468c60acbd3a355e8183e3ce", "target": 0, "func": "static void verdex_init(MachineState *machine)\n\n{\n\n const char *cpu_model = machine->cpu_model;\n\n PXA2xxState *cpu;\n\n DriveInfo *dinfo;\n\n int be;\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n\n\n uint32_t verdex_rom = 0x02000000;\n\n uint32_t verdex_ram = 0x10000000;\n\n\n\n cpu = pxa270_init(address_space_mem, verdex_ram, cpu_model ?: \"pxa270-c0\");\n\n\n\n dinfo = drive_get(IF_PFLASH, 0, 0);\n\n if (!dinfo && !qtest_enabled()) {\n\n fprintf(stderr, \"A flash image must be given with the \"\n\n \"'pflash' parameter\\n\");\n\n exit(1);\n\n }\n\n\n\n#ifdef TARGET_WORDS_BIGENDIAN\n\n be = 1;\n\n#else\n\n be = 0;\n\n#endif\n\n if (!pflash_cfi01_register(0x00000000, NULL, \"verdex.rom\", verdex_rom,\n\n dinfo ? blk_bs(blk_by_legacy_dinfo(dinfo)) : NULL,\n\n sector_len, verdex_rom / sector_len,\n\n 2, 0, 0, 0, 0, be)) {\n\n fprintf(stderr, \"qemu: Error registering flash memory.\\n\");\n\n exit(1);\n\n }\n\n\n\n /* Interrupt line of NIC is connected to GPIO line 99 */\n\n smc91c111_init(&nd_table[0], 0x04000300,\n\n qdev_get_gpio_in(cpu->gpio, 99));\n\n}\n", "idx": 7334}707{"project": "qemu", "commit_id": "e3737b820b45e54b059656dc3f914f895ac7a88b", "target": 1, "func": "static int bochs_open(BlockDriverState *bs, QDict *options, int flags,\n Error **errp)\n{\n BDRVBochsState *s = bs->opaque;\n uint32_t i;\n struct bochs_header bochs;\n int ret;\n bs->read_only = 1; // no write support yet\n ret = bdrv_pread(bs->file, 0, &bochs, sizeof(bochs));\n if (ret < 0) {\n return ret;\n if (strcmp(bochs.magic, HEADER_MAGIC) ||\n strcmp(bochs.type, REDOLOG_TYPE) ||\n strcmp(bochs.subtype, GROWING_TYPE) ||\n\t((le32_to_cpu(bochs.version) != HEADER_VERSION) &&\n\t(le32_to_cpu(bochs.version) != HEADER_V1))) {\n error_setg(errp, \"Image not in Bochs format\");\n return -EINVAL;\n if (le32_to_cpu(bochs.version) == HEADER_V1) {\n bs->total_sectors = le64_to_cpu(bochs.extra.redolog_v1.disk) / 512;\n } else {\n bs->total_sectors = le64_to_cpu(bochs.extra.redolog.disk) / 512;\n s->catalog_size = le32_to_cpu(bochs.catalog);\n s->catalog_bitmap = g_malloc(s->catalog_size * 4);\n ret = bdrv_pread(bs->file, le32_to_cpu(bochs.header), s->catalog_bitmap,\n s->catalog_size * 4);\n if (ret < 0) {\n goto fail;\n for (i = 0; i < s->catalog_size; i++)\n\tle32_to_cpus(&s->catalog_bitmap[i]);\n s->data_offset = le32_to_cpu(bochs.header) + (s->catalog_size * 4);\n s->bitmap_blocks = 1 + (le32_to_cpu(bochs.bitmap) - 1) / 512;\n s->extent_blocks = 1 + (le32_to_cpu(bochs.extent) - 1) / 512;\n s->extent_size = le32_to_cpu(bochs.extent);\n if (s->catalog_size < bs->total_sectors / s->extent_size) {\n error_setg(errp, \"Catalog size is too small for this disk size\");\n ret = -EINVAL;\n goto fail;\n qemu_co_mutex_init(&s->lock);\n return 0;\nfail:\n g_free(s->catalog_bitmap);\n return ret;", "idx": 7347}708{"project": "FFmpeg", "commit_id": "3b9a913db4d303a0305a80de496b1933cba8980f", "target": 1, "func": "offset_t url_fseek(ByteIOContext *s, offset_t offset, int whence)\n\n{\n\n offset_t offset1;\n\n offset_t pos= s->pos - (s->write_flag ? 0 : (s->buf_end - s->buffer));\n\n\n\n if (whence != SEEK_CUR && whence != SEEK_SET)\n\n return -EINVAL;\n\n\n\n if (whence == SEEK_CUR) {\n\n offset1 = pos + (s->buf_ptr - s->buffer);\n\n if (offset == 0)\n\n return offset1;\n\n offset += offset1;\n\n }\n\n offset1 = offset - pos;\n\n if (!s->must_flush &&\n\n offset1 >= 0 && offset1 < (s->buf_end - s->buffer)) {\n\n /* can do the seek inside the buffer */\n\n s->buf_ptr = s->buffer + offset1;\n\n } else {\n\n if (!s->seek)\n\n return -EPIPE;\n\n\n\n#ifdef CONFIG_MUXERS\n\n if (s->write_flag) {\n\n flush_buffer(s);\n\n s->must_flush = 1;\n\n } else\n\n#endif //CONFIG_MUXERS\n\n {\n\n s->buf_end = s->buffer;\n\n }\n\n s->buf_ptr = s->buffer;\n\n if (s->seek(s->opaque, offset, SEEK_SET) == (offset_t)-EPIPE)\n\n return -EPIPE;\n\n s->pos = offset;\n\n }\n\n s->eof_reached = 0;\n\n return offset;\n\n}\n", "idx": 7351}709{"project": "qemu", "commit_id": "18b21a2f83a26c3d6a9e7f0bdc4e8eb2b177e8f6", "target": 0, "func": "void ppc_translate_init(void)\n\n{\n\n int i;\n\n char* p;\n\n size_t cpu_reg_names_size;\n\n static int done_init = 0;\n\n\n\n if (done_init)\n\n return;\n\n\n\n cpu_env = tcg_global_reg_new_ptr(TCG_AREG0, \"env\");\n\n\n\n p = cpu_reg_names;\n\n cpu_reg_names_size = sizeof(cpu_reg_names);\n\n\n\n for (i = 0; i < 8; i++) {\n\n snprintf(p, cpu_reg_names_size, \"crf%d\", i);\n\n cpu_crf[i] = tcg_global_mem_new_i32(TCG_AREG0,\n\n offsetof(CPUState, crf[i]), p);\n\n p += 5;\n\n cpu_reg_names_size -= 5;\n\n }\n\n\n\n for (i = 0; i < 32; i++) {\n\n snprintf(p, cpu_reg_names_size, \"r%d\", i);\n\n cpu_gpr[i] = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, gpr[i]), p);\n\n p += (i < 10) ? 3 : 4;\n\n cpu_reg_names_size -= (i < 10) ? 3 : 4;\n\n#if !defined(TARGET_PPC64)\n\n snprintf(p, cpu_reg_names_size, \"r%dH\", i);\n\n cpu_gprh[i] = tcg_global_mem_new_i32(TCG_AREG0,\n\n offsetof(CPUState, gprh[i]), p);\n\n p += (i < 10) ? 4 : 5;\n\n cpu_reg_names_size -= (i < 10) ? 4 : 5;\n\n#endif\n\n\n\n snprintf(p, cpu_reg_names_size, \"fp%d\", i);\n\n cpu_fpr[i] = tcg_global_mem_new_i64(TCG_AREG0,\n\n offsetof(CPUState, fpr[i]), p);\n\n p += (i < 10) ? 4 : 5;\n\n cpu_reg_names_size -= (i < 10) ? 4 : 5;\n\n\n\n snprintf(p, cpu_reg_names_size, \"avr%dH\", i);\n\n#ifdef HOST_WORDS_BIGENDIAN\n\n cpu_avrh[i] = tcg_global_mem_new_i64(TCG_AREG0,\n\n offsetof(CPUState, avr[i].u64[0]), p);\n\n#else\n\n cpu_avrh[i] = tcg_global_mem_new_i64(TCG_AREG0,\n\n offsetof(CPUState, avr[i].u64[1]), p);\n\n#endif\n\n p += (i < 10) ? 6 : 7;\n\n cpu_reg_names_size -= (i < 10) ? 6 : 7;\n\n\n\n snprintf(p, cpu_reg_names_size, \"avr%dL\", i);\n\n#ifdef HOST_WORDS_BIGENDIAN\n\n cpu_avrl[i] = tcg_global_mem_new_i64(TCG_AREG0,\n\n offsetof(CPUState, avr[i].u64[1]), p);\n\n#else\n\n cpu_avrl[i] = tcg_global_mem_new_i64(TCG_AREG0,\n\n offsetof(CPUState, avr[i].u64[0]), p);\n\n#endif\n\n p += (i < 10) ? 6 : 7;\n\n cpu_reg_names_size -= (i < 10) ? 6 : 7;\n\n }\n\n\n\n cpu_nip = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, nip), \"nip\");\n\n\n\n cpu_msr = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, msr), \"msr\");\n\n\n\n cpu_ctr = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, ctr), \"ctr\");\n\n\n\n cpu_lr = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, lr), \"lr\");\n\n\n\n cpu_xer = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, xer), \"xer\");\n\n\n\n cpu_reserve = tcg_global_mem_new(TCG_AREG0,\n\n offsetof(CPUState, reserve), \"reserve\");\n\n\n\n cpu_fpscr = tcg_global_mem_new_i32(TCG_AREG0,\n\n offsetof(CPUState, fpscr), \"fpscr\");\n\n\n\n cpu_access_type = tcg_global_mem_new_i32(TCG_AREG0,\n\n offsetof(CPUState, access_type), \"access_type\");\n\n\n\n /* register helpers */\n\n#define GEN_HELPER 2\n\n#include \"helper.h\"\n\n\n\n done_init = 1;\n\n}\n", "idx": 7360}710{"project": "qemu", "commit_id": "7d08d85645def18eac2a9d672c1868a35e0bcf79", "target": 0, "func": "static void gen_mtfsfi(DisasContext *ctx)\n\n{\n\n int bf, sh;\n\n TCGv_i64 t0;\n\n TCGv_i32 t1;\n\n\n\n if (unlikely(!ctx->fpu_enabled)) {\n\n gen_exception(ctx, POWERPC_EXCP_FPU);\n\n return;\n\n }\n\n bf = crbD(ctx->opcode) >> 2;\n\n sh = 7 - bf;\n\n /* NIP cannot be restored if the memory exception comes from an helper */\n\n gen_update_nip(ctx, ctx->nip - 4);\n\n gen_reset_fpstatus();\n\n t0 = tcg_const_i64(FPIMM(ctx->opcode) << (4 * sh));\n\n t1 = tcg_const_i32(1 << sh);\n\n gen_helper_store_fpscr(cpu_env, t0, t1);\n\n tcg_temp_free_i64(t0);\n\n tcg_temp_free_i32(t1);\n\n if (unlikely(Rc(ctx->opcode) != 0)) {\n\n tcg_gen_trunc_tl_i32(cpu_crf[1], cpu_fpscr);\n\n tcg_gen_shri_i32(cpu_crf[1], cpu_crf[1], FPSCR_OX);\n\n }\n\n /* We can raise a differed exception */\n\n gen_helper_float_check_status(cpu_env);\n\n}\n", "idx": 7380}711{"project": "qemu", "commit_id": "1e356fc14beaa3ece6c0e961bd479af58be3198b", "target": 1, "func": "void os_mem_prealloc(int fd, char *area, size_t memory, Error **errp)\n\n{\n\n int i;\n\n size_t pagesize = getpagesize();\n\n\n\n memory = (memory + pagesize - 1) & -pagesize;\n\n for (i = 0; i < memory / pagesize; i++) {\n\n memset(area + pagesize * i, 0, 1);\n\n }\n\n}\n", "idx": 7393}712{"project": "FFmpeg", "commit_id": "4029f05c8b0943a5446f254142d5e2bfedb50a0d", "target": 1, "func": "static int cuvid_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)\n\n{\n\n CuvidContext *ctx = avctx->priv_data;\n\n AVHWDeviceContext *device_ctx = (AVHWDeviceContext*)ctx->hwdevice->data;\n\n AVCUDADeviceContext *device_hwctx = device_ctx->hwctx;\n\n CUcontext dummy, cuda_ctx = device_hwctx->cuda_ctx;\n\n AVFrame *frame = data;\n\n CUVIDSOURCEDATAPACKET cupkt;\n\n AVPacket filter_packet = { 0 };\n\n AVPacket filtered_packet = { 0 };\n\n CUdeviceptr mapped_frame = 0;\n\n int ret = 0, eret = 0;\n\n\n\n if (ctx->bsf && avpkt->size) {\n\n if ((ret = av_packet_ref(&filter_packet, avpkt)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"av_packet_ref failed\\n\");\n\n return ret;\n\n }\n\n\n\n if ((ret = av_bsf_send_packet(ctx->bsf, &filter_packet)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"av_bsf_send_packet failed\\n\");\n\n av_packet_unref(&filter_packet);\n\n return ret;\n\n }\n\n\n\n if ((ret = av_bsf_receive_packet(ctx->bsf, &filtered_packet)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"av_bsf_receive_packet failed\\n\");\n\n return ret;\n\n }\n\n\n\n avpkt = &filtered_packet;\n\n }\n\n\n\n ret = CHECK_CU(cuCtxPushCurrent(cuda_ctx));\n\n if (ret < 0) {\n\n av_packet_unref(&filtered_packet);\n\n return ret;\n\n }\n\n\n\n memset(&cupkt, 0, sizeof(cupkt));\n\n\n\n if (avpkt->size) {\n\n cupkt.payload_size = avpkt->size;\n\n cupkt.payload = avpkt->data;\n\n\n\n if (avpkt->pts != AV_NOPTS_VALUE) {\n\n cupkt.flags = CUVID_PKT_TIMESTAMP;\n\n if (avctx->pkt_timebase.num && avctx->pkt_timebase.den)\n\n cupkt.timestamp = av_rescale_q(avpkt->pts, avctx->pkt_timebase, (AVRational){1, 10000000});\n\n else\n\n cupkt.timestamp = avpkt->pts;\n\n }\n\n } else {\n\n cupkt.flags = CUVID_PKT_ENDOFSTREAM;\n\n }\n\n\n\n ret = CHECK_CU(cuvidParseVideoData(ctx->cuparser, &cupkt));\n\n\n\n av_packet_unref(&filtered_packet);\n\n\n\n if (ret < 0) {\n\n if (ctx->internal_error)\n\n ret = ctx->internal_error;\n\n goto error;\n\n }\n\n\n\n if (av_fifo_size(ctx->frame_queue)) {\n\n CUVIDPARSERDISPINFO dispinfo;\n\n CUVIDPROCPARAMS params;\n\n unsigned int pitch = 0;\n\n int offset = 0;\n\n int i;\n\n\n\n av_fifo_generic_read(ctx->frame_queue, &dispinfo, sizeof(CUVIDPARSERDISPINFO), NULL);\n\n\n\n memset(¶ms, 0, sizeof(params));\n\n params.progressive_frame = dispinfo.progressive_frame;\n\n params.second_field = 0;\n\n params.top_field_first = dispinfo.top_field_first;\n\n\n\n ret = CHECK_CU(cuvidMapVideoFrame(ctx->cudecoder, dispinfo.picture_index, &mapped_frame, &pitch, ¶ms));\n\n if (ret < 0)\n\n goto error;\n\n\n\n if (avctx->pix_fmt == AV_PIX_FMT_CUDA) {\n\n ret = av_hwframe_get_buffer(ctx->hwframe, frame, 0);\n\n if (ret < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"av_hwframe_get_buffer failed\\n\");\n\n goto error;\n\n }\n\n\n\n ret = ff_decode_frame_props(avctx, frame);\n\n if (ret < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"ff_decode_frame_props failed\\n\");\n\n goto error;\n\n }\n\n\n\n for (i = 0; i < 2; i++) {\n\n CUDA_MEMCPY2D cpy = {\n\n .srcMemoryType = CU_MEMORYTYPE_DEVICE,\n\n .dstMemoryType = CU_MEMORYTYPE_DEVICE,\n\n .srcDevice = mapped_frame,\n\n .dstDevice = (CUdeviceptr)frame->data[i],\n\n .srcPitch = pitch,\n\n .dstPitch = frame->linesize[i],\n\n .srcY = offset,\n\n .WidthInBytes = FFMIN(pitch, frame->linesize[i]),\n\n .Height = avctx->coded_height >> (i ? 1 : 0),\n\n };\n\n\n\n ret = CHECK_CU(cuMemcpy2D(&cpy));\n\n if (ret < 0)\n\n goto error;\n\n\n\n offset += avctx->coded_height;\n\n }\n\n } else if (avctx->pix_fmt == AV_PIX_FMT_NV12) {\n\n AVFrame *tmp_frame = av_frame_alloc();\n\n if (!tmp_frame) {\n\n av_log(avctx, AV_LOG_ERROR, \"av_frame_alloc failed\\n\");\n\n ret = AVERROR(ENOMEM);\n\n goto error;\n\n }\n\n\n\n tmp_frame->format = AV_PIX_FMT_CUDA;\n\n tmp_frame->hw_frames_ctx = av_buffer_ref(ctx->hwframe);\n\n tmp_frame->data[0] = (uint8_t*)mapped_frame;\n\n tmp_frame->linesize[0] = pitch;\n\n tmp_frame->data[1] = (uint8_t*)(mapped_frame + avctx->coded_height * pitch);\n\n tmp_frame->linesize[1] = pitch;\n\n tmp_frame->width = avctx->width;\n\n tmp_frame->height = avctx->height;\n\n\n\n ret = ff_get_buffer(avctx, frame, 0);\n\n if (ret < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"ff_get_buffer failed\\n\");\n\n av_frame_free(&tmp_frame);\n\n goto error;\n\n }\n\n\n\n ret = av_hwframe_transfer_data(frame, tmp_frame, 0);\n\n if (ret) {\n\n av_log(avctx, AV_LOG_ERROR, \"av_hwframe_transfer_data failed\\n\");\n\n av_frame_free(&tmp_frame);\n\n goto error;\n\n }\n\n\n\n av_frame_free(&tmp_frame);\n\n } else {\n\n ret = AVERROR_BUG;\n\n goto error;\n\n }\n\n\n\n frame->width = avctx->width;\n\n frame->height = avctx->height;\n\n if (avctx->pkt_timebase.num && avctx->pkt_timebase.den)\n\n frame->pts = av_rescale_q(dispinfo.timestamp, (AVRational){1, 10000000}, avctx->pkt_timebase);\n\n else\n\n frame->pts = dispinfo.timestamp;\n\n\n\n /* CUVIDs opaque reordering breaks the internal pkt logic.\n\n * So set pkt_pts and clear all the other pkt_ fields.\n\n */\n\n frame->pkt_pts = frame->pts;\n\n av_frame_set_pkt_pos(frame, -1);\n\n av_frame_set_pkt_duration(frame, 0);\n\n av_frame_set_pkt_size(frame, -1);\n\n\n\n frame->interlaced_frame = !dispinfo.progressive_frame;\n\n\n\n if (!dispinfo.progressive_frame)\n\n frame->top_field_first = dispinfo.top_field_first;\n\n\n\n *got_frame = 1;\n\n } else {\n\n *got_frame = 0;\n\n }\n\n\n\nerror:\n\n if (mapped_frame)\n\n eret = CHECK_CU(cuvidUnmapVideoFrame(ctx->cudecoder, mapped_frame));\n\n\n\n eret = CHECK_CU(cuCtxPopCurrent(&dummy));\n\n\n\n if (eret < 0)\n\n return eret;\n\n else\n\n return ret;\n\n}\n", "idx": 7398}713{"project": "qemu", "commit_id": "30ca440eec9fe1d7eec5a48addac656438778278", "target": 0, "func": "static void hotplug(void)\n\n{\n\n qtest_start(\"-device virtio-net-pci\");\n\n\n\n qpci_plug_device_test(\"virtio-net-pci\", \"net1\", PCI_SLOT_HP, NULL);\n\n qpci_unplug_acpi_device_test(\"net1\", PCI_SLOT_HP);\n\n\n\n test_end();\n\n}\n", "idx": 7420}714{"project": "FFmpeg", "commit_id": "1d16a1cf99488f16492b1bb48e023f4da8377e07", "target": 0, "func": "static void ff_h264_idct8_add_sse2(uint8_t *dst, int16_t *block, int stride)\n\n{\n\n __asm__ volatile(\n\n \"movdqa 0x10(%1), %%xmm1 \\n\"\n\n \"movdqa 0x20(%1), %%xmm2 \\n\"\n\n \"movdqa 0x30(%1), %%xmm3 \\n\"\n\n \"movdqa 0x50(%1), %%xmm5 \\n\"\n\n \"movdqa 0x60(%1), %%xmm6 \\n\"\n\n \"movdqa 0x70(%1), %%xmm7 \\n\"\n\n H264_IDCT8_1D_SSE2(%%xmm0, %%xmm1, %%xmm2, %%xmm3, %%xmm4, %%xmm5, %%xmm6, %%xmm7)\n\n TRANSPOSE8(%%xmm4, %%xmm1, %%xmm7, %%xmm3, %%xmm5, %%xmm0, %%xmm2, %%xmm6, (%1))\n\n \"paddw %4, %%xmm4 \\n\"\n\n \"movdqa %%xmm4, 0x00(%1) \\n\"\n\n \"movdqa %%xmm2, 0x40(%1) \\n\"\n\n H264_IDCT8_1D_SSE2(%%xmm4, %%xmm0, %%xmm6, %%xmm3, %%xmm2, %%xmm5, %%xmm7, %%xmm1)\n\n \"movdqa %%xmm6, 0x60(%1) \\n\"\n\n \"movdqa %%xmm7, 0x70(%1) \\n\"\n\n \"pxor %%xmm7, %%xmm7 \\n\"\n\n STORE_DIFF_8P(%%xmm2, (%0), %%xmm6, %%xmm7)\n\n STORE_DIFF_8P(%%xmm0, (%0,%2), %%xmm6, %%xmm7)\n\n STORE_DIFF_8P(%%xmm1, (%0,%2,2), %%xmm6, %%xmm7)\n\n STORE_DIFF_8P(%%xmm3, (%0,%3), %%xmm6, %%xmm7)\n\n \"lea (%0,%2,4), %0 \\n\"\n\n STORE_DIFF_8P(%%xmm5, (%0), %%xmm6, %%xmm7)\n\n STORE_DIFF_8P(%%xmm4, (%0,%2), %%xmm6, %%xmm7)\n\n \"movdqa 0x60(%1), %%xmm0 \\n\"\n\n \"movdqa 0x70(%1), %%xmm1 \\n\"\n\n STORE_DIFF_8P(%%xmm0, (%0,%2,2), %%xmm6, %%xmm7)\n\n STORE_DIFF_8P(%%xmm1, (%0,%3), %%xmm6, %%xmm7)\n\n :\"+r\"(dst)\n\n :\"r\"(block), \"r\"((x86_reg)stride), \"r\"((x86_reg)3L*stride), \"m\"(ff_pw_32)\n\n );\n\n}\n", "idx": 7428}715{"project": "qemu", "commit_id": "3a51dee658b9cc781acd57dd11bffbd1e402f93d", "target": 0, "func": "static void ide_identify(IDEState *s)\n\n{\n\n uint16_t *p;\n\n unsigned int oldsize;\n\n\n\n memset(s->io_buffer, 0, 512);\n\n p = (uint16_t *)s->io_buffer;\n\n stw(p + 0, 0x0040);\n\n stw(p + 1, s->cylinders); \n\n stw(p + 3, s->heads);\n\n stw(p + 4, 512 * s->sectors); /* sectors */\n\n stw(p + 5, 512); /* sector size */\n\n stw(p + 6, s->sectors); \n\n stw(p + 20, 3); /* buffer type */\n\n stw(p + 21, 512); /* cache size in sectors */\n\n stw(p + 22, 4); /* ecc bytes */\n\n padstr((uint8_t *)(p + 27), \"QEMU HARDDISK\", 40);\n\n#if MAX_MULT_SECTORS > 1 \n\n stw(p + 47, MAX_MULT_SECTORS);\n\n#endif\n\n stw(p + 48, 1); /* dword I/O */\n\n stw(p + 49, 1 << 9); /* LBA supported, no DMA */\n\n stw(p + 51, 0x200); /* PIO transfer cycle */\n\n stw(p + 52, 0x200); /* DMA transfer cycle */\n\n stw(p + 54, s->cylinders);\n\n stw(p + 55, s->heads);\n\n stw(p + 56, s->sectors);\n\n oldsize = s->cylinders * s->heads * s->sectors;\n\n stw(p + 57, oldsize);\n\n stw(p + 58, oldsize >> 16);\n\n if (s->mult_sectors)\n\n stw(p + 59, 0x100 | s->mult_sectors);\n\n stw(p + 60, s->nb_sectors);\n\n stw(p + 61, s->nb_sectors >> 16);\n\n stw(p + 80, (1 << 1) | (1 << 2));\n\n stw(p + 82, (1 << 14));\n\n stw(p + 83, (1 << 14));\n\n stw(p + 84, (1 << 14));\n\n stw(p + 85, (1 << 14));\n\n stw(p + 86, 0);\n\n stw(p + 87, (1 << 14));\n\n}\n", "idx": 7430}716{"project": "FFmpeg", "commit_id": "7ec9c5ce8a753175244da971fed9f1e25aef7971", "target": 0, "func": "static int encode_apng(AVCodecContext *avctx, AVPacket *pkt,\n\n const AVFrame *pict, int *got_packet)\n\n{\n\n PNGEncContext *s = avctx->priv_data;\n\n int ret;\n\n int enc_row_size;\n\n size_t max_packet_size;\n\n APNGFctlChunk fctl_chunk = {0};\n\n\n\n if (pict && avctx->codec_id == AV_CODEC_ID_APNG && s->color_type == PNG_COLOR_TYPE_PALETTE) {\n\n uint32_t checksum = ~av_crc(av_crc_get_table(AV_CRC_32_IEEE_LE), ~0U, pict->data[1], 256 * sizeof(uint32_t));\n\n\n\n if (avctx->frame_number == 0) {\n\n s->palette_checksum = checksum;\n\n } else if (checksum != s->palette_checksum) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Input contains more than one unique palette. APNG does not support multiple palettes.\\n\");\n\n return -1;\n\n }\n\n }\n\n\n\n enc_row_size = deflateBound(&s->zstream, (avctx->width * s->bits_per_pixel + 7) >> 3);\n\n max_packet_size =\n\n AV_INPUT_BUFFER_MIN_SIZE + // headers\n\n avctx->height * (\n\n enc_row_size +\n\n (4 + 12) * (((int64_t)enc_row_size + IOBUF_SIZE - 1) / IOBUF_SIZE) // fdAT * ceil(enc_row_size / IOBUF_SIZE)\n\n );\n\n if (max_packet_size > INT_MAX)\n\n return AVERROR(ENOMEM);\n\n\n\n if (avctx->frame_number == 0) {\n\n if (!pict)\n\n return AVERROR(EINVAL);\n\n\n\n s->bytestream = avctx->extradata = av_malloc(FF_MIN_BUFFER_SIZE);\n\n if (!avctx->extradata)\n\n return AVERROR(ENOMEM);\n\n\n\n ret = encode_headers(avctx, pict);\n\n if (ret < 0)\n\n return ret;\n\n\n\n avctx->extradata_size = s->bytestream - avctx->extradata;\n\n\n\n s->last_frame_packet = av_malloc(max_packet_size);\n\n if (!s->last_frame_packet)\n\n return AVERROR(ENOMEM);\n\n } else if (s->last_frame) {\n\n ret = ff_alloc_packet2(avctx, pkt, max_packet_size, 0);\n\n if (ret < 0)\n\n return ret;\n\n\n\n memcpy(pkt->data, s->last_frame_packet, s->last_frame_packet_size);\n\n pkt->size = s->last_frame_packet_size;\n\n pkt->pts = pkt->dts = s->last_frame->pts;\n\n }\n\n\n\n if (pict) {\n\n s->bytestream_start =\n\n s->bytestream = s->last_frame_packet;\n\n s->bytestream_end = s->bytestream + max_packet_size;\n\n\n\n // We're encoding the frame first, so we have to do a bit of shuffling around\n\n // to have the image data write to the correct place in the buffer\n\n fctl_chunk.sequence_number = s->sequence_number;\n\n ++s->sequence_number;\n\n s->bytestream += 26 + 12;\n\n\n\n ret = apng_encode_frame(avctx, pict, &fctl_chunk, &s->last_frame_fctl);\n\n if (ret < 0)\n\n return ret;\n\n\n\n fctl_chunk.delay_num = 0; // delay filled in during muxing\n\n fctl_chunk.delay_den = 0;\n\n } else {\n\n s->last_frame_fctl.dispose_op = APNG_DISPOSE_OP_NONE;\n\n }\n\n\n\n if (s->last_frame) {\n\n uint8_t* last_fctl_chunk_start = pkt->data;\n\n uint8_t buf[26];\n\n\n\n AV_WB32(buf + 0, s->last_frame_fctl.sequence_number);\n\n AV_WB32(buf + 4, s->last_frame_fctl.width);\n\n AV_WB32(buf + 8, s->last_frame_fctl.height);\n\n AV_WB32(buf + 12, s->last_frame_fctl.x_offset);\n\n AV_WB32(buf + 16, s->last_frame_fctl.y_offset);\n\n AV_WB16(buf + 20, s->last_frame_fctl.delay_num);\n\n AV_WB16(buf + 22, s->last_frame_fctl.delay_den);\n\n buf[24] = s->last_frame_fctl.dispose_op;\n\n buf[25] = s->last_frame_fctl.blend_op;\n\n png_write_chunk(&last_fctl_chunk_start, MKTAG('f', 'c', 'T', 'L'), buf, 26);\n\n\n\n *got_packet = 1;\n\n }\n\n\n\n if (pict) {\n\n if (!s->last_frame) {\n\n s->last_frame = av_frame_alloc();\n\n if (!s->last_frame)\n\n return AVERROR(ENOMEM);\n\n } else if (s->last_frame_fctl.dispose_op != APNG_DISPOSE_OP_PREVIOUS) {\n\n if (!s->prev_frame) {\n\n s->prev_frame = av_frame_alloc();\n\n if (!s->prev_frame)\n\n return AVERROR(ENOMEM);\n\n\n\n s->prev_frame->format = pict->format;\n\n s->prev_frame->width = pict->width;\n\n s->prev_frame->height = pict->height;\n\n if ((ret = av_frame_get_buffer(s->prev_frame, 32)) < 0)\n\n return ret;\n\n }\n\n\n\n // Do disposal, but not blending\n\n memcpy(s->prev_frame->data[0], s->last_frame->data[0],\n\n s->last_frame->linesize[0] * s->last_frame->height);\n\n if (s->last_frame_fctl.dispose_op == APNG_DISPOSE_OP_BACKGROUND) {\n\n uint32_t y;\n\n uint8_t bpp = (s->bits_per_pixel + 7) >> 3;\n\n for (y = s->last_frame_fctl.y_offset; y < s->last_frame_fctl.y_offset + s->last_frame_fctl.height; ++y) {\n\n size_t row_start = s->last_frame->linesize[0] * y + bpp * s->last_frame_fctl.x_offset;\n\n memset(s->prev_frame->data[0] + row_start, 0, bpp * s->last_frame_fctl.width);\n\n }\n\n }\n\n }\n\n\n\n av_frame_unref(s->last_frame);\n\n ret = av_frame_ref(s->last_frame, (AVFrame*)pict);\n\n if (ret < 0)\n\n return ret;\n\n\n\n s->last_frame_fctl = fctl_chunk;\n\n s->last_frame_packet_size = s->bytestream - s->bytestream_start;\n\n } else {\n\n av_frame_free(&s->last_frame);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 7448}717{"project": "qemu", "commit_id": "d62b5dea30284eacd88055bb08db7c295655945f", "target": 0, "func": "BlockDriverAIOCB *bdrv_aio_readv(BlockDriverState *bs, int64_t sector_num,\n\n QEMUIOVector *qiov, int nb_sectors,\n\n BlockDriverCompletionFunc *cb, void *opaque)\n\n{\n\n BlockDriver *drv = bs->drv;\n\n BlockDriverAIOCB *ret;\n\n\n\n trace_bdrv_aio_readv(bs, sector_num, nb_sectors, opaque);\n\n\n\n if (!drv)\n\n return NULL;\n\n if (bdrv_check_request(bs, sector_num, nb_sectors))\n\n return NULL;\n\n\n\n ret = drv->bdrv_aio_readv(bs, sector_num, qiov, nb_sectors,\n\n cb, opaque);\n\n\n\n if (ret) {\n\n\t/* Update stats even though technically transfer has not happened. */\n\n\tbs->rd_bytes += (unsigned) nb_sectors * BDRV_SECTOR_SIZE;\n\n\tbs->rd_ops ++;\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 7449}718{"project": "qemu", "commit_id": "56b4a42a2e0ae74cee629abcb82993e79deeb356", "target": 0, "func": "static void migrate_set_downtime(QTestState *who, const char *value)\n\n{\n\n QDict *rsp;\n\n gchar *cmd;\n\n\n\n cmd = g_strdup_printf(\"{ 'execute': 'migrate_set_downtime',\"\n\n \"'arguments': { 'value': %s } }\", value);\n\n rsp = qtest_qmp(who, cmd);\n\n g_free(cmd);\n\n g_assert(qdict_haskey(rsp, \"return\"));\n\n QDECREF(rsp);\n\n}\n", "idx": 7458}719{"project": "qemu", "commit_id": "90e26f5aacd265257f7de58ee59f72dc36dff40e", "target": 0, "func": "target_ulong do_arm_semihosting(CPUARMState *env)\n\n{\n\n ARMCPU *cpu = arm_env_get_cpu(env);\n\n CPUState *cs = CPU(cpu);\n\n target_ulong args;\n\n target_ulong arg0, arg1, arg2, arg3;\n\n char * s;\n\n int nr;\n\n uint32_t ret;\n\n uint32_t len;\n\n#ifdef CONFIG_USER_ONLY\n\n TaskState *ts = cs->opaque;\n\n#else\n\n CPUARMState *ts = env;\n\n#endif\n\n\n\n if (is_a64(env)) {\n\n /* Note that the syscall number is in W0, not X0 */\n\n nr = env->xregs[0] & 0xffffffffU;\n\n args = env->xregs[1];\n\n } else {\n\n nr = env->regs[0];\n\n args = env->regs[1];\n\n }\n\n\n\n switch (nr) {\n\n case TARGET_SYS_OPEN:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n GET_ARG(2);\n\n s = lock_user_string(arg0);\n\n if (!s) {\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n }\n\n if (arg1 >= 12) {\n\n unlock_user(s, arg0, 0);\n\n return (uint32_t)-1;\n\n }\n\n if (strcmp(s, \":tt\") == 0) {\n\n int result_fileno = arg1 < 4 ? STDIN_FILENO : STDOUT_FILENO;\n\n unlock_user(s, arg0, 0);\n\n return result_fileno;\n\n }\n\n if (use_gdb_syscalls()) {\n\n ret = arm_gdb_syscall(cpu, arm_semi_cb, \"open,%s,%x,1a4\", arg0,\n\n (int)arg2+1, gdb_open_modeflags[arg1]);\n\n } else {\n\n ret = set_swi_errno(ts, open(s, open_modeflags[arg1], 0644));\n\n }\n\n unlock_user(s, arg0, 0);\n\n return ret;\n\n case TARGET_SYS_CLOSE:\n\n GET_ARG(0);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"close,%x\", arg0);\n\n } else {\n\n return set_swi_errno(ts, close(arg0));\n\n }\n\n case TARGET_SYS_WRITEC:\n\n {\n\n char c;\n\n\n\n if (get_user_u8(c, args))\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n /* Write to debug console. stderr is near enough. */\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"write,2,%x,1\", args);\n\n } else {\n\n return write(STDERR_FILENO, &c, 1);\n\n }\n\n }\n\n case TARGET_SYS_WRITE0:\n\n if (!(s = lock_user_string(args)))\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n len = strlen(s);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"write,2,%x,%x\",\n\n args, len);\n\n } else {\n\n ret = write(STDERR_FILENO, s, len);\n\n }\n\n unlock_user(s, args, 0);\n\n return ret;\n\n case TARGET_SYS_WRITE:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n GET_ARG(2);\n\n len = arg2;\n\n if (use_gdb_syscalls()) {\n\n arm_semi_syscall_len = len;\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"write,%x,%x,%x\",\n\n arg0, arg1, len);\n\n } else {\n\n s = lock_user(VERIFY_READ, arg1, len, 1);\n\n if (!s) {\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n }\n\n ret = set_swi_errno(ts, write(arg0, s, len));\n\n unlock_user(s, arg1, 0);\n\n if (ret == (uint32_t)-1)\n\n return -1;\n\n return len - ret;\n\n }\n\n case TARGET_SYS_READ:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n GET_ARG(2);\n\n len = arg2;\n\n if (use_gdb_syscalls()) {\n\n arm_semi_syscall_len = len;\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"read,%x,%x,%x\",\n\n arg0, arg1, len);\n\n } else {\n\n s = lock_user(VERIFY_WRITE, arg1, len, 0);\n\n if (!s) {\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n }\n\n do {\n\n ret = set_swi_errno(ts, read(arg0, s, len));\n\n } while (ret == -1 && errno == EINTR);\n\n unlock_user(s, arg1, len);\n\n if (ret == (uint32_t)-1)\n\n return -1;\n\n return len - ret;\n\n }\n\n case TARGET_SYS_READC:\n\n /* XXX: Read from debug console. Not implemented. */\n\n return 0;\n\n case TARGET_SYS_ISTTY:\n\n GET_ARG(0);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"isatty,%x\", arg0);\n\n } else {\n\n return isatty(arg0);\n\n }\n\n case TARGET_SYS_SEEK:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"lseek,%x,%x,0\",\n\n arg0, arg1);\n\n } else {\n\n ret = set_swi_errno(ts, lseek(arg0, arg1, SEEK_SET));\n\n if (ret == (uint32_t)-1)\n\n return -1;\n\n return 0;\n\n }\n\n case TARGET_SYS_FLEN:\n\n GET_ARG(0);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_flen_cb, \"fstat,%x,%x\",\n\n arg0, arm_flen_buf(cpu));\n\n } else {\n\n struct stat buf;\n\n ret = set_swi_errno(ts, fstat(arg0, &buf));\n\n if (ret == (uint32_t)-1)\n\n return -1;\n\n return buf.st_size;\n\n }\n\n case TARGET_SYS_TMPNAM:\n\n /* XXX: Not implemented. */\n\n return -1;\n\n case TARGET_SYS_REMOVE:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n if (use_gdb_syscalls()) {\n\n ret = arm_gdb_syscall(cpu, arm_semi_cb, \"unlink,%s\",\n\n arg0, (int)arg1+1);\n\n } else {\n\n s = lock_user_string(arg0);\n\n if (!s) {\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n }\n\n ret = set_swi_errno(ts, remove(s));\n\n unlock_user(s, arg0, 0);\n\n }\n\n return ret;\n\n case TARGET_SYS_RENAME:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n GET_ARG(2);\n\n GET_ARG(3);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"rename,%s,%s\",\n\n arg0, (int)arg1+1, arg2, (int)arg3+1);\n\n } else {\n\n char *s2;\n\n s = lock_user_string(arg0);\n\n s2 = lock_user_string(arg2);\n\n if (!s || !s2)\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n ret = (uint32_t)-1;\n\n else\n\n ret = set_swi_errno(ts, rename(s, s2));\n\n if (s2)\n\n unlock_user(s2, arg2, 0);\n\n if (s)\n\n unlock_user(s, arg0, 0);\n\n return ret;\n\n }\n\n case TARGET_SYS_CLOCK:\n\n return clock() / (CLOCKS_PER_SEC / 100);\n\n case TARGET_SYS_TIME:\n\n return set_swi_errno(ts, time(NULL));\n\n case TARGET_SYS_SYSTEM:\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n if (use_gdb_syscalls()) {\n\n return arm_gdb_syscall(cpu, arm_semi_cb, \"system,%s\",\n\n arg0, (int)arg1+1);\n\n } else {\n\n s = lock_user_string(arg0);\n\n if (!s) {\n\n /* FIXME - should this error code be -TARGET_EFAULT ? */\n\n return (uint32_t)-1;\n\n }\n\n ret = set_swi_errno(ts, system(s));\n\n unlock_user(s, arg0, 0);\n\n return ret;\n\n }\n\n case TARGET_SYS_ERRNO:\n\n#ifdef CONFIG_USER_ONLY\n\n return ts->swi_errno;\n\n#else\n\n return syscall_err;\n\n#endif\n\n case TARGET_SYS_GET_CMDLINE:\n\n {\n\n /* Build a command-line from the original argv.\n\n *\n\n * The inputs are:\n\n * * arg0, pointer to a buffer of at least the size\n\n * specified in arg1.\n\n * * arg1, size of the buffer pointed to by arg0 in\n\n * bytes.\n\n *\n\n * The outputs are:\n\n * * arg0, pointer to null-terminated string of the\n\n * command line.\n\n * * arg1, length of the string pointed to by arg0.\n\n */\n\n\n\n char *output_buffer;\n\n size_t input_size;\n\n size_t output_size;\n\n int status = 0;\n\n#if !defined(CONFIG_USER_ONLY)\n\n const char *cmdline;\n\n#endif\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n input_size = arg1;\n\n /* Compute the size of the output string. */\n\n#if !defined(CONFIG_USER_ONLY)\n\n cmdline = semihosting_get_cmdline();\n\n if (cmdline == NULL) {\n\n cmdline = \"\"; /* Default to an empty line. */\n\n }\n\n output_size = strlen(cmdline) + 1; /* Count terminating 0. */\n\n#else\n\n unsigned int i;\n\n\n\n output_size = ts->info->arg_end - ts->info->arg_start;\n\n if (!output_size) {\n\n /* We special-case the \"empty command line\" case (argc==0).\n\n Just provide the terminating 0. */\n\n output_size = 1;\n\n }\n\n#endif\n\n\n\n if (output_size > input_size) {\n\n /* Not enough space to store command-line arguments. */\n\n return -1;\n\n }\n\n\n\n /* Adjust the command-line length. */\n\n if (SET_ARG(1, output_size - 1)) {\n\n /* Couldn't write back to argument block */\n\n return -1;\n\n }\n\n\n\n /* Lock the buffer on the ARM side. */\n\n output_buffer = lock_user(VERIFY_WRITE, arg0, output_size, 0);\n\n if (!output_buffer) {\n\n return -1;\n\n }\n\n\n\n /* Copy the command-line arguments. */\n\n#if !defined(CONFIG_USER_ONLY)\n\n pstrcpy(output_buffer, output_size, cmdline);\n\n#else\n\n if (output_size == 1) {\n\n /* Empty command-line. */\n\n output_buffer[0] = '\\0';\n\n goto out;\n\n }\n\n\n\n if (copy_from_user(output_buffer, ts->info->arg_start,\n\n output_size)) {\n\n status = -1;\n\n goto out;\n\n }\n\n\n\n /* Separate arguments by white spaces. */\n\n for (i = 0; i < output_size - 1; i++) {\n\n if (output_buffer[i] == 0) {\n\n output_buffer[i] = ' ';\n\n }\n\n }\n\n out:\n\n#endif\n\n /* Unlock the buffer on the ARM side. */\n\n unlock_user(output_buffer, arg0, output_size);\n\n\n\n return status;\n\n }\n\n case TARGET_SYS_HEAPINFO:\n\n {\n\n target_ulong retvals[4];\n\n uint32_t limit;\n\n int i;\n\n\n\n GET_ARG(0);\n\n\n\n#ifdef CONFIG_USER_ONLY\n\n /* Some C libraries assume the heap immediately follows .bss, so\n\n allocate it using sbrk. */\n\n if (!ts->heap_limit) {\n\n abi_ulong ret;\n\n\n\n ts->heap_base = do_brk(0);\n\n limit = ts->heap_base + ARM_ANGEL_HEAP_SIZE;\n\n /* Try a big heap, and reduce the size if that fails. */\n\n for (;;) {\n\n ret = do_brk(limit);\n\n if (ret >= limit) {\n\n break;\n\n }\n\n limit = (ts->heap_base >> 1) + (limit >> 1);\n\n }\n\n ts->heap_limit = limit;\n\n }\n\n\n\n retvals[0] = ts->heap_base;\n\n retvals[1] = ts->heap_limit;\n\n retvals[2] = ts->stack_base;\n\n retvals[3] = 0; /* Stack limit. */\n\n#else\n\n limit = ram_size;\n\n /* TODO: Make this use the limit of the loaded application. */\n\n retvals[0] = limit / 2;\n\n retvals[1] = limit;\n\n retvals[2] = limit; /* Stack base */\n\n retvals[3] = 0; /* Stack limit. */\n\n#endif\n\n\n\n for (i = 0; i < ARRAY_SIZE(retvals); i++) {\n\n bool fail;\n\n\n\n if (is_a64(env)) {\n\n fail = put_user_u64(retvals[i], arg0 + i * 8);\n\n } else {\n\n fail = put_user_u32(retvals[i], arg0 + i * 4);\n\n }\n\n\n\n if (fail) {\n\n /* Couldn't write back to argument block */\n\n return -1;\n\n }\n\n }\n\n return 0;\n\n }\n\n case TARGET_SYS_EXIT:\n\n if (is_a64(env)) {\n\n /* The A64 version of this call takes a parameter block,\n\n * so the application-exit type can return a subcode which\n\n * is the exit status code from the application.\n\n */\n\n GET_ARG(0);\n\n GET_ARG(1);\n\n\n\n if (arg0 == ADP_Stopped_ApplicationExit) {\n\n ret = arg1;\n\n } else {\n\n ret = 1;\n\n }\n\n } else {\n\n /* ARM specifies only Stopped_ApplicationExit as normal\n\n * exit, everything else is considered an error */\n\n ret = (args == ADP_Stopped_ApplicationExit) ? 0 : 1;\n\n }\n\n gdb_exit(env, ret);\n\n exit(ret);\n\n case TARGET_SYS_SYNCCACHE:\n\n /* Clean the D-cache and invalidate the I-cache for the specified\n\n * virtual address range. This is a nop for us since we don't\n\n * implement caches. This is only present on A64.\n\n */\n\n if (is_a64(env)) {\n\n return 0;\n\n }\n\n /* fall through -- invalid for A32/T32 */\n\n default:\n\n fprintf(stderr, \"qemu: Unsupported SemiHosting SWI 0x%02x\\n\", nr);\n\n cpu_dump_state(cs, stderr, fprintf, 0);\n\n abort();\n\n }\n\n}\n", "idx": 7462}720{"project": "FFmpeg", "commit_id": "1f28a991effadc64acd6915805b989ab43500f08", "target": 0, "func": "static int decode_unregistered_user_data(H264SEIUnregistered *h, GetBitContext *gb,\n\n void *logctx, int size)\n\n{\n\n uint8_t *user_data;\n\n int e, build, i;\n\n\n\n if (size < 16 || size >= INT_MAX - 16)\n\n return AVERROR_INVALIDDATA;\n\n\n\n user_data = av_malloc(16 + size + 1);\n\n if (!user_data)\n\n return AVERROR(ENOMEM);\n\n\n\n for (i = 0; i < size + 16; i++)\n\n user_data[i] = get_bits(gb, 8);\n\n\n\n user_data[i] = 0;\n\n e = sscanf(user_data + 16, \"x264 - core %d\", &build);\n\n if (e == 1 && build > 0)\n\n h->x264_build = build;\n\n if (e == 1 && build == 1 && !strncmp(user_data+16, \"x264 - core 0000\", 16))\n\n h->x264_build = 67;\n\n\n\n if (strlen(user_data + 16) > 0)\n\n av_log(logctx, AV_LOG_DEBUG, \"user data:\\\"%s\\\"\\n\", user_data + 16);\n\n\n\n av_free(user_data);\n\n return 0;\n\n}\n", "idx": 7471}721{"project": "FFmpeg", "commit_id": "ae21776207e8a2bbe268e7c9e203f7599dd87ddb", "target": 0, "func": "void avfilter_filter_samples(AVFilterLink *link, AVFilterBufferRef *samplesref)\n\n{\n\n void (*filter_samples)(AVFilterLink *, AVFilterBufferRef *);\n\n AVFilterPad *dst = link->dstpad;\n\n int i;\n\n\n\n FF_DPRINTF_START(NULL, filter_samples); ff_dlog_link(NULL, link, 1);\n\n\n\n if (!(filter_samples = dst->filter_samples))\n\n filter_samples = avfilter_default_filter_samples;\n\n\n\n /* prepare to copy the samples if the buffer has insufficient permissions */\n\n if ((dst->min_perms & samplesref->perms) != dst->min_perms ||\n\n dst->rej_perms & samplesref->perms) {\n\n\n\n av_log(link->dst, AV_LOG_DEBUG,\n\n \"Copying audio data in avfilter (have perms %x, need %x, reject %x)\\n\",\n\n samplesref->perms, link->dstpad->min_perms, link->dstpad->rej_perms);\n\n\n\n link->cur_buf = avfilter_default_get_audio_buffer(link, dst->min_perms,\n\n samplesref->audio->nb_samples);\n\n link->cur_buf->pts = samplesref->pts;\n\n link->cur_buf->audio->sample_rate = samplesref->audio->sample_rate;\n\n\n\n /* Copy actual data into new samples buffer */\n\n for (i = 0; samplesref->data[i]; i++)\n\n memcpy(link->cur_buf->data[i], samplesref->data[i], samplesref->linesize[0]);\n\n\n\n avfilter_unref_buffer(samplesref);\n\n } else\n\n link->cur_buf = samplesref;\n\n\n\n filter_samples(link, link->cur_buf);\n\n}\n", "idx": 7472}722{"project": "qemu", "commit_id": "d85937e683f6ff4d68293cb24c780fb1f6820d2c", "target": 0, "func": "static qemu_irq *ppce500_init_mpic(PPCE500Params *params, MemoryRegion *ccsr,\n\n qemu_irq **irqs)\n\n{\n\n qemu_irq *mpic;\n\n DeviceState *dev;\n\n SysBusDevice *s;\n\n int i, j, k;\n\n\n\n mpic = g_new(qemu_irq, 256);\n\n dev = qdev_create(NULL, \"openpic\");\n\n qdev_prop_set_uint32(dev, \"nb_cpus\", smp_cpus);\n\n qdev_prop_set_uint32(dev, \"model\", params->mpic_version);\n\n qdev_init_nofail(dev);\n\n s = SYS_BUS_DEVICE(dev);\n\n\n\n k = 0;\n\n for (i = 0; i < smp_cpus; i++) {\n\n for (j = 0; j < OPENPIC_OUTPUT_NB; j++) {\n\n sysbus_connect_irq(s, k++, irqs[i][j]);\n\n }\n\n }\n\n\n\n for (i = 0; i < 256; i++) {\n\n mpic[i] = qdev_get_gpio_in(dev, i);\n\n }\n\n\n\n memory_region_add_subregion(ccsr, MPC8544_MPIC_REGS_OFFSET,\n\n s->mmio[0].memory);\n\n\n\n return mpic;\n\n}\n", "idx": 7480}723{"project": "qemu", "commit_id": "33577b47c64435fcc2a1bc01c7e82534256f1fc3", "target": 0, "func": "CharDriverState *qemu_chr_new(const char *label, const char *filename, void (*init)(struct CharDriverState *s))\n\n{\n\n const char *p;\n\n CharDriverState *chr;\n\n QemuOpts *opts;\n\n Error *err = NULL;\n\n\n\n if (strstart(filename, \"chardev:\", &p)) {\n\n return qemu_chr_find(p);\n\n }\n\n\n\n opts = qemu_chr_parse_compat(label, filename);\n\n if (!opts)\n\n return NULL;\n\n\n\n chr = qemu_chr_new_from_opts(opts, init, &err);\n\n if (err) {\n\n error_report_err(err);\n\n }\n\n if (chr && qemu_opt_get_bool(opts, \"mux\", 0)) {\n\n qemu_chr_fe_claim_no_fail(chr);\n\n monitor_init(chr, MONITOR_USE_READLINE);\n\n }\n\n return chr;\n\n}\n", "idx": 7481}724{"project": "qemu", "commit_id": "7873df408dd44eb92840b108211d5aa5db7db526", "target": 0, "func": "static int net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,\n\n const char *model, const char *name,\n\n const char *ifname, const char *script,\n\n const char *downscript, const char *vhostfdname,\n\n int vnet_hdr, int fd)\n\n{\n\n TAPState *s;\n\n\n\n s = net_tap_fd_init(peer, model, name, fd, vnet_hdr);\n\n if (!s) {\n\n close(fd);\n\n return -1;\n\n }\n\n\n\n if (tap_set_sndbuf(s->fd, tap) < 0) {\n\n return -1;\n\n }\n\n\n\n if (tap->has_fd || tap->has_fds) {\n\n snprintf(s->nc.info_str, sizeof(s->nc.info_str), \"fd=%d\", fd);\n\n } else if (tap->has_helper) {\n\n snprintf(s->nc.info_str, sizeof(s->nc.info_str), \"helper=%s\",\n\n tap->helper);\n\n } else {\n\n snprintf(s->nc.info_str, sizeof(s->nc.info_str),\n\n \"ifname=%s,script=%s,downscript=%s\", ifname, script,\n\n downscript);\n\n\n\n if (strcmp(downscript, \"no\") != 0) {\n\n snprintf(s->down_script, sizeof(s->down_script), \"%s\", downscript);\n\n snprintf(s->down_script_arg, sizeof(s->down_script_arg),\n\n \"%s\", ifname);\n\n }\n\n }\n\n\n\n if (tap->has_vhost ? tap->vhost :\n\n vhostfdname || (tap->has_vhostforce && tap->vhostforce)) {\n\n int vhostfd;\n\n\n\n if (tap->has_vhostfd) {\n\n vhostfd = monitor_handle_fd_param(cur_mon, vhostfdname);\n\n if (vhostfd == -1) {\n\n return -1;\n\n }\n\n } else {\n\n vhostfd = -1;\n\n }\n\n\n\n s->vhost_net = vhost_net_init(&s->nc, vhostfd,\n\n tap->has_vhostforce && tap->vhostforce);\n\n if (!s->vhost_net) {\n\n error_report(\"vhost-net requested but could not be initialized\");\n\n return -1;\n\n }\n\n } else if (tap->has_vhostfd || tap->has_vhostfds) {\n\n error_report(\"vhostfd= is not valid without vhost\");\n\n return -1;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 7490}725{"project": "qemu", "commit_id": "3dc6f8693694a649a9c83f1e2746565b47683923", "target": 0, "func": "int qdev_prop_check_globals(void)\n\n{\n\n GList *l;\n\n int ret = 0;\n\n\n\n for (l = global_props; l; l = l->next) {\n\n GlobalProperty *prop = l->data;\n\n ObjectClass *oc;\n\n DeviceClass *dc;\n\n if (prop->used) {\n\n continue;\n\n }\n\n if (!prop->user_provided) {\n\n continue;\n\n }\n\n oc = object_class_by_name(prop->driver);\n\n oc = object_class_dynamic_cast(oc, TYPE_DEVICE);\n\n if (!oc) {\n\n error_report(\"Warning: global %s.%s has invalid class name\",\n\n prop->driver, prop->property);\n\n ret = 1;\n\n continue;\n\n }\n\n dc = DEVICE_CLASS(oc);\n\n if (!dc->hotpluggable && !prop->used) {\n\n error_report(\"Warning: global %s.%s=%s not used\",\n\n prop->driver, prop->property, prop->value);\n\n ret = 1;\n\n continue;\n\n }\n\n }\n\n return ret;\n\n}\n", "idx": 7491}726{"project": "qemu", "commit_id": "1ea879e5580f63414693655fcf0328559cdce138", "target": 0, "func": "static int qesd_init_out (HWVoiceOut *hw, audsettings_t *as)\n\n{\n\n ESDVoiceOut *esd = (ESDVoiceOut *) hw;\n\n audsettings_t obt_as = *as;\n\n int esdfmt = ESD_STREAM | ESD_PLAY;\n\n int err;\n\n sigset_t set, old_set;\n\n\n\n sigfillset (&set);\n\n\n\n esdfmt |= (as->nchannels == 2) ? ESD_STEREO : ESD_MONO;\n\n switch (as->fmt) {\n\n case AUD_FMT_S8:\n\n case AUD_FMT_U8:\n\n esdfmt |= ESD_BITS8;\n\n obt_as.fmt = AUD_FMT_U8;\n\n break;\n\n\n\n case AUD_FMT_S32:\n\n case AUD_FMT_U32:\n\n dolog (\"Will use 16 instead of 32 bit samples\\n\");\n\n\n\n case AUD_FMT_S16:\n\n case AUD_FMT_U16:\n\n deffmt:\n\n esdfmt |= ESD_BITS16;\n\n obt_as.fmt = AUD_FMT_S16;\n\n break;\n\n\n\n default:\n\n dolog (\"Internal logic error: Bad audio format %d\\n\", as->fmt);\n\n goto deffmt;\n\n\n\n }\n\n obt_as.endianness = AUDIO_HOST_ENDIANNESS;\n\n\n\n audio_pcm_init_info (&hw->info, &obt_as);\n\n\n\n hw->samples = conf.samples;\n\n esd->pcm_buf = audio_calloc (AUDIO_FUNC, hw->samples, 1 << hw->info.shift);\n\n if (!esd->pcm_buf) {\n\n dolog (\"Could not allocate buffer (%d bytes)\\n\",\n\n hw->samples << hw->info.shift);\n\n return -1;\n\n }\n\n\n\n esd->fd = -1;\n\n err = pthread_sigmask (SIG_BLOCK, &set, &old_set);\n\n if (err) {\n\n qesd_logerr (err, \"pthread_sigmask failed\\n\");\n\n goto fail1;\n\n }\n\n\n\n esd->fd = esd_play_stream (esdfmt, as->freq, conf.dac_host, NULL);\n\n if (esd->fd < 0) {\n\n qesd_logerr (errno, \"esd_play_stream failed\\n\");\n\n goto fail2;\n\n }\n\n\n\n if (audio_pt_init (&esd->pt, qesd_thread_out, esd, AUDIO_CAP, AUDIO_FUNC)) {\n\n goto fail3;\n\n }\n\n\n\n err = pthread_sigmask (SIG_SETMASK, &old_set, NULL);\n\n if (err) {\n\n qesd_logerr (err, \"pthread_sigmask(restore) failed\\n\");\n\n }\n\n\n\n return 0;\n\n\n\n fail3:\n\n if (close (esd->fd)) {\n\n qesd_logerr (errno, \"%s: close on esd socket(%d) failed\\n\",\n\n AUDIO_FUNC, esd->fd);\n\n }\n\n esd->fd = -1;\n\n\n\n fail2:\n\n err = pthread_sigmask (SIG_SETMASK, &old_set, NULL);\n\n if (err) {\n\n qesd_logerr (err, \"pthread_sigmask(restore) failed\\n\");\n\n }\n\n\n\n fail1:\n\n qemu_free (esd->pcm_buf);\n\n esd->pcm_buf = NULL;\n\n return -1;\n\n}\n", "idx": 7498}727{"project": "qemu", "commit_id": "03a63484a6978f68caff087bbaabcd1d383563af", "target": 1, "func": "static void monitor_find_completion(const char *cmdline)\n\n{\n\n const char *cmdname;\n\n char *args[MAX_ARGS];\n\n int nb_args, i, len;\n\n const char *ptype, *str;\n\n const mon_cmd_t *cmd;\n\n const KeyDef *key;\n\n\n\n parse_cmdline(cmdline, &nb_args, args);\n\n#ifdef DEBUG_COMPLETION\n\n for(i = 0; i < nb_args; i++) {\n\n monitor_printf(cur_mon, \"arg%d = '%s'\\n\", i, (char *)args[i]);\n\n }\n\n#endif\n\n\n\n /* if the line ends with a space, it means we want to complete the\n\n next arg */\n\n len = strlen(cmdline);\n\n if (len > 0 && qemu_isspace(cmdline[len - 1])) {\n\n if (nb_args >= MAX_ARGS)\n\n return;\n\n args[nb_args++] = qemu_strdup(\"\");\n\n }\n\n if (nb_args <= 1) {\n\n /* command completion */\n\n if (nb_args == 0)\n\n cmdname = \"\";\n\n else\n\n cmdname = args[0];\n\n readline_set_completion_index(cur_mon->rs, strlen(cmdname));\n\n for(cmd = mon_cmds; cmd->name != NULL; cmd++) {\n\n cmd_completion(cmdname, cmd->name);\n\n }\n\n } else {\n\n /* find the command */\n\n for(cmd = mon_cmds; cmd->name != NULL; cmd++) {\n\n if (compare_cmd(args[0], cmd->name))\n\n goto found;\n\n }\n\n return;\n\n found:\n\n ptype = next_arg_type(cmd->args_type);\n\n for(i = 0; i < nb_args - 2; i++) {\n\n if (*ptype != '\\0') {\n\n ptype = next_arg_type(ptype);\n\n while (*ptype == '?')\n\n ptype = next_arg_type(ptype);\n\n }\n\n }\n\n str = args[nb_args - 1];\n\n if (*ptype == '-' && ptype[1] != '\\0') {\n\n ptype += 2;\n\n }\n\n switch(*ptype) {\n\n case 'F':\n\n /* file completion */\n\n readline_set_completion_index(cur_mon->rs, strlen(str));\n\n file_completion(str);\n\n break;\n\n case 'B':\n\n /* block device name completion */\n\n readline_set_completion_index(cur_mon->rs, strlen(str));\n\n bdrv_iterate(block_completion_it, (void *)str);\n\n break;\n\n case 's':\n\n /* XXX: more generic ? */\n\n if (!strcmp(cmd->name, \"info\")) {\n\n readline_set_completion_index(cur_mon->rs, strlen(str));\n\n for(cmd = info_cmds; cmd->name != NULL; cmd++) {\n\n cmd_completion(str, cmd->name);\n\n }\n\n } else if (!strcmp(cmd->name, \"sendkey\")) {\n\n char *sep = strrchr(str, '-');\n\n if (sep)\n\n str = sep + 1;\n\n readline_set_completion_index(cur_mon->rs, strlen(str));\n\n for(key = key_defs; key->name != NULL; key++) {\n\n cmd_completion(str, key->name);\n\n }\n\n } else if (!strcmp(cmd->name, \"help|?\")) {\n\n readline_set_completion_index(cur_mon->rs, strlen(str));\n\n for (cmd = mon_cmds; cmd->name != NULL; cmd++) {\n\n cmd_completion(str, cmd->name);\n\n }\n\n }\n\n break;\n\n default:\n\n break;\n\n }\n\n }\n\n for(i = 0; i < nb_args; i++)\n\n qemu_free(args[i]);\n\n}\n", "idx": 7521}728{"project": "qemu", "commit_id": "10a412dab3f54439ea3d60274eb41668f7d83bd2", "target": 0, "func": "static void sd_response_r1_make(SDState *sd,\n\n uint8_t *response, uint32_t last_status)\n\n{\n\n uint32_t mask = CARD_STATUS_B ^ ILLEGAL_COMMAND;\n\n uint32_t status;\n\n\n\n status = (sd->card_status & ~mask) | (last_status & mask);\n\n sd->card_status &= ~CARD_STATUS_C | APP_CMD;\n\n\n\n response[0] = (status >> 24) & 0xff;\n\n response[1] = (status >> 16) & 0xff;\n\n response[2] = (status >> 8) & 0xff;\n\n response[3] = (status >> 0) & 0xff;\n\n}\n", "idx": 7556}729{"project": "FFmpeg", "commit_id": "5674d4b0a35a34b75e3533a8580e0b5a0a8895a7", "target": 0, "func": "static int mpc8_decode_frame(AVCodecContext * avctx,\n\n void *data, int *data_size,\n\n AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n MPCContext *c = avctx->priv_data;\n\n GetBitContext gb2, *gb = &gb2;\n\n int i, j, k, ch, cnt, res, t;\n\n Band *bands = c->bands;\n\n int off;\n\n int maxband, keyframe;\n\n int last[2];\n\n\n\n keyframe = c->cur_frame == 0;\n\n\n\n if(keyframe){\n\n memset(c->Q, 0, sizeof(c->Q));\n\n c->last_bits_used = 0;\n\n }\n\n init_get_bits(gb, buf, buf_size * 8);\n\n skip_bits(gb, c->last_bits_used & 7);\n\n\n\n if(keyframe)\n\n maxband = mpc8_get_mod_golomb(gb, c->maxbands + 1);\n\n else{\n\n maxband = c->last_max_band + get_vlc2(gb, band_vlc.table, MPC8_BANDS_BITS, 2);\n\n if(maxband > 32) maxband -= 33;\n\n }\n\n c->last_max_band = maxband;\n\n\n\n /* read subband indexes */\n\n if(maxband){\n\n last[0] = last[1] = 0;\n\n for(i = maxband - 1; i >= 0; i--){\n\n for(ch = 0; ch < 2; ch++){\n\n last[ch] = get_vlc2(gb, res_vlc[last[ch] > 2].table, MPC8_RES_BITS, 2) + last[ch];\n\n if(last[ch] > 15) last[ch] -= 17;\n\n bands[i].res[ch] = last[ch];\n\n }\n\n }\n\n if(c->MSS){\n\n int mask;\n\n\n\n cnt = 0;\n\n for(i = 0; i < maxband; i++)\n\n if(bands[i].res[0] || bands[i].res[1])\n\n cnt++;\n\n t = mpc8_get_mod_golomb(gb, cnt);\n\n mask = mpc8_get_mask(gb, cnt, t);\n\n for(i = maxband - 1; i >= 0; i--)\n\n if(bands[i].res[0] || bands[i].res[1]){\n\n bands[i].msf = mask & 1;\n\n mask >>= 1;\n\n }\n\n }\n\n }\n\n for(i = maxband; i < c->maxbands; i++)\n\n bands[i].res[0] = bands[i].res[1] = 0;\n\n\n\n if(keyframe){\n\n for(i = 0; i < 32; i++)\n\n c->oldDSCF[0][i] = c->oldDSCF[1][i] = 1;\n\n }\n\n\n\n for(i = 0; i < maxband; i++){\n\n if(bands[i].res[0] || bands[i].res[1]){\n\n cnt = !!bands[i].res[0] + !!bands[i].res[1] - 1;\n\n if(cnt >= 0){\n\n t = get_vlc2(gb, scfi_vlc[cnt].table, scfi_vlc[cnt].bits, 1);\n\n if(bands[i].res[0]) bands[i].scfi[0] = t >> (2 * cnt);\n\n if(bands[i].res[1]) bands[i].scfi[1] = t & 3;\n\n }\n\n }\n\n }\n\n\n\n for(i = 0; i < maxband; i++){\n\n for(ch = 0; ch < 2; ch++){\n\n if(!bands[i].res[ch]) continue;\n\n\n\n if(c->oldDSCF[ch][i]){\n\n bands[i].scf_idx[ch][0] = get_bits(gb, 7) - 6;\n\n c->oldDSCF[ch][i] = 0;\n\n }else{\n\n t = get_vlc2(gb, dscf_vlc[1].table, MPC8_DSCF1_BITS, 2);\n\n if(t == 64)\n\n t += get_bits(gb, 6);\n\n bands[i].scf_idx[ch][0] = ((bands[i].scf_idx[ch][2] + t - 25) & 0x7F) - 6;\n\n }\n\n for(j = 0; j < 2; j++){\n\n if((bands[i].scfi[ch] << j) & 2)\n\n bands[i].scf_idx[ch][j + 1] = bands[i].scf_idx[ch][j];\n\n else{\n\n t = get_vlc2(gb, dscf_vlc[0].table, MPC8_DSCF0_BITS, 2);\n\n if(t == 31)\n\n t = 64 + get_bits(gb, 6);\n\n bands[i].scf_idx[ch][j + 1] = ((bands[i].scf_idx[ch][j] + t - 25) & 0x7F) - 6;\n\n }\n\n }\n\n }\n\n }\n\n\n\n for(i = 0, off = 0; i < maxband; i++, off += SAMPLES_PER_BAND){\n\n for(ch = 0; ch < 2; ch++){\n\n res = bands[i].res[ch];\n\n switch(res){\n\n case -1:\n\n for(j = 0; j < SAMPLES_PER_BAND; j++)\n\n c->Q[ch][off + j] = (av_lfg_get(&c->rnd) & 0x3FC) - 510;\n\n break;\n\n case 0:\n\n break;\n\n case 1:\n\n for(j = 0; j < SAMPLES_PER_BAND; j += SAMPLES_PER_BAND / 2){\n\n cnt = get_vlc2(gb, q1_vlc.table, MPC8_Q1_BITS, 2);\n\n t = mpc8_get_mask(gb, 18, cnt);\n\n for(k = 0; k < SAMPLES_PER_BAND / 2; k++, t <<= 1)\n\n c->Q[ch][off + j + k] = (t & 0x20000) ? (get_bits1(gb) << 1) - 1 : 0;\n\n }\n\n break;\n\n case 2:\n\n cnt = 6;//2*mpc8_thres[res]\n\n for(j = 0; j < SAMPLES_PER_BAND; j += 3){\n\n t = get_vlc2(gb, q2_vlc[cnt > 3].table, MPC8_Q2_BITS, 2);\n\n c->Q[ch][off + j + 0] = mpc8_idx50[t];\n\n c->Q[ch][off + j + 1] = mpc8_idx51[t];\n\n c->Q[ch][off + j + 2] = mpc8_idx52[t];\n\n cnt = (cnt >> 1) + mpc8_huffq2[t];\n\n }\n\n break;\n\n case 3:\n\n case 4:\n\n for(j = 0; j < SAMPLES_PER_BAND; j += 2){\n\n t = get_vlc2(gb, q3_vlc[res - 3].table, MPC8_Q3_BITS, 2) + q3_offsets[res - 3];\n\n c->Q[ch][off + j + 1] = t >> 4;\n\n c->Q[ch][off + j + 0] = (t & 8) ? (t & 0xF) - 16 : (t & 0xF);\n\n }\n\n break;\n\n case 5:\n\n case 6:\n\n case 7:\n\n case 8:\n\n cnt = 2 * mpc8_thres[res];\n\n for(j = 0; j < SAMPLES_PER_BAND; j++){\n\n t = get_vlc2(gb, quant_vlc[res - 5][cnt > mpc8_thres[res]].table, quant_vlc[res - 5][cnt > mpc8_thres[res]].bits, 2) + quant_offsets[res - 5];\n\n c->Q[ch][off + j] = t;\n\n cnt = (cnt >> 1) + FFABS(c->Q[ch][off + j]);\n\n }\n\n break;\n\n default:\n\n for(j = 0; j < SAMPLES_PER_BAND; j++){\n\n c->Q[ch][off + j] = get_vlc2(gb, q9up_vlc.table, MPC8_Q9UP_BITS, 2);\n\n if(res != 9){\n\n c->Q[ch][off + j] <<= res - 9;\n\n c->Q[ch][off + j] |= get_bits(gb, res - 9);\n\n }\n\n c->Q[ch][off + j] -= (1 << (res - 2)) - 1;\n\n }\n\n }\n\n }\n\n }\n\n\n\n ff_mpc_dequantize_and_synth(c, maxband, data, avctx->channels);\n\n\n\n c->cur_frame++;\n\n\n\n c->last_bits_used = get_bits_count(gb);\n\n if(c->cur_frame >= c->frames)\n\n c->cur_frame = 0;\n\n *data_size = MPC_FRAME_SIZE * 2 * avctx->channels;\n\n\n\n return c->cur_frame ? c->last_bits_used >> 3 : buf_size;\n\n}\n", "idx": 7558}730{"project": "qemu", "commit_id": "da57febfed7bad11be79f047b59719c38abd0712", "target": 0, "func": "DeviceState *qdev_try_create(BusState *bus, const char *name)\n\n{\n\n DeviceState *dev;\n\n\n\n if (object_class_by_name(name) == NULL) {\n\n return NULL;\n\n }\n\n dev = DEVICE(object_new(name));\n\n if (!dev) {\n\n return NULL;\n\n }\n\n\n\n if (!bus) {\n\n bus = sysbus_get_default();\n\n }\n\n\n\n qdev_set_parent_bus(dev, bus);\n\n qdev_prop_set_globals(dev);\n\n\n\n return dev;\n\n}\n", "idx": 7579}731{"project": "qemu", "commit_id": "31478f26ab4ed82d35b763bbf259810d0c8b44e1", "target": 1, "func": "Visitor *qobject_input_visitor_new_keyval(QObject *obj)\n\n{\n\n QObjectInputVisitor *v = qobject_input_visitor_base_new(obj);\n\n\n\n v->visitor.type_int64 = qobject_input_type_int64_keyval;\n\n v->visitor.type_uint64 = qobject_input_type_uint64_keyval;\n\n v->visitor.type_bool = qobject_input_type_bool_keyval;\n\n v->visitor.type_str = qobject_input_type_str;\n\n v->visitor.type_number = qobject_input_type_number_keyval;\n\n v->visitor.type_any = qobject_input_type_any;\n\n v->visitor.type_null = qobject_input_type_null;\n\n v->visitor.type_size = qobject_input_type_size_keyval;\n\n\n\n return &v->visitor;\n\n}\n", "idx": 7590}732{"project": "qemu", "commit_id": "187337f8b0ec0813dd3876d1efe37d415fb81c2e", "target": 1, "func": "void *pl080_init(uint32_t base, qemu_irq irq, int nchannels)\n\n{\n\n int iomemtype;\n\n pl080_state *s;\n\n\n\n s = (pl080_state *)qemu_mallocz(sizeof(pl080_state));\n\n iomemtype = cpu_register_io_memory(0, pl080_readfn,\n\n pl080_writefn, s);\n\n cpu_register_physical_memory(base, 0x00000fff, iomemtype);\n\n s->base = base;\n\n s->irq = irq;\n\n s->nchannels = nchannels;\n\n /* ??? Save/restore. */\n\n return s;\n\n}\n", "idx": 7596}733{"project": "FFmpeg", "commit_id": "596b5c488fa1d40f114a64d3b73e1863cab073fb", "target": 0, "func": "static av_cold void init_coef_vlc(VLC *vlc, uint16_t **prun_table,\n\n float **plevel_table, uint16_t **pint_table,\n\n const CoefVLCTable *vlc_table)\n\n{\n\n int n = vlc_table->n;\n\n const uint8_t *table_bits = vlc_table->huffbits;\n\n const uint32_t *table_codes = vlc_table->huffcodes;\n\n const uint16_t *levels_table = vlc_table->levels;\n\n uint16_t *run_table, *level_table, *int_table;\n\n float *flevel_table;\n\n int i, l, j, k, level;\n\n\n\n init_vlc(vlc, VLCBITS, n, table_bits, 1, 1, table_codes, 4, 4, 0);\n\n\n\n run_table = av_malloc(n * sizeof(uint16_t));\n\n level_table = av_malloc(n * sizeof(uint16_t));\n\n flevel_table = av_malloc(n * sizeof(*flevel_table));\n\n int_table = av_malloc(n * sizeof(uint16_t));\n\n i = 2;\n\n level = 1;\n\n k = 0;\n\n while (i < n) {\n\n int_table[k] = i;\n\n l = levels_table[k++];\n\n for (j = 0; j < l; j++) {\n\n run_table[i] = j;\n\n level_table[i] = level;\n\n flevel_table[i] = level;\n\n i++;\n\n }\n\n level++;\n\n }\n\n *prun_table = run_table;\n\n *plevel_table = flevel_table;\n\n *pint_table = int_table;\n\n av_free(level_table);\n\n}\n", "idx": 7598}734{"project": "FFmpeg", "commit_id": "d7b2bb5391bf55e8f9421bff7feb4c1fddfac4bf", "target": 0, "func": "static inline int parse_nal_units(AVCodecParserContext *s,\n\n AVCodecContext *avctx,\n\n const uint8_t *buf, int buf_size)\n\n{\n\n H264ParseContext *p = s->priv_data;\n\n const uint8_t *buf_end = buf + buf_size;\n\n\n\n H2645NAL nal = { NULL };\n\n\n\n unsigned int pps_id;\n\n unsigned int slice_type;\n\n int state = -1, got_reset = 0;\n\n int field_poc[2];\n\n int ret;\n\n\n\n /* set some sane default values */\n\n s->pict_type = AV_PICTURE_TYPE_I;\n\n s->key_frame = 0;\n\n s->picture_structure = AV_PICTURE_STRUCTURE_UNKNOWN;\n\n\n\n ff_h264_sei_uninit(&p->sei);\n\n\n\n if (!buf_size)\n\n return 0;\n\n\n\n for (;;) {\n\n const SPS *sps;\n\n int src_length, consumed;\n\n buf = avpriv_find_start_code(buf, buf_end, &state);\n\n if (buf >= buf_end)\n\n break;\n\n --buf;\n\n src_length = buf_end - buf;\n\n switch (state & 0x1f) {\n\n case H264_NAL_SLICE:\n\n case H264_NAL_IDR_SLICE:\n\n // Do not walk the whole buffer just to decode slice header\n\n if ((state & 0x1f) == H264_NAL_IDR_SLICE || ((state >> 5) & 0x3) == 0) {\n\n /* IDR or disposable slice\n\n * No need to decode many bytes because MMCOs shall not be present. */\n\n if (src_length > 60)\n\n src_length = 60;\n\n } else {\n\n /* To decode up to MMCOs */\n\n if (src_length > 1000)\n\n src_length = 1000;\n\n }\n\n break;\n\n }\n\n\n\n consumed = ff_h2645_extract_rbsp(buf, src_length, &nal);\n\n if (consumed < 0)\n\n break;\n\n\n\n ret = init_get_bits(&nal.gb, nal.data, nal.size * 8);\n\n if (ret < 0)\n\n goto fail;\n\n get_bits1(&nal.gb);\n\n nal.ref_idc = get_bits(&nal.gb, 2);\n\n nal.type = get_bits(&nal.gb, 5);\n\n\n\n switch (nal.type) {\n\n case H264_NAL_SPS:\n\n ff_h264_decode_seq_parameter_set(&nal.gb, avctx, &p->ps);\n\n break;\n\n case H264_NAL_PPS:\n\n ff_h264_decode_picture_parameter_set(&nal.gb, avctx, &p->ps,\n\n nal.size_bits);\n\n break;\n\n case H264_NAL_SEI:\n\n ff_h264_sei_decode(&p->sei, &nal.gb, &p->ps, avctx);\n\n break;\n\n case H264_NAL_IDR_SLICE:\n\n s->key_frame = 1;\n\n\n\n p->poc.prev_frame_num = 0;\n\n p->poc.prev_frame_num_offset = 0;\n\n p->poc.prev_poc_msb =\n\n p->poc.prev_poc_lsb = 0;\n\n /* fall through */\n\n case H264_NAL_SLICE:\n\n get_ue_golomb(&nal.gb); // skip first_mb_in_slice\n\n slice_type = get_ue_golomb_31(&nal.gb);\n\n s->pict_type = ff_h264_golomb_to_pict_type[slice_type % 5];\n\n if (p->sei.recovery_point.recovery_frame_cnt >= 0) {\n\n /* key frame, since recovery_frame_cnt is set */\n\n s->key_frame = 1;\n\n }\n\n pps_id = get_ue_golomb(&nal.gb);\n\n if (pps_id >= MAX_PPS_COUNT) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"pps_id %u out of range\\n\", pps_id);\n\n goto fail;\n\n }\n\n if (!p->ps.pps_list[pps_id]) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"non-existing PPS %u referenced\\n\", pps_id);\n\n goto fail;\n\n }\n\n p->ps.pps = (const PPS*)p->ps.pps_list[pps_id]->data;\n\n if (!p->ps.sps_list[p->ps.pps->sps_id]) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"non-existing SPS %u referenced\\n\", p->ps.pps->sps_id);\n\n goto fail;\n\n }\n\n p->ps.sps = (SPS*)p->ps.sps_list[p->ps.pps->sps_id]->data;\n\n\n\n sps = p->ps.sps;\n\n\n\n p->poc.frame_num = get_bits(&nal.gb, sps->log2_max_frame_num);\n\n\n\n s->coded_width = 16 * sps->mb_width;\n\n s->coded_height = 16 * sps->mb_height;\n\n s->width = s->coded_width - (sps->crop_right + sps->crop_left);\n\n s->height = s->coded_height - (sps->crop_top + sps->crop_bottom);\n\n if (s->width <= 0 || s->height <= 0) {\n\n s->width = s->coded_width;\n\n s->height = s->coded_height;\n\n }\n\n\n\n switch (sps->bit_depth_luma) {\n\n case 9:\n\n if (sps->chroma_format_idc == 3) s->format = AV_PIX_FMT_YUV444P9;\n\n else if (sps->chroma_format_idc == 2) s->format = AV_PIX_FMT_YUV422P9;\n\n else s->format = AV_PIX_FMT_YUV420P9;\n\n break;\n\n case 10:\n\n if (sps->chroma_format_idc == 3) s->format = AV_PIX_FMT_YUV444P10;\n\n else if (sps->chroma_format_idc == 2) s->format = AV_PIX_FMT_YUV422P10;\n\n else s->format = AV_PIX_FMT_YUV420P10;\n\n break;\n\n case 8:\n\n if (sps->chroma_format_idc == 3) s->format = AV_PIX_FMT_YUV444P;\n\n else if (sps->chroma_format_idc == 2) s->format = AV_PIX_FMT_YUV422P;\n\n else s->format = AV_PIX_FMT_YUV420P;\n\n break;\n\n default:\n\n s->format = AV_PIX_FMT_NONE;\n\n }\n\n\n\n avctx->profile = ff_h264_get_profile(sps);\n\n avctx->level = sps->level_idc;\n\n\n\n if (sps->frame_mbs_only_flag) {\n\n p->picture_structure = PICT_FRAME;\n\n } else {\n\n if (get_bits1(&nal.gb)) { // field_pic_flag\n\n p->picture_structure = PICT_TOP_FIELD + get_bits1(&nal.gb); // bottom_field_flag\n\n } else {\n\n p->picture_structure = PICT_FRAME;\n\n }\n\n }\n\n\n\n if (nal.type == H264_NAL_IDR_SLICE)\n\n get_ue_golomb(&nal.gb); /* idr_pic_id */\n\n if (sps->poc_type == 0) {\n\n p->poc.poc_lsb = get_bits(&nal.gb, sps->log2_max_poc_lsb);\n\n\n\n if (p->ps.pps->pic_order_present == 1 &&\n\n p->picture_structure == PICT_FRAME)\n\n p->poc.delta_poc_bottom = get_se_golomb(&nal.gb);\n\n }\n\n\n\n if (sps->poc_type == 1 &&\n\n !sps->delta_pic_order_always_zero_flag) {\n\n p->poc.delta_poc[0] = get_se_golomb(&nal.gb);\n\n\n\n if (p->ps.pps->pic_order_present == 1 &&\n\n p->picture_structure == PICT_FRAME)\n\n p->poc.delta_poc[1] = get_se_golomb(&nal.gb);\n\n }\n\n\n\n /* Decode POC of this picture.\n\n * The prev_ values needed for decoding POC of the next picture are not set here. */\n\n field_poc[0] = field_poc[1] = INT_MAX;\n\n ff_h264_init_poc(field_poc, &s->output_picture_number, sps,\n\n &p->poc, p->picture_structure, nal.ref_idc);\n\n\n\n /* Continue parsing to check if MMCO_RESET is present.\n\n * FIXME: MMCO_RESET could appear in non-first slice.\n\n * Maybe, we should parse all undisposable non-IDR slice of this\n\n * picture until encountering MMCO_RESET in a slice of it. */\n\n if (nal.ref_idc && nal.type != H264_NAL_IDR_SLICE) {\n\n got_reset = scan_mmco_reset(s, &nal.gb, avctx);\n\n if (got_reset < 0)\n\n goto fail;\n\n }\n\n\n\n /* Set up the prev_ values for decoding POC of the next picture. */\n\n p->poc.prev_frame_num = got_reset ? 0 : p->poc.frame_num;\n\n p->poc.prev_frame_num_offset = got_reset ? 0 : p->poc.frame_num_offset;\n\n if (nal.ref_idc != 0) {\n\n if (!got_reset) {\n\n p->poc.prev_poc_msb = p->poc.poc_msb;\n\n p->poc.prev_poc_lsb = p->poc.poc_lsb;\n\n } else {\n\n p->poc.prev_poc_msb = 0;\n\n p->poc.prev_poc_lsb =\n\n p->picture_structure == PICT_BOTTOM_FIELD ? 0 : field_poc[0];\n\n }\n\n }\n\n\n\n if (sps->pic_struct_present_flag) {\n\n switch (p->sei.picture_timing.pic_struct) {\n\n case SEI_PIC_STRUCT_TOP_FIELD:\n\n case SEI_PIC_STRUCT_BOTTOM_FIELD:\n\n s->repeat_pict = 0;\n\n break;\n\n case SEI_PIC_STRUCT_FRAME:\n\n case SEI_PIC_STRUCT_TOP_BOTTOM:\n\n case SEI_PIC_STRUCT_BOTTOM_TOP:\n\n s->repeat_pict = 1;\n\n break;\n\n case SEI_PIC_STRUCT_TOP_BOTTOM_TOP:\n\n case SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM:\n\n s->repeat_pict = 2;\n\n break;\n\n case SEI_PIC_STRUCT_FRAME_DOUBLING:\n\n s->repeat_pict = 3;\n\n break;\n\n case SEI_PIC_STRUCT_FRAME_TRIPLING:\n\n s->repeat_pict = 5;\n\n break;\n\n default:\n\n s->repeat_pict = p->picture_structure == PICT_FRAME ? 1 : 0;\n\n break;\n\n }\n\n } else {\n\n s->repeat_pict = p->picture_structure == PICT_FRAME ? 1 : 0;\n\n }\n\n\n\n if (p->picture_structure == PICT_FRAME) {\n\n s->picture_structure = AV_PICTURE_STRUCTURE_FRAME;\n\n if (sps->pic_struct_present_flag) {\n\n switch (p->sei.picture_timing.pic_struct) {\n\n case SEI_PIC_STRUCT_TOP_BOTTOM:\n\n case SEI_PIC_STRUCT_TOP_BOTTOM_TOP:\n\n s->field_order = AV_FIELD_TT;\n\n break;\n\n case SEI_PIC_STRUCT_BOTTOM_TOP:\n\n case SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM:\n\n s->field_order = AV_FIELD_BB;\n\n break;\n\n default:\n\n s->field_order = AV_FIELD_PROGRESSIVE;\n\n break;\n\n }\n\n } else {\n\n if (field_poc[0] < field_poc[1])\n\n s->field_order = AV_FIELD_TT;\n\n else if (field_poc[0] > field_poc[1])\n\n s->field_order = AV_FIELD_BB;\n\n else\n\n s->field_order = AV_FIELD_PROGRESSIVE;\n\n }\n\n } else {\n\n if (p->picture_structure == PICT_TOP_FIELD)\n\n s->picture_structure = AV_PICTURE_STRUCTURE_TOP_FIELD;\n\n else\n\n s->picture_structure = AV_PICTURE_STRUCTURE_BOTTOM_FIELD;\n\n s->field_order = AV_FIELD_UNKNOWN;\n\n }\n\n\n\n av_freep(&nal.rbsp_buffer);\n\n return 0; /* no need to evaluate the rest */\n\n }\n\n buf += consumed;\n\n }\n\n /* didn't find a picture! */\n\n av_log(avctx, AV_LOG_ERROR, \"missing picture in access unit\\n\");\n\nfail:\n\n av_freep(&nal.rbsp_buffer);\n\n return -1;\n\n}\n", "idx": 7609}735{"project": "FFmpeg", "commit_id": "c94326c1fc2fb5719c6f28fe1b95c0c74417998b", "target": 1, "func": "static av_always_inline void FUNC(intra_pred)(HEVCContext *s, int x0, int y0,\n\n int log2_size, int c_idx)\n\n{\n\n#define PU(x) \\\n\n ((x) >> s->ps.sps->log2_min_pu_size)\n\n#define MVF(x, y) \\\n\n (s->ref->tab_mvf[(x) + (y) * min_pu_width])\n\n#define MVF_PU(x, y) \\\n\n MVF(PU(x0 + ((x) << hshift)), PU(y0 + ((y) << vshift)))\n\n#define IS_INTRA(x, y) \\\n\n (MVF_PU(x, y).pred_flag == PF_INTRA)\n\n#define MIN_TB_ADDR_ZS(x, y) \\\n\n s->ps.pps->min_tb_addr_zs[(y) * (s->ps.sps->tb_mask+2) + (x)]\n\n#define EXTEND(ptr, val, len) \\\n\ndo { \\\n\n pixel4 pix = PIXEL_SPLAT_X4(val); \\\n\n for (i = 0; i < (len); i += 4) \\\n\n AV_WN4P(ptr + i, pix); \\\n\n} while (0)\n\n\n\n#define EXTEND_RIGHT_CIP(ptr, start, length) \\\n\n for (i = start; i < (start) + (length); i += 4) \\\n\n if (!IS_INTRA(i, -1)) \\\n\n AV_WN4P(&ptr[i], a); \\\n\n else \\\n\n a = PIXEL_SPLAT_X4(ptr[i+3])\n\n#define EXTEND_LEFT_CIP(ptr, start, length) \\\n\n for (i = start; i > (start) - (length); i--) \\\n\n if (!IS_INTRA(i - 1, -1)) \\\n\n ptr[i - 1] = ptr[i]\n\n#define EXTEND_UP_CIP(ptr, start, length) \\\n\n for (i = (start); i > (start) - (length); i -= 4) \\\n\n if (!IS_INTRA(-1, i - 3)) \\\n\n AV_WN4P(&ptr[i - 3], a); \\\n\n else \\\n\n a = PIXEL_SPLAT_X4(ptr[i - 3])\n\n#define EXTEND_DOWN_CIP(ptr, start, length) \\\n\n for (i = start; i < (start) + (length); i += 4) \\\n\n if (!IS_INTRA(-1, i)) \\\n\n AV_WN4P(&ptr[i], a); \\\n\n else \\\n\n a = PIXEL_SPLAT_X4(ptr[i + 3])\n\n\n\n HEVCLocalContext *lc = s->HEVClc;\n\n int i;\n\n int hshift = s->ps.sps->hshift[c_idx];\n\n int vshift = s->ps.sps->vshift[c_idx];\n\n int size = (1 << log2_size);\n\n int size_in_luma_h = size << hshift;\n\n int size_in_tbs_h = size_in_luma_h >> s->ps.sps->log2_min_tb_size;\n\n int size_in_luma_v = size << vshift;\n\n int size_in_tbs_v = size_in_luma_v >> s->ps.sps->log2_min_tb_size;\n\n int x = x0 >> hshift;\n\n int y = y0 >> vshift;\n\n int x_tb = (x0 >> s->ps.sps->log2_min_tb_size) & s->ps.sps->tb_mask;\n\n int y_tb = (y0 >> s->ps.sps->log2_min_tb_size) & s->ps.sps->tb_mask;\n\n\n\n int cur_tb_addr = MIN_TB_ADDR_ZS(x_tb, y_tb);\n\n\n\n ptrdiff_t stride = s->frame->linesize[c_idx] / sizeof(pixel);\n\n pixel *src = (pixel*)s->frame->data[c_idx] + x + y * stride;\n\n\n\n int min_pu_width = s->ps.sps->min_pu_width;\n\n\n\n enum IntraPredMode mode = c_idx ? lc->tu.intra_pred_mode_c :\n\n lc->tu.intra_pred_mode;\n\n pixel4 a;\n\n pixel left_array[2 * MAX_TB_SIZE + 1];\n\n pixel filtered_left_array[2 * MAX_TB_SIZE + 1];\n\n pixel top_array[2 * MAX_TB_SIZE + 1];\n\n pixel filtered_top_array[2 * MAX_TB_SIZE + 1];\n\n\n\n pixel *left = left_array + 1;\n\n pixel *top = top_array + 1;\n\n pixel *filtered_left = filtered_left_array + 1;\n\n pixel *filtered_top = filtered_top_array + 1;\n\n int cand_bottom_left = lc->na.cand_bottom_left && cur_tb_addr > MIN_TB_ADDR_ZS( x_tb - 1, (y_tb + size_in_tbs_v) & s->ps.sps->tb_mask);\n\n int cand_left = lc->na.cand_left;\n\n int cand_up_left = lc->na.cand_up_left;\n\n int cand_up = lc->na.cand_up;\n\n int cand_up_right = lc->na.cand_up_right && cur_tb_addr > MIN_TB_ADDR_ZS((x_tb + size_in_tbs_h) & s->ps.sps->tb_mask, y_tb - 1);\n\n\n\n int bottom_left_size = (FFMIN(y0 + 2 * size_in_luma_v, s->ps.sps->height) -\n\n (y0 + size_in_luma_v)) >> vshift;\n\n int top_right_size = (FFMIN(x0 + 2 * size_in_luma_h, s->ps.sps->width) -\n\n (x0 + size_in_luma_h)) >> hshift;\n\n\n\n if (s->ps.pps->constrained_intra_pred_flag == 1) {\n\n int size_in_luma_pu_v = PU(size_in_luma_v);\n\n int size_in_luma_pu_h = PU(size_in_luma_h);\n\n int on_pu_edge_x = !av_mod_uintp2(x0, s->ps.sps->log2_min_pu_size);\n\n int on_pu_edge_y = !av_mod_uintp2(y0, s->ps.sps->log2_min_pu_size);\n\n if (!size_in_luma_pu_h)\n\n size_in_luma_pu_h++;\n\n if (cand_bottom_left == 1 && on_pu_edge_x) {\n\n int x_left_pu = PU(x0 - 1);\n\n int y_bottom_pu = PU(y0 + size_in_luma_v);\n\n int max = FFMIN(size_in_luma_pu_v, s->ps.sps->min_pu_height - y_bottom_pu);\n\n cand_bottom_left = 0;\n\n for (i = 0; i < max; i += 2)\n\n cand_bottom_left |= (MVF(x_left_pu, y_bottom_pu + i).pred_flag == PF_INTRA);\n\n }\n\n if (cand_left == 1 && on_pu_edge_x) {\n\n int x_left_pu = PU(x0 - 1);\n\n int y_left_pu = PU(y0);\n\n int max = FFMIN(size_in_luma_pu_v, s->ps.sps->min_pu_height - y_left_pu);\n\n cand_left = 0;\n\n for (i = 0; i < max; i += 2)\n\n cand_left |= (MVF(x_left_pu, y_left_pu + i).pred_flag == PF_INTRA);\n\n }\n\n if (cand_up_left == 1) {\n\n int x_left_pu = PU(x0 - 1);\n\n int y_top_pu = PU(y0 - 1);\n\n cand_up_left = MVF(x_left_pu, y_top_pu).pred_flag == PF_INTRA;\n\n }\n\n if (cand_up == 1 && on_pu_edge_y) {\n\n int x_top_pu = PU(x0);\n\n int y_top_pu = PU(y0 - 1);\n\n int max = FFMIN(size_in_luma_pu_h, s->ps.sps->min_pu_width - x_top_pu);\n\n cand_up = 0;\n\n for (i = 0; i < max; i += 2)\n\n cand_up |= (MVF(x_top_pu + i, y_top_pu).pred_flag == PF_INTRA);\n\n }\n\n if (cand_up_right == 1 && on_pu_edge_y) {\n\n int y_top_pu = PU(y0 - 1);\n\n int x_right_pu = PU(x0 + size_in_luma_h);\n\n int max = FFMIN(size_in_luma_pu_h, s->ps.sps->min_pu_width - x_right_pu);\n\n cand_up_right = 0;\n\n for (i = 0; i < max; i += 2)\n\n cand_up_right |= (MVF(x_right_pu + i, y_top_pu).pred_flag == PF_INTRA);\n\n }\n\n memset(left, 128, 2 * MAX_TB_SIZE*sizeof(pixel));\n\n memset(top , 128, 2 * MAX_TB_SIZE*sizeof(pixel));\n\n top[-1] = 128;\n\n }\n\n if (cand_up_left) {\n\n left[-1] = POS(-1, -1);\n\n top[-1] = left[-1];\n\n }\n\n if (cand_up)\n\n memcpy(top, src - stride, size * sizeof(pixel));\n\n if (cand_up_right) {\n\n memcpy(top + size, src - stride + size, size * sizeof(pixel));\n\n EXTEND(top + size + top_right_size, POS(size + top_right_size - 1, -1),\n\n size - top_right_size);\n\n }\n\n if (cand_left)\n\n for (i = 0; i < size; i++)\n\n left[i] = POS(-1, i);\n\n if (cand_bottom_left) {\n\n for (i = size; i < size + bottom_left_size; i++)\n\n left[i] = POS(-1, i);\n\n EXTEND(left + size + bottom_left_size, POS(-1, size + bottom_left_size - 1),\n\n size - bottom_left_size);\n\n }\n\n\n\n if (s->ps.pps->constrained_intra_pred_flag == 1) {\n\n if (cand_bottom_left || cand_left || cand_up_left || cand_up || cand_up_right) {\n\n int size_max_x = x0 + ((2 * size) << hshift) < s->ps.sps->width ?\n\n 2 * size : (s->ps.sps->width - x0) >> hshift;\n\n int size_max_y = y0 + ((2 * size) << vshift) < s->ps.sps->height ?\n\n 2 * size : (s->ps.sps->height - y0) >> vshift;\n\n int j = size + (cand_bottom_left? bottom_left_size: 0) -1;\n\n if (!cand_up_right) {\n\n size_max_x = x0 + ((size) << hshift) < s->ps.sps->width ?\n\n size : (s->ps.sps->width - x0) >> hshift;\n\n }\n\n if (!cand_bottom_left) {\n\n size_max_y = y0 + (( size) << vshift) < s->ps.sps->height ?\n\n size : (s->ps.sps->height - y0) >> vshift;\n\n }\n\n if (cand_bottom_left || cand_left || cand_up_left) {\n\n while (j > -1 && !IS_INTRA(-1, j))\n\n j--;\n\n if (!IS_INTRA(-1, j)) {\n\n j = 0;\n\n while (j < size_max_x && !IS_INTRA(j, -1))\n\n j++;\n\n EXTEND_LEFT_CIP(top, j, j + 1);\n\n left[-1] = top[-1];\n\n }\n\n } else {\n\n j = 0;\n\n while (j < size_max_x && !IS_INTRA(j, -1))\n\n j++;\n\n if (j > 0)\n\n if (x0 > 0) {\n\n EXTEND_LEFT_CIP(top, j, j + 1);\n\n } else {\n\n EXTEND_LEFT_CIP(top, j, j);\n\n top[-1] = top[0];\n\n }\n\n left[-1] = top[-1];\n\n }\n\n left[-1] = top[-1];\n\n if (cand_bottom_left || cand_left) {\n\n a = PIXEL_SPLAT_X4(left[-1]);\n\n EXTEND_DOWN_CIP(left, 0, size_max_y);\n\n }\n\n if (!cand_left)\n\n EXTEND(left, left[-1], size);\n\n if (!cand_bottom_left)\n\n EXTEND(left + size, left[size - 1], size);\n\n if (x0 != 0 && y0 != 0) {\n\n a = PIXEL_SPLAT_X4(left[size_max_y - 1]);\n\n EXTEND_UP_CIP(left, size_max_y - 1, size_max_y);\n\n if (!IS_INTRA(-1, - 1))\n\n left[-1] = left[0];\n\n } else if (x0 == 0) {\n\n EXTEND(left, 0, size_max_y);\n\n } else {\n\n a = PIXEL_SPLAT_X4(left[size_max_y - 1]);\n\n EXTEND_UP_CIP(left, size_max_y - 1, size_max_y);\n\n }\n\n top[-1] = left[-1];\n\n if (y0 != 0) {\n\n a = PIXEL_SPLAT_X4(left[-1]);\n\n EXTEND_RIGHT_CIP(top, 0, size_max_x);\n\n }\n\n }\n\n }\n\n // Infer the unavailable samples\n\n if (!cand_bottom_left) {\n\n if (cand_left) {\n\n EXTEND(left + size, left[size - 1], size);\n\n } else if (cand_up_left) {\n\n EXTEND(left, left[-1], 2 * size);\n\n cand_left = 1;\n\n } else if (cand_up) {\n\n left[-1] = top[0];\n\n EXTEND(left, left[-1], 2 * size);\n\n cand_up_left = 1;\n\n cand_left = 1;\n\n } else if (cand_up_right) {\n\n EXTEND(top, top[size], size);\n\n left[-1] = top[size];\n\n EXTEND(left, left[-1], 2 * size);\n\n cand_up = 1;\n\n cand_up_left = 1;\n\n cand_left = 1;\n\n } else { // No samples available\n\n left[-1] = (1 << (BIT_DEPTH - 1));\n\n EXTEND(top, left[-1], 2 * size);\n\n EXTEND(left, left[-1], 2 * size);\n\n }\n\n }\n\n\n\n if (!cand_left)\n\n EXTEND(left, left[size], size);\n\n if (!cand_up_left) {\n\n left[-1] = left[0];\n\n }\n\n if (!cand_up)\n\n EXTEND(top, left[-1], size);\n\n if (!cand_up_right)\n\n EXTEND(top + size, top[size - 1], size);\n\n\n\n top[-1] = left[-1];\n\n\n\n // Filtering process\n\n if (!s->ps.sps->intra_smoothing_disabled_flag && (c_idx == 0 || s->ps.sps->chroma_format_idc == 3)) {\n\n if (mode != INTRA_DC && size != 4){\n\n int intra_hor_ver_dist_thresh[] = { 7, 1, 0 };\n\n int min_dist_vert_hor = FFMIN(FFABS((int)(mode - 26U)),\n\n FFABS((int)(mode - 10U)));\n\n if (min_dist_vert_hor > intra_hor_ver_dist_thresh[log2_size - 3]) {\n\n int threshold = 1 << (BIT_DEPTH - 5);\n\n if (s->ps.sps->sps_strong_intra_smoothing_enable_flag && c_idx == 0 &&\n\n log2_size == 5 &&\n\n FFABS(top[-1] + top[63] - 2 * top[31]) < threshold &&\n\n FFABS(left[-1] + left[63] - 2 * left[31]) < threshold) {\n\n // We can't just overwrite values in top because it could be\n\n // a pointer into src\n\n filtered_top[-1] = top[-1];\n\n filtered_top[63] = top[63];\n\n for (i = 0; i < 63; i++)\n\n filtered_top[i] = ((64 - (i + 1)) * top[-1] +\n\n (i + 1) * top[63] + 32) >> 6;\n\n for (i = 0; i < 63; i++)\n\n left[i] = ((64 - (i + 1)) * left[-1] +\n\n (i + 1) * left[63] + 32) >> 6;\n\n top = filtered_top;\n\n } else {\n\n filtered_left[2 * size - 1] = left[2 * size - 1];\n\n filtered_top[2 * size - 1] = top[2 * size - 1];\n\n for (i = 2 * size - 2; i >= 0; i--)\n\n filtered_left[i] = (left[i + 1] + 2 * left[i] +\n\n left[i - 1] + 2) >> 2;\n\n filtered_top[-1] =\n\n filtered_left[-1] = (left[0] + 2 * left[-1] + top[0] + 2) >> 2;\n\n for (i = 2 * size - 2; i >= 0; i--)\n\n filtered_top[i] = (top[i + 1] + 2 * top[i] +\n\n top[i - 1] + 2) >> 2;\n\n left = filtered_left;\n\n top = filtered_top;\n\n }\n\n }\n\n }\n\n }\n\n\n\n switch (mode) {\n\n case INTRA_PLANAR:\n\n s->hpc.pred_planar[log2_size - 2]((uint8_t *)src, (uint8_t *)top,\n\n (uint8_t *)left, stride);\n\n break;\n\n case INTRA_DC:\n\n s->hpc.pred_dc((uint8_t *)src, (uint8_t *)top,\n\n (uint8_t *)left, stride, log2_size, c_idx);\n\n break;\n\n default:\n\n s->hpc.pred_angular[log2_size - 2]((uint8_t *)src, (uint8_t *)top,\n\n (uint8_t *)left, stride, c_idx,\n\n mode);\n\n break;\n\n }\n\n}\n", "idx": 7622}736{"project": "FFmpeg", "commit_id": "6f3d2fb18bb6225c27e22a95846c42f2093dc3b7", "target": 0, "func": "static void end_last_frame(AVFilterContext *ctx)\n\n{\n\n TileContext *tile = ctx->priv;\n\n AVFilterLink *outlink = ctx->outputs[0];\n\n AVFilterBufferRef *out_buf = outlink->out_buf;\n\n\n\n outlink->out_buf = NULL;\n\n ff_start_frame(outlink, out_buf);\n\n while (tile->current < tile->nb_frames)\n\n draw_blank_frame(ctx, out_buf);\n\n ff_draw_slice(outlink, 0, out_buf->video->h, 1);\n\n ff_end_frame(outlink);\n\n tile->current = 0;\n\n}\n", "idx": 7649}737{"project": "FFmpeg", "commit_id": "4b1f5e5090abed6c618c8ba380cd7d28d140f867", "target": 0, "func": "void av_register_output_format(AVOutputFormat *format)\n\n{\n\n AVOutputFormat **p = &first_oformat;\n\n\n\n while (*p != NULL)\n\n p = &(*p)->next;\n\n\n\n *p = format;\n\n format->next = NULL;\n\n}\n", "idx": 7651}738{"project": "qemu", "commit_id": "d5de7839d78b08c7bd14b03dac0413699b90da67", "target": 1, "func": "static void decode_32Bit_opc(CPUTriCoreState *env, DisasContext *ctx)\n\n{\n\n int op1;\n\n int32_t r1, r2, r3;\n\n int32_t address, const16;\n\n int8_t b, const4;\n\n int32_t bpos;\n\n TCGv temp, temp2, temp3;\n\n\n\n op1 = MASK_OP_MAJOR(ctx->opcode);\n\n\n\n /* handle JNZ.T opcode only being 7 bit long */\n\n if (unlikely((op1 & 0x7f) == OPCM_32_BRN_JTT)) {\n\n op1 = OPCM_32_BRN_JTT;\n\n }\n\n\n\n switch (op1) {\n\n/* ABS-format */\n\n case OPCM_32_ABS_LDW:\n\n decode_abs_ldw(env, ctx);\n\n\n case OPCM_32_ABS_LDB:\n\n decode_abs_ldb(env, ctx);\n\n\n case OPCM_32_ABS_LDMST_SWAP:\n\n decode_abs_ldst_swap(env, ctx);\n\n\n case OPCM_32_ABS_LDST_CONTEXT:\n\n decode_abs_ldst_context(env, ctx);\n\n\n case OPCM_32_ABS_STORE:\n\n decode_abs_store(env, ctx);\n\n\n case OPCM_32_ABS_STOREB_H:\n\n decode_abs_storeb_h(env, ctx);\n\n\n case OPC1_32_ABS_STOREQ:\n\n address = MASK_OP_ABS_OFF18(ctx->opcode);\n\n r1 = MASK_OP_ABS_S1D(ctx->opcode);\n\n temp = tcg_const_i32(EA_ABS_FORMAT(address));\n\n temp2 = tcg_temp_new();\n\n\n\n tcg_gen_shri_tl(temp2, cpu_gpr_d[r1], 16);\n\n tcg_gen_qemu_st_tl(temp2, temp, ctx->mem_idx, MO_LEUW);\n\n\n\n tcg_temp_free(temp2);\n\n tcg_temp_free(temp);\n\n\n case OPC1_32_ABS_LD_Q:\n\n address = MASK_OP_ABS_OFF18(ctx->opcode);\n\n r1 = MASK_OP_ABS_S1D(ctx->opcode);\n\n temp = tcg_const_i32(EA_ABS_FORMAT(address));\n\n\n\n tcg_gen_qemu_ld_tl(cpu_gpr_d[r1], temp, ctx->mem_idx, MO_LEUW);\n\n tcg_gen_shli_tl(cpu_gpr_d[r1], cpu_gpr_d[r1], 16);\n\n\n\n tcg_temp_free(temp);\n\n\n case OPC1_32_ABS_LEA:\n\n address = MASK_OP_ABS_OFF18(ctx->opcode);\n\n r1 = MASK_OP_ABS_S1D(ctx->opcode);\n\n tcg_gen_movi_tl(cpu_gpr_a[r1], EA_ABS_FORMAT(address));\n\n\n/* ABSB-format */\n\n case OPC1_32_ABSB_ST_T:\n\n address = MASK_OP_ABS_OFF18(ctx->opcode);\n\n b = MASK_OP_ABSB_B(ctx->opcode);\n\n bpos = MASK_OP_ABSB_BPOS(ctx->opcode);\n\n\n\n temp = tcg_const_i32(EA_ABS_FORMAT(address));\n\n temp2 = tcg_temp_new();\n\n\n\n tcg_gen_qemu_ld_tl(temp2, temp, ctx->mem_idx, MO_UB);\n\n tcg_gen_andi_tl(temp2, temp2, ~(0x1u << bpos));\n\n tcg_gen_ori_tl(temp2, temp2, (b << bpos));\n\n tcg_gen_qemu_st_tl(temp2, temp, ctx->mem_idx, MO_UB);\n\n\n\n tcg_temp_free(temp);\n\n tcg_temp_free(temp2);\n\n\n/* B-format */\n\n case OPC1_32_B_CALL:\n\n case OPC1_32_B_CALLA:\n\n case OPC1_32_B_J:\n\n case OPC1_32_B_JA:\n\n case OPC1_32_B_JL:\n\n case OPC1_32_B_JLA:\n\n address = MASK_OP_B_DISP24(ctx->opcode);\n\n gen_compute_branch(ctx, op1, 0, 0, 0, address);\n\n\n/* Bit-format */\n\n case OPCM_32_BIT_ANDACC:\n\n decode_bit_andacc(env, ctx);\n\n\n case OPCM_32_BIT_LOGICAL_T1:\n\n decode_bit_logical_t(env, ctx);\n\n\n case OPCM_32_BIT_INSERT:\n\n decode_bit_insert(env, ctx);\n\n\n case OPCM_32_BIT_LOGICAL_T2:\n\n decode_bit_logical_t2(env, ctx);\n\n\n case OPCM_32_BIT_ORAND:\n\n decode_bit_orand(env, ctx);\n\n\n case OPCM_32_BIT_SH_LOGIC1:\n\n decode_bit_sh_logic1(env, ctx);\n\n\n case OPCM_32_BIT_SH_LOGIC2:\n\n decode_bit_sh_logic2(env, ctx);\n\n\n /* BO Format */\n\n case OPCM_32_BO_ADDRMODE_POST_PRE_BASE:\n\n decode_bo_addrmode_post_pre_base(env, ctx);\n\n\n case OPCM_32_BO_ADDRMODE_BITREVERSE_CIRCULAR:\n\n decode_bo_addrmode_bitreverse_circular(env, ctx);\n\n\n case OPCM_32_BO_ADDRMODE_LD_POST_PRE_BASE:\n\n decode_bo_addrmode_ld_post_pre_base(env, ctx);\n\n\n case OPCM_32_BO_ADDRMODE_LD_BITREVERSE_CIRCULAR:\n\n decode_bo_addrmode_ld_bitreverse_circular(env, ctx);\n\n\n case OPCM_32_BO_ADDRMODE_STCTX_POST_PRE_BASE:\n\n decode_bo_addrmode_stctx_post_pre_base(env, ctx);\n\n\n case OPCM_32_BO_ADDRMODE_LDMST_BITREVERSE_CIRCULAR:\n\n decode_bo_addrmode_ldmst_bitreverse_circular(env, ctx);\n\n\n/* BOL-format */\n\n case OPC1_32_BOL_LD_A_LONGOFF:\n\n case OPC1_32_BOL_LD_W_LONGOFF:\n\n case OPC1_32_BOL_LEA_LONGOFF:\n\n case OPC1_32_BOL_ST_W_LONGOFF:\n\n case OPC1_32_BOL_ST_A_LONGOFF:\n\n decode_bol_opc(env, ctx, op1);\n\n\n/* BRC Format */\n\n case OPCM_32_BRC_EQ_NEQ:\n\n case OPCM_32_BRC_GE:\n\n case OPCM_32_BRC_JLT:\n\n case OPCM_32_BRC_JNE:\n\n const4 = MASK_OP_BRC_CONST4_SEXT(ctx->opcode);\n\n address = MASK_OP_BRC_DISP15_SEXT(ctx->opcode);\n\n r1 = MASK_OP_BRC_S1(ctx->opcode);\n\n gen_compute_branch(ctx, op1, r1, 0, const4, address);\n\n\n/* BRN Format */\n\n case OPCM_32_BRN_JTT:\n\n address = MASK_OP_BRN_DISP15_SEXT(ctx->opcode);\n\n r1 = MASK_OP_BRN_S1(ctx->opcode);\n\n gen_compute_branch(ctx, op1, r1, 0, 0, address);\n\n\n/* BRR Format */\n\n case OPCM_32_BRR_EQ_NEQ:\n\n case OPCM_32_BRR_ADDR_EQ_NEQ:\n\n case OPCM_32_BRR_GE:\n\n case OPCM_32_BRR_JLT:\n\n case OPCM_32_BRR_JNE:\n\n case OPCM_32_BRR_JNZ:\n\n case OPCM_32_BRR_LOOP:\n\n address = MASK_OP_BRR_DISP15_SEXT(ctx->opcode);\n\n r2 = MASK_OP_BRR_S2(ctx->opcode);\n\n r1 = MASK_OP_BRR_S1(ctx->opcode);\n\n gen_compute_branch(ctx, op1, r1, r2, 0, address);\n\n\n/* RC Format */\n\n case OPCM_32_RC_LOGICAL_SHIFT:\n\n decode_rc_logical_shift(env, ctx);\n\n\n case OPCM_32_RC_ACCUMULATOR:\n\n decode_rc_accumulator(env, ctx);\n\n\n case OPCM_32_RC_SERVICEROUTINE:\n\n decode_rc_serviceroutine(env, ctx);\n\n\n case OPCM_32_RC_MUL:\n\n decode_rc_mul(env, ctx);\n\n\n/* RCPW Format */\n\n case OPCM_32_RCPW_MASK_INSERT:\n\n decode_rcpw_insert(env, ctx);\n\n\n/* RCRR Format */\n\n case OPC1_32_RCRR_INSERT:\n\n r1 = MASK_OP_RCRR_S1(ctx->opcode);\n\n r2 = MASK_OP_RCRR_S3(ctx->opcode);\n\n r3 = MASK_OP_RCRR_D(ctx->opcode);\n\n const16 = MASK_OP_RCRR_CONST4(ctx->opcode);\n\n temp = tcg_const_i32(const16);\n\n temp2 = tcg_temp_new(); /* width*/\n\n temp3 = tcg_temp_new(); /* pos */\n\n\n\n tcg_gen_andi_tl(temp2, cpu_gpr_d[r3+1], 0x1f);\n\n tcg_gen_andi_tl(temp3, cpu_gpr_d[r3], 0x1f);\n\n\n\n gen_insert(cpu_gpr_d[r2], cpu_gpr_d[r1], temp, temp2, temp3);\n\n\n\n tcg_temp_free(temp);\n\n tcg_temp_free(temp2);\n\n tcg_temp_free(temp3);\n\n\n/* RCRW Format */\n\n case OPCM_32_RCRW_MASK_INSERT:\n\n decode_rcrw_insert(env, ctx);\n\n\n/* RCR Format */\n\n case OPCM_32_RCR_COND_SELECT:\n\n decode_rcr_cond_select(env, ctx);\n\n\n case OPCM_32_RCR_MADD:\n\n decode_rcr_madd(env, ctx);\n\n\n case OPCM_32_RCR_MSUB:\n\n decode_rcr_msub(env, ctx);\n\n\n/* RLC Format */\n\n case OPC1_32_RLC_ADDI:\n\n case OPC1_32_RLC_ADDIH:\n\n case OPC1_32_RLC_ADDIH_A:\n\n case OPC1_32_RLC_MFCR:\n\n case OPC1_32_RLC_MOV:\n\n case OPC1_32_RLC_MOV_64:\n\n case OPC1_32_RLC_MOV_U:\n\n case OPC1_32_RLC_MOV_H:\n\n case OPC1_32_RLC_MOVH_A:\n\n case OPC1_32_RLC_MTCR:\n\n decode_rlc_opc(env, ctx, op1);\n\n\n\n\n\n\n }\n\n}", "idx": 7654}739{"project": "FFmpeg", "commit_id": "a150bad4062a29fc11b32117bc1ade38115cd95b", "target": 0, "func": "AVFilterBufferRef *avfilter_get_video_buffer_ref_from_frame(const AVFrame *frame,\n\n int perms)\n\n{\n\n AVFilterBufferRef *picref =\n\n avfilter_get_video_buffer_ref_from_arrays(frame->data, frame->linesize, perms,\n\n frame->width, frame->height,\n\n frame->format);\n\n if (!picref)\n\n return NULL;\n\n avfilter_copy_frame_props(picref, frame);\n\n return picref;\n\n}\n", "idx": 7659}740{"project": "qemu", "commit_id": "b7b5233ad7fdd9985bb6d05b7919f3a20723ff2c", "target": 1, "func": "void *g_realloc(void *ptr, size_t size)\n\n{\n\n size_t old_size, copy;\n\n void *new_ptr;\n\n\n\n if (!ptr)\n\n return g_malloc(size);\n\n old_size = *(size_t *)((char *)ptr - 16);\n\n copy = old_size < size ? old_size : size;\n\n new_ptr = g_malloc(size);\n\n memcpy(new_ptr, ptr, copy);\n\n g_free(ptr);\n\n return new_ptr;\n\n}\n", "idx": 7662}741{"project": "FFmpeg", "commit_id": "369cb092ecbbaff20bb0a2a1d60536c3bc04a8f0", "target": 1, "func": "static OutputStream *new_audio_stream(OptionsContext *o, AVFormatContext *oc)\n\n{\n\n AVStream *st;\n\n OutputStream *ost;\n\n AVCodecContext *audio_enc;\n\n\n\n ost = new_output_stream(o, oc, AVMEDIA_TYPE_AUDIO);\n\n st = ost->st;\n\n\n\n audio_enc = st->codec;\n\n audio_enc->codec_type = AVMEDIA_TYPE_AUDIO;\n\n\n\n if (!ost->stream_copy) {\n\n char *sample_fmt = NULL;\n\n\n\n MATCH_PER_STREAM_OPT(audio_channels, i, audio_enc->channels, oc, st);\n\n\n\n MATCH_PER_STREAM_OPT(sample_fmts, str, sample_fmt, oc, st);\n\n if (sample_fmt &&\n\n (audio_enc->sample_fmt = av_get_sample_fmt(sample_fmt)) == AV_SAMPLE_FMT_NONE) {\n\n av_log(NULL, AV_LOG_FATAL, \"Invalid sample format '%s'\\n\", sample_fmt);\n\n exit_program(1);\n\n }\n\n\n\n MATCH_PER_STREAM_OPT(audio_sample_rate, i, audio_enc->sample_rate, oc, st);\n\n }\n\n\n\n return ost;\n\n}\n", "idx": 7666}742{"project": "FFmpeg", "commit_id": "221402c1c88b9d12130c6f5834029b535ee0e0c5", "target": 1, "func": "static int pcx_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,\n AVPacket *avpkt)\n{\n const uint8_t *buf = avpkt->data;\n int buf_size = avpkt->size;\n AVFrame *const p = data;\n int compressed, xmin, ymin, xmax, ymax;\n unsigned int w, h, bits_per_pixel, bytes_per_line, nplanes, stride, y, x,\n bytes_per_scanline;\n uint8_t *ptr;\n const uint8_t *buf_end = buf + buf_size;\n const uint8_t *bufstart = buf;\n uint8_t *scanline;\n int ret = -1;\n if (buf[0] != 0x0a || buf[1] > 5) {\n av_log(avctx, AV_LOG_ERROR, \"this is not PCX encoded data\\n\");\n compressed = buf[2];\n xmin = AV_RL16(buf + 4);\n ymin = AV_RL16(buf + 6);\n xmax = AV_RL16(buf + 8);\n ymax = AV_RL16(buf + 10);\n if (xmax < xmin || ymax < ymin) {\n av_log(avctx, AV_LOG_ERROR, \"invalid image dimensions\\n\");\n w = xmax - xmin + 1;\n h = ymax - ymin + 1;\n bits_per_pixel = buf[3];\n bytes_per_line = AV_RL16(buf + 66);\n nplanes = buf[65];\n bytes_per_scanline = nplanes * bytes_per_line;\n if (bytes_per_scanline < (w * bits_per_pixel * nplanes + 7) / 8 ||\n (!compressed && bytes_per_scanline > buf_size / h)) {\n av_log(avctx, AV_LOG_ERROR, \"PCX data is corrupted\\n\");\n switch ((nplanes << 8) + bits_per_pixel) {\n case 0x0308:\n avctx->pix_fmt = AV_PIX_FMT_RGB24;\n break;\n case 0x0108:\n case 0x0104:\n case 0x0102:\n case 0x0101:\n case 0x0401:\n case 0x0301:\n case 0x0201:\n avctx->pix_fmt = AV_PIX_FMT_PAL8;\n break;\n default:\n av_log(avctx, AV_LOG_ERROR, \"invalid PCX file\\n\");\n buf += 128;\n if ((ret = ff_set_dimensions(avctx, w, h)) < 0)\n return ret;\n if ((ret = ff_get_buffer(avctx, p, 0)) < 0) {\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n return ret;\n p->pict_type = AV_PICTURE_TYPE_I;\n ptr = p->data[0];\n stride = p->linesize[0];\n scanline = av_malloc(bytes_per_scanline + AV_INPUT_BUFFER_PADDING_SIZE);\n if (!scanline)\n return AVERROR(ENOMEM);\n if (nplanes == 3 && bits_per_pixel == 8) {\n for (y = 0; y < h; y++) {\n buf = pcx_rle_decode(buf, buf_end,\n scanline, bytes_per_scanline, compressed);\n for (x = 0; x < w; x++) {\n ptr[3 * x] = scanline[x];\n ptr[3 * x + 1] = scanline[x + bytes_per_line];\n ptr[3 * x + 2] = scanline[x + (bytes_per_line << 1)];\n ptr += stride;\n } else if (nplanes == 1 && bits_per_pixel == 8) {\n const uint8_t *palstart = bufstart + buf_size - 769;\n if (buf_size < 769) {\n av_log(avctx, AV_LOG_ERROR, \"File is too short\\n\");\n ret = avctx->err_recognition & AV_EF_EXPLODE ?\n AVERROR_INVALIDDATA : buf_size;\n goto end;\n for (y = 0; y < h; y++, ptr += stride) {\n buf = pcx_rle_decode(buf, buf_end,\n scanline, bytes_per_scanline, compressed);\n memcpy(ptr, scanline, w);\n if (buf != palstart) {\n av_log(avctx, AV_LOG_WARNING, \"image data possibly corrupted\\n\");\n buf = palstart;\n if (*buf++ != 12) {\n av_log(avctx, AV_LOG_ERROR, \"expected palette after image data\\n\");\n ret = avctx->err_recognition & AV_EF_EXPLODE ?\n AVERROR_INVALIDDATA : buf_size;\n goto end;\n } else if (nplanes == 1) { /* all packed formats, max. 16 colors */\n GetBitContext s;\n for (y = 0; y < h; y++) {\n init_get_bits(&s, scanline, bytes_per_scanline << 3);\n buf = pcx_rle_decode(buf, buf_end,\n scanline, bytes_per_scanline, compressed);\n for (x = 0; x < w; x++)\n ptr[x] = get_bits(&s, bits_per_pixel);\n ptr += stride;\n } else { /* planar, 4, 8 or 16 colors */\n int i;\n for (y = 0; y < h; y++) {\n buf = pcx_rle_decode(buf, buf_end,\n scanline, bytes_per_scanline, compressed);\n for (x = 0; x < w; x++) {\n int m = 0x80 >> (x & 7), v = 0;\n for (i = nplanes - 1; i >= 0; i--) {\n v <<= 1;\n v += !!(scanline[i * bytes_per_line + (x >> 3)] & m);\n ptr[x] = v;\n ptr += stride;\n if (nplanes == 1 && bits_per_pixel == 8) {\n pcx_palette(&buf, (uint32_t *)p->data[1], 256);\n } else if (bits_per_pixel < 8) {\n const uint8_t *palette = bufstart + 16;\n pcx_palette(&palette, (uint32_t *)p->data[1], 16);\n *got_frame = 1;\n ret = buf - bufstart;\nend:\n av_free(scanline);\n return ret;", "idx": 7670}743{"project": "qemu", "commit_id": "196a778428989217b82de042725dc8eb29c8f8d8", "target": 1, "func": "static void ioport_write(void *opaque, uint32_t addr, uint32_t val)\n\n{\n\n PCIQXLDevice *d = opaque;\n\n uint32_t io_port = addr - d->io_base;\n\n\n\n switch (io_port) {\n\n case QXL_IO_RESET:\n\n case QXL_IO_SET_MODE:\n\n case QXL_IO_MEMSLOT_ADD:\n\n case QXL_IO_MEMSLOT_DEL:\n\n case QXL_IO_CREATE_PRIMARY:\n\n break;\n\n default:\n\n if (d->mode == QXL_MODE_NATIVE || d->mode == QXL_MODE_COMPAT)\n\n break;\n\n dprint(d, 1, \"%s: unexpected port 0x%x in vga mode\\n\", __FUNCTION__, io_port);\n\n return;\n\n }\n\n\n\n switch (io_port) {\n\n case QXL_IO_UPDATE_AREA:\n\n {\n\n QXLRect update = d->ram->update_area;\n\n qemu_mutex_unlock_iothread();\n\n d->ssd.worker->update_area(d->ssd.worker, d->ram->update_surface,\n\n &update, NULL, 0, 0);\n\n qemu_mutex_lock_iothread();\n\n break;\n\n }\n\n case QXL_IO_NOTIFY_CMD:\n\n d->ssd.worker->wakeup(d->ssd.worker);\n\n break;\n\n case QXL_IO_NOTIFY_CURSOR:\n\n d->ssd.worker->wakeup(d->ssd.worker);\n\n break;\n\n case QXL_IO_UPDATE_IRQ:\n\n qxl_set_irq(d);\n\n break;\n\n case QXL_IO_NOTIFY_OOM:\n\n if (!SPICE_RING_IS_EMPTY(&d->ram->release_ring)) {\n\n break;\n\n }\n\n pthread_yield();\n\n if (!SPICE_RING_IS_EMPTY(&d->ram->release_ring)) {\n\n break;\n\n }\n\n d->oom_running = 1;\n\n d->ssd.worker->oom(d->ssd.worker);\n\n d->oom_running = 0;\n\n break;\n\n case QXL_IO_SET_MODE:\n\n dprint(d, 1, \"QXL_SET_MODE %d\\n\", val);\n\n qxl_set_mode(d, val, 0);\n\n break;\n\n case QXL_IO_LOG:\n\n if (d->guestdebug) {\n\n fprintf(stderr, \"qxl/guest: %s\", d->ram->log_buf);\n\n }\n\n break;\n\n case QXL_IO_RESET:\n\n dprint(d, 1, \"QXL_IO_RESET\\n\");\n\n qxl_hard_reset(d, 0);\n\n break;\n\n case QXL_IO_MEMSLOT_ADD:\n\n PANIC_ON(val >= NUM_MEMSLOTS);\n\n PANIC_ON(d->guest_slots[val].active);\n\n d->guest_slots[val].slot = d->ram->mem_slot;\n\n qxl_add_memslot(d, val, 0);\n\n break;\n\n case QXL_IO_MEMSLOT_DEL:\n\n qxl_del_memslot(d, val);\n\n break;\n\n case QXL_IO_CREATE_PRIMARY:\n\n PANIC_ON(val != 0);\n\n dprint(d, 1, \"QXL_IO_CREATE_PRIMARY\\n\");\n\n d->guest_primary.surface = d->ram->create_surface;\n\n qxl_create_guest_primary(d, 0);\n\n break;\n\n case QXL_IO_DESTROY_PRIMARY:\n\n PANIC_ON(val != 0);\n\n dprint(d, 1, \"QXL_IO_DESTROY_PRIMARY\\n\");\n\n qxl_destroy_primary(d);\n\n break;\n\n case QXL_IO_DESTROY_SURFACE_WAIT:\n\n d->ssd.worker->destroy_surface_wait(d->ssd.worker, val);\n\n break;\n\n case QXL_IO_DESTROY_ALL_SURFACES:\n\n d->ssd.worker->destroy_surfaces(d->ssd.worker);\n\n break;\n\n default:\n\n fprintf(stderr, \"%s: ioport=0x%x, abort()\\n\", __FUNCTION__, io_port);\n\n abort();\n\n }\n\n}\n", "idx": 7696}744{"project": "FFmpeg", "commit_id": "4cec43a9eeb58eb9e581a2d9d25f78e5bfbb0960", "target": 0, "func": "static int h264_slice_header_parse(H264Context *h, H264SliceContext *sl)\n\n{\n\n const SPS *sps;\n\n const PPS *pps;\n\n unsigned int first_mb_in_slice;\n\n unsigned int pps_id;\n\n int ret;\n\n unsigned int slice_type, tmp, i;\n\n int last_pic_structure, last_pic_droppable;\n\n int needs_reinit = 0;\n\n int field_pic_flag, bottom_field_flag;\n\n int frame_num, droppable, picture_structure;\n\n int mb_aff_frame = 0;\n\n\n\n first_mb_in_slice = get_ue_golomb(&sl->gb);\n\n\n\n if (first_mb_in_slice == 0) { // FIXME better field boundary detection\n\n if (h->current_slice && h->cur_pic_ptr && FIELD_PICTURE(h)) {\n\n ff_h264_field_end(h, sl, 1);\n\n }\n\n\n\n h->current_slice = 0;\n\n if (!h->first_field) {\n\n if (h->cur_pic_ptr && !h->droppable) {\n\n ff_thread_report_progress(&h->cur_pic_ptr->tf, INT_MAX,\n\n h->picture_structure == PICT_BOTTOM_FIELD);\n\n }\n\n h->cur_pic_ptr = NULL;\n\n }\n\n }\n\n\n\n slice_type = get_ue_golomb_31(&sl->gb);\n\n if (slice_type > 9) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"slice type %d too large at %d\\n\",\n\n slice_type, first_mb_in_slice);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (slice_type > 4) {\n\n slice_type -= 5;\n\n sl->slice_type_fixed = 1;\n\n } else\n\n sl->slice_type_fixed = 0;\n\n\n\n slice_type = ff_h264_golomb_to_pict_type[slice_type];\n\n sl->slice_type = slice_type;\n\n sl->slice_type_nos = slice_type & 3;\n\n\n\n if (h->nal_unit_type == NAL_IDR_SLICE &&\n\n sl->slice_type_nos != AV_PICTURE_TYPE_I) {\n\n av_log(h->avctx, AV_LOG_ERROR, \"A non-intra slice in an IDR NAL unit.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n pps_id = get_ue_golomb(&sl->gb);\n\n if (pps_id >= MAX_PPS_COUNT) {\n\n av_log(h->avctx, AV_LOG_ERROR, \"pps_id %u out of range\\n\", pps_id);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (!h->ps.pps_list[pps_id]) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"non-existing PPS %u referenced\\n\",\n\n pps_id);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (!h->setup_finished) {\n\n h->ps.pps = (const PPS*)h->ps.pps_list[pps_id]->data;\n\n } else if (h->ps.pps != (const PPS*)h->ps.pps_list[pps_id]->data) {\n\n av_log(h->avctx, AV_LOG_ERROR, \"PPS changed between slices\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (!h->ps.sps_list[h->ps.pps->sps_id]) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"non-existing SPS %u referenced\\n\",\n\n h->ps.pps->sps_id);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (h->ps.sps != (const SPS*)h->ps.sps_list[h->ps.pps->sps_id]->data) {\n\n h->ps.sps = (SPS*)h->ps.sps_list[h->ps.pps->sps_id]->data;\n\n\n\n if (h->bit_depth_luma != h->ps.sps->bit_depth_luma ||\n\n h->chroma_format_idc != h->ps.sps->chroma_format_idc)\n\n needs_reinit = 1;\n\n }\n\n\n\n pps = h->ps.pps;\n\n sps = h->ps.sps;\n\n\n\n if (!h->setup_finished) {\n\n h->avctx->profile = ff_h264_get_profile(sps);\n\n h->avctx->level = sps->level_idc;\n\n h->avctx->refs = sps->ref_frame_count;\n\n\n\n if (h->mb_width != sps->mb_width ||\n\n h->mb_height != sps->mb_height * (2 - sps->frame_mbs_only_flag))\n\n needs_reinit = 1;\n\n\n\n h->mb_width = sps->mb_width;\n\n h->mb_height = sps->mb_height * (2 - sps->frame_mbs_only_flag);\n\n h->mb_num = h->mb_width * h->mb_height;\n\n h->mb_stride = h->mb_width + 1;\n\n\n\n h->b_stride = h->mb_width * 4;\n\n\n\n h->chroma_y_shift = sps->chroma_format_idc <= 1; // 400 uses yuv420p\n\n\n\n h->width = 16 * h->mb_width;\n\n h->height = 16 * h->mb_height;\n\n\n\n ret = init_dimensions(h);\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (sps->video_signal_type_present_flag) {\n\n h->avctx->color_range = sps->full_range ? AVCOL_RANGE_JPEG\n\n : AVCOL_RANGE_MPEG;\n\n if (sps->colour_description_present_flag) {\n\n if (h->avctx->colorspace != sps->colorspace)\n\n needs_reinit = 1;\n\n h->avctx->color_primaries = sps->color_primaries;\n\n h->avctx->color_trc = sps->color_trc;\n\n h->avctx->colorspace = sps->colorspace;\n\n }\n\n }\n\n }\n\n\n\n if (h->context_initialized && needs_reinit) {\n\n h->context_initialized = 0;\n\n if (sl != h->slice_ctx) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"changing width %d -> %d / height %d -> %d on \"\n\n \"slice %d\\n\",\n\n h->width, h->avctx->coded_width,\n\n h->height, h->avctx->coded_height,\n\n h->current_slice + 1);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n ff_h264_flush_change(h);\n\n\n\n if ((ret = get_pixel_format(h)) < 0)\n\n return ret;\n\n h->avctx->pix_fmt = ret;\n\n\n\n av_log(h->avctx, AV_LOG_INFO, \"Reinit context to %dx%d, \"\n\n \"pix_fmt: %d\\n\", h->width, h->height, h->avctx->pix_fmt);\n\n\n\n if ((ret = h264_slice_header_init(h)) < 0) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"h264_slice_header_init() failed\\n\");\n\n return ret;\n\n }\n\n }\n\n if (!h->context_initialized) {\n\n if (sl != h->slice_ctx) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"Cannot (re-)initialize context during parallel decoding.\\n\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n if ((ret = get_pixel_format(h)) < 0)\n\n return ret;\n\n h->avctx->pix_fmt = ret;\n\n\n\n if ((ret = h264_slice_header_init(h)) < 0) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"h264_slice_header_init() failed\\n\");\n\n return ret;\n\n }\n\n }\n\n\n\n frame_num = get_bits(&sl->gb, sps->log2_max_frame_num);\n\n if (!h->setup_finished)\n\n h->poc.frame_num = frame_num;\n\n\n\n sl->mb_mbaff = 0;\n\n\n\n last_pic_structure = h->picture_structure;\n\n last_pic_droppable = h->droppable;\n\n\n\n droppable = h->nal_ref_idc == 0;\n\n if (sps->frame_mbs_only_flag) {\n\n picture_structure = PICT_FRAME;\n\n } else {\n\n field_pic_flag = get_bits1(&sl->gb);\n\n if (field_pic_flag) {\n\n bottom_field_flag = get_bits1(&sl->gb);\n\n picture_structure = PICT_TOP_FIELD + bottom_field_flag;\n\n } else {\n\n picture_structure = PICT_FRAME;\n\n mb_aff_frame = sps->mb_aff;\n\n }\n\n }\n\n if (!h->setup_finished) {\n\n h->droppable = droppable;\n\n h->picture_structure = picture_structure;\n\n h->mb_aff_frame = mb_aff_frame;\n\n }\n\n sl->mb_field_decoding_flag = h->picture_structure != PICT_FRAME;\n\n\n\n if (h->current_slice != 0) {\n\n if (last_pic_structure != picture_structure ||\n\n last_pic_droppable != droppable) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"Changing field mode (%d -> %d) between slices is not allowed\\n\",\n\n last_pic_structure, h->picture_structure);\n\n return AVERROR_INVALIDDATA;\n\n } else if (!h->cur_pic_ptr) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"unset cur_pic_ptr on slice %d\\n\",\n\n h->current_slice + 1);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n } else {\n\n /* Shorten frame num gaps so we don't have to allocate reference\n\n * frames just to throw them away */\n\n if (h->poc.frame_num != h->poc.prev_frame_num) {\n\n int unwrap_prev_frame_num = h->poc.prev_frame_num;\n\n int max_frame_num = 1 << sps->log2_max_frame_num;\n\n\n\n if (unwrap_prev_frame_num > h->poc.frame_num)\n\n unwrap_prev_frame_num -= max_frame_num;\n\n\n\n if ((h->poc.frame_num - unwrap_prev_frame_num) > sps->ref_frame_count) {\n\n unwrap_prev_frame_num = (h->poc.frame_num - sps->ref_frame_count) - 1;\n\n if (unwrap_prev_frame_num < 0)\n\n unwrap_prev_frame_num += max_frame_num;\n\n\n\n h->poc.prev_frame_num = unwrap_prev_frame_num;\n\n }\n\n }\n\n\n\n /* See if we have a decoded first field looking for a pair...\n\n * Here, we're using that to see if we should mark previously\n\n * decode frames as \"finished\".\n\n * We have to do that before the \"dummy\" in-between frame allocation,\n\n * since that can modify s->current_picture_ptr. */\n\n if (h->first_field) {\n\n assert(h->cur_pic_ptr);\n\n assert(h->cur_pic_ptr->f->buf[0]);\n\n assert(h->cur_pic_ptr->reference != DELAYED_PIC_REF);\n\n\n\n /* figure out if we have a complementary field pair */\n\n if (!FIELD_PICTURE(h) || h->picture_structure == last_pic_structure) {\n\n /* Previous field is unmatched. Don't display it, but let it\n\n * remain for reference if marked as such. */\n\n if (!last_pic_droppable && last_pic_structure != PICT_FRAME) {\n\n ff_thread_report_progress(&h->cur_pic_ptr->tf, INT_MAX,\n\n last_pic_structure == PICT_TOP_FIELD);\n\n }\n\n } else {\n\n if (h->cur_pic_ptr->frame_num != h->poc.frame_num) {\n\n /* This and previous field were reference, but had\n\n * different frame_nums. Consider this field first in\n\n * pair. Throw away previous field except for reference\n\n * purposes. */\n\n if (!last_pic_droppable && last_pic_structure != PICT_FRAME) {\n\n ff_thread_report_progress(&h->cur_pic_ptr->tf, INT_MAX,\n\n last_pic_structure == PICT_TOP_FIELD);\n\n }\n\n } else {\n\n /* Second field in complementary pair */\n\n if (!((last_pic_structure == PICT_TOP_FIELD &&\n\n h->picture_structure == PICT_BOTTOM_FIELD) ||\n\n (last_pic_structure == PICT_BOTTOM_FIELD &&\n\n h->picture_structure == PICT_TOP_FIELD))) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"Invalid field mode combination %d/%d\\n\",\n\n last_pic_structure, h->picture_structure);\n\n h->picture_structure = last_pic_structure;\n\n h->droppable = last_pic_droppable;\n\n return AVERROR_INVALIDDATA;\n\n } else if (last_pic_droppable != h->droppable) {\n\n avpriv_request_sample(h->avctx,\n\n \"Found reference and non-reference fields in the same frame, which\");\n\n h->picture_structure = last_pic_structure;\n\n h->droppable = last_pic_droppable;\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n }\n\n }\n\n }\n\n\n\n while (h->poc.frame_num != h->poc.prev_frame_num &&\n\n h->poc.frame_num != (h->poc.prev_frame_num + 1) % (1 << sps->log2_max_frame_num)) {\n\n H264Picture *prev = h->short_ref_count ? h->short_ref[0] : NULL;\n\n av_log(h->avctx, AV_LOG_DEBUG, \"Frame num gap %d %d\\n\",\n\n h->poc.frame_num, h->poc.prev_frame_num);\n\n ret = initialize_cur_frame(h);\n\n if (ret < 0) {\n\n h->first_field = 0;\n\n return ret;\n\n }\n\n\n\n h->poc.prev_frame_num++;\n\n h->poc.prev_frame_num %= 1 << sps->log2_max_frame_num;\n\n h->cur_pic_ptr->frame_num = h->poc.prev_frame_num;\n\n ff_thread_report_progress(&h->cur_pic_ptr->tf, INT_MAX, 0);\n\n ff_thread_report_progress(&h->cur_pic_ptr->tf, INT_MAX, 1);\n\n ret = ff_generate_sliding_window_mmcos(h, 1);\n\n if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))\n\n return ret;\n\n ret = ff_h264_execute_ref_pic_marking(h, h->mmco, h->mmco_index);\n\n if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))\n\n return ret;\n\n /* Error concealment: If a ref is missing, copy the previous ref\n\n * in its place.\n\n * FIXME: Avoiding a memcpy would be nice, but ref handling makes\n\n * many assumptions about there being no actual duplicates.\n\n * FIXME: This does not copy padding for out-of-frame motion\n\n * vectors. Given we are concealing a lost frame, this probably\n\n * is not noticeable by comparison, but it should be fixed. */\n\n if (h->short_ref_count) {\n\n if (prev &&\n\n h->short_ref[0]->f->width == prev->f->width &&\n\n h->short_ref[0]->f->height == prev->f->height &&\n\n h->short_ref[0]->f->format == prev->f->format) {\n\n av_image_copy(h->short_ref[0]->f->data,\n\n h->short_ref[0]->f->linesize,\n\n (const uint8_t **)prev->f->data,\n\n prev->f->linesize,\n\n prev->f->format,\n\n h->mb_width * 16,\n\n h->mb_height * 16);\n\n h->short_ref[0]->poc = prev->poc + 2;\n\n }\n\n h->short_ref[0]->frame_num = h->poc.prev_frame_num;\n\n }\n\n }\n\n\n\n /* See if we have a decoded first field looking for a pair...\n\n * We're using that to see whether to continue decoding in that\n\n * frame, or to allocate a new one. */\n\n if (h->first_field) {\n\n assert(h->cur_pic_ptr);\n\n assert(h->cur_pic_ptr->f->buf[0]);\n\n assert(h->cur_pic_ptr->reference != DELAYED_PIC_REF);\n\n\n\n /* figure out if we have a complementary field pair */\n\n if (!FIELD_PICTURE(h) || h->picture_structure == last_pic_structure) {\n\n /* Previous field is unmatched. Don't display it, but let it\n\n * remain for reference if marked as such. */\n\n h->cur_pic_ptr = NULL;\n\n h->first_field = FIELD_PICTURE(h);\n\n } else {\n\n if (h->cur_pic_ptr->frame_num != h->poc.frame_num) {\n\n /* This and the previous field had different frame_nums.\n\n * Consider this field first in pair. Throw away previous\n\n * one except for reference purposes. */\n\n h->first_field = 1;\n\n h->cur_pic_ptr = NULL;\n\n } else {\n\n /* Second field in complementary pair */\n\n h->first_field = 0;\n\n }\n\n }\n\n } else {\n\n /* Frame or first field in a potentially complementary pair */\n\n h->first_field = FIELD_PICTURE(h);\n\n }\n\n\n\n if (!FIELD_PICTURE(h) || h->first_field) {\n\n if (h264_frame_start(h) < 0) {\n\n h->first_field = 0;\n\n return AVERROR_INVALIDDATA;\n\n }\n\n } else {\n\n release_unused_pictures(h, 0);\n\n }\n\n }\n\n\n\n assert(h->mb_num == h->mb_width * h->mb_height);\n\n if (first_mb_in_slice << FIELD_OR_MBAFF_PICTURE(h) >= h->mb_num ||\n\n first_mb_in_slice >= h->mb_num) {\n\n av_log(h->avctx, AV_LOG_ERROR, \"first_mb_in_slice overflow\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n sl->resync_mb_x = sl->mb_x = first_mb_in_slice % h->mb_width;\n\n sl->resync_mb_y = sl->mb_y = (first_mb_in_slice / h->mb_width) <<\n\n FIELD_OR_MBAFF_PICTURE(h);\n\n if (h->picture_structure == PICT_BOTTOM_FIELD)\n\n sl->resync_mb_y = sl->mb_y = sl->mb_y + 1;\n\n assert(sl->mb_y < h->mb_height);\n\n\n\n if (h->picture_structure == PICT_FRAME) {\n\n h->curr_pic_num = h->poc.frame_num;\n\n h->max_pic_num = 1 << sps->log2_max_frame_num;\n\n } else {\n\n h->curr_pic_num = 2 * h->poc.frame_num + 1;\n\n h->max_pic_num = 1 << (sps->log2_max_frame_num + 1);\n\n }\n\n\n\n if (h->nal_unit_type == NAL_IDR_SLICE)\n\n get_ue_golomb(&sl->gb); /* idr_pic_id */\n\n\n\n if (sps->poc_type == 0) {\n\n int poc_lsb = get_bits(&sl->gb, sps->log2_max_poc_lsb);\n\n\n\n if (!h->setup_finished)\n\n h->poc.poc_lsb = poc_lsb;\n\n\n\n if (pps->pic_order_present == 1 && h->picture_structure == PICT_FRAME) {\n\n int delta_poc_bottom = get_se_golomb(&sl->gb);\n\n if (!h->setup_finished)\n\n h->poc.delta_poc_bottom = delta_poc_bottom;\n\n }\n\n }\n\n\n\n if (sps->poc_type == 1 && !sps->delta_pic_order_always_zero_flag) {\n\n int delta_poc = get_se_golomb(&sl->gb);\n\n\n\n if (!h->setup_finished)\n\n h->poc.delta_poc[0] = delta_poc;\n\n\n\n if (pps->pic_order_present == 1 && h->picture_structure == PICT_FRAME) {\n\n delta_poc = get_se_golomb(&sl->gb);\n\n\n\n if (!h->setup_finished)\n\n h->poc.delta_poc[1] = delta_poc;\n\n }\n\n }\n\n\n\n if (!h->setup_finished)\n\n ff_h264_init_poc(h->cur_pic_ptr->field_poc, &h->cur_pic_ptr->poc,\n\n sps, &h->poc, h->picture_structure, h->nal_ref_idc);\n\n\n\n if (pps->redundant_pic_cnt_present)\n\n sl->redundant_pic_count = get_ue_golomb(&sl->gb);\n\n\n\n if (sl->slice_type_nos == AV_PICTURE_TYPE_B)\n\n sl->direct_spatial_mv_pred = get_bits1(&sl->gb);\n\n\n\n ret = ff_h264_parse_ref_count(&sl->list_count, sl->ref_count,\n\n &sl->gb, pps, sl->slice_type_nos,\n\n h->picture_structure);\n\n if (ret < 0)\n\n return ret;\n\n\n\n if (sl->slice_type_nos != AV_PICTURE_TYPE_I) {\n\n ret = ff_h264_decode_ref_pic_list_reordering(h, sl);\n\n if (ret < 0) {\n\n sl->ref_count[1] = sl->ref_count[0] = 0;\n\n return ret;\n\n }\n\n }\n\n\n\n sl->pwt.use_weight = 0;\n\n for (i = 0; i < 2; i++) {\n\n sl->pwt.luma_weight_flag[i] = 0;\n\n sl->pwt.chroma_weight_flag[i] = 0;\n\n }\n\n if ((pps->weighted_pred && sl->slice_type_nos == AV_PICTURE_TYPE_P) ||\n\n (pps->weighted_bipred_idc == 1 &&\n\n sl->slice_type_nos == AV_PICTURE_TYPE_B))\n\n ff_h264_pred_weight_table(&sl->gb, sps, sl->ref_count,\n\n sl->slice_type_nos, &sl->pwt);\n\n\n\n // If frame-mt is enabled, only update mmco tables for the first slice\n\n // in a field. Subsequent slices can temporarily clobber h->mmco_index\n\n // or h->mmco, which will cause ref list mix-ups and decoding errors\n\n // further down the line. This may break decoding if the first slice is\n\n // corrupt, thus we only do this if frame-mt is enabled.\n\n if (h->nal_ref_idc) {\n\n ret = ff_h264_decode_ref_pic_marking(h, &sl->gb,\n\n !(h->avctx->active_thread_type & FF_THREAD_FRAME) ||\n\n h->current_slice == 0);\n\n if (ret < 0 && (h->avctx->err_recognition & AV_EF_EXPLODE))\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (sl->slice_type_nos != AV_PICTURE_TYPE_I && pps->cabac) {\n\n tmp = get_ue_golomb_31(&sl->gb);\n\n if (tmp > 2) {\n\n av_log(h->avctx, AV_LOG_ERROR, \"cabac_init_idc %u overflow\\n\", tmp);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n sl->cabac_init_idc = tmp;\n\n }\n\n\n\n sl->last_qscale_diff = 0;\n\n tmp = pps->init_qp + get_se_golomb(&sl->gb);\n\n if (tmp > 51 + 6 * (sps->bit_depth_luma - 8)) {\n\n av_log(h->avctx, AV_LOG_ERROR, \"QP %u out of range\\n\", tmp);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n sl->qscale = tmp;\n\n sl->chroma_qp[0] = get_chroma_qp(h, 0, sl->qscale);\n\n sl->chroma_qp[1] = get_chroma_qp(h, 1, sl->qscale);\n\n // FIXME qscale / qp ... stuff\n\n if (sl->slice_type == AV_PICTURE_TYPE_SP)\n\n get_bits1(&sl->gb); /* sp_for_switch_flag */\n\n if (sl->slice_type == AV_PICTURE_TYPE_SP ||\n\n sl->slice_type == AV_PICTURE_TYPE_SI)\n\n get_se_golomb(&sl->gb); /* slice_qs_delta */\n\n\n\n sl->deblocking_filter = 1;\n\n sl->slice_alpha_c0_offset = 0;\n\n sl->slice_beta_offset = 0;\n\n if (pps->deblocking_filter_parameters_present) {\n\n tmp = get_ue_golomb_31(&sl->gb);\n\n if (tmp > 2) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"deblocking_filter_idc %u out of range\\n\", tmp);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n sl->deblocking_filter = tmp;\n\n if (sl->deblocking_filter < 2)\n\n sl->deblocking_filter ^= 1; // 1<->0\n\n\n\n if (sl->deblocking_filter) {\n\n sl->slice_alpha_c0_offset = get_se_golomb(&sl->gb) * 2;\n\n sl->slice_beta_offset = get_se_golomb(&sl->gb) * 2;\n\n if (sl->slice_alpha_c0_offset > 12 ||\n\n sl->slice_alpha_c0_offset < -12 ||\n\n sl->slice_beta_offset > 12 ||\n\n sl->slice_beta_offset < -12) {\n\n av_log(h->avctx, AV_LOG_ERROR,\n\n \"deblocking filter parameters %d %d out of range\\n\",\n\n sl->slice_alpha_c0_offset, sl->slice_beta_offset);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 7716}745{"project": "FFmpeg", "commit_id": "be4dfbf7b71e44a53ca8da882a081e35ea134c83", "target": 0, "func": "int ffurl_shutdown(URLContext *h, int flags)\n\n{\n\n if (!h->prot->url_shutdown)\n\n return AVERROR(EINVAL);\n\n return h->prot->url_shutdown(h, flags);\n\n}\n", "idx": 7729}746{"project": "qemu", "commit_id": "049a9f7b946fe1d3ff97127f8905881dbb78cb00", "target": 1, "func": "static void i82378_init(DeviceState *dev, I82378State *s)\n\n{\n\n ISABus *isabus = DO_UPCAST(ISABus, qbus, qdev_get_child_bus(dev, \"isa.0\"));\n\n ISADevice *pit;\n\n qemu_irq *out0_irq;\n\n\n\n /* This device has:\n\n 2 82C59 (irq)\n\n 1 82C54 (pit)\n\n 2 82C37 (dma)\n\n NMI\n\n Utility Bus Support Registers\n\n\n\n All devices accept byte access only, except timer\n\n */\n\n\n\n qdev_init_gpio_out(dev, s->out, 2);\n\n qdev_init_gpio_in(dev, i82378_request_pic_irq, 16);\n\n\n\n /* Workaround the fact that i8259 is not qdev'ified... */\n\n out0_irq = qemu_allocate_irqs(i82378_request_out0_irq, s, 1);\n\n\n\n /* 2 82C59 (irq) */\n\n s->i8259 = i8259_init(isabus, *out0_irq);\n\n isa_bus_irqs(isabus, s->i8259);\n\n\n\n /* 1 82C54 (pit) */\n\n pit = pit_init(isabus, 0x40, 0, NULL);\n\n\n\n /* speaker */\n\n pcspk_init(isabus, pit);\n\n\n\n /* 2 82C37 (dma) */\n\n DMA_init(1, &s->out[1]);\n\n isa_create_simple(isabus, \"i82374\");\n\n\n\n /* timer */\n\n isa_create_simple(isabus, \"mc146818rtc\");\n\n}\n", "idx": 7732}747{"project": "qemu", "commit_id": "0ae18ceeaaa2c1749e742c4b112f6c3bf0896408", "target": 0, "func": "static void realview_init(ram_addr_t ram_size, int vga_ram_size,\n\n const char *boot_device, DisplayState *ds,\n\n const char *kernel_filename, const char *kernel_cmdline,\n\n const char *initrd_filename, const char *cpu_model)\n\n{\n\n CPUState *env;\n\n qemu_irq *pic;\n\n void *scsi_hba;\n\n PCIBus *pci_bus;\n\n NICInfo *nd;\n\n int n;\n\n int done_smc = 0;\n\n qemu_irq cpu_irq[4];\n\n int ncpu;\n\n int index;\n\n\n\n if (!cpu_model)\n\n cpu_model = \"arm926\";\n\n /* FIXME: obey smp_cpus. */\n\n if (strcmp(cpu_model, \"arm11mpcore\") == 0) {\n\n ncpu = 4;\n\n } else {\n\n ncpu = 1;\n\n }\n\n\n\n for (n = 0; n < ncpu; n++) {\n\n env = cpu_init(cpu_model);\n\n if (!env) {\n\n fprintf(stderr, \"Unable to find CPU definition\\n\");\n\n exit(1);\n\n }\n\n pic = arm_pic_init_cpu(env);\n\n cpu_irq[n] = pic[ARM_PIC_CPU_IRQ];\n\n if (n > 0) {\n\n /* Set entry point for secondary CPUs. This assumes we're using\n\n the init code from arm_boot.c. Real hardware resets all CPUs\n\n the same. */\n\n env->regs[15] = 0x80000000;\n\n }\n\n }\n\n\n\n /* ??? RAM should repeat to fill physical memory space. */\n\n /* SDRAM at address zero. */\n\n cpu_register_physical_memory(0, ram_size, IO_MEM_RAM);\n\n\n\n arm_sysctl_init(0x10000000, 0xc1400400);\n\n\n\n if (ncpu == 1) {\n\n /* ??? The documentation says GIC1 is nFIQ and either GIC2 or GIC3\n\n is nIRQ (there are inconsistencies). However Linux 2.6.17 expects\n\n GIC1 to be nIRQ and ignores all the others, so do that for now. */\n\n pic = realview_gic_init(0x10040000, cpu_irq[0]);\n\n } else {\n\n pic = mpcore_irq_init(cpu_irq);\n\n }\n\n\n\n pl050_init(0x10006000, pic[20], 0);\n\n pl050_init(0x10007000, pic[21], 1);\n\n\n\n pl011_init(0x10009000, pic[12], serial_hds[0], PL011_ARM);\n\n pl011_init(0x1000a000, pic[13], serial_hds[1], PL011_ARM);\n\n pl011_init(0x1000b000, pic[14], serial_hds[2], PL011_ARM);\n\n pl011_init(0x1000c000, pic[15], serial_hds[3], PL011_ARM);\n\n\n\n /* DMA controller is optional, apparently. */\n\n pl080_init(0x10030000, pic[24], 2);\n\n\n\n sp804_init(0x10011000, pic[4]);\n\n sp804_init(0x10012000, pic[5]);\n\n\n\n pl110_init(ds, 0x10020000, pic[23], 1);\n\n\n\n index = drive_get_index(IF_SD, 0, 0);\n\n if (index == -1) {\n\n fprintf(stderr, \"qemu: missing SecureDigital card\\n\");\n\n exit(1);\n\n }\n\n pl181_init(0x10005000, drives_table[index].bdrv, pic[17], pic[18]);\n\n\n\n pl031_init(0x10017000, pic[10]);\n\n\n\n pci_bus = pci_vpb_init(pic, 48, 1);\n\n if (usb_enabled) {\n\n usb_ohci_init_pci(pci_bus, 3, -1);\n\n }\n\n if (drive_get_max_bus(IF_SCSI) > 0) {\n\n fprintf(stderr, \"qemu: too many SCSI bus\\n\");\n\n exit(1);\n\n }\n\n scsi_hba = lsi_scsi_init(pci_bus, -1);\n\n for (n = 0; n < LSI_MAX_DEVS; n++) {\n\n index = drive_get_index(IF_SCSI, 0, n);\n\n if (index == -1)\n\n continue;\n\n lsi_scsi_attach(scsi_hba, drives_table[index].bdrv, n);\n\n }\n\n for(n = 0; n < nb_nics; n++) {\n\n nd = &nd_table[n];\n\n if (!nd->model)\n\n nd->model = done_smc ? \"rtl8139\" : \"smc91c111\";\n\n if (strcmp(nd->model, \"smc91c111\") == 0) {\n\n smc91c111_init(nd, 0x4e000000, pic[28]);\n\n } else {\n\n pci_nic_init(pci_bus, nd, -1);\n\n }\n\n }\n\n\n\n /* Memory map for RealView Emulation Baseboard: */\n\n /* 0x10000000 System registers. */\n\n /* 0x10001000 System controller. */\n\n /* 0x10002000 Two-Wire Serial Bus. */\n\n /* 0x10003000 Reserved. */\n\n /* 0x10004000 AACI. */\n\n /* 0x10005000 MCI. */\n\n /* 0x10006000 KMI0. */\n\n /* 0x10007000 KMI1. */\n\n /* 0x10008000 Character LCD. */\n\n /* 0x10009000 UART0. */\n\n /* 0x1000a000 UART1. */\n\n /* 0x1000b000 UART2. */\n\n /* 0x1000c000 UART3. */\n\n /* 0x1000d000 SSPI. */\n\n /* 0x1000e000 SCI. */\n\n /* 0x1000f000 Reserved. */\n\n /* 0x10010000 Watchdog. */\n\n /* 0x10011000 Timer 0+1. */\n\n /* 0x10012000 Timer 2+3. */\n\n /* 0x10013000 GPIO 0. */\n\n /* 0x10014000 GPIO 1. */\n\n /* 0x10015000 GPIO 2. */\n\n /* 0x10016000 Reserved. */\n\n /* 0x10017000 RTC. */\n\n /* 0x10018000 DMC. */\n\n /* 0x10019000 PCI controller config. */\n\n /* 0x10020000 CLCD. */\n\n /* 0x10030000 DMA Controller. */\n\n /* 0x10040000 GIC1. */\n\n /* 0x10050000 GIC2. */\n\n /* 0x10060000 GIC3. */\n\n /* 0x10070000 GIC4. */\n\n /* 0x10080000 SMC. */\n\n /* 0x40000000 NOR flash. */\n\n /* 0x44000000 DoC flash. */\n\n /* 0x48000000 SRAM. */\n\n /* 0x4c000000 Configuration flash. */\n\n /* 0x4e000000 Ethernet. */\n\n /* 0x4f000000 USB. */\n\n /* 0x50000000 PISMO. */\n\n /* 0x54000000 PISMO. */\n\n /* 0x58000000 PISMO. */\n\n /* 0x5c000000 PISMO. */\n\n /* 0x60000000 PCI. */\n\n /* 0x61000000 PCI Self Config. */\n\n /* 0x62000000 PCI Config. */\n\n /* 0x63000000 PCI IO. */\n\n /* 0x64000000 PCI mem 0. */\n\n /* 0x68000000 PCI mem 1. */\n\n /* 0x6c000000 PCI mem 2. */\n\n\n\n realview_binfo.ram_size = ram_size;\n\n realview_binfo.kernel_filename = kernel_filename;\n\n realview_binfo.kernel_cmdline = kernel_cmdline;\n\n realview_binfo.initrd_filename = initrd_filename;\n\n realview_binfo.nb_cpus = ncpu;\n\n arm_load_kernel(first_cpu, &realview_binfo);\n\n\n\n /* ??? Hack to map an additional page of ram for the secondary CPU\n\n startup code. I guess this works on real hardware because the\n\n BootROM happens to be in ROM/flash or in memory that isn't clobbered\n\n until after Linux boots the secondary CPUs. */\n\n cpu_register_physical_memory(0x80000000, 0x1000, IO_MEM_RAM + ram_size);\n\n}\n", "idx": 7749}748{"project": "qemu", "commit_id": "55e1819c509b3d9c10a54678b9c585bbda13889e", "target": 0, "func": "QString *qstring_from_substr(const char *str, int start, int end)\n\n{\n\n QString *qstring;\n\n\n\n qstring = g_malloc(sizeof(*qstring));\n\n\n\n qstring->length = end - start + 1;\n\n qstring->capacity = qstring->length;\n\n\n\n qstring->string = g_malloc(qstring->capacity + 1);\n\n memcpy(qstring->string, str + start, qstring->length);\n\n qstring->string[qstring->length] = 0;\n\n\n\n QOBJECT_INIT(qstring, &qstring_type);\n\n\n\n return qstring;\n\n}\n", "idx": 7754}749{"project": "qemu", "commit_id": "12d69ac03b45156356b240424623719f15d8143e", "target": 0, "func": "static void test_source_wait_event_notifier(void)\n\n{\n\n EventNotifierTestData data = { .n = 0, .active = 1 };\n\n event_notifier_init(&data.e, false);\n\n aio_set_event_notifier(ctx, &data.e, event_ready_cb);\n\n g_assert(g_main_context_iteration(NULL, false));\n\n g_assert_cmpint(data.n, ==, 0);\n\n g_assert_cmpint(data.active, ==, 1);\n\n\n\n event_notifier_set(&data.e);\n\n g_assert(g_main_context_iteration(NULL, false));\n\n g_assert_cmpint(data.n, ==, 1);\n\n g_assert_cmpint(data.active, ==, 0);\n\n\n\n while (g_main_context_iteration(NULL, false));\n\n g_assert_cmpint(data.n, ==, 1);\n\n g_assert_cmpint(data.active, ==, 0);\n\n\n\n aio_set_event_notifier(ctx, &data.e, NULL);\n\n while (g_main_context_iteration(NULL, false));\n\n g_assert_cmpint(data.n, ==, 1);\n\n\n\n event_notifier_cleanup(&data.e);\n\n}\n", "idx": 7761}750{"project": "qemu", "commit_id": "f9749f28b78be36471d3d0f5d4b6eed030f8942e", "target": 0, "func": "static int coroutine_fn is_allocated_base(BlockDriverState *top,\n\n BlockDriverState *base,\n\n int64_t sector_num,\n\n int nb_sectors, int *pnum)\n\n{\n\n BlockDriverState *intermediate;\n\n int ret, n;\n\n\n\n ret = bdrv_co_is_allocated(top, sector_num, nb_sectors, &n);\n\n if (ret) {\n\n *pnum = n;\n\n return ret;\n\n }\n\n\n\n /*\n\n * Is the unallocated chunk [sector_num, n] also\n\n * unallocated between base and top?\n\n */\n\n intermediate = top->backing_hd;\n\n\n\n while (intermediate != base) {\n\n int pnum_inter;\n\n\n\n ret = bdrv_co_is_allocated(intermediate, sector_num, nb_sectors,\n\n &pnum_inter);\n\n if (ret < 0) {\n\n return ret;\n\n } else if (ret) {\n\n *pnum = pnum_inter;\n\n return 0;\n\n }\n\n\n\n /*\n\n * [sector_num, nb_sectors] is unallocated on top but intermediate\n\n * might have\n\n *\n\n * [sector_num+x, nr_sectors] allocated.\n\n */\n\n if (n > pnum_inter) {\n\n n = pnum_inter;\n\n }\n\n\n\n intermediate = intermediate->backing_hd;\n\n }\n\n\n\n *pnum = n;\n\n return 1;\n\n}\n", "idx": 7762}751{"project": "qemu", "commit_id": "c6bf0f7ffa90c720377eb6bddd27037041acbc5b", "target": 0, "func": "static DisplayType select_display(const char *p)\n\n{\n\n Error *err = NULL;\n\n const char *opts;\n\n DisplayType display = DT_DEFAULT;\n\n\n\n if (strstart(p, \"sdl\", &opts)) {\n\n#ifdef CONFIG_SDL\n\n display = DT_SDL;\n\n while (*opts) {\n\n const char *nextopt;\n\n\n\n if (strstart(opts, \",frame=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n no_frame = 0;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n no_frame = 1;\n\n } else {\n\n goto invalid_sdl_args;\n\n }\n\n } else if (strstart(opts, \",alt_grab=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n alt_grab = 1;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n alt_grab = 0;\n\n } else {\n\n goto invalid_sdl_args;\n\n }\n\n } else if (strstart(opts, \",ctrl_grab=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n ctrl_grab = 1;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n ctrl_grab = 0;\n\n } else {\n\n goto invalid_sdl_args;\n\n }\n\n } else if (strstart(opts, \",window_close=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n no_quit = 0;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n no_quit = 1;\n\n } else {\n\n goto invalid_sdl_args;\n\n }\n\n } else if (strstart(opts, \",gl=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n request_opengl = 1;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n request_opengl = 0;\n\n } else {\n\n goto invalid_sdl_args;\n\n }\n\n } else {\n\n invalid_sdl_args:\n\n fprintf(stderr, \"Invalid SDL option string: %s\\n\", p);\n\n exit(1);\n\n }\n\n opts = nextopt;\n\n }\n\n#else\n\n fprintf(stderr, \"SDL support is disabled\\n\");\n\n exit(1);\n\n#endif\n\n } else if (strstart(p, \"vnc\", &opts)) {\n\n#ifdef CONFIG_VNC\n\n if (*opts == '=') {\n\n if (vnc_parse(opts + 1, &err) == NULL) {\n\n error_report_err(err);\n\n exit(1);\n\n }\n\n } else {\n\n fprintf(stderr, \"VNC requires a display argument vnc=<display>\\n\");\n\n exit(1);\n\n }\n\n#else\n\n fprintf(stderr, \"VNC support is disabled\\n\");\n\n exit(1);\n\n#endif\n\n } else if (strstart(p, \"curses\", &opts)) {\n\n#ifdef CONFIG_CURSES\n\n display = DT_CURSES;\n\n#else\n\n fprintf(stderr, \"Curses support is disabled\\n\");\n\n exit(1);\n\n#endif\n\n } else if (strstart(p, \"gtk\", &opts)) {\n\n#ifdef CONFIG_GTK\n\n display = DT_GTK;\n\n while (*opts) {\n\n const char *nextopt;\n\n\n\n if (strstart(opts, \",grab_on_hover=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n grab_on_hover = true;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n grab_on_hover = false;\n\n } else {\n\n goto invalid_gtk_args;\n\n }\n\n } else if (strstart(opts, \",gl=\", &nextopt)) {\n\n opts = nextopt;\n\n if (strstart(opts, \"on\", &nextopt)) {\n\n request_opengl = 1;\n\n } else if (strstart(opts, \"off\", &nextopt)) {\n\n request_opengl = 0;\n\n } else {\n\n goto invalid_gtk_args;\n\n }\n\n } else {\n\n invalid_gtk_args:\n\n fprintf(stderr, \"Invalid GTK option string: %s\\n\", p);\n\n exit(1);\n\n }\n\n opts = nextopt;\n\n }\n\n#else\n\n fprintf(stderr, \"GTK support is disabled\\n\");\n\n exit(1);\n\n#endif\n\n } else if (strstart(p, \"none\", &opts)) {\n\n display = DT_NONE;\n\n } else {\n\n fprintf(stderr, \"Unknown display type: %s\\n\", p);\n\n exit(1);\n\n }\n\n\n\n return display;\n\n}\n", "idx": 7766}752{"project": "FFmpeg", "commit_id": "465e1dadbef7596a3eb87089a66bb4ecdc26d3c4", "target": 0, "func": "static int get_packetheader(NUTContext *nut, ByteIOContext *bc, int prefix_length, int calculate_checksum)\n\n{\n\n int64_t start, size, last_size;\n\n start= url_ftell(bc) - prefix_length;\n\n\n\n if(start != nut->packet_start + nut->written_packet_size){\n\n av_log(nut->avf, AV_LOG_ERROR, \"get_packetheader called at weird position\\n\");\n\n return -1;\n\n }\n\n \n\n if(calculate_checksum)\n\n init_checksum(bc, update_adler32, 0);\n\n\n\n size= get_v(bc);\n\n last_size= get_v(bc);\n\n if(nut->written_packet_size != last_size){\n\n av_log(nut->avf, AV_LOG_ERROR, \"packet size missmatch %d != %lld at %lld\\n\", nut->written_packet_size, last_size, start);\n\n return -1;\n\n }\n\n\n\n nut->last_packet_start = nut->packet_start;\n\n nut->packet_start = start;\n\n nut->written_packet_size= size;\n\n\n\n return size;\n\n}\n", "idx": 7777}753{"project": "qemu", "commit_id": "75f19f8c3006970632303b49043b075dc4fe922e", "target": 0, "func": "static void megasas_unmap_frame(MegasasState *s, MegasasCmd *cmd)\n\n{\n\n PCIDevice *p = PCI_DEVICE(s);\n\n\n\n pci_dma_unmap(p, cmd->frame, cmd->pa_size, 0, 0);\n\n cmd->frame = NULL;\n\n cmd->pa = 0;\n\n clear_bit(cmd->index, s->frame_map);\n\n}\n", "idx": 7779}754{"project": "qemu", "commit_id": "02cb7f3a256517cbf3136caff2863fbafc57b540", "target": 0, "func": "int v9fs_co_open2(V9fsState *s, V9fsFidState *fidp, char *fullname, gid_t gid,\n\n int flags, int mode)\n\n{\n\n int err;\n\n FsCred cred;\n\n\n\n cred_init(&cred);\n\n cred.fc_mode = mode & 07777;\n\n cred.fc_uid = fidp->uid;\n\n cred.fc_gid = gid;\n\n v9fs_co_run_in_worker(\n\n {\n\n fidp->fs.fd = s->ops->open2(&s->ctx, fullname, flags, &cred);\n\n err = 0;\n\n if (fidp->fs.fd == -1) {\n\n err = -errno;\n\n }\n\n });\n\n if (!err) {\n\n total_open_fd++;\n\n if (total_open_fd > open_fd_hw) {\n\n v9fs_reclaim_fd(s);\n\n }\n\n }\n\n return err;\n\n}\n", "idx": 7780}755{"project": "qemu", "commit_id": "bbe2f399b222f1f2fcf5cd2ea78e4f5c9a66c64e", "target": 0, "func": "static int receive_filter(VirtIONet *n, const uint8_t *buf, int size)\n\n{\n\n static const uint8_t bcast[] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};\n\n static const uint8_t vlan[] = {0x81, 0x00};\n\n uint8_t *ptr = (uint8_t *)buf;\n\n int i;\n\n\n\n if (n->promisc)\n\n return 1;\n\n\n\n if (!memcmp(&ptr[12], vlan, sizeof(vlan))) {\n\n int vid = be16_to_cpup((uint16_t *)(ptr + 14)) & 0xfff;\n\n if (!(n->vlans[vid >> 5] & (1U << (vid & 0x1f))))\n\n return 0;\n\n }\n\n\n\n if ((ptr[0] & 1) && n->allmulti)\n\n return 1;\n\n\n\n if (!memcmp(ptr, bcast, sizeof(bcast)))\n\n return 1;\n\n\n\n if (!memcmp(ptr, n->mac, ETH_ALEN))\n\n return 1;\n\n\n\n for (i = 0; i < n->mac_table.in_use; i++) {\n\n if (!memcmp(ptr, &n->mac_table.macs[i * ETH_ALEN], ETH_ALEN))\n\n return 1;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 7782}756{"project": "FFmpeg", "commit_id": "4bb0b31f762c422ad15bee68da7bcf76940cc9fa", "target": 0, "func": "static int output_packet(InputStream *ist, int ist_index,\n\n OutputStream *ost_table, int nb_ostreams,\n\n const AVPacket *pkt)\n\n{\n\n AVFormatContext *os;\n\n OutputStream *ost;\n\n int ret, i;\n\n int got_output;\n\n void *buffer_to_free = NULL;\n\n static unsigned int samples_size= 0;\n\n AVSubtitle subtitle, *subtitle_to_free;\n\n int64_t pkt_pts = AV_NOPTS_VALUE;\n\n#if CONFIG_AVFILTER\n\n int frame_available;\n\n#endif\n\n float quality;\n\n\n\n AVPacket avpkt;\n\n int bps = av_get_bytes_per_sample(ist->st->codec->sample_fmt);\n\n\n\n if(ist->next_pts == AV_NOPTS_VALUE)\n\n ist->next_pts= ist->pts;\n\n\n\n if (pkt == NULL) {\n\n /* EOF handling */\n\n av_init_packet(&avpkt);\n\n avpkt.data = NULL;\n\n avpkt.size = 0;\n\n goto handle_eof;\n\n } else {\n\n avpkt = *pkt;\n\n }\n\n\n\n if(pkt->dts != AV_NOPTS_VALUE)\n\n ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);\n\n if(pkt->pts != AV_NOPTS_VALUE)\n\n pkt_pts = av_rescale_q(pkt->pts, ist->st->time_base, AV_TIME_BASE_Q);\n\n\n\n //while we have more to decode or while the decoder did output something on EOF\n\n while (avpkt.size > 0 || (!pkt && got_output)) {\n\n uint8_t *data_buf, *decoded_data_buf;\n\n int data_size, decoded_data_size;\n\n AVFrame *decoded_frame, *filtered_frame;\n\n handle_eof:\n\n ist->pts= ist->next_pts;\n\n\n\n if(avpkt.size && avpkt.size != pkt->size)\n\n av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING,\n\n \"Multiple frames in a packet from stream %d\\n\", pkt->stream_index);\n\n ist->showed_multi_packet_warning=1;\n\n\n\n /* decode the packet if needed */\n\n decoded_frame = filtered_frame = NULL;\n\n decoded_data_buf = NULL; /* fail safe */\n\n decoded_data_size= 0;\n\n data_buf = avpkt.data;\n\n data_size = avpkt.size;\n\n subtitle_to_free = NULL;\n\n if (ist->decoding_needed) {\n\n switch(ist->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:{\n\n if(pkt && samples_size < FFMAX(pkt->size * bps, AVCODEC_MAX_AUDIO_FRAME_SIZE)) {\n\n samples_size = FFMAX(pkt->size * bps, AVCODEC_MAX_AUDIO_FRAME_SIZE);\n\n av_free(samples);\n\n samples= av_malloc(samples_size);\n\n }\n\n decoded_data_size= samples_size;\n\n /* XXX: could avoid copy if PCM 16 bits with same\n\n endianness as CPU */\n\n ret = avcodec_decode_audio3(ist->st->codec, samples, &decoded_data_size,\n\n &avpkt);\n\n if (ret < 0)\n\n return ret;\n\n avpkt.data += ret;\n\n avpkt.size -= ret;\n\n data_size = ret;\n\n got_output = decoded_data_size > 0;\n\n /* Some bug in mpeg audio decoder gives */\n\n /* decoded_data_size < 0, it seems they are overflows */\n\n if (!got_output) {\n\n /* no audio frame */\n\n continue;\n\n }\n\n decoded_data_buf = (uint8_t *)samples;\n\n ist->next_pts += ((int64_t)AV_TIME_BASE/bps * decoded_data_size) /\n\n (ist->st->codec->sample_rate * ist->st->codec->channels);\n\n break;}\n\n case AVMEDIA_TYPE_VIDEO:\n\n decoded_data_size = (ist->st->codec->width * ist->st->codec->height * 3) / 2;\n\n if (!(decoded_frame = avcodec_alloc_frame()))\n\n return AVERROR(ENOMEM);\n\n avpkt.pts = pkt_pts;\n\n avpkt.dts = ist->pts;\n\n pkt_pts = AV_NOPTS_VALUE;\n\n\n\n ret = avcodec_decode_video2(ist->st->codec,\n\n decoded_frame, &got_output, &avpkt);\n\n quality = same_quant ? decoded_frame->quality : 0;\n\n if (ret < 0)\n\n goto fail;\n\n if (!got_output) {\n\n /* no picture yet */\n\n av_freep(&decoded_frame);\n\n goto discard_packet;\n\n }\n\n ist->next_pts = ist->pts = guess_correct_pts(&ist->pts_ctx, decoded_frame->pkt_pts,\n\n decoded_frame->pkt_dts);\n\n if (ist->st->codec->time_base.num != 0) {\n\n int ticks= ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame;\n\n ist->next_pts += ((int64_t)AV_TIME_BASE *\n\n ist->st->codec->time_base.num * ticks) /\n\n ist->st->codec->time_base.den;\n\n }\n\n avpkt.size = 0;\n\n buffer_to_free = NULL;\n\n pre_process_video_frame(ist, (AVPicture *)decoded_frame, &buffer_to_free);\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n ret = avcodec_decode_subtitle2(ist->st->codec,\n\n &subtitle, &got_output, &avpkt);\n\n if (ret < 0)\n\n return ret;\n\n if (!got_output) {\n\n goto discard_packet;\n\n }\n\n subtitle_to_free = &subtitle;\n\n avpkt.size = 0;\n\n break;\n\n default:\n\n return -1;\n\n }\n\n } else {\n\n switch(ist->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n ist->next_pts += ((int64_t)AV_TIME_BASE * ist->st->codec->frame_size) /\n\n ist->st->codec->sample_rate;\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n if (ist->st->codec->time_base.num != 0) {\n\n int ticks= ist->st->parser ? ist->st->parser->repeat_pict+1 : ist->st->codec->ticks_per_frame;\n\n ist->next_pts += ((int64_t)AV_TIME_BASE *\n\n ist->st->codec->time_base.num * ticks) /\n\n ist->st->codec->time_base.den;\n\n }\n\n break;\n\n }\n\n avpkt.size = 0;\n\n }\n\n\n\n // preprocess audio (volume)\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n if (audio_volume != 256) {\n\n switch (ist->st->codec->sample_fmt) {\n\n case AV_SAMPLE_FMT_U8:\n\n {\n\n uint8_t *volp = samples;\n\n for (i = 0; i < (decoded_data_size / sizeof(*volp)); i++) {\n\n int v = (((*volp - 128) * audio_volume + 128) >> 8) + 128;\n\n *volp++ = av_clip_uint8(v);\n\n }\n\n break;\n\n }\n\n case AV_SAMPLE_FMT_S16:\n\n {\n\n short *volp;\n\n volp = samples;\n\n for(i=0;i<(decoded_data_size / sizeof(short));i++) {\n\n int v = ((*volp) * audio_volume + 128) >> 8;\n\n *volp++ = av_clip_int16(v);\n\n }\n\n break;\n\n }\n\n case AV_SAMPLE_FMT_S32:\n\n {\n\n int32_t *volp = samples;\n\n for (i = 0; i < (decoded_data_size / sizeof(*volp)); i++) {\n\n int64_t v = (((int64_t)*volp * audio_volume + 128) >> 8);\n\n *volp++ = av_clipl_int32(v);\n\n }\n\n break;\n\n }\n\n case AV_SAMPLE_FMT_FLT:\n\n {\n\n float *volp = samples;\n\n float scale = audio_volume / 256.f;\n\n for (i = 0; i < (decoded_data_size / sizeof(*volp)); i++) {\n\n *volp++ *= scale;\n\n }\n\n break;\n\n }\n\n case AV_SAMPLE_FMT_DBL:\n\n {\n\n double *volp = samples;\n\n double scale = audio_volume / 256.;\n\n for (i = 0; i < (decoded_data_size / sizeof(*volp)); i++) {\n\n *volp++ *= scale;\n\n }\n\n break;\n\n }\n\n default:\n\n av_log(NULL, AV_LOG_FATAL,\n\n \"Audio volume adjustment on sample format %s is not supported.\\n\",\n\n av_get_sample_fmt_name(ist->st->codec->sample_fmt));\n\n exit_program(1);\n\n }\n\n }\n\n }\n\n\n\n /* frame rate emulation */\n\n if (input_files[ist->file_index].rate_emu) {\n\n int64_t pts = av_rescale(ist->pts, 1000000, AV_TIME_BASE);\n\n int64_t now = av_gettime() - ist->start;\n\n if (pts > now)\n\n usleep(pts - now);\n\n }\n\n /* if output time reached then transcode raw format,\n\n encode packets and output them */\n\n for (i = 0; i < nb_ostreams; i++) {\n\n OutputFile *of = &output_files[ost_table[i].file_index];\n\n int frame_size;\n\n\n\n ost = &ost_table[i];\n\n if (ost->source_index != ist_index)\n\n continue;\n\n\n\n if (of->start_time && ist->pts < of->start_time)\n\n continue;\n\n\n\n if (of->recording_time != INT64_MAX &&\n\n av_compare_ts(ist->pts, AV_TIME_BASE_Q, of->recording_time + of->start_time,\n\n (AVRational){1, 1000000}) >= 0) {\n\n ost->is_past_recording_time = 1;\n\n continue;\n\n }\n\n\n\n#if CONFIG_AVFILTER\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&\n\n ost->input_video_filter) {\n\n AVRational sar;\n\n if (ist->st->sample_aspect_ratio.num)\n\n sar = ist->st->sample_aspect_ratio;\n\n else\n\n sar = ist->st->codec->sample_aspect_ratio;\n\n av_vsrc_buffer_add_frame(ost->input_video_filter, decoded_frame, ist->pts, sar);\n\n if (!(filtered_frame = avcodec_alloc_frame())) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n }\n\n frame_available = ist->st->codec->codec_type != AVMEDIA_TYPE_VIDEO ||\n\n !ost->output_video_filter || avfilter_poll_frame(ost->output_video_filter->inputs[0]);\n\n while (frame_available) {\n\n AVRational ist_pts_tb;\n\n if (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO && ost->output_video_filter)\n\n get_filtered_video_frame(ost->output_video_filter, filtered_frame, &ost->picref, &ist_pts_tb);\n\n if (ost->picref)\n\n ist->pts = av_rescale_q(ost->picref->pts, ist_pts_tb, AV_TIME_BASE_Q);\n\n#else\n\n filtered_frame = decoded_frame;\n\n#endif\n\n os = output_files[ost->file_index].ctx;\n\n\n\n /* set the input output pts pairs */\n\n //ost->sync_ipts = (double)(ist->pts + input_files[ist->file_index].ts_offset - start_time)/ AV_TIME_BASE;\n\n\n\n if (ost->encoding_needed) {\n\n av_assert0(ist->decoding_needed);\n\n switch(ost->st->codec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n do_audio_out(os, ost, ist, decoded_data_buf, decoded_data_size);\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n#if CONFIG_AVFILTER\n\n if (ost->picref->video && !ost->frame_aspect_ratio)\n\n ost->st->codec->sample_aspect_ratio = ost->picref->video->pixel_aspect;\n\n#endif\n\n do_video_out(os, ost, ist, filtered_frame, &frame_size,\n\n same_quant ? quality : ost->st->codec->global_quality);\n\n if (vstats_filename && frame_size)\n\n do_video_stats(os, ost, frame_size);\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n do_subtitle_out(os, ost, ist, &subtitle,\n\n pkt->pts);\n\n break;\n\n default:\n\n abort();\n\n }\n\n } else {\n\n AVPacket opkt;\n\n int64_t ost_tb_start_time= av_rescale_q(of->start_time, AV_TIME_BASE_Q, ost->st->time_base);\n\n\n\n av_init_packet(&opkt);\n\n\n\n if ((!ost->frame_number && !(pkt->flags & AV_PKT_FLAG_KEY)) && !copy_initial_nonkeyframes)\n\n#if !CONFIG_AVFILTER\n\n continue;\n\n#else\n\n goto cont;\n\n#endif\n\n\n\n /* no reencoding needed : output the packet directly */\n\n /* force the input stream PTS */\n\n\n\n if(ost->st->codec->codec_type == AVMEDIA_TYPE_AUDIO)\n\n audio_size += data_size;\n\n else if (ost->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {\n\n video_size += data_size;\n\n ost->sync_opts++;\n\n }\n\n\n\n opkt.stream_index= ost->index;\n\n if(pkt->pts != AV_NOPTS_VALUE)\n\n opkt.pts= av_rescale_q(pkt->pts, ist->st->time_base, ost->st->time_base) - ost_tb_start_time;\n\n else\n\n opkt.pts= AV_NOPTS_VALUE;\n\n\n\n if (pkt->dts == AV_NOPTS_VALUE)\n\n opkt.dts = av_rescale_q(ist->pts, AV_TIME_BASE_Q, ost->st->time_base);\n\n else\n\n opkt.dts = av_rescale_q(pkt->dts, ist->st->time_base, ost->st->time_base);\n\n opkt.dts -= ost_tb_start_time;\n\n\n\n opkt.duration = av_rescale_q(pkt->duration, ist->st->time_base, ost->st->time_base);\n\n opkt.flags= pkt->flags;\n\n\n\n //FIXME remove the following 2 lines they shall be replaced by the bitstream filters\n\n if( ost->st->codec->codec_id != CODEC_ID_H264\n\n && ost->st->codec->codec_id != CODEC_ID_MPEG1VIDEO\n\n && ost->st->codec->codec_id != CODEC_ID_MPEG2VIDEO\n\n ) {\n\n if(av_parser_change(ist->st->parser, ost->st->codec, &opkt.data, &opkt.size, data_buf, data_size, pkt->flags & AV_PKT_FLAG_KEY))\n\n opkt.destruct= av_destruct_packet;\n\n } else {\n\n opkt.data = data_buf;\n\n opkt.size = data_size;\n\n }\n\n\n\n write_frame(os, &opkt, ost->st->codec, ost->bitstream_filters);\n\n ost->st->codec->frame_number++;\n\n ost->frame_number++;\n\n av_free_packet(&opkt);\n\n }\n\n#if CONFIG_AVFILTER\n\n cont:\n\n frame_available = (ist->st->codec->codec_type == AVMEDIA_TYPE_VIDEO) &&\n\n ost->output_video_filter && avfilter_poll_frame(ost->output_video_filter->inputs[0]);\n\n if (ost->picref)\n\n avfilter_unref_buffer(ost->picref);\n\n }\n\n av_freep(&filtered_frame);\n\n#endif\n\n }\n\n\n\nfail:\n\n av_free(buffer_to_free);\n\n /* XXX: allocate the subtitles in the codec ? */\n\n if (subtitle_to_free) {\n\n avsubtitle_free(subtitle_to_free);\n\n subtitle_to_free = NULL;\n\n }\n\n av_freep(&decoded_frame);\n\n if (ret < 0)\n\n return ret;\n\n }\n\n discard_packet:\n\n\n\n return 0;\n\n}\n", "idx": 7808}757{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_tlbsx_440(DisasContext *ctx)\n\n{\n\n#if defined(CONFIG_USER_ONLY)\n\n gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC);\n\n#else\n\n TCGv t0;\n\n if (unlikely(ctx->pr)) {\n\n gen_inval_exception(ctx, POWERPC_EXCP_PRIV_OPC);\n\n return;\n\n }\n\n t0 = tcg_temp_new();\n\n gen_addr_reg_index(ctx, t0);\n\n gen_helper_440_tlbsx(cpu_gpr[rD(ctx->opcode)], cpu_env, t0);\n\n tcg_temp_free(t0);\n\n if (Rc(ctx->opcode)) {\n\n int l1 = gen_new_label();\n\n tcg_gen_trunc_tl_i32(cpu_crf[0], cpu_so);\n\n tcg_gen_brcondi_tl(TCG_COND_EQ, cpu_gpr[rD(ctx->opcode)], -1, l1);\n\n tcg_gen_ori_i32(cpu_crf[0], cpu_crf[0], 0x02);\n\n gen_set_label(l1);\n\n }\n\n#endif\n\n}\n", "idx": 7814}758{"project": "qemu", "commit_id": "c2b38b277a7882a592f4f2ec955084b2b756daaa", "target": 0, "func": "GSource *iohandler_get_g_source(void)\n\n{\n\n iohandler_init();\n\n return aio_get_g_source(iohandler_ctx);\n\n}\n", "idx": 7828}759{"project": "FFmpeg", "commit_id": "a4c7a5ea27050a28625eabf1ba98cfef9ac6620d", "target": 0, "func": "int ff_mpeg1_find_frame_end(ParseContext *pc, const uint8_t *buf, int buf_size)\n\n{\n\n int i;\n\n uint32_t state= pc->state;\n\n\n\n /* EOF considered as end of frame */\n\n if (buf_size == 0)\n\n return 0;\n\n\n\n/*\n\n 0 frame start -> 1/4\n\n 1 first_SEQEXT -> 0/2\n\n 2 first field start -> 3/0\n\n 3 second_SEQEXT -> 2/0\n\n 4 searching end\n\n*/\n\n\n\n for(i=0; i<buf_size; i++){\n\n assert(pc->frame_start_found>=0 && pc->frame_start_found<=4);\n\n if(pc->frame_start_found&1){\n\n if(state == EXT_START_CODE && (buf[i]&0xF0) != 0x80)\n\n pc->frame_start_found--;\n\n else if(state == EXT_START_CODE+2){\n\n if((buf[i]&3) == 3) pc->frame_start_found= 0;\n\n else pc->frame_start_found= (pc->frame_start_found+1)&3;\n\n }\n\n state++;\n\n }else{\n\n i= ff_find_start_code(buf+i, buf+buf_size, &state) - buf - 1;\n\n if(pc->frame_start_found==0 && state >= SLICE_MIN_START_CODE && state <= SLICE_MAX_START_CODE){\n\n i++;\n\n pc->frame_start_found=4;\n\n }\n\n if(state == SEQ_END_CODE){\n\n pc->state=-1;\n\n return i+1;\n\n }\n\n if(pc->frame_start_found==2 && state == SEQ_START_CODE)\n\n pc->frame_start_found= 0;\n\n if(pc->frame_start_found<4 && state == EXT_START_CODE)\n\n pc->frame_start_found++;\n\n if(pc->frame_start_found == 4 && (state&0xFFFFFF00) == 0x100){\n\n if(state < SLICE_MIN_START_CODE || state > SLICE_MAX_START_CODE){\n\n pc->frame_start_found=0;\n\n pc->state=-1;\n\n return i-3;\n\n }\n\n }\n\n }\n\n }\n\n pc->state= state;\n\n return END_NOT_FOUND;\n\n}\n", "idx": 7834}760{"project": "FFmpeg", "commit_id": "0f8d3d8a462c0152ac489dbb013f6df027edd6c4", "target": 0, "func": "static av_cold int encode_init(AVCodecContext *avctx)\n\n{\n\n FFV1Context *s = avctx->priv_data;\n\n const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->pix_fmt);\n\n int i, j, k, m, ret;\n\n\n\n if ((ret = ff_ffv1_common_init(avctx)) < 0)\n\n return ret;\n\n\n\n s->version = 0;\n\n\n\n if ((avctx->flags & (AV_CODEC_FLAG_PASS1 | AV_CODEC_FLAG_PASS2)) ||\n\n avctx->slices > 1)\n\n s->version = FFMAX(s->version, 2);\n\n\n\n // Unspecified level & slices, we choose version 1.2+ to ensure multithreaded decodability\n\n if (avctx->slices == 0 && avctx->level < 0 && avctx->width * avctx->height > 720*576)\n\n s->version = FFMAX(s->version, 2);\n\n\n\n if (avctx->level <= 0 && s->version == 2) {\n\n s->version = 3;\n\n }\n\n if (avctx->level >= 0 && avctx->level <= 4) {\n\n if (avctx->level < s->version) {\n\n av_log(avctx, AV_LOG_ERROR, \"Version %d needed for requested features but %d requested\\n\", s->version, avctx->level);\n\n return AVERROR(EINVAL);\n\n }\n\n s->version = avctx->level;\n\n }\n\n\n\n if (s->ec < 0) {\n\n s->ec = (s->version >= 3);\n\n }\n\n\n\n if ((s->version == 2 || s->version>3) && avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {\n\n av_log(avctx, AV_LOG_ERROR, \"Version 2 needed for requested features but version 2 is experimental and not enabled\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n#if FF_API_CODER_TYPE\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n if (avctx->coder_type != -1)\n\n s->ac = avctx->coder_type > 0 ? AC_RANGE_CUSTOM_TAB : AC_GOLOMB_RICE;\n\n else\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n if (s->ac == 1) // Compatbility with common command line usage\n\n s->ac = AC_RANGE_CUSTOM_TAB;\n\n else if (s->ac == AC_RANGE_DEFAULT_TAB_FORCE)\n\n s->ac = AC_RANGE_DEFAULT_TAB;\n\n\n\n s->plane_count = 3;\n\n switch(avctx->pix_fmt) {\n\n case AV_PIX_FMT_YUV444P9:\n\n case AV_PIX_FMT_YUV422P9:\n\n case AV_PIX_FMT_YUV420P9:\n\n case AV_PIX_FMT_YUVA444P9:\n\n case AV_PIX_FMT_YUVA422P9:\n\n case AV_PIX_FMT_YUVA420P9:\n\n if (!avctx->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 9;\n\n case AV_PIX_FMT_GRAY10:\n\n case AV_PIX_FMT_YUV444P10:\n\n case AV_PIX_FMT_YUV420P10:\n\n case AV_PIX_FMT_YUV422P10:\n\n case AV_PIX_FMT_YUVA444P10:\n\n case AV_PIX_FMT_YUVA422P10:\n\n case AV_PIX_FMT_YUVA420P10:\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 10;\n\n case AV_PIX_FMT_GRAY12:\n\n case AV_PIX_FMT_YUV444P12:\n\n case AV_PIX_FMT_YUV420P12:\n\n case AV_PIX_FMT_YUV422P12:\n\n s->packed_at_lsb = 1;\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 12;\n\n case AV_PIX_FMT_GRAY16:\n\n case AV_PIX_FMT_YUV444P16:\n\n case AV_PIX_FMT_YUV422P16:\n\n case AV_PIX_FMT_YUV420P16:\n\n case AV_PIX_FMT_YUVA444P16:\n\n case AV_PIX_FMT_YUVA422P16:\n\n case AV_PIX_FMT_YUVA420P16:\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample) {\n\n s->bits_per_raw_sample = 16;\n\n } else if (!s->bits_per_raw_sample) {\n\n s->bits_per_raw_sample = avctx->bits_per_raw_sample;\n\n }\n\n if (s->bits_per_raw_sample <= 8) {\n\n av_log(avctx, AV_LOG_ERROR, \"bits_per_raw_sample invalid\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n s->version = FFMAX(s->version, 1);\n\n case AV_PIX_FMT_GRAY8:\n\n case AV_PIX_FMT_YA8:\n\n case AV_PIX_FMT_YUV444P:\n\n case AV_PIX_FMT_YUV440P:\n\n case AV_PIX_FMT_YUV422P:\n\n case AV_PIX_FMT_YUV420P:\n\n case AV_PIX_FMT_YUV411P:\n\n case AV_PIX_FMT_YUV410P:\n\n case AV_PIX_FMT_YUVA444P:\n\n case AV_PIX_FMT_YUVA422P:\n\n case AV_PIX_FMT_YUVA420P:\n\n s->chroma_planes = desc->nb_components < 3 ? 0 : 1;\n\n s->colorspace = 0;\n\n s->transparency = desc->nb_components == 4 || desc->nb_components == 2;\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 8;\n\n else if (!s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 8;\n\n break;\n\n case AV_PIX_FMT_RGB32:\n\n s->colorspace = 1;\n\n s->transparency = 1;\n\n s->chroma_planes = 1;\n\n s->bits_per_raw_sample = 8;\n\n break;\n\n case AV_PIX_FMT_RGB48:\n\n s->colorspace = 1;\n\n s->chroma_planes = 1;\n\n s->bits_per_raw_sample = 16;\n\n s->use32bit = 1;\n\n s->version = FFMAX(s->version, 1);\n\n if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {\n\n av_log(avctx, AV_LOG_ERROR, \"16bit RGB is experimental and under development, only use it for experiments\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n break;\n\n case AV_PIX_FMT_0RGB32:\n\n s->colorspace = 1;\n\n s->chroma_planes = 1;\n\n s->bits_per_raw_sample = 8;\n\n break;\n\n case AV_PIX_FMT_GBRP9:\n\n if (!avctx->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 9;\n\n case AV_PIX_FMT_GBRP10:\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 10;\n\n case AV_PIX_FMT_GBRP12:\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 12;\n\n case AV_PIX_FMT_GBRP14:\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 14;\n\n case AV_PIX_FMT_GBRP16:\n\n if (!avctx->bits_per_raw_sample && !s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = 16;\n\n else if (!s->bits_per_raw_sample)\n\n s->bits_per_raw_sample = avctx->bits_per_raw_sample;\n\n s->colorspace = 1;\n\n s->chroma_planes = 1;\n\n if (s->bits_per_raw_sample >= 16) {\n\n s->use32bit = 1;\n\n if (avctx->strict_std_compliance > FF_COMPLIANCE_EXPERIMENTAL) {\n\n av_log(avctx, AV_LOG_ERROR, \"16bit RGB is experimental and under development, only use it for experiments\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n }\n\n s->version = FFMAX(s->version, 1);\n\n break;\n\n default:\n\n av_log(avctx, AV_LOG_ERROR, \"format not supported\\n\");\n\n return AVERROR(ENOSYS);\n\n }\n\n av_assert0(s->bits_per_raw_sample >= 8);\n\n\n\n if (s->bits_per_raw_sample > 8) {\n\n if (s->ac == AC_GOLOMB_RICE) {\n\n av_log(avctx, AV_LOG_INFO,\n\n \"bits_per_raw_sample > 8, forcing range coder\\n\");\n\n s->ac = AC_RANGE_CUSTOM_TAB;\n\n }\n\n }\n\n if (s->transparency) {\n\n av_log(avctx, AV_LOG_WARNING, \"Storing alpha plane, this will require a recent FFV1 decoder to playback!\\n\");\n\n }\n\n#if FF_API_PRIVATE_OPT\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n if (avctx->context_model)\n\n s->context_model = avctx->context_model;\n\n if (avctx->context_model > 1U) {\n\n av_log(avctx, AV_LOG_ERROR, \"Invalid context model %d, valid values are 0 and 1\\n\", avctx->context_model);\n\n return AVERROR(EINVAL);\n\n }\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n\n\n if (s->ac == AC_RANGE_CUSTOM_TAB) {\n\n for (i = 1; i < 256; i++)\n\n s->state_transition[i] = ver2_state[i];\n\n } else {\n\n RangeCoder c;\n\n ff_build_rac_states(&c, 0.05 * (1LL << 32), 256 - 8);\n\n for (i = 1; i < 256; i++)\n\n s->state_transition[i] = c.one_state[i];\n\n }\n\n\n\n for (i = 0; i < 256; i++) {\n\n s->quant_table_count = 2;\n\n if (s->bits_per_raw_sample <= 8) {\n\n s->quant_tables[0][0][i]= quant11[i];\n\n s->quant_tables[0][1][i]= 11*quant11[i];\n\n s->quant_tables[0][2][i]= 11*11*quant11[i];\n\n s->quant_tables[1][0][i]= quant11[i];\n\n s->quant_tables[1][1][i]= 11*quant11[i];\n\n s->quant_tables[1][2][i]= 11*11*quant5 [i];\n\n s->quant_tables[1][3][i]= 5*11*11*quant5 [i];\n\n s->quant_tables[1][4][i]= 5*5*11*11*quant5 [i];\n\n } else {\n\n s->quant_tables[0][0][i]= quant9_10bit[i];\n\n s->quant_tables[0][1][i]= 11*quant9_10bit[i];\n\n s->quant_tables[0][2][i]= 11*11*quant9_10bit[i];\n\n s->quant_tables[1][0][i]= quant9_10bit[i];\n\n s->quant_tables[1][1][i]= 11*quant9_10bit[i];\n\n s->quant_tables[1][2][i]= 11*11*quant5_10bit[i];\n\n s->quant_tables[1][3][i]= 5*11*11*quant5_10bit[i];\n\n s->quant_tables[1][4][i]= 5*5*11*11*quant5_10bit[i];\n\n }\n\n }\n\n s->context_count[0] = (11 * 11 * 11 + 1) / 2;\n\n s->context_count[1] = (11 * 11 * 5 * 5 * 5 + 1) / 2;\n\n memcpy(s->quant_table, s->quant_tables[s->context_model],\n\n sizeof(s->quant_table));\n\n\n\n for (i = 0; i < s->plane_count; i++) {\n\n PlaneContext *const p = &s->plane[i];\n\n\n\n memcpy(p->quant_table, s->quant_table, sizeof(p->quant_table));\n\n p->quant_table_index = s->context_model;\n\n p->context_count = s->context_count[p->quant_table_index];\n\n }\n\n\n\n if ((ret = ff_ffv1_allocate_initial_states(s)) < 0)\n\n return ret;\n\n\n\n#if FF_API_CODED_FRAME\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I;\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#endif\n\n\n\n if (!s->transparency)\n\n s->plane_count = 2;\n\n if (!s->chroma_planes && s->version > 3)\n\n s->plane_count--;\n\n\n\n avcodec_get_chroma_sub_sample(avctx->pix_fmt, &s->chroma_h_shift, &s->chroma_v_shift);\n\n s->picture_number = 0;\n\n\n\n if (avctx->flags & (AV_CODEC_FLAG_PASS1 | AV_CODEC_FLAG_PASS2)) {\n\n for (i = 0; i < s->quant_table_count; i++) {\n\n s->rc_stat2[i] = av_mallocz(s->context_count[i] *\n\n sizeof(*s->rc_stat2[i]));\n\n if (!s->rc_stat2[i])\n\n return AVERROR(ENOMEM);\n\n }\n\n }\n\n if (avctx->stats_in) {\n\n char *p = avctx->stats_in;\n\n uint8_t (*best_state)[256] = av_malloc_array(256, 256);\n\n int gob_count = 0;\n\n char *next;\n\n if (!best_state)\n\n return AVERROR(ENOMEM);\n\n\n\n av_assert0(s->version >= 2);\n\n\n\n for (;;) {\n\n for (j = 0; j < 256; j++)\n\n for (i = 0; i < 2; i++) {\n\n s->rc_stat[j][i] = strtol(p, &next, 0);\n\n if (next == p) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"2Pass file invalid at %d %d [%s]\\n\", j, i, p);\n\n av_freep(&best_state);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n p = next;\n\n }\n\n for (i = 0; i < s->quant_table_count; i++)\n\n for (j = 0; j < s->context_count[i]; j++) {\n\n for (k = 0; k < 32; k++)\n\n for (m = 0; m < 2; m++) {\n\n s->rc_stat2[i][j][k][m] = strtol(p, &next, 0);\n\n if (next == p) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"2Pass file invalid at %d %d %d %d [%s]\\n\",\n\n i, j, k, m, p);\n\n av_freep(&best_state);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n p = next;\n\n }\n\n }\n\n gob_count = strtol(p, &next, 0);\n\n if (next == p || gob_count <= 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"2Pass file invalid\\n\");\n\n av_freep(&best_state);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n p = next;\n\n while (*p == '\\n' || *p == ' ')\n\n p++;\n\n if (p[0] == 0)\n\n break;\n\n }\n\n if (s->ac == AC_RANGE_CUSTOM_TAB)\n\n sort_stt(s, s->state_transition);\n\n\n\n find_best_state(best_state, s->state_transition);\n\n\n\n for (i = 0; i < s->quant_table_count; i++) {\n\n for (k = 0; k < 32; k++) {\n\n double a=0, b=0;\n\n int jp = 0;\n\n for (j = 0; j < s->context_count[i]; j++) {\n\n double p = 128;\n\n if (s->rc_stat2[i][j][k][0] + s->rc_stat2[i][j][k][1] > 200 && j || a+b > 200) {\n\n if (a+b)\n\n p = 256.0 * b / (a + b);\n\n s->initial_states[i][jp][k] =\n\n best_state[av_clip(round(p), 1, 255)][av_clip_uint8((a + b) / gob_count)];\n\n for(jp++; jp<j; jp++)\n\n s->initial_states[i][jp][k] = s->initial_states[i][jp-1][k];\n\n a=b=0;\n\n }\n\n a += s->rc_stat2[i][j][k][0];\n\n b += s->rc_stat2[i][j][k][1];\n\n if (a+b) {\n\n p = 256.0 * b / (a + b);\n\n }\n\n s->initial_states[i][j][k] =\n\n best_state[av_clip(round(p), 1, 255)][av_clip_uint8((a + b) / gob_count)];\n\n }\n\n }\n\n }\n\n av_freep(&best_state);\n\n }\n\n\n\n if (s->version > 1) {\n\n int plane_count = 1 + 2*s->chroma_planes + s->transparency;\n\n s->num_v_slices = (avctx->width > 352 || avctx->height > 288 || !avctx->slices) ? 2 : 1;\n\n\n\n if (avctx->height < 5)\n\n s->num_v_slices = 1;\n\n\n\n for (; s->num_v_slices < 32; s->num_v_slices++) {\n\n for (s->num_h_slices = s->num_v_slices; s->num_h_slices < 2*s->num_v_slices; s->num_h_slices++) {\n\n int maxw = (avctx->width + s->num_h_slices - 1) / s->num_h_slices;\n\n int maxh = (avctx->height + s->num_v_slices - 1) / s->num_v_slices;\n\n if (s->num_h_slices > avctx->width || s->num_v_slices > avctx->height)\n\n continue;\n\n if (maxw * maxh * (int64_t)(s->bits_per_raw_sample+1) * plane_count > 8<<24)\n\n continue;\n\n if (avctx->slices == s->num_h_slices * s->num_v_slices && avctx->slices <= MAX_SLICES || !avctx->slices)\n\n goto slices_ok;\n\n }\n\n }\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Unsupported number %d of slices requested, please specify a \"\n\n \"supported number with -slices (ex:4,6,9,12,16, ...)\\n\",\n\n avctx->slices);\n\n return AVERROR(ENOSYS);\n\nslices_ok:\n\n if ((ret = write_extradata(s)) < 0)\n\n return ret;\n\n }\n\n\n\n if ((ret = ff_ffv1_init_slice_contexts(s)) < 0)\n\n return ret;\n\n s->slice_count = s->max_slice_count;\n\n if ((ret = ff_ffv1_init_slices_state(s)) < 0)\n\n return ret;\n\n\n\n#define STATS_OUT_SIZE 1024 * 1024 * 6\n\n if (avctx->flags & AV_CODEC_FLAG_PASS1) {\n\n avctx->stats_out = av_mallocz(STATS_OUT_SIZE);\n\n if (!avctx->stats_out)\n\n return AVERROR(ENOMEM);\n\n for (i = 0; i < s->quant_table_count; i++)\n\n for (j = 0; j < s->max_slice_count; j++) {\n\n FFV1Context *sf = s->slice_context[j];\n\n av_assert0(!sf->rc_stat2[i]);\n\n sf->rc_stat2[i] = av_mallocz(s->context_count[i] *\n\n sizeof(*sf->rc_stat2[i]));\n\n if (!sf->rc_stat2[i])\n\n return AVERROR(ENOMEM);\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 7852}761{"project": "FFmpeg", "commit_id": "d85aa76115214183e7e3b7d65e950da61474959a", "target": 0, "func": "static int hls_slice_data_wpp(HEVCContext *s, const HEVCNAL *nal)\n\n{\n\n const uint8_t *data = nal->data;\n\n int length = nal->size;\n\n HEVCLocalContext *lc = s->HEVClc;\n\n int *ret = av_malloc_array(s->sh.num_entry_point_offsets + 1, sizeof(int));\n\n int *arg = av_malloc_array(s->sh.num_entry_point_offsets + 1, sizeof(int));\n\n int64_t offset;\n\n int startheader, cmpt = 0;\n\n int i, j, res = 0;\n\n\n\n if (!ret || !arg) {\n\n av_free(ret);\n\n av_free(arg);\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n\n\n if (!s->sList[1]) {\n\n ff_alloc_entries(s->avctx, s->sh.num_entry_point_offsets + 1);\n\n\n\n\n\n for (i = 1; i < s->threads_number; i++) {\n\n s->sList[i] = av_malloc(sizeof(HEVCContext));\n\n memcpy(s->sList[i], s, sizeof(HEVCContext));\n\n s->HEVClcList[i] = av_mallocz(sizeof(HEVCLocalContext));\n\n s->sList[i]->HEVClc = s->HEVClcList[i];\n\n }\n\n }\n\n\n\n offset = (lc->gb.index >> 3);\n\n\n\n for (j = 0, cmpt = 0, startheader = offset + s->sh.entry_point_offset[0]; j < nal->skipped_bytes; j++) {\n\n if (nal->skipped_bytes_pos[j] >= offset && nal->skipped_bytes_pos[j] < startheader) {\n\n startheader--;\n\n cmpt++;\n\n }\n\n }\n\n\n\n for (i = 1; i < s->sh.num_entry_point_offsets; i++) {\n\n offset += (s->sh.entry_point_offset[i - 1] - cmpt);\n\n for (j = 0, cmpt = 0, startheader = offset\n\n + s->sh.entry_point_offset[i]; j < nal->skipped_bytes; j++) {\n\n if (nal->skipped_bytes_pos[j] >= offset && nal->skipped_bytes_pos[j] < startheader) {\n\n startheader--;\n\n cmpt++;\n\n }\n\n }\n\n s->sh.size[i - 1] = s->sh.entry_point_offset[i] - cmpt;\n\n s->sh.offset[i - 1] = offset;\n\n\n\n }\n\n if (s->sh.num_entry_point_offsets != 0) {\n\n offset += s->sh.entry_point_offset[s->sh.num_entry_point_offsets - 1] - cmpt;\n\n if (length < offset) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"entry_point_offset table is corrupted\\n\");\n\n res = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n s->sh.size[s->sh.num_entry_point_offsets - 1] = length - offset;\n\n s->sh.offset[s->sh.num_entry_point_offsets - 1] = offset;\n\n\n\n }\n\n s->data = data;\n\n\n\n for (i = 1; i < s->threads_number; i++) {\n\n s->sList[i]->HEVClc->first_qp_group = 1;\n\n s->sList[i]->HEVClc->qp_y = s->sList[0]->HEVClc->qp_y;\n\n memcpy(s->sList[i], s, sizeof(HEVCContext));\n\n s->sList[i]->HEVClc = s->HEVClcList[i];\n\n }\n\n\n\n avpriv_atomic_int_set(&s->wpp_err, 0);\n\n ff_reset_entries(s->avctx);\n\n\n\n for (i = 0; i <= s->sh.num_entry_point_offsets; i++) {\n\n arg[i] = i;\n\n ret[i] = 0;\n\n }\n\n\n\n if (s->ps.pps->entropy_coding_sync_enabled_flag)\n\n s->avctx->execute2(s->avctx, hls_decode_entry_wpp, arg, ret, s->sh.num_entry_point_offsets + 1);\n\n\n\n for (i = 0; i <= s->sh.num_entry_point_offsets; i++)\n\n res += ret[i];\n\nerror:\n\n av_free(ret);\n\n av_free(arg);\n\n return res;\n\n}\n", "idx": 7854}762{"project": "qemu", "commit_id": "c1076c3e13a86140cc2ba29866512df8460cc7c2", "target": 0, "func": "static void pxa2xx_lcdc_dma0_redraw_rot0(PXA2xxLCDState *s,\n\n hwaddr addr, int *miny, int *maxy)\n\n{\n\n DisplaySurface *surface = qemu_console_surface(s->con);\n\n int src_width, dest_width;\n\n drawfn fn = NULL;\n\n if (s->dest_width)\n\n fn = s->line_fn[s->transp][s->bpp];\n\n if (!fn)\n\n return;\n\n\n\n src_width = (s->xres + 3) & ~3; /* Pad to a 4 pixels multiple */\n\n if (s->bpp == pxa_lcdc_19pbpp || s->bpp == pxa_lcdc_18pbpp)\n\n src_width *= 3;\n\n else if (s->bpp > pxa_lcdc_16bpp)\n\n src_width *= 4;\n\n else if (s->bpp > pxa_lcdc_8bpp)\n\n src_width *= 2;\n\n\n\n dest_width = s->xres * s->dest_width;\n\n *miny = 0;\n\n framebuffer_update_display(surface, s->sysmem,\n\n addr, s->xres, s->yres,\n\n src_width, dest_width, s->dest_width,\n\n s->invalidated,\n\n fn, s->dma_ch[0].palette, miny, maxy);\n\n}\n", "idx": 7866}763{"project": "qemu", "commit_id": "37ad223c515da2fe9f1c679768cb5ccaa42e57e1", "target": 0, "func": "build_dmar_q35(GArray *table_data, GArray *linker)\n\n{\n\n int dmar_start = table_data->len;\n\n\n\n AcpiTableDmar *dmar;\n\n AcpiDmarHardwareUnit *drhd;\n\n\n\n dmar = acpi_data_push(table_data, sizeof(*dmar));\n\n dmar->host_address_width = VTD_HOST_ADDRESS_WIDTH - 1;\n\n dmar->flags = 0; /* No intr_remap for now */\n\n\n\n /* DMAR Remapping Hardware Unit Definition structure */\n\n drhd = acpi_data_push(table_data, sizeof(*drhd));\n\n drhd->type = cpu_to_le16(ACPI_DMAR_TYPE_HARDWARE_UNIT);\n\n drhd->length = cpu_to_le16(sizeof(*drhd)); /* No device scope now */\n\n drhd->flags = ACPI_DMAR_INCLUDE_PCI_ALL;\n\n drhd->pci_segment = cpu_to_le16(0);\n\n drhd->address = cpu_to_le64(Q35_HOST_BRIDGE_IOMMU_ADDR);\n\n\n\n build_header(linker, table_data, (void *)(table_data->data + dmar_start),\n\n \"DMAR\", table_data->len - dmar_start, 1, NULL);\n\n}\n", "idx": 7869}764{"project": "qemu", "commit_id": "db1da1f2b5f3a2383030438553988f0734a97dbe", "target": 0, "func": "static GtkWidget *gd_create_menu_machine(GtkDisplayState *s, GtkAccelGroup *accel_group)\n\n{\n\n GtkWidget *machine_menu;\n\n GtkWidget *separator;\n\n\n\n machine_menu = gtk_menu_new();\n\n gtk_menu_set_accel_group(GTK_MENU(machine_menu), accel_group);\n\n\n\n s->pause_item = gtk_check_menu_item_new_with_mnemonic(_(\"_Pause\"));\n\n gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->pause_item);\n\n\n\n separator = gtk_separator_menu_item_new();\n\n gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), separator);\n\n\n\n s->reset_item = gtk_menu_item_new_with_mnemonic(_(\"_Reset\"));\n\n gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->reset_item);\n\n\n\n s->powerdown_item = gtk_menu_item_new_with_mnemonic(_(\"Power _Down\"));\n\n gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->powerdown_item);\n\n\n\n separator = gtk_separator_menu_item_new();\n\n gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), separator);\n\n\n\n s->quit_item = gtk_menu_item_new_with_mnemonic(_(\"_Quit\"));\n\n gtk_menu_item_set_accel_path(GTK_MENU_ITEM(s->quit_item),\n\n \"<QEMU>/Machine/Quit\");\n\n gtk_accel_map_add_entry(\"<QEMU>/Machine/Quit\",\n\n GDK_KEY_q, GDK_CONTROL_MASK);\n\n gtk_menu_shell_append(GTK_MENU_SHELL(machine_menu), s->quit_item);\n\n\n\n return machine_menu;\n\n}\n", "idx": 7873}765{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static void mv88w8618_flashcfg_write(void *opaque, target_phys_addr_t offset,\n\n uint64_t value, unsigned size)\n\n{\n\n mv88w8618_flashcfg_state *s = opaque;\n\n\n\n switch (offset) {\n\n case MP_FLASHCFG_CFGR0:\n\n s->cfgr0 = value;\n\n break;\n\n }\n\n}\n", "idx": 7874}766{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static int qemu_rdma_get_fd(void *opaque)\n\n{\n\n QEMUFileRDMA *rfile = opaque;\n\n RDMAContext *rdma = rfile->rdma;\n\n\n\n return rdma->comp_channel->fd;\n\n}\n", "idx": 7881}767{"project": "qemu", "commit_id": "323ad19bcc601d3ec9cb6f0f5b4d67b602fc519e", "target": 1, "func": "static void dump_ppc_insns (CPUPPCState *env)\n\n{\n\n opc_handler_t **table, *handler;\n\n const char *p, *q;\n\n uint8_t opc1, opc2, opc3;\n\n\n\n printf(\"Instructions set:\\n\");\n\n /* opc1 is 6 bits long */\n\n for (opc1 = 0x00; opc1 < PPC_CPU_OPCODES_LEN; opc1++) {\n\n table = env->opcodes;\n\n handler = table[opc1];\n\n if (is_indirect_opcode(handler)) {\n\n /* opc2 is 5 bits long */\n\n for (opc2 = 0; opc2 < PPC_CPU_INDIRECT_OPCODES_LEN; opc2++) {\n\n table = env->opcodes;\n\n handler = env->opcodes[opc1];\n\n table = ind_table(handler);\n\n handler = table[opc2];\n\n if (is_indirect_opcode(handler)) {\n\n table = ind_table(handler);\n\n /* opc3 is 5 bits long */\n\n for (opc3 = 0; opc3 < PPC_CPU_INDIRECT_OPCODES_LEN;\n\n opc3++) {\n\n handler = table[opc3];\n\n if (handler->handler != &gen_invalid) {\n\n /* Special hack to properly dump SPE insns */\n\n p = strchr(handler->oname, '_');\n\n if (p == NULL) {\n\n printf(\"INSN: %02x %02x %02x (%02d %04d) : \"\n\n \"%s\\n\",\n\n opc1, opc2, opc3, opc1,\n\n (opc3 << 5) | opc2,\n\n handler->oname);\n\n } else {\n\n q = \"speundef\";\n\n if ((p - handler->oname) != strlen(q) ||\n\n memcmp(handler->oname, q, strlen(q)) != 0) {\n\n /* First instruction */\n\n printf(\"INSN: %02x %02x %02x (%02d %04d) : \"\n\n \"%.*s\\n\",\n\n opc1, opc2 << 1, opc3, opc1,\n\n (opc3 << 6) | (opc2 << 1),\n\n (int)(p - handler->oname),\n\n handler->oname);\n\n }\n\n if (strcmp(p + 1, q) != 0) {\n\n /* Second instruction */\n\n printf(\"INSN: %02x %02x %02x (%02d %04d) : \"\n\n \"%s\\n\",\n\n opc1, (opc2 << 1) | 1, opc3, opc1,\n\n (opc3 << 6) | (opc2 << 1) | 1,\n\n p + 1);\n\n }\n\n }\n\n }\n\n }\n\n } else {\n\n if (handler->handler != &gen_invalid) {\n\n printf(\"INSN: %02x %02x -- (%02d %04d) : %s\\n\",\n\n opc1, opc2, opc1, opc2, handler->oname);\n\n }\n\n }\n\n }\n\n } else {\n\n if (handler->handler != &gen_invalid) {\n\n printf(\"INSN: %02x -- -- (%02d ----) : %s\\n\",\n\n opc1, opc1, handler->oname);\n\n }\n\n }\n\n }\n\n}\n", "idx": 7882}768{"project": "FFmpeg", "commit_id": "bf2cba453244a74331238a472fe0e309f116f4d9", "target": 1, "func": "yuv2rgb_2_c_template(SwsContext *c, const int16_t *buf[2],\n\n const int16_t *ubuf[2], const int16_t *vbuf[2],\n\n const int16_t *abuf[2], uint8_t *dest, int dstW,\n\n int yalpha, int uvalpha, int y,\n\n enum PixelFormat target, int hasAlpha)\n\n{\n\n const int16_t *buf0 = buf[0], *buf1 = buf[1],\n\n *ubuf0 = ubuf[0], *ubuf1 = ubuf[1],\n\n *vbuf0 = vbuf[0], *vbuf1 = vbuf[1],\n\n *abuf0 = abuf[0], *abuf1 = abuf[1];\n\n int yalpha1 = 4095 - yalpha;\n\n int uvalpha1 = 4095 - uvalpha;\n\n int i;\n\n\n\n for (i = 0; i < (dstW >> 1); i++) {\n\n int Y1 = (buf0[i * 2] * yalpha1 + buf1[i * 2] * yalpha) >> 19;\n\n int Y2 = (buf0[i * 2 + 1] * yalpha1 + buf1[i * 2 + 1] * yalpha) >> 19;\n\n int U = (ubuf0[i] * uvalpha1 + ubuf1[i] * uvalpha) >> 19;\n\n int V = (vbuf0[i] * uvalpha1 + vbuf1[i] * uvalpha) >> 19;\n\n int A1, A2;\n\n const void *r = c->table_rV[V],\n\n *g = (c->table_gU[U] + c->table_gV[V]),\n\n *b = c->table_bU[U];\n\n\n\n if (hasAlpha) {\n\n A1 = (abuf0[i * 2 ] * yalpha1 + abuf1[i * 2 ] * yalpha) >> 19;\n\n A2 = (abuf0[i * 2 + 1] * yalpha1 + abuf1[i * 2 + 1] * yalpha) >> 19;\n\n }\n\n\n\n yuv2rgb_write(dest, i, Y1, Y2, U, V, hasAlpha ? A1 : 0, hasAlpha ? A2 : 0,\n\n r, g, b, y, target, hasAlpha);\n\n }\n\n}\n", "idx": 7885}769{"project": "FFmpeg", "commit_id": "b88be742fac7a77a8095e8155ba8790db4b77568", "target": 1, "func": "static int minimum_frame_bits(VC2EncContext *s)\n\n{\n\n int slice_x, slice_y, bits = 0;\n\n s->size_scaler = 64;\n\n for (slice_y = 0; slice_y < s->num_y; slice_y++) {\n\n for (slice_x = 0; slice_x < s->num_x; slice_x++) {\n\n bits += count_hq_slice(s, NULL, slice_x, slice_y, s->q_ceil);\n\n }\n\n }\n\n return bits;\n\n}\n", "idx": 7892}770{"project": "qemu", "commit_id": "0b8b8753e4d94901627b3e86431230f2319215c4", "target": 1, "func": "static void fd_coroutine_enter(void *opaque)\n\n{\n\n FDYieldUntilData *data = opaque;\n\n qemu_set_fd_handler(data->fd, NULL, NULL, NULL);\n\n qemu_coroutine_enter(data->co, NULL);\n\n}\n", "idx": 7893}771{"project": "qemu", "commit_id": "e976c6a1e40ad74d616a186d3b48b0ad8f5eb970", "target": 1, "func": "static void qcow_aio_write_cb(void *opaque, int ret)\n\n{\n\n QCowAIOCB *acb = opaque;\n\n BlockDriverState *bs = acb->common.bs;\n\n BDRVQcowState *s = bs->opaque;\n\n int index_in_cluster;\n\n uint64_t cluster_offset;\n\n const uint8_t *src_buf;\n\n int n_end;\n\n\n\n acb->hd_aiocb = NULL;\n\n\n\n if (ret < 0) {\n\n fail:\n\n acb->common.cb(acb->common.opaque, ret);\n\n qemu_aio_release(acb);\n\n return;\n\n }\n\n\n\n acb->nb_sectors -= acb->n;\n\n acb->sector_num += acb->n;\n\n acb->buf += acb->n * 512;\n\n\n\n if (acb->nb_sectors == 0) {\n\n /* request completed */\n\n acb->common.cb(acb->common.opaque, 0);\n\n qemu_aio_release(acb);\n\n return;\n\n }\n\n\n\n index_in_cluster = acb->sector_num & (s->cluster_sectors - 1);\n\n n_end = index_in_cluster + acb->nb_sectors;\n\n if (s->crypt_method &&\n\n n_end > QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors)\n\n n_end = QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors;\n\n\n\n cluster_offset = alloc_cluster_offset(bs, acb->sector_num << 9,\n\n index_in_cluster,\n\n n_end, &acb->n);\n\n if (!cluster_offset || (cluster_offset & 511) != 0) {\n\n ret = -EIO;\n\n goto fail;\n\n }\n\n if (s->crypt_method) {\n\n if (!acb->cluster_data) {\n\n acb->cluster_data = qemu_mallocz(QCOW_MAX_CRYPT_CLUSTERS *\n\n s->cluster_size);\n\n if (!acb->cluster_data) {\n\n ret = -ENOMEM;\n\n goto fail;\n\n }\n\n }\n\n encrypt_sectors(s, acb->sector_num, acb->cluster_data, acb->buf,\n\n acb->n, 1, &s->aes_encrypt_key);\n\n src_buf = acb->cluster_data;\n\n } else {\n\n src_buf = acb->buf;\n\n }\n\n acb->hd_aiocb = bdrv_aio_write(s->hd,\n\n (cluster_offset >> 9) + index_in_cluster,\n\n src_buf, acb->n,\n\n qcow_aio_write_cb, acb);\n\n if (acb->hd_aiocb == NULL)\n\n goto fail;\n\n}\n", "idx": 7916}772{"project": "FFmpeg", "commit_id": "08d2cee49c323715b66df0e4ff45ec0e07aaea7b", "target": 0, "func": "static int opt_input_file(const char *opt, const char *filename)\n\n{\n\n AVFormatContext *ic;\n\n AVInputFormat *file_iformat = NULL;\n\n int err, i, ret, rfps, rfps_base;\n\n int64_t timestamp;\n\n uint8_t buf[128];\n\n AVDictionary **opts;\n\n int orig_nb_streams; // number of streams before avformat_find_stream_info\n\n\n\n if (last_asked_format) {\n\n if (!(file_iformat = av_find_input_format(last_asked_format))) {\n\n fprintf(stderr, \"Unknown input format: '%s'\\n\", last_asked_format);\n\n ffmpeg_exit(1);\n\n }\n\n last_asked_format = NULL;\n\n }\n\n\n\n if (!strcmp(filename, \"-\"))\n\n filename = \"pipe:\";\n\n\n\n using_stdin |= !strncmp(filename, \"pipe:\", 5) ||\n\n !strcmp(filename, \"/dev/stdin\");\n\n\n\n /* get default parameters from command line */\n\n ic = avformat_alloc_context();\n\n if (!ic) {\n\n print_error(filename, AVERROR(ENOMEM));\n\n ffmpeg_exit(1);\n\n }\n\n if (audio_sample_rate) {\n\n snprintf(buf, sizeof(buf), \"%d\", audio_sample_rate);\n\n av_dict_set(&format_opts, \"sample_rate\", buf, 0);\n\n }\n\n if (audio_channels) {\n\n snprintf(buf, sizeof(buf), \"%d\", audio_channels);\n\n av_dict_set(&format_opts, \"channels\", buf, 0);\n\n }\n\n if (frame_rate.num) {\n\n snprintf(buf, sizeof(buf), \"%d/%d\", frame_rate.num, frame_rate.den);\n\n av_dict_set(&format_opts, \"framerate\", buf, 0);\n\n }\n\n if (frame_width && frame_height) {\n\n snprintf(buf, sizeof(buf), \"%dx%d\", frame_width, frame_height);\n\n av_dict_set(&format_opts, \"video_size\", buf, 0);\n\n }\n\n if (frame_pix_fmt != PIX_FMT_NONE)\n\n av_dict_set(&format_opts, \"pixel_format\", av_get_pix_fmt_name(frame_pix_fmt), 0);\n\n\n\n ic->video_codec_id =\n\n find_codec_or_die(video_codec_name , AVMEDIA_TYPE_VIDEO , 0);\n\n ic->audio_codec_id =\n\n find_codec_or_die(audio_codec_name , AVMEDIA_TYPE_AUDIO , 0);\n\n ic->subtitle_codec_id=\n\n find_codec_or_die(subtitle_codec_name, AVMEDIA_TYPE_SUBTITLE, 0);\n\n ic->flags |= AVFMT_FLAG_NONBLOCK;\n\n\n\n /* open the input file with generic libav function */\n\n err = avformat_open_input(&ic, filename, file_iformat, &format_opts);\n\n if (err < 0) {\n\n print_error(filename, err);\n\n ffmpeg_exit(1);\n\n }\n\n assert_avoptions(format_opts);\n\n\n\n if(opt_programid) {\n\n int i, j;\n\n int found=0;\n\n for(i=0; i<ic->nb_streams; i++){\n\n ic->streams[i]->discard= AVDISCARD_ALL;\n\n }\n\n for(i=0; i<ic->nb_programs; i++){\n\n AVProgram *p= ic->programs[i];\n\n if(p->id != opt_programid){\n\n p->discard = AVDISCARD_ALL;\n\n }else{\n\n found=1;\n\n for(j=0; j<p->nb_stream_indexes; j++){\n\n ic->streams[p->stream_index[j]]->discard= AVDISCARD_DEFAULT;\n\n }\n\n }\n\n }\n\n if(!found){\n\n fprintf(stderr, \"Specified program id not found\\n\");\n\n ffmpeg_exit(1);\n\n }\n\n opt_programid=0;\n\n }\n\n\n\n if (loop_input) {\n\n av_log(NULL, AV_LOG_WARNING, \"-loop_input is deprecated, use -loop 1\\n\");\n\n ic->loop_input = loop_input;\n\n }\n\n\n\n /* Set AVCodecContext options for avformat_find_stream_info */\n\n opts = setup_find_stream_info_opts(ic, codec_opts);\n\n orig_nb_streams = ic->nb_streams;\n\n\n\n /* If not enough info to get the stream parameters, we decode the\n\n first frames to get it. (used in mpeg case for example) */\n\n ret = avformat_find_stream_info(ic, opts);\n\n if (ret < 0 && verbose >= 0) {\n\n fprintf(stderr, \"%s: could not find codec parameters\\n\", filename);\n\n av_close_input_file(ic);\n\n ffmpeg_exit(1);\n\n }\n\n\n\n timestamp = start_time;\n\n /* add the stream start time */\n\n if (ic->start_time != AV_NOPTS_VALUE)\n\n timestamp += ic->start_time;\n\n\n\n /* if seeking requested, we execute it */\n\n if (start_time != 0) {\n\n ret = av_seek_frame(ic, -1, timestamp, AVSEEK_FLAG_BACKWARD);\n\n if (ret < 0) {\n\n fprintf(stderr, \"%s: could not seek to position %0.3f\\n\",\n\n filename, (double)timestamp / AV_TIME_BASE);\n\n }\n\n /* reset seek info */\n\n start_time = 0;\n\n }\n\n\n\n /* update the current parameters so that they match the one of the input stream */\n\n for(i=0;i<ic->nb_streams;i++) {\n\n AVStream *st = ic->streams[i];\n\n AVCodecContext *dec = st->codec;\n\n InputStream *ist;\n\n\n\n dec->thread_count = thread_count;\n\n\n\n input_streams = grow_array(input_streams, sizeof(*input_streams), &nb_input_streams, nb_input_streams + 1);\n\n ist = &input_streams[nb_input_streams - 1];\n\n ist->st = st;\n\n ist->file_index = nb_input_files;\n\n ist->discard = 1;\n\n ist->opts = filter_codec_opts(codec_opts, ist->st->codec->codec_id, 0);\n\n\n\n if (i < nb_ts_scale)\n\n ist->ts_scale = ts_scale[i];\n\n\n\n switch (dec->codec_type) {\n\n case AVMEDIA_TYPE_AUDIO:\n\n ist->dec = avcodec_find_decoder_by_name(audio_codec_name);\n\n if(!ist->dec)\n\n ist->dec = avcodec_find_decoder(dec->codec_id);\n\n if(audio_disable)\n\n st->discard= AVDISCARD_ALL;\n\n break;\n\n case AVMEDIA_TYPE_VIDEO:\n\n ist->dec= avcodec_find_decoder_by_name(video_codec_name);\n\n if(!ist->dec)\n\n ist->dec = avcodec_find_decoder(dec->codec_id);\n\n rfps = ic->streams[i]->r_frame_rate.num;\n\n rfps_base = ic->streams[i]->r_frame_rate.den;\n\n if (dec->lowres) {\n\n dec->flags |= CODEC_FLAG_EMU_EDGE;\n\n }\n\n if(me_threshold)\n\n dec->debug |= FF_DEBUG_MV;\n\n\n\n if (dec->time_base.den != rfps*dec->ticks_per_frame || dec->time_base.num != rfps_base) {\n\n\n\n if (verbose >= 0)\n\n fprintf(stderr,\"\\nSeems stream %d codec frame rate differs from container frame rate: %2.2f (%d/%d) -> %2.2f (%d/%d)\\n\",\n\n i, (float)dec->time_base.den / dec->time_base.num, dec->time_base.den, dec->time_base.num,\n\n\n\n (float)rfps / rfps_base, rfps, rfps_base);\n\n }\n\n\n\n if(video_disable)\n\n st->discard= AVDISCARD_ALL;\n\n else if(video_discard)\n\n st->discard= video_discard;\n\n break;\n\n case AVMEDIA_TYPE_DATA:\n\n break;\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n ist->dec = avcodec_find_decoder_by_name(subtitle_codec_name);\n\n if(!ist->dec)\n\n ist->dec = avcodec_find_decoder(dec->codec_id);\n\n if(subtitle_disable)\n\n st->discard = AVDISCARD_ALL;\n\n break;\n\n case AVMEDIA_TYPE_ATTACHMENT:\n\n case AVMEDIA_TYPE_UNKNOWN:\n\n break;\n\n default:\n\n abort();\n\n }\n\n }\n\n\n\n /* dump the file content */\n\n if (verbose >= 0)\n\n av_dump_format(ic, nb_input_files, filename, 0);\n\n\n\n input_files = grow_array(input_files, sizeof(*input_files), &nb_input_files, nb_input_files + 1);\n\n input_files[nb_input_files - 1].ctx = ic;\n\n input_files[nb_input_files - 1].ist_index = nb_input_streams - ic->nb_streams;\n\n input_files[nb_input_files - 1].ts_offset = input_ts_offset - (copy_ts ? 0 : timestamp);\n\n\n\n top_field_first = -1;\n\n frame_rate = (AVRational){0, 0};\n\n frame_pix_fmt = PIX_FMT_NONE;\n\n frame_height = 0;\n\n frame_width = 0;\n\n audio_sample_rate = 0;\n\n audio_channels = 0;\n\n audio_sample_fmt = AV_SAMPLE_FMT_NONE;\n\n av_freep(&ts_scale);\n\n nb_ts_scale = 0;\n\n\n\n for (i = 0; i < orig_nb_streams; i++)\n\n av_dict_free(&opts[i]);\n\n av_freep(&opts);\n\n av_freep(&video_codec_name);\n\n av_freep(&audio_codec_name);\n\n av_freep(&subtitle_codec_name);\n\n uninit_opts();\n\n init_opts();\n\n return 0;\n\n}\n", "idx": 7925}773{"project": "qemu", "commit_id": "3393bc105d58e1f4a27d9a8e7062da9cef260cc3", "target": 0, "func": "static int usb_hub_handle_control(USBDevice *dev, USBPacket *p,\n\n int request, int value, int index, int length, uint8_t *data)\n\n{\n\n USBHubState *s = (USBHubState *)dev;\n\n int ret;\n\n\n\n ret = usb_desc_handle_control(dev, p, request, value, index, length, data);\n\n if (ret >= 0) {\n\n return ret;\n\n }\n\n\n\n switch(request) {\n\n case EndpointOutRequest | USB_REQ_CLEAR_FEATURE:\n\n if (value == 0 && index != 0x81) { /* clear ep halt */\n\n goto fail;\n\n }\n\n ret = 0;\n\n break;\n\n case DeviceRequest | USB_REQ_GET_INTERFACE:\n\n data[0] = 0;\n\n ret = 1;\n\n break;\n\n case DeviceOutRequest | USB_REQ_SET_INTERFACE:\n\n ret = 0;\n\n break;\n\n /* usb specific requests */\n\n case GetHubStatus:\n\n data[0] = 0;\n\n data[1] = 0;\n\n data[2] = 0;\n\n data[3] = 0;\n\n ret = 4;\n\n break;\n\n case GetPortStatus:\n\n {\n\n unsigned int n = index - 1;\n\n USBHubPort *port;\n\n if (n >= NUM_PORTS) {\n\n goto fail;\n\n }\n\n port = &s->ports[n];\n\n data[0] = port->wPortStatus;\n\n data[1] = port->wPortStatus >> 8;\n\n data[2] = port->wPortChange;\n\n data[3] = port->wPortChange >> 8;\n\n ret = 4;\n\n }\n\n break;\n\n case SetHubFeature:\n\n case ClearHubFeature:\n\n if (value == 0 || value == 1) {\n\n } else {\n\n goto fail;\n\n }\n\n ret = 0;\n\n break;\n\n case SetPortFeature:\n\n {\n\n unsigned int n = index - 1;\n\n USBHubPort *port;\n\n USBDevice *dev;\n\n if (n >= NUM_PORTS) {\n\n goto fail;\n\n }\n\n port = &s->ports[n];\n\n dev = port->port.dev;\n\n switch(value) {\n\n case PORT_SUSPEND:\n\n port->wPortStatus |= PORT_STAT_SUSPEND;\n\n break;\n\n case PORT_RESET:\n\n if (dev) {\n\n usb_send_msg(dev, USB_MSG_RESET);\n\n port->wPortChange |= PORT_STAT_C_RESET;\n\n /* set enable bit */\n\n port->wPortStatus |= PORT_STAT_ENABLE;\n\n }\n\n break;\n\n case PORT_POWER:\n\n break;\n\n default:\n\n goto fail;\n\n }\n\n ret = 0;\n\n }\n\n break;\n\n case ClearPortFeature:\n\n {\n\n unsigned int n = index - 1;\n\n USBHubPort *port;\n\n\n\n if (n >= NUM_PORTS) {\n\n goto fail;\n\n }\n\n port = &s->ports[n];\n\n switch(value) {\n\n case PORT_ENABLE:\n\n port->wPortStatus &= ~PORT_STAT_ENABLE;\n\n break;\n\n case PORT_C_ENABLE:\n\n port->wPortChange &= ~PORT_STAT_C_ENABLE;\n\n break;\n\n case PORT_SUSPEND:\n\n port->wPortStatus &= ~PORT_STAT_SUSPEND;\n\n break;\n\n case PORT_C_SUSPEND:\n\n port->wPortChange &= ~PORT_STAT_C_SUSPEND;\n\n break;\n\n case PORT_C_CONNECTION:\n\n port->wPortChange &= ~PORT_STAT_C_CONNECTION;\n\n break;\n\n case PORT_C_OVERCURRENT:\n\n port->wPortChange &= ~PORT_STAT_C_OVERCURRENT;\n\n break;\n\n case PORT_C_RESET:\n\n port->wPortChange &= ~PORT_STAT_C_RESET;\n\n break;\n\n default:\n\n goto fail;\n\n }\n\n ret = 0;\n\n }\n\n break;\n\n case GetHubDescriptor:\n\n {\n\n unsigned int n, limit, var_hub_size = 0;\n\n memcpy(data, qemu_hub_hub_descriptor,\n\n sizeof(qemu_hub_hub_descriptor));\n\n data[2] = NUM_PORTS;\n\n\n\n /* fill DeviceRemovable bits */\n\n limit = ((NUM_PORTS + 1 + 7) / 8) + 7;\n\n for (n = 7; n < limit; n++) {\n\n data[n] = 0x00;\n\n var_hub_size++;\n\n }\n\n\n\n /* fill PortPwrCtrlMask bits */\n\n limit = limit + ((NUM_PORTS + 7) / 8);\n\n for (;n < limit; n++) {\n\n data[n] = 0xff;\n\n var_hub_size++;\n\n }\n\n\n\n ret = sizeof(qemu_hub_hub_descriptor) + var_hub_size;\n\n data[0] = ret;\n\n break;\n\n }\n\n default:\n\n fail:\n\n ret = USB_RET_STALL;\n\n break;\n\n }\n\n return ret;\n\n}\n", "idx": 7936}774{"project": "FFmpeg", "commit_id": "7684a36113fa12c88ba80b5498f05849a6b58632", "target": 0, "func": "static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt)\n\n{\n\n MXFContext *mxf = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n AVStream *st = s->streams[pkt->stream_index];\n\n MXFStreamContext *sc = st->priv_data;\n\n MXFIndexEntry ie = {0};\n\n\n\n if (!mxf->edit_unit_byte_count && !(mxf->edit_units_count % EDIT_UNITS_PER_BODY)) {\n\n mxf->index_entries = av_realloc(mxf->index_entries,\n\n (mxf->edit_units_count + EDIT_UNITS_PER_BODY)*sizeof(*mxf->index_entries));\n\n if (!mxf->index_entries) {\n\n av_log(s, AV_LOG_ERROR, \"could not allocate index entries\\n\");\n\n return -1;\n\n }\n\n }\n\n\n\n if (st->codec->codec_id == AV_CODEC_ID_MPEG2VIDEO) {\n\n if (!mxf_parse_mpeg2_frame(s, st, pkt, &ie)) {\n\n av_log(s, AV_LOG_ERROR, \"could not get mpeg2 profile and level\\n\");\n\n return -1;\n\n }\n\n }\n\n\n\n if (!mxf->header_written) {\n\n if (mxf->edit_unit_byte_count) {\n\n mxf_write_partition(s, 1, 2, header_open_partition_key, 1);\n\n mxf_write_klv_fill(s);\n\n mxf_write_index_table_segment(s);\n\n } else {\n\n mxf_write_partition(s, 0, 0, header_open_partition_key, 1);\n\n }\n\n mxf->header_written = 1;\n\n }\n\n\n\n if (st->index == 0) {\n\n if (!mxf->edit_unit_byte_count &&\n\n (!mxf->edit_units_count || mxf->edit_units_count > EDIT_UNITS_PER_BODY) &&\n\n !(ie.flags & 0x33)) { // I frame, Gop start\n\n mxf_write_klv_fill(s);\n\n mxf_write_partition(s, 1, 2, body_partition_key, 0);\n\n\n\n mxf_write_klv_fill(s);\n\n mxf_write_index_table_segment(s);\n\n }\n\n\n\n mxf_write_klv_fill(s);\n\n mxf_write_system_item(s);\n\n\n\n if (!mxf->edit_unit_byte_count) {\n\n mxf->index_entries[mxf->edit_units_count].offset = mxf->body_offset;\n\n mxf->index_entries[mxf->edit_units_count].flags = ie.flags;\n\n mxf->index_entries[mxf->edit_units_count].temporal_ref = ie.temporal_ref;\n\n mxf->body_offset += KAG_SIZE; // size of system element\n\n }\n\n mxf->edit_units_count++;\n\n } else if (!mxf->edit_unit_byte_count && st->index == 1) {\n\n mxf->index_entries[mxf->edit_units_count-1].slice_offset =\n\n mxf->body_offset - mxf->index_entries[mxf->edit_units_count-1].offset;\n\n }\n\n\n\n mxf_write_klv_fill(s);\n\n avio_write(pb, sc->track_essence_element_key, 16); // write key\n\n if (s->oformat == &ff_mxf_d10_muxer) {\n\n if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)\n\n mxf_write_d10_video_packet(s, st, pkt);\n\n else\n\n mxf_write_d10_audio_packet(s, st, pkt);\n\n } else {\n\n klv_encode_ber4_length(pb, pkt->size); // write length\n\n avio_write(pb, pkt->data, pkt->size);\n\n mxf->body_offset += 16+4+pkt->size + klv_fill_size(16+4+pkt->size);\n\n }\n\n\n\n avio_flush(pb);\n\n\n\n return 0;\n\n}\n", "idx": 7967}775{"project": "qemu", "commit_id": "3ad493fc5ea38c005670adc5933058a28ccabdd4", "target": 0, "func": "int cpu_arm_handle_mmu_fault (CPUState *env, target_ulong address,\n\n int access_type, int mmu_idx, int is_softmmu)\n\n{\n\n uint32_t phys_addr;\n\n target_ulong page_size;\n\n int prot;\n\n int ret, is_user;\n\n\n\n is_user = mmu_idx == MMU_USER_IDX;\n\n ret = get_phys_addr(env, address, access_type, is_user, &phys_addr, &prot,\n\n &page_size);\n\n if (ret == 0) {\n\n /* Map a single [sub]page. */\n\n phys_addr &= ~(uint32_t)0x3ff;\n\n address &= ~(uint32_t)0x3ff;\n\n tlb_set_page (env, address, phys_addr, prot | PAGE_EXEC, mmu_idx,\n\n page_size);\n\n return 0;\n\n }\n\n\n\n if (access_type == 2) {\n\n env->cp15.c5_insn = ret;\n\n env->cp15.c6_insn = address;\n\n env->exception_index = EXCP_PREFETCH_ABORT;\n\n } else {\n\n env->cp15.c5_data = ret;\n\n if (access_type == 1 && arm_feature(env, ARM_FEATURE_V6))\n\n env->cp15.c5_data |= (1 << 11);\n\n env->cp15.c6_data = address;\n\n env->exception_index = EXCP_DATA_ABORT;\n\n }\n\n return 1;\n\n}\n", "idx": 7972}776{"project": "FFmpeg", "commit_id": "082cf97106e2e94a969877d4f8c05c1e526acf54", "target": 0, "func": "static inline int get_chroma_qp(H264Context *h, int t, int qscale){\n\n return h->pps.chroma_qp_table[t][qscale];\n\n}\n", "idx": 7977}777{"project": "FFmpeg", "commit_id": "fd92dafaff8844b5fedf94679b93d953939a7f7b", "target": 0, "func": "static int binkb_decode_plane(BinkContext *c, AVFrame *frame, BitstreamContext *bc,\n\n int plane_idx, int is_key, int is_chroma)\n\n{\n\n int blk, ret;\n\n int i, j, bx, by;\n\n uint8_t *dst, *ref, *ref_start, *ref_end;\n\n int v, col[2];\n\n const uint8_t *scan;\n\n int xoff, yoff;\n\n LOCAL_ALIGNED_16(int16_t, block, [64]);\n\n LOCAL_ALIGNED_16(int32_t, dctblock, [64]);\n\n int coordmap[64];\n\n int ybias = is_key ? -15 : 0;\n\n int qp;\n\n\n\n const int stride = frame->linesize[plane_idx];\n\n int bw = is_chroma ? (c->avctx->width + 15) >> 4 : (c->avctx->width + 7) >> 3;\n\n int bh = is_chroma ? (c->avctx->height + 15) >> 4 : (c->avctx->height + 7) >> 3;\n\n\n\n binkb_init_bundles(c);\n\n ref_start = frame->data[plane_idx];\n\n ref_end = frame->data[plane_idx] + (bh * frame->linesize[plane_idx] + bw) * 8;\n\n\n\n for (i = 0; i < 64; i++)\n\n coordmap[i] = (i & 7) + (i >> 3) * stride;\n\n\n\n for (by = 0; by < bh; by++) {\n\n for (i = 0; i < BINKB_NB_SRC; i++) {\n\n if ((ret = binkb_read_bundle(c, bc, i)) < 0)\n\n return ret;\n\n }\n\n\n\n dst = frame->data[plane_idx] + 8*by*stride;\n\n for (bx = 0; bx < bw; bx++, dst += 8) {\n\n blk = binkb_get_value(c, BINKB_SRC_BLOCK_TYPES);\n\n switch (blk) {\n\n case 0:\n\n break;\n\n case 1:\n\n scan = bink_patterns[bitstream_read(bc, 4)];\n\n i = 0;\n\n do {\n\n int mode = bitstream_read_bit(bc);\n\n int run = bitstream_read(bc, binkb_runbits[i]) + 1;\n\n\n\n i += run;\n\n if (i > 64) {\n\n av_log(c->avctx, AV_LOG_ERROR, \"Run went out of bounds\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (mode) {\n\n v = binkb_get_value(c, BINKB_SRC_COLORS);\n\n for (j = 0; j < run; j++)\n\n dst[coordmap[*scan++]] = v;\n\n } else {\n\n for (j = 0; j < run; j++)\n\n dst[coordmap[*scan++]] = binkb_get_value(c, BINKB_SRC_COLORS);\n\n }\n\n } while (i < 63);\n\n if (i == 63)\n\n dst[coordmap[*scan++]] = binkb_get_value(c, BINKB_SRC_COLORS);\n\n break;\n\n case 2:\n\n memset(dctblock, 0, sizeof(*dctblock) * 64);\n\n dctblock[0] = binkb_get_value(c, BINKB_SRC_INTRA_DC);\n\n qp = binkb_get_value(c, BINKB_SRC_INTRA_Q);\n\n read_dct_coeffs(bc, dctblock, bink_scan, binkb_intra_quant, qp);\n\n c->binkdsp.idct_put(dst, stride, dctblock);\n\n break;\n\n case 3:\n\n xoff = binkb_get_value(c, BINKB_SRC_X_OFF);\n\n yoff = binkb_get_value(c, BINKB_SRC_Y_OFF) + ybias;\n\n ref = dst + xoff + yoff * stride;\n\n if (ref < ref_start || ref + 8*stride > ref_end) {\n\n av_log(c->avctx, AV_LOG_WARNING, \"Reference block is out of bounds\\n\");\n\n } else if (ref + 8*stride < dst || ref >= dst + 8*stride) {\n\n c->hdsp.put_pixels_tab[1][0](dst, ref, stride, 8);\n\n } else {\n\n put_pixels8x8_overlapped(dst, ref, stride);\n\n }\n\n c->bdsp.clear_block(block);\n\n v = binkb_get_value(c, BINKB_SRC_INTER_COEFS);\n\n read_residue(bc, block, v);\n\n c->binkdsp.add_pixels8(dst, block, stride);\n\n break;\n\n case 4:\n\n xoff = binkb_get_value(c, BINKB_SRC_X_OFF);\n\n yoff = binkb_get_value(c, BINKB_SRC_Y_OFF) + ybias;\n\n ref = dst + xoff + yoff * stride;\n\n if (ref < ref_start || ref + 8 * stride > ref_end) {\n\n av_log(c->avctx, AV_LOG_WARNING, \"Reference block is out of bounds\\n\");\n\n } else if (ref + 8*stride < dst || ref >= dst + 8*stride) {\n\n c->hdsp.put_pixels_tab[1][0](dst, ref, stride, 8);\n\n } else {\n\n put_pixels8x8_overlapped(dst, ref, stride);\n\n }\n\n memset(dctblock, 0, sizeof(*dctblock) * 64);\n\n dctblock[0] = binkb_get_value(c, BINKB_SRC_INTER_DC);\n\n qp = binkb_get_value(c, BINKB_SRC_INTER_Q);\n\n read_dct_coeffs(bc, dctblock, bink_scan, binkb_inter_quant, qp);\n\n c->binkdsp.idct_add(dst, stride, dctblock);\n\n break;\n\n case 5:\n\n v = binkb_get_value(c, BINKB_SRC_COLORS);\n\n c->bdsp.fill_block_tab[1](dst, v, stride, 8);\n\n break;\n\n case 6:\n\n for (i = 0; i < 2; i++)\n\n col[i] = binkb_get_value(c, BINKB_SRC_COLORS);\n\n for (i = 0; i < 8; i++) {\n\n v = binkb_get_value(c, BINKB_SRC_PATTERN);\n\n for (j = 0; j < 8; j++, v >>= 1)\n\n dst[i*stride + j] = col[v & 1];\n\n }\n\n break;\n\n case 7:\n\n xoff = binkb_get_value(c, BINKB_SRC_X_OFF);\n\n yoff = binkb_get_value(c, BINKB_SRC_Y_OFF) + ybias;\n\n ref = dst + xoff + yoff * stride;\n\n if (ref < ref_start || ref + 8 * stride > ref_end) {\n\n av_log(c->avctx, AV_LOG_WARNING, \"Reference block is out of bounds\\n\");\n\n } else if (ref + 8*stride < dst || ref >= dst + 8*stride) {\n\n c->hdsp.put_pixels_tab[1][0](dst, ref, stride, 8);\n\n } else {\n\n put_pixels8x8_overlapped(dst, ref, stride);\n\n }\n\n break;\n\n case 8:\n\n for (i = 0; i < 8; i++)\n\n memcpy(dst + i*stride, c->bundle[BINKB_SRC_COLORS].cur_ptr + i*8, 8);\n\n c->bundle[BINKB_SRC_COLORS].cur_ptr += 64;\n\n break;\n\n default:\n\n av_log(c->avctx, AV_LOG_ERROR, \"Unknown block type %d\\n\", blk);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n }\n\n }\n\n if (bitstream_tell(bc) & 0x1F) // next plane data starts at 32-bit boundary\n\n bitstream_skip(bc, 32 - (bitstream_tell(bc) & 0x1F));\n\n\n\n return 0;\n\n}\n", "idx": 7980}778{"project": "qemu", "commit_id": "f8c88bbcda76d5674e4bb125471371b41d330df8", "target": 1, "func": "static int get_cpsr(QEMUFile *f, void *opaque, size_t size)\n\n{\n\n ARMCPU *cpu = opaque;\n\n CPUARMState *env = &cpu->env;\n\n uint32_t val = qemu_get_be32(f);\n\n\n\n env->aarch64 = ((val & PSTATE_nRW) == 0);\n\n\n\n if (is_a64(env)) {\n\n pstate_write(env, val);\n\n return 0;\n\n }\n\n\n\n /* Avoid mode switch when restoring CPSR */\n\n env->uncached_cpsr = val & CPSR_M;\n\n cpsr_write(env, val, 0xffffffff, CPSRWriteRaw);\n\n return 0;\n\n}\n", "idx": 7982}779{"project": "qemu", "commit_id": "7e2515e87c41e2e658aaed466e11cbdf1ea8bcb1", "target": 0, "func": "static void term_handle_byte(int ch)\n\n{\n\n switch(term_esc_state) {\n\n case IS_NORM:\n\n switch(ch) {\n\n case 1:\n\n term_bol();\n\n break;\n\n case 4:\n\n term_delete_char();\n\n break;\n\n case 5:\n\n term_eol();\n\n break;\n\n case 9:\n\n term_completion();\n\n break;\n\n case 10:\n\n case 13:\n\n term_cmd_buf[term_cmd_buf_size] = '\\0';\n\n\t term_hist_add(term_cmd_buf);\n\n term_printf(\"\\n\");\n\n term_handle_command(term_cmd_buf);\n\n term_show_prompt();\n\n break;\n\n case 27:\n\n term_esc_state = IS_ESC;\n\n break;\n\n case 127:\n\n case 8:\n\n term_backspace();\n\n break;\n\n\tcase 155:\n\n term_esc_state = IS_CSI;\n\n\t break;\n\n default:\n\n if (ch >= 32) {\n\n term_insert_char(ch);\n\n }\n\n break;\n\n }\n\n break;\n\n case IS_ESC:\n\n if (ch == '[') {\n\n term_esc_state = IS_CSI;\n\n term_esc_param = 0;\n\n } else {\n\n term_esc_state = IS_NORM;\n\n }\n\n break;\n\n case IS_CSI:\n\n switch(ch) {\n\n\tcase 'A':\n\n\tcase 'F':\n\n\t term_up_char();\n\n\t break;\n\n\tcase 'B':\n\n\tcase 'E':\n\n\t term_down_char();\n\n\t break;\n\n case 'D':\n\n term_backward_char();\n\n break;\n\n case 'C':\n\n term_forward_char();\n\n break;\n\n case '0' ... '9':\n\n term_esc_param = term_esc_param * 10 + (ch - '0');\n\n goto the_end;\n\n case '~':\n\n switch(term_esc_param) {\n\n case 1:\n\n term_bol();\n\n break;\n\n case 3:\n\n term_delete_char();\n\n break;\n\n case 4:\n\n term_eol();\n\n break;\n\n }\n\n break;\n\n default:\n\n break;\n\n }\n\n term_esc_state = IS_NORM;\n\n the_end:\n\n break;\n\n }\n\n term_update();\n\n}\n", "idx": 7992}780{"project": "qemu", "commit_id": "92c0bba9a95739c92e959fe478cb1acb92fa5446", "target": 0, "func": "struct omap_l4_s *omap_l4_init(target_phys_addr_t base, int ta_num)\n\n{\n\n struct omap_l4_s *bus = g_malloc0(\n\n sizeof(*bus) + ta_num * sizeof(*bus->ta));\n\n\n\n bus->ta_num = ta_num;\n\n bus->base = base;\n\n\n\n#ifdef L4_MUX_HACK\n\n omap_l4_io_entries = 1;\n\n omap_l4_io_entry = g_malloc0(125 * sizeof(*omap_l4_io_entry));\n\n\n\n omap_cpu_io_entry =\n\n cpu_register_io_memory(omap_l4_io_readfn,\n\n omap_l4_io_writefn, bus, DEVICE_NATIVE_ENDIAN);\n\n# define L4_PAGES\t(0xb4000 / TARGET_PAGE_SIZE)\n\n omap_l4_io_readb_fn = g_malloc0(sizeof(void *) * L4_PAGES);\n\n omap_l4_io_readh_fn = g_malloc0(sizeof(void *) * L4_PAGES);\n\n omap_l4_io_readw_fn = g_malloc0(sizeof(void *) * L4_PAGES);\n\n omap_l4_io_writeb_fn = g_malloc0(sizeof(void *) * L4_PAGES);\n\n omap_l4_io_writeh_fn = g_malloc0(sizeof(void *) * L4_PAGES);\n\n omap_l4_io_writew_fn = g_malloc0(sizeof(void *) * L4_PAGES);\n\n omap_l4_io_opaque = g_malloc0(sizeof(void *) * L4_PAGES);\n\n#endif\n\n\n\n return bus;\n\n}\n", "idx": 8010}781{"project": "qemu", "commit_id": "72cf2d4f0e181d0d3a3122e04129c58a95da713e", "target": 0, "func": "static void qbus_list_bus(DeviceState *dev, char *dest, int len)\n\n{\n\n BusState *child;\n\n const char *sep = \" \";\n\n int pos = 0;\n\n\n\n pos += snprintf(dest+pos, len-pos,\"child busses at \\\"%s\\\":\",\n\n dev->id ? dev->id : dev->info->name);\n\n LIST_FOREACH(child, &dev->child_bus, sibling) {\n\n pos += snprintf(dest+pos, len-pos, \"%s\\\"%s\\\"\", sep, child->name);\n\n sep = \", \";\n\n }\n\n}\n", "idx": 8018}782{"project": "qemu", "commit_id": "6817efea3a0d1bf87be815970cdb014c5a64b628", "target": 1, "func": "static int read_directory(BDRVVVFATState* s, int mapping_index)\n\n{\n\n mapping_t* mapping = array_get(&(s->mapping), mapping_index);\n\n direntry_t* direntry;\n\n const char* dirname = mapping->path;\n\n int first_cluster = mapping->begin;\n\n int parent_index = mapping->info.dir.parent_mapping_index;\n\n mapping_t* parent_mapping = (mapping_t*)\n\n (parent_index >= 0 ? array_get(&(s->mapping), parent_index) : NULL);\n\n int first_cluster_of_parent = parent_mapping ? parent_mapping->begin : -1;\n\n\n\n DIR* dir=opendir(dirname);\n\n struct dirent* entry;\n\n int i;\n\n\n\n assert(mapping->mode & MODE_DIRECTORY);\n\n\n\n if(!dir) {\n\n mapping->end = mapping->begin;\n\n return -1;\n\n }\n\n\n\n i = mapping->info.dir.first_dir_index =\n\n first_cluster == 0 ? 0 : s->directory.next;\n\n\n\n if (first_cluster != 0) {\n\n /* create the top entries of a subdirectory */\n\n (void)create_short_and_long_name(s, i, \".\", 1);\n\n (void)create_short_and_long_name(s, i, \"..\", 1);\n\n }\n\n\n\n /* actually read the directory, and allocate the mappings */\n\n while((entry=readdir(dir))) {\n\n unsigned int length=strlen(dirname)+2+strlen(entry->d_name);\n\n char* buffer;\n\n direntry_t* direntry;\n\n struct stat st;\n\n int is_dot=!strcmp(entry->d_name,\".\");\n\n int is_dotdot=!strcmp(entry->d_name,\"..\");\n\n\n\n if(first_cluster == 0 && (is_dotdot || is_dot))\n\n continue;\n\n\n\n buffer = g_malloc(length);\n\n snprintf(buffer,length,\"%s/%s\",dirname,entry->d_name);\n\n\n\n if(stat(buffer,&st)<0) {\n\n g_free(buffer);\n\n continue;\n\n }\n\n\n\n /* create directory entry for this file */\n\n if (!is_dot && !is_dotdot) {\n\n direntry = create_short_and_long_name(s, i, entry->d_name, 0);\n\n } else {\n\n direntry = array_get(&(s->directory), is_dot ? i : i + 1);\n\n }\n\n direntry->attributes=(S_ISDIR(st.st_mode)?0x10:0x20);\n\n direntry->reserved[0]=direntry->reserved[1]=0;\n\n direntry->ctime=fat_datetime(st.st_ctime,1);\n\n direntry->cdate=fat_datetime(st.st_ctime,0);\n\n direntry->adate=fat_datetime(st.st_atime,0);\n\n direntry->begin_hi=0;\n\n direntry->mtime=fat_datetime(st.st_mtime,1);\n\n direntry->mdate=fat_datetime(st.st_mtime,0);\n\n if(is_dotdot)\n\n set_begin_of_direntry(direntry, first_cluster_of_parent);\n\n else if(is_dot)\n\n set_begin_of_direntry(direntry, first_cluster);\n\n else\n\n direntry->begin=0; /* do that later */\n\n if (st.st_size > 0x7fffffff) {\n\n fprintf(stderr, \"File %s is larger than 2GB\\n\", buffer);\n\n g_free(buffer);\n\n closedir(dir);\n\n return -2;\n\n }\n\n direntry->size=cpu_to_le32(S_ISDIR(st.st_mode)?0:st.st_size);\n\n\n\n /* create mapping for this file */\n\n if(!is_dot && !is_dotdot && (S_ISDIR(st.st_mode) || st.st_size)) {\n\n s->current_mapping = array_get_next(&(s->mapping));\n\n s->current_mapping->begin=0;\n\n s->current_mapping->end=st.st_size;\n\n /*\n\n * we get the direntry of the most recent direntry, which\n\n * contains the short name and all the relevant information.\n\n */\n\n s->current_mapping->dir_index=s->directory.next-1;\n\n s->current_mapping->first_mapping_index = -1;\n\n if (S_ISDIR(st.st_mode)) {\n\n s->current_mapping->mode = MODE_DIRECTORY;\n\n s->current_mapping->info.dir.parent_mapping_index =\n\n mapping_index;\n\n } else {\n\n s->current_mapping->mode = MODE_UNDEFINED;\n\n s->current_mapping->info.file.offset = 0;\n\n }\n\n s->current_mapping->path=buffer;\n\n s->current_mapping->read_only =\n\n (st.st_mode & (S_IWUSR | S_IWGRP | S_IWOTH)) == 0;\n\n } else {\n\n g_free(buffer);\n\n }\n\n }\n\n closedir(dir);\n\n\n\n /* fill with zeroes up to the end of the cluster */\n\n while(s->directory.next%(0x10*s->sectors_per_cluster)) {\n\n direntry_t* direntry=array_get_next(&(s->directory));\n\n memset(direntry,0,sizeof(direntry_t));\n\n }\n\n\n\n/* TODO: if there are more entries, bootsector has to be adjusted! */\n\n#define ROOT_ENTRIES (0x02 * 0x10 * s->sectors_per_cluster)\n\n if (mapping_index == 0 && s->directory.next < ROOT_ENTRIES) {\n\n /* root directory */\n\n int cur = s->directory.next;\n\n array_ensure_allocated(&(s->directory), ROOT_ENTRIES - 1);\n\n s->directory.next = ROOT_ENTRIES;\n\n memset(array_get(&(s->directory), cur), 0,\n\n (ROOT_ENTRIES - cur) * sizeof(direntry_t));\n\n }\n\n\n\n /* re-get the mapping, since s->mapping was possibly realloc()ed */\n\n mapping = array_get(&(s->mapping), mapping_index);\n\n first_cluster += (s->directory.next - mapping->info.dir.first_dir_index)\n\n * 0x20 / s->cluster_size;\n\n mapping->end = first_cluster;\n\n\n\n direntry = array_get(&(s->directory), mapping->dir_index);\n\n set_begin_of_direntry(direntry, mapping->begin);\n\n\n\n return 0;\n\n}\n", "idx": 8021}783{"project": "FFmpeg", "commit_id": "dc5d1515681b57a257443ba72bb81fb3e6e6621b", "target": 0, "func": "static int replace_int_data_in_filename(char *buf, int buf_size, const char *filename, char placeholder, int64_t number)\n\n{\n\n const char *p;\n\n char *q, buf1[20], c;\n\n int nd, len, addchar_count;\n\n int found_count = 0;\n\n\n\n q = buf;\n\n p = filename;\n\n for (;;) {\n\n c = *p;\n\n if (c == '\\0')\n\n break;\n\n if (c == '%' && *(p+1) == '%') // %%\n\n addchar_count = 2;\n\n else if (c == '%' && (av_isdigit(*(p+1)) || *(p+1) == placeholder)) {\n\n nd = 0;\n\n addchar_count = 1;\n\n while (av_isdigit(*(p + addchar_count))) {\n\n nd = nd * 10 + *(p + addchar_count) - '0';\n\n addchar_count++;\n\n }\n\n\n\n if (*(p + addchar_count) == placeholder) {\n\n len = snprintf(buf1, sizeof(buf1), \"%0*\"PRId64, (number < 0) ? nd : nd++, number);\n\n if (len < 1) // returned error or empty buf1\n\n goto fail;\n\n if ((q - buf + len) > buf_size - 1)\n\n goto fail;\n\n memcpy(q, buf1, len);\n\n q += len;\n\n p += (addchar_count + 1);\n\n addchar_count = 0;\n\n found_count++;\n\n }\n\n\n\n } else\n\n addchar_count = 1;\n\n\n\n while (addchar_count--)\n\n if ((q - buf) < buf_size - 1)\n\n *q++ = *p++;\n\n else\n\n goto fail;\n\n }\n\n *q = '\\0';\n\n return found_count;\n\nfail:\n\n *q = '\\0';\n\n return -1;\n\n}\n", "idx": 8046}784{"project": "qemu", "commit_id": "db7dfd4c7e4450b10048a53ce67bcac6305ad383", "target": 0, "func": "static void cubieboard_init(QEMUMachineInitArgs *args)\n\n{\n\n CubieBoardState *s = g_new(CubieBoardState, 1);\n\n Error *err = NULL;\n\n\n\n s->a10 = AW_A10(object_new(TYPE_AW_A10));\n\n object_property_set_bool(OBJECT(s->a10), true, \"realized\", &err);\n\n if (err != NULL) {\n\n error_report(\"Couldn't realize Allwinner A10: %s\\n\",\n\n error_get_pretty(err));\n\n exit(1);\n\n }\n\n\n\n memory_region_init_ram(&s->sdram, NULL, \"cubieboard.ram\", args->ram_size);\n\n vmstate_register_ram_global(&s->sdram);\n\n memory_region_add_subregion(get_system_memory(), AW_A10_SDRAM_BASE,\n\n &s->sdram);\n\n\n\n cubieboard_binfo.ram_size = args->ram_size;\n\n cubieboard_binfo.kernel_filename = args->kernel_filename;\n\n cubieboard_binfo.kernel_cmdline = args->kernel_cmdline;\n\n arm_load_kernel(&s->a10->cpu, &cubieboard_binfo);\n\n}\n", "idx": 8049}785{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "void esp_init(target_phys_addr_t espaddr, int it_shift,\n\n ESPDMAMemoryReadWriteFunc dma_memory_read,\n\n ESPDMAMemoryReadWriteFunc dma_memory_write,\n\n void *dma_opaque, qemu_irq irq, qemu_irq *reset,\n\n qemu_irq *dma_enable)\n\n{\n\n DeviceState *dev;\n\n SysBusDevice *s;\n\n SysBusESPState *sysbus;\n\n ESPState *esp;\n\n\n\n dev = qdev_create(NULL, \"esp\");\n\n sysbus = DO_UPCAST(SysBusESPState, busdev.qdev, dev);\n\n esp = &sysbus->esp;\n\n esp->dma_memory_read = dma_memory_read;\n\n esp->dma_memory_write = dma_memory_write;\n\n esp->dma_opaque = dma_opaque;\n\n sysbus->it_shift = it_shift;\n\n /* XXX for now until rc4030 has been changed to use DMA enable signal */\n\n esp->dma_enabled = 1;\n\n qdev_init_nofail(dev);\n\n s = sysbus_from_qdev(dev);\n\n sysbus_connect_irq(s, 0, irq);\n\n sysbus_mmio_map(s, 0, espaddr);\n\n *reset = qdev_get_gpio_in(dev, 0);\n\n *dma_enable = qdev_get_gpio_in(dev, 1);\n\n}\n", "idx": 8071}786{"project": "FFmpeg", "commit_id": "aa6aa2ef091818c2669c48051286ce361401f31b", "target": 0, "func": "static void apply_window_and_mdct(AVCodecContext *avctx, const AVFrame *frame)\n\n{\n\n WMACodecContext *s = avctx->priv_data;\n\n float **audio = (float **) frame->extended_data;\n\n int len = frame->nb_samples;\n\n int window_index = s->frame_len_bits - s->block_len_bits;\n\n FFTContext *mdct = &s->mdct_ctx[window_index];\n\n int ch;\n\n const float *win = s->windows[window_index];\n\n int window_len = 1 << s->block_len_bits;\n\n float n = 2.0 * 32768.0 / window_len;\n\n\n\n for (ch = 0; ch < avctx->channels; ch++) {\n\n memcpy(s->output, s->frame_out[ch], window_len * sizeof(*s->output));\n\n s->fdsp->vector_fmul_scalar(s->frame_out[ch], audio[ch], n, len);\n\n s->fdsp->vector_fmul_reverse(&s->output[window_len], s->frame_out[ch],\n\n win, len);\n\n s->fdsp->vector_fmul(s->frame_out[ch], s->frame_out[ch], win, len);\n\n mdct->mdct_calc(mdct, s->coefs[ch], s->output);\n\n }\n\n}\n", "idx": 8085}787{"project": "FFmpeg", "commit_id": "3932ccc472ad4f4d370dcfc1c2f574b0f3acb88c", "target": 1, "func": "static void diff_pixels_altivec(int16_t *restrict block, const uint8_t *s1,\n\n const uint8_t *s2, int stride)\n\n{\n\n int i;\n\n vec_u8 perm1 = vec_lvsl(0, s1);\n\n vec_u8 perm2 = vec_lvsl(0, s2);\n\n const vec_u8 zero = (const vec_u8)vec_splat_u8(0);\n\n vec_s16 shorts1, shorts2;\n\n\n\n for (i = 0; i < 4; i++) {\n\n /* Read potentially unaligned pixels.\n\n * We're reading 16 pixels, and actually only want 8,\n\n * but we simply ignore the extras. */\n\n vec_u8 pixl = vec_ld(0, s1);\n\n vec_u8 pixr = vec_ld(15, s1);\n\n vec_u8 bytes = vec_perm(pixl, pixr, perm1);\n\n\n\n // Convert the bytes into shorts.\n\n shorts1 = (vec_s16)vec_mergeh(zero, bytes);\n\n\n\n // Do the same for the second block of pixels.\n\n pixl = vec_ld(0, s2);\n\n pixr = vec_ld(15, s2);\n\n bytes = vec_perm(pixl, pixr, perm2);\n\n\n\n // Convert the bytes into shorts.\n\n shorts2 = (vec_s16)vec_mergeh(zero, bytes);\n\n\n\n // Do the subtraction.\n\n shorts1 = vec_sub(shorts1, shorts2);\n\n\n\n // Save the data to the block, we assume the block is 16-byte aligned.\n\n vec_st(shorts1, 0, (vec_s16 *)block);\n\n\n\n s1 += stride;\n\n s2 += stride;\n\n block += 8;\n\n\n\n /* The code below is a copy of the code above...\n\n * This is a manual unroll. */\n\n\n\n /* Read potentially unaligned pixels.\n\n * We're reading 16 pixels, and actually only want 8,\n\n * but we simply ignore the extras. */\n\n pixl = vec_ld(0, s1);\n\n pixr = vec_ld(15, s1);\n\n bytes = vec_perm(pixl, pixr, perm1);\n\n\n\n // Convert the bytes into shorts.\n\n shorts1 = (vec_s16)vec_mergeh(zero, bytes);\n\n\n\n // Do the same for the second block of pixels.\n\n pixl = vec_ld(0, s2);\n\n pixr = vec_ld(15, s2);\n\n bytes = vec_perm(pixl, pixr, perm2);\n\n\n\n // Convert the bytes into shorts.\n\n shorts2 = (vec_s16)vec_mergeh(zero, bytes);\n\n\n\n // Do the subtraction.\n\n shorts1 = vec_sub(shorts1, shorts2);\n\n\n\n // Save the data to the block, we assume the block is 16-byte aligned.\n\n vec_st(shorts1, 0, (vec_s16 *)block);\n\n\n\n s1 += stride;\n\n s2 += stride;\n\n block += 8;\n\n }\n\n}\n", "idx": 8103}788{"project": "FFmpeg", "commit_id": "199d4478de102ca7987adb97f2e66a1820a98ebd", "target": 1, "func": "int ff_thread_get_buffer(AVCodecContext *avctx, AVFrame *f)\n\n{\n\n PerThreadContext *p = avctx->thread_opaque;\n\n int *progress, err;\n\n\n\n f->owner = avctx;\n\n\n\n ff_init_buffer_info(avctx, f);\n\n\n\n if (!(avctx->active_thread_type&FF_THREAD_FRAME)) {\n\n f->thread_opaque = NULL;\n\n return avctx->get_buffer(avctx, f);\n\n }\n\n\n\n if (p->state != STATE_SETTING_UP &&\n\n (avctx->codec->update_thread_context || (!avctx->thread_safe_callbacks &&\n\n avctx->get_buffer != avcodec_default_get_buffer))) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() cannot be called after ff_thread_finish_setup()\\n\");\n\n return -1;\n\n }\n\n\n\n pthread_mutex_lock(&p->parent->buffer_mutex);\n\n f->thread_opaque = progress = allocate_progress(p);\n\n\n\n if (!progress) {\n\n pthread_mutex_unlock(&p->parent->buffer_mutex);\n\n return -1;\n\n }\n\n\n\n progress[0] =\n\n progress[1] = -1;\n\n\n\n if (avctx->thread_safe_callbacks ||\n\n avctx->get_buffer == avcodec_default_get_buffer) {\n\n err = avctx->get_buffer(avctx, f);\n\n } else {\n\n p->requested_frame = f;\n\n p->state = STATE_GET_BUFFER;\n\n pthread_mutex_lock(&p->progress_mutex);\n\n pthread_cond_signal(&p->progress_cond);\n\n\n\n while (p->state != STATE_SETTING_UP)\n\n pthread_cond_wait(&p->progress_cond, &p->progress_mutex);\n\n\n\n err = p->result;\n\n\n\n pthread_mutex_unlock(&p->progress_mutex);\n\n\n\n if (!avctx->codec->update_thread_context)\n\n ff_thread_finish_setup(avctx);\n\n }\n\n\n\n pthread_mutex_unlock(&p->parent->buffer_mutex);\n\n\n\n return err;\n\n}\n", "idx": 8105}789{"project": "qemu", "commit_id": "80fb34eda099e7cc519a91e9701ab3c0262717b3", "target": 1, "func": "bool qio_task_propagate_error(QIOTask *task,\n\n Error **errp)\n\n{\n\n if (task->err) {\n\n error_propagate(errp, task->err);\n\n\n return true;\n\n }\n\n\n\n return false;\n\n}", "idx": 8111}790{"project": "FFmpeg", "commit_id": "9f61abc8111c7c43f49ca012e957a108b9cc7610", "target": 0, "func": "static void hds_free(AVFormatContext *s)\n\n{\n\n HDSContext *c = s->priv_data;\n\n int i, j;\n\n if (!c->streams)\n\n return;\n\n for (i = 0; i < s->nb_streams; i++) {\n\n OutputStream *os = &c->streams[i];\n\n if (os->out)\n\n avio_close(os->out);\n\n os->out = NULL;\n\n if (os->ctx && os->ctx_inited)\n\n av_write_trailer(os->ctx);\n\n if (os->ctx && os->ctx->pb)\n\n av_free(os->ctx->pb);\n\n if (os->ctx)\n\n avformat_free_context(os->ctx);\n\n av_free(os->metadata);\n\n for (j = 0; j < os->nb_extra_packets; j++)\n\n av_free(os->extra_packets[j]);\n\n for (j = 0; j < os->nb_fragments; j++)\n\n av_free(os->fragments[j]);\n\n av_free(os->fragments);\n\n }\n\n av_freep(&c->streams);\n\n}\n", "idx": 8112}791{"project": "FFmpeg", "commit_id": "ab80d3fb3a7595db44fc143c80f8c2a3480fe28d", "target": 1, "func": "yuv2ya8_2_c(SwsContext *c, const int16_t *buf[2],\n\n const int16_t *ubuf[2], const int16_t *vbuf[2],\n\n const int16_t *abuf[2], uint8_t *dest, int dstW,\n\n int yalpha, int uvalpha, int y)\n\n{\n\n int hasAlpha = abuf[0] && abuf[1];\n\n const int16_t *buf0 = buf[0], *buf1 = buf[1],\n\n *abuf0 = hasAlpha ? abuf[0] : NULL,\n\n *abuf1 = hasAlpha ? abuf[1] : NULL;\n\n int yalpha1 = 4096 - yalpha;\n\n int i;\n\n\n\n for (i = 0; i < dstW; i++) {\n\n int Y = (buf0[i * 2] * yalpha1 + buf1[i * 2] * yalpha) >> 19;\n\n int A;\n\n\n\n Y = av_clip_uint8(Y);\n\n\n\n if (hasAlpha) {\n\n A = (abuf0[i * 2] * yalpha1 + abuf1[i * 2] * yalpha) >> 19;\n\n A = av_clip_uint8(A);\n\n }\n\n\n\n dest[i * 2 ] = Y;\n\n dest[i * 2 + 1] = hasAlpha ? A : 255;\n\n }\n\n}\n", "idx": 8124}792{"project": "qemu", "commit_id": "f7b879e072ae6839b1b1d1312f48fa7f256397e2", "target": 1, "func": "static void device_unparent(Object *obj)\n\n{\n\n DeviceState *dev = DEVICE(obj);\n\n BusState *bus;\n\n\n\n if (dev->realized) {\n\n object_property_set_bool(obj, false, \"realized\", NULL);\n\n }\n\n while (dev->num_child_bus) {\n\n bus = QLIST_FIRST(&dev->child_bus);\n\n object_unparent(OBJECT(bus));\n\n }\n\n if (dev->parent_bus) {\n\n bus_remove_child(dev->parent_bus, dev);\n\n object_unref(OBJECT(dev->parent_bus));\n\n dev->parent_bus = NULL;\n\n }\n\n\n\n /* Only send event if the device had been completely realized */\n\n if (dev->pending_deleted_event) {\n\n g_assert(dev->canonical_path);\n\n\n\n qapi_event_send_device_deleted(!!dev->id, dev->id, dev->canonical_path,\n\n &error_abort);\n\n g_free(dev->canonical_path);\n\n dev->canonical_path = NULL;\n\n }\n\n}\n", "idx": 8130}793{"project": "qemu", "commit_id": "55e1819c509b3d9c10a54678b9c585bbda13889e", "target": 0, "func": "QBool *qbool_from_bool(bool value)\n\n{\n\n QBool *qb;\n\n\n\n qb = g_malloc(sizeof(*qb));\n\n qb->value = value;\n\n QOBJECT_INIT(qb, &qbool_type);\n\n\n\n return qb;\n\n}\n", "idx": 8134}794{"project": "qemu", "commit_id": "edf779ffccc836661a7b654d320571a6c220caea", "target": 0, "func": "static void setup_rt_frame(int usig, struct emulated_sigaction *ka, \n\n target_siginfo_t *info,\n\n\t\t\t target_sigset_t *set, CPUState *env)\n\n{\n\n\tstruct rt_sigframe *frame = get_sigframe(ka, env, sizeof(*frame));\n\n\tint err = 0;\n\n\n\n#if 0\n\n\tif (!access_ok(VERIFY_WRITE, frame, sizeof (*frame)))\n\n return 1;\n\n#endif\n\n\t__put_user_error(&frame->info, (target_ulong *)&frame->pinfo, err);\n\n\t__put_user_error(&frame->uc, (target_ulong *)&frame->puc, err);\n\n\terr |= copy_siginfo_to_user(&frame->info, info);\n\n\n\n\t/* Clear all the bits of the ucontext we don't use. */\n\n\terr |= __clear_user(&frame->uc, offsetof(struct ucontext, uc_mcontext));\n\n\n\n\terr |= setup_sigcontext(&frame->uc.uc_mcontext, /*&frame->fpstate,*/\n\n\t\t\t\tenv, set->sig[0]);\n\n\terr |= __copy_to_user(&frame->uc.uc_sigmask, set, sizeof(*set));\n\n\n\n\tif (err == 0)\n\n\t\terr = setup_return(env, ka, &frame->retcode, frame, usig);\n\n\n\n\tif (err == 0) {\n\n\t\t/*\n\n\t\t * For realtime signals we must also set the second and third\n\n\t\t * arguments for the signal handler.\n\n\t\t * -- Peter Maydell <pmaydell@chiark.greenend.org.uk> 2000-12-06\n\n\t\t */\n\n env->regs[1] = (target_ulong)frame->pinfo;\n\n env->regs[2] = (target_ulong)frame->puc;\n\n\t}\n\n\n\n //\treturn err;\n\n}\n", "idx": 8145}795{"project": "qemu", "commit_id": "25e6a11832bcd0715068f0cc24fb46ec03de676e", "target": 1, "func": "static void spapr_phb_placement(sPAPRMachineState *spapr, uint32_t index,\n\n uint64_t *buid, hwaddr *pio,\n\n hwaddr *mmio32, hwaddr *mmio64,\n\n unsigned n_dma, uint32_t *liobns, Error **errp)\n\n{\n\n /*\n\n * New-style PHB window placement.\n\n *\n\n * Goals: Gives large (1TiB), naturally aligned 64-bit MMIO window\n\n * for each PHB, in addition to 2GiB 32-bit MMIO and 64kiB PIO\n\n * windows.\n\n *\n\n * Some guest kernels can't work with MMIO windows above 1<<46\n\n * (64TiB), so we place up to 31 PHBs in the area 32TiB..64TiB\n\n *\n\n * 32TiB..(33TiB+1984kiB) contains the 64kiB PIO windows for each\n\n * PHB stacked together. (32TiB+2GiB)..(32TiB+64GiB) contains the\n\n * 2GiB 32-bit MMIO windows for each PHB. Then 33..64TiB has the\n\n * 1TiB 64-bit MMIO windows for each PHB.\n\n */\n\n const uint64_t base_buid = 0x800000020000000ULL;\n\n const int max_phbs =\n\n (SPAPR_PCI_LIMIT - SPAPR_PCI_BASE) / SPAPR_PCI_MEM64_WIN_SIZE - 1;\n\n int i;\n\n\n\n /* Sanity check natural alignments */\n\n QEMU_BUILD_BUG_ON((SPAPR_PCI_BASE % SPAPR_PCI_MEM64_WIN_SIZE) != 0);\n\n QEMU_BUILD_BUG_ON((SPAPR_PCI_LIMIT % SPAPR_PCI_MEM64_WIN_SIZE) != 0);\n\n QEMU_BUILD_BUG_ON((SPAPR_PCI_MEM64_WIN_SIZE % SPAPR_PCI_MEM32_WIN_SIZE) != 0);\n\n QEMU_BUILD_BUG_ON((SPAPR_PCI_MEM32_WIN_SIZE % SPAPR_PCI_IO_WIN_SIZE) != 0);\n\n /* Sanity check bounds */\n\n QEMU_BUILD_BUG_ON((max_phbs * SPAPR_PCI_IO_WIN_SIZE) > SPAPR_PCI_MEM32_WIN_SIZE);\n\n QEMU_BUILD_BUG_ON((max_phbs * SPAPR_PCI_MEM32_WIN_SIZE) > SPAPR_PCI_MEM64_WIN_SIZE);\n\n\n\n if (index >= max_phbs) {\n\n error_setg(errp, \"\\\"index\\\" for PAPR PHB is too large (max %u)\",\n\n max_phbs - 1);\n\n return;\n\n }\n\n\n\n *buid = base_buid + index;\n\n for (i = 0; i < n_dma; ++i) {\n\n liobns[i] = SPAPR_PCI_LIOBN(index, i);\n\n }\n\n\n\n *pio = SPAPR_PCI_BASE + index * SPAPR_PCI_IO_WIN_SIZE;\n\n *mmio32 = SPAPR_PCI_BASE + (index + 1) * SPAPR_PCI_MEM32_WIN_SIZE;\n\n *mmio64 = SPAPR_PCI_BASE + (index + 1) * SPAPR_PCI_MEM64_WIN_SIZE;\n\n}\n", "idx": 8154}796{"project": "qemu", "commit_id": "fb6971c110387cf597b58c411658e3d15cc6c6fb", "target": 1, "func": "static void ppc405ep_compute_clocks (ppc405ep_cpc_t *cpc)\n\n{\n\n uint32_t CPU_clk, PLB_clk, OPB_clk, EBC_clk, MAL_clk, PCI_clk;\n\n uint32_t UART0_clk, UART1_clk;\n\n uint64_t VCO_out, PLL_out;\n\n int M, D;\n\n\n\n VCO_out = 0;\n\n if ((cpc->pllmr[1] & 0x80000000) && !(cpc->pllmr[1] & 0x40000000)) {\n\n M = (((cpc->pllmr[1] >> 20) - 1) & 0xF) + 1; /* FBMUL */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"FBMUL %01\" PRIx32 \" %d\\n\", (cpc->pllmr[1] >> 20) & 0xF, M);\n\n#endif\n\n D = 8 - ((cpc->pllmr[1] >> 16) & 0x7); /* FWDA */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"FWDA %01\" PRIx32 \" %d\\n\", (cpc->pllmr[1] >> 16) & 0x7, D);\n\n#endif\n\n VCO_out = cpc->sysclk * M * D;\n\n if (VCO_out < 500000000UL || VCO_out > 1000000000UL) {\n\n /* Error - unlock the PLL */\n\n printf(\"VCO out of range %\" PRIu64 \"\\n\", VCO_out);\n\n#if 0\n\n cpc->pllmr[1] &= ~0x80000000;\n\n goto pll_bypass;\n\n#endif\n\n }\n\n PLL_out = VCO_out / D;\n\n /* Pretend the PLL is locked */\n\n cpc->boot |= 0x00000001;\n\n } else {\n\n#if 0\n\n pll_bypass:\n\n#endif\n\n PLL_out = cpc->sysclk;\n\n if (cpc->pllmr[1] & 0x40000000) {\n\n /* Pretend the PLL is not locked */\n\n cpc->boot &= ~0x00000001;\n\n }\n\n }\n\n /* Now, compute all other clocks */\n\n D = ((cpc->pllmr[0] >> 20) & 0x3) + 1; /* CCDV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"CCDV %01\" PRIx32 \" %d\\n\", (cpc->pllmr[0] >> 20) & 0x3, D);\n\n#endif\n\n CPU_clk = PLL_out / D;\n\n D = ((cpc->pllmr[0] >> 16) & 0x3) + 1; /* CBDV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"CBDV %01\" PRIx32 \" %d\\n\", (cpc->pllmr[0] >> 16) & 0x3, D);\n\n#endif\n\n PLB_clk = CPU_clk / D;\n\n D = ((cpc->pllmr[0] >> 12) & 0x3) + 1; /* OPDV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"OPDV %01\" PRIx32 \" %d\\n\", (cpc->pllmr[0] >> 12) & 0x3, D);\n\n#endif\n\n OPB_clk = PLB_clk / D;\n\n D = ((cpc->pllmr[0] >> 8) & 0x3) + 2; /* EPDV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"EPDV %01\" PRIx32 \" %d\\n\", (cpc->pllmr[0] >> 8) & 0x3, D);\n\n#endif\n\n EBC_clk = PLB_clk / D;\n\n D = ((cpc->pllmr[0] >> 4) & 0x3) + 1; /* MPDV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"MPDV %01\" PRIx32 \" %d\\n\", (cpc->pllmr[0] >> 4) & 0x3, D);\n\n#endif\n\n MAL_clk = PLB_clk / D;\n\n D = (cpc->pllmr[0] & 0x3) + 1; /* PPDV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"PPDV %01\" PRIx32 \" %d\\n\", cpc->pllmr[0] & 0x3, D);\n\n#endif\n\n PCI_clk = PLB_clk / D;\n\n D = ((cpc->ucr - 1) & 0x7F) + 1; /* U0DIV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"U0DIV %01\" PRIx32 \" %d\\n\", cpc->ucr & 0x7F, D);\n\n#endif\n\n UART0_clk = PLL_out / D;\n\n D = (((cpc->ucr >> 8) - 1) & 0x7F) + 1; /* U1DIV */\n\n#ifdef DEBUG_CLOCKS_LL\n\n printf(\"U1DIV %01\" PRIx32 \" %d\\n\", (cpc->ucr >> 8) & 0x7F, D);\n\n#endif\n\n UART1_clk = PLL_out / D;\n\n#ifdef DEBUG_CLOCKS\n\n printf(\"Setup PPC405EP clocks - sysclk %\" PRIu32 \" VCO %\" PRIu64\n\n \" PLL out %\" PRIu64 \" Hz\\n\", cpc->sysclk, VCO_out, PLL_out);\n\n printf(\"CPU %\" PRIu32 \" PLB %\" PRIu32 \" OPB %\" PRIu32 \" EBC %\" PRIu32\n\n \" MAL %\" PRIu32 \" PCI %\" PRIu32 \" UART0 %\" PRIu32\n\n \" UART1 %\" PRIu32 \"\\n\",\n\n CPU_clk, PLB_clk, OPB_clk, EBC_clk, MAL_clk, PCI_clk,\n\n UART0_clk, UART1_clk);\n\n#endif\n\n /* Setup CPU clocks */\n\n clk_setup(&cpc->clk_setup[PPC405EP_CPU_CLK], CPU_clk);\n\n /* Setup PLB clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_PLB_CLK], PLB_clk);\n\n /* Setup OPB clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_OPB_CLK], OPB_clk);\n\n /* Setup external clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_EBC_CLK], EBC_clk);\n\n /* Setup MAL clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_MAL_CLK], MAL_clk);\n\n /* Setup PCI clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_PCI_CLK], PCI_clk);\n\n /* Setup UART0 clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_UART0_CLK], UART0_clk);\n\n /* Setup UART1 clock */\n\n clk_setup(&cpc->clk_setup[PPC405EP_UART1_CLK], UART1_clk);\n\n}\n", "idx": 8155}797{"project": "FFmpeg", "commit_id": "e6bc38fd49c94726b45d5d5cc2b756ad8ec49ee0", "target": 1, "func": "av_cold void ff_wmv2_common_init(Wmv2Context * w){\n\n MpegEncContext * const s= &w->s;\n\n\n\n ff_init_scantable(s->dsp.idct_permutation, &w->abt_scantable[0], ff_wmv2_scantableA);\n\n ff_init_scantable(s->dsp.idct_permutation, &w->abt_scantable[1], ff_wmv2_scantableB);\n\n}\n", "idx": 8157}798{"project": "qemu", "commit_id": "2e50326c44c802ca9b9d591341085e49208927be", "target": 1, "func": "void tap_fd_set_offload(int fd, int csum, int tso4,\n int tso6, int ecn, int ufo)\n{\n unsigned int offload = 0;\n if (csum) {\n offload |= TUN_F_CSUM;\n if (tso4)\n offload |= TUN_F_TSO4;\n if (tso6)\n offload |= TUN_F_TSO6;\n if ((tso4 || tso6) && ecn)\n offload |= TUN_F_TSO_ECN;\n if (ufo)\n offload |= TUN_F_UFO;\n if (ioctl(fd, TUNSETOFFLOAD, offload) != 0) {\n offload &= ~TUN_F_UFO;\n if (ioctl(fd, TUNSETOFFLOAD, offload) != 0) {\n fprintf(stderr, \"TUNSETOFFLOAD ioctl() failed: %s\\n\",\n strerror(errno));", "idx": 8158}799{"project": "FFmpeg", "commit_id": "073c2593c9f0aa4445a6fc1b9b24e6e52a8cc2c1", "target": 1, "func": "void ff_mpeg1_encode_init(MpegEncContext *s)\n\n{\n\n static int done=0;\n\n\n\n common_init(s);\n\n\n\n if(!done){\n\n int f_code;\n\n int mv;\n\n\tint i;\n\n\n\n done=1;\n\n init_rl(&rl_mpeg1);\n\n\n\n\tfor(i=0; i<64; i++)\n\n\t{\n\n\t\tmpeg1_max_level[0][i]= rl_mpeg1.max_level[0][i];\n\n\t\tmpeg1_index_run[0][i]= rl_mpeg1.index_run[0][i];\n\n\t}\n\n \n\n init_uni_ac_vlc(&rl_mpeg1, uni_mpeg1_ac_vlc_bits, uni_mpeg1_ac_vlc_len);\n\n\n\n\t/* build unified dc encoding tables */\n\n\tfor(i=-255; i<256; i++)\n\n\t{\n\n\t\tint adiff, index;\n\n\t\tint bits, code;\n\n\t\tint diff=i;\n\n\n\n\t\tadiff = ABS(diff);\n\n\t\tif(diff<0) diff--;\n\n\t\tindex = av_log2(2*adiff);\n\n\n\n\t\tbits= vlc_dc_lum_bits[index] + index;\n\n\t\tcode= (vlc_dc_lum_code[index]<<index) + (diff & ((1 << index) - 1));\n\n\t\tmpeg1_lum_dc_uni[i+255]= bits + (code<<8);\n\n\t\t\n\n\t\tbits= vlc_dc_chroma_bits[index] + index;\n\n\t\tcode= (vlc_dc_chroma_code[index]<<index) + (diff & ((1 << index) - 1));\n\n\t\tmpeg1_chr_dc_uni[i+255]= bits + (code<<8);\n\n\t}\n\n\n\n mv_penalty= av_mallocz( sizeof(uint8_t)*(MAX_FCODE+1)*(2*MAX_MV+1) );\n\n\n\n for(f_code=1; f_code<=MAX_FCODE; f_code++){\n\n for(mv=-MAX_MV; mv<=MAX_MV; mv++){\n\n int len;\n\n\n\n if(mv==0) len= mbMotionVectorTable[0][1];\n\n else{\n\n int val, bit_size, range, code;\n\n\n\n bit_size = f_code - 1;\n\n range = 1 << bit_size;\n\n\n\n val=mv;\n\n if (val < 0) \n\n val = -val;\n\n val--;\n\n code = (val >> bit_size) + 1;\n\n if(code<17){\n\n len= mbMotionVectorTable[code][1] + 1 + bit_size;\n\n }else{\n\n len= mbMotionVectorTable[16][1] + 2 + bit_size;\n\n }\n\n }\n\n\n\n mv_penalty[f_code][mv+MAX_MV]= len;\n\n }\n\n }\n\n \n\n\n\n for(f_code=MAX_FCODE; f_code>0; f_code--){\n\n for(mv=-(8<<f_code); mv<(8<<f_code); mv++){\n\n fcode_tab[mv+MAX_MV]= f_code;\n\n }\n\n }\n\n }\n\n s->me.mv_penalty= mv_penalty;\n\n s->fcode_tab= fcode_tab;\n\n if(s->codec_id == CODEC_ID_MPEG1VIDEO){\n\n s->min_qcoeff=-255;\n\n s->max_qcoeff= 255;\n\n }else{\n\n s->min_qcoeff=-2047;\n\n s->max_qcoeff= 2047;\n\n }\n\n s->intra_ac_vlc_length=\n\n s->inter_ac_vlc_length=\n\n s->intra_ac_vlc_last_length=\n\n s->inter_ac_vlc_last_length= uni_mpeg1_ac_vlc_len;\n\n}\n", "idx": 8169}800{"project": "FFmpeg", "commit_id": "c9f6eab184cac379c7a44d5899979165798d45d4", "target": 1, "func": "static av_cold int ac3_decode_init(AVCodecContext *avctx)\n\n{\n\n AC3DecodeContext *s = avctx->priv_data;\n\n s->avctx = avctx;\n\n\n\n ff_ac3_common_init();\n\n ac3_tables_init();\n\n ff_mdct_init(&s->imdct_256, 8, 1, 1.0);\n\n ff_mdct_init(&s->imdct_512, 9, 1, 1.0);\n\n ff_kbd_window_init(s->window, 5.0, 256);\n\n dsputil_init(&s->dsp, avctx);\n\n ff_fmt_convert_init(&s->fmt_conv, avctx);\n\n av_lfg_init(&s->dith_state, 0);\n\n\n\n /* set scale value for float to int16 conversion */\n\n s->mul_bias = 32767.0f;\n\n\n\n /* allow downmixing to stereo or mono */\n\n if (avctx->channels > 0 && avctx->request_channels > 0 &&\n\n avctx->request_channels < avctx->channels &&\n\n avctx->request_channels <= 2) {\n\n avctx->channels = avctx->request_channels;\n\n }\n\n s->downmixed = 1;\n\n\n\n /* allocate context input buffer */\n\n if (avctx->error_recognition >= FF_ER_CAREFUL) {\n\n s->input_buffer = av_mallocz(AC3_FRAME_BUFFER_SIZE + FF_INPUT_BUFFER_PADDING_SIZE);\n\n if (!s->input_buffer)\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n avctx->sample_fmt = AV_SAMPLE_FMT_S16;\n\n return 0;\n\n}\n", "idx": 8171}801{"project": "FFmpeg", "commit_id": "08a747afb98c11da48b89339c2f1c5fdc56ced7e", "target": 0, "func": "static void count_frame_bits_fixed(AC3EncodeContext *s)\n\n{\n\n static const int frame_bits_inc[8] = { 0, 0, 2, 2, 2, 4, 2, 4 };\n\n int blk;\n\n int frame_bits;\n\n\n\n /* assumptions:\n\n * no dynamic range codes\n\n * bit allocation parameters do not change between blocks\n\n * no delta bit allocation\n\n * no skipped data\n\n * no auxilliary data\n\n * no E-AC-3 metadata\n\n */\n\n\n\n /* header */\n\n frame_bits = 16; /* sync info */\n\n if (s->eac3) {\n\n /* bitstream info header */\n\n frame_bits += 35;\n\n frame_bits += 1 + 1 + 1;\n\n /* audio frame header */\n\n frame_bits += 2;\n\n frame_bits += 10;\n\n /* exponent strategy */\n\n for (blk = 0; blk < AC3_MAX_BLOCKS; blk++)\n\n frame_bits += 2 * s->fbw_channels + s->lfe_on;\n\n /* converter exponent strategy */\n\n frame_bits += s->fbw_channels * 5;\n\n /* snr offsets */\n\n frame_bits += 10;\n\n /* block start info */\n\n frame_bits++;\n\n } else {\n\n frame_bits += 49;\n\n frame_bits += frame_bits_inc[s->channel_mode];\n\n }\n\n\n\n /* audio blocks */\n\n for (blk = 0; blk < AC3_MAX_BLOCKS; blk++) {\n\n if (!s->eac3) {\n\n /* block switch flags */\n\n frame_bits += s->fbw_channels;\n\n\n\n /* dither flags */\n\n frame_bits += s->fbw_channels;\n\n }\n\n\n\n /* dynamic range */\n\n frame_bits++;\n\n\n\n /* spectral extension */\n\n if (s->eac3)\n\n frame_bits++;\n\n\n\n if (!s->eac3) {\n\n /* exponent strategy */\n\n frame_bits += 2 * s->fbw_channels;\n\n if (s->lfe_on)\n\n frame_bits++;\n\n\n\n /* bit allocation params */\n\n frame_bits++;\n\n if (!blk)\n\n frame_bits += 2 + 2 + 2 + 2 + 3;\n\n }\n\n\n\n /* converter snr offset */\n\n if (s->eac3)\n\n frame_bits++;\n\n\n\n if (!s->eac3) {\n\n /* delta bit allocation */\n\n frame_bits++;\n\n\n\n /* skipped data */\n\n frame_bits++;\n\n }\n\n }\n\n\n\n /* auxiliary data */\n\n frame_bits++;\n\n\n\n /* CRC */\n\n frame_bits += 1 + 16;\n\n\n\n s->frame_bits_fixed = frame_bits;\n\n}\n", "idx": 8181}802{"project": "FFmpeg", "commit_id": "0c32e19d584ba6ddbc27f0a796260404daaf4b6a", "target": 0, "func": "static void av_noinline filter_mb_edgev( uint8_t *pix, int stride, int16_t bS[4], unsigned int qp, H264Context *h) {\n\n const unsigned int index_a = 52 + qp + h->slice_alpha_c0_offset;\n\n const int alpha = alpha_table[index_a];\n\n const int beta = (beta_table+52)[qp + h->slice_beta_offset];\n\n if (alpha ==0 || beta == 0) return;\n\n\n\n if( bS[0] < 4 ) {\n\n int8_t tc[4];\n\n tc[0] = tc0_table[index_a][bS[0]];\n\n tc[1] = tc0_table[index_a][bS[1]];\n\n tc[2] = tc0_table[index_a][bS[2]];\n\n tc[3] = tc0_table[index_a][bS[3]];\n\n h->s.dsp.h264_h_loop_filter_luma(pix, stride, alpha, beta, tc);\n\n } else {\n\n h->s.dsp.h264_h_loop_filter_luma_intra(pix, stride, alpha, beta);\n\n }\n\n}\n", "idx": 8197}803{"project": "FFmpeg", "commit_id": "ac66834c759b7130fb5be51f63cb6dff9b294cba", "target": 0, "func": "int avcodec_decode_audio(AVCodecContext *avctx, int16_t *samples,\n\n int *frame_size_ptr,\n\n uint8_t *buf, int buf_size)\n\n{\n\n int ret;\n\n\n\n *frame_size_ptr= 0;\n\n if((avctx->codec->capabilities & CODEC_CAP_DELAY) || buf_size){\n\n ret = avctx->codec->decode(avctx, samples, frame_size_ptr,\n\n buf, buf_size);\n\n avctx->frame_number++;\n\n }else\n\n ret= 0;\n\n return ret;\n\n}\n", "idx": 8199}804{"project": "FFmpeg", "commit_id": "fed92adbb3fc6cbf735e3df9a2f7d0a2917fcfbd", "target": 1, "func": "void vp8_decode_mvs(VP8Context *s, VP8Macroblock *mb,\n\n int mb_x, int mb_y, int layout)\n\n{\n\n VP8Macroblock *mb_edge[3] = { 0 /* top */,\n\n mb - 1 /* left */,\n\n 0 /* top-left */ };\n\n enum { CNT_ZERO, CNT_NEAREST, CNT_NEAR, CNT_SPLITMV };\n\n enum { VP8_EDGE_TOP, VP8_EDGE_LEFT, VP8_EDGE_TOPLEFT };\n\n int idx = CNT_ZERO;\n\n int cur_sign_bias = s->sign_bias[mb->ref_frame];\n\n int8_t *sign_bias = s->sign_bias;\n\n VP56mv near_mv[4];\n\n uint8_t cnt[4] = { 0 };\n\n VP56RangeCoder *c = &s->c;\n\n\n\n if (!layout) { // layout is inlined (s->mb_layout is not)\n\n mb_edge[0] = mb + 2;\n\n mb_edge[2] = mb + 1;\n\n } else {\n\n mb_edge[0] = mb - s->mb_width - 1;\n\n mb_edge[2] = mb - s->mb_width - 2;\n\n }\n\n\n\n AV_ZERO32(&near_mv[0]);\n\n AV_ZERO32(&near_mv[1]);\n\n AV_ZERO32(&near_mv[2]);\n\n\n\n /* Process MB on top, left and top-left */\n\n#define MV_EDGE_CHECK(n) \\\n\n { \\\n\n VP8Macroblock *edge = mb_edge[n]; \\\n\n int edge_ref = edge->ref_frame; \\\n\n if (edge_ref != VP56_FRAME_CURRENT) { \\\n\n uint32_t mv = AV_RN32A(&edge->mv); \\\n\n if (mv) { \\\n\n if (cur_sign_bias != sign_bias[edge_ref]) { \\\n\n /* SWAR negate of the values in mv. */ \\\n\n mv = ~mv; \\\n\n mv = ((mv & 0x7fff7fff) + \\\n\n 0x00010001) ^ (mv & 0x80008000); \\\n\n } \\\n\n if (!n || mv != AV_RN32A(&near_mv[idx])) \\\n\n AV_WN32A(&near_mv[++idx], mv); \\\n\n cnt[idx] += 1 + (n != 2); \\\n\n } else \\\n\n cnt[CNT_ZERO] += 1 + (n != 2); \\\n\n } \\\n\n }\n\n\n\n MV_EDGE_CHECK(0)\n\n MV_EDGE_CHECK(1)\n\n MV_EDGE_CHECK(2)\n\n\n\n mb->partitioning = VP8_SPLITMVMODE_NONE;\n\n if (vp56_rac_get_prob_branchy(c, vp8_mode_contexts[cnt[CNT_ZERO]][0])) {\n\n mb->mode = VP8_MVMODE_MV;\n\n\n\n /* If we have three distinct MVs, merge first and last if they're the same */\n\n if (cnt[CNT_SPLITMV] &&\n\n AV_RN32A(&near_mv[1 + VP8_EDGE_TOP]) == AV_RN32A(&near_mv[1 + VP8_EDGE_TOPLEFT]))\n\n cnt[CNT_NEAREST] += 1;\n\n\n\n /* Swap near and nearest if necessary */\n\n if (cnt[CNT_NEAR] > cnt[CNT_NEAREST]) {\n\n FFSWAP(uint8_t, cnt[CNT_NEAREST], cnt[CNT_NEAR]);\n\n FFSWAP( VP56mv, near_mv[CNT_NEAREST], near_mv[CNT_NEAR]);\n\n }\n\n\n\n if (vp56_rac_get_prob_branchy(c, vp8_mode_contexts[cnt[CNT_NEAREST]][1])) {\n\n if (vp56_rac_get_prob_branchy(c, vp8_mode_contexts[cnt[CNT_NEAR]][2])) {\n\n /* Choose the best mv out of 0,0 and the nearest mv */\n\n clamp_mv(s, &mb->mv, &near_mv[CNT_ZERO + (cnt[CNT_NEAREST] >= cnt[CNT_ZERO])]);\n\n cnt[CNT_SPLITMV] = ((mb_edge[VP8_EDGE_LEFT]->mode == VP8_MVMODE_SPLIT) +\n\n (mb_edge[VP8_EDGE_TOP]->mode == VP8_MVMODE_SPLIT)) * 2 +\n\n (mb_edge[VP8_EDGE_TOPLEFT]->mode == VP8_MVMODE_SPLIT);\n\n\n\n if (vp56_rac_get_prob_branchy(c, vp8_mode_contexts[cnt[CNT_SPLITMV]][3])) {\n\n mb->mode = VP8_MVMODE_SPLIT;\n\n mb->mv = mb->bmv[decode_splitmvs(s, c, mb, layout, IS_VP8) - 1];\n\n } else {\n\n mb->mv.y += vp8_read_mv_component(c, s->prob->mvc[0]);\n\n mb->mv.x += vp8_read_mv_component(c, s->prob->mvc[1]);\n\n mb->bmv[0] = mb->mv;\n\n }\n\n } else {\n\n clamp_mv(s, &mb->mv, &near_mv[CNT_NEAR]);\n\n mb->bmv[0] = mb->mv;\n\n }\n\n } else {\n\n clamp_mv(s, &mb->mv, &near_mv[CNT_NEAREST]);\n\n mb->bmv[0] = mb->mv;\n\n }\n\n } else {\n\n mb->mode = VP8_MVMODE_ZERO;\n\n AV_ZERO32(&mb->mv);\n\n mb->bmv[0] = mb->mv;\n\n }\n\n}\n", "idx": 8208}805{"project": "qemu", "commit_id": "29851ee7c8bd3fb8542e21cd0270c73132590350", "target": 1, "func": "int main()\n\n{\n\n int rd, rt, dsp;\n\n int result, resultdsp;\n\n\n\n rt = 0x12345678;\n\n result = 0xA000C000;\n\n resultdsp = 1;\n\n\n\n __asm\n\n (\"shll.ph %0, %2, 0x0B\\n\\t\"\n\n \"rddsp %1\\n\\t\"\n\n : \"=r\"(rd), \"=r\"(dsp)\n\n : \"r\"(rt)\n\n );\n\n dsp = (dsp >> 22) & 0x01;\n\n assert(dsp == resultdsp);\n\n assert(rd == result);\n\n\n\n return 0;\n\n}\n", "idx": 8209}806{"project": "FFmpeg", "commit_id": "eb24fd64589b7eea91fa752861f0c6f07e5a48a8", "target": 0, "func": "int ff_rle_encode(uint8_t *outbuf, int out_size, const uint8_t *ptr , int bpp, int w, int8_t add, uint8_t xor)\n\n{\n\n int count, x;\n\n uint8_t *out;\n\n\n\n out = outbuf;\n\n\n\n\n\n for(x = 0; x < w; x += count) {\n\n /* see if we can encode the next set of pixels with RLE */\n\n if((count = count_pixels(ptr, w-x, bpp, 1)) > 1) {\n\n if(out + bpp + 1 > outbuf + out_size) return -1;\n\n *out++ = (count ^ xor) + add;\n\n memcpy(out, ptr, bpp);\n\n out += bpp;\n\n } else {\n\n /* fall back on uncompressed */\n\n count = count_pixels(ptr, w-x, bpp, 0);\n\n *out++ = count - 1;\n\n\n\n if(out + bpp*count > outbuf + out_size) return -1;\n\n memcpy(out, ptr, bpp * count);\n\n out += bpp * count;\n\n }\n\n\n\n ptr += count * bpp;\n\n }\n\n\n\n return out - outbuf;\n\n}\n", "idx": 8211}807{"project": "FFmpeg", "commit_id": "cbbb2067341d7c2d98f560f81c6fb103af33a490", "target": 1, "func": "static int vdpau_frames_init(AVHWFramesContext *ctx)\n\n{\n\n VDPAUDeviceContext *device_priv = ctx->device_ctx->internal->priv;\n\n VDPAUFramesContext *priv = ctx->internal->priv;\n\n\n\n int i;\n\n\n\n switch (ctx->sw_format) {\n\n case AV_PIX_FMT_YUV420P: priv->chroma_type = VDP_CHROMA_TYPE_420; break;\n\n case AV_PIX_FMT_YUV422P: priv->chroma_type = VDP_CHROMA_TYPE_422; break;\n\n case AV_PIX_FMT_YUV444P: priv->chroma_type = VDP_CHROMA_TYPE_444; break;\n\n default:\n\n av_log(ctx, AV_LOG_ERROR, \"Unsupported data layout: %s\\n\",\n\n av_get_pix_fmt_name(ctx->sw_format));\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n for (i = 0; i < FF_ARRAY_ELEMS(vdpau_pix_fmts); i++) {\n\n if (vdpau_pix_fmts[i].chroma_type == priv->chroma_type) {\n\n priv->chroma_idx = i;\n\n priv->pix_fmts = device_priv->pix_fmts[i];\n\n priv->nb_pix_fmts = device_priv->nb_pix_fmts[i];\n\n break;\n\n }\n\n }\n\n if (!priv->pix_fmts) {\n\n av_log(ctx, AV_LOG_ERROR, \"Unsupported chroma type: %d\\n\", priv->chroma_type);\n\n return AVERROR(ENOSYS);\n\n }\n\n\n\n if (!ctx->pool) {\n\n ctx->internal->pool_internal = av_buffer_pool_init2(sizeof(VdpVideoSurface), ctx,\n\n vdpau_pool_alloc, NULL);\n\n if (!ctx->internal->pool_internal)\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n priv->get_data = device_priv->get_data;\n\n priv->put_data = device_priv->put_data;\n\n\n\n return 0;\n\n}\n", "idx": 8217}808{"project": "qemu", "commit_id": "74892d2468b9f0c56b915ce94848d6f7fac39740", "target": 1, "func": "int vm_stop(RunState state)\n\n{\n\n if (qemu_in_vcpu_thread()) {\n\n\n qemu_system_vmstop_request(state);\n\n /*\n\n * FIXME: should not return to device code in case\n\n * vm_stop() has been requested.\n\n */\n\n cpu_stop_current();\n\n return 0;\n\n }\n\n\n\n return do_vm_stop(state);\n\n}", "idx": 8221}809{"project": "FFmpeg", "commit_id": "801c39e1e3058fc4ba822bfb5d8612d777111e32", "target": 0, "func": "static int dca_decode_frame(AVCodecContext *avctx, void *data,\n\n int *got_frame_ptr, AVPacket *avpkt)\n\n{\n\n AVFrame *frame = data;\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n\n\n int lfe_samples;\n\n int num_core_channels = 0;\n\n int i, ret;\n\n float **samples_flt;\n\n DCAContext *s = avctx->priv_data;\n\n int channels, full_channels;\n\n int core_ss_end;\n\n\n\n\n\n s->xch_present = 0;\n\n\n\n s->dca_buffer_size = ff_dca_convert_bitstream(buf, buf_size, s->dca_buffer,\n\n DCA_MAX_FRAME_SIZE + DCA_MAX_EXSS_HEADER_SIZE);\n\n if (s->dca_buffer_size == AVERROR_INVALIDDATA) {\n\n av_log(avctx, AV_LOG_ERROR, \"Not a valid DCA frame\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n init_get_bits(&s->gb, s->dca_buffer, s->dca_buffer_size * 8);\n\n if ((ret = dca_parse_frame_header(s)) < 0) {\n\n //seems like the frame is corrupt, try with the next one\n\n return ret;\n\n }\n\n //set AVCodec values with parsed data\n\n avctx->sample_rate = s->sample_rate;\n\n avctx->bit_rate = s->bit_rate;\n\n\n\n s->profile = FF_PROFILE_DTS;\n\n\n\n for (i = 0; i < (s->sample_blocks / 8); i++) {\n\n if ((ret = dca_decode_block(s, 0, i))) {\n\n av_log(avctx, AV_LOG_ERROR, \"error decoding block\\n\");\n\n return ret;\n\n }\n\n }\n\n\n\n /* record number of core channels incase less than max channels are requested */\n\n num_core_channels = s->prim_channels;\n\n\n\n if (s->ext_coding)\n\n s->core_ext_mask = dca_ext_audio_descr_mask[s->ext_descr];\n\n else\n\n s->core_ext_mask = 0;\n\n\n\n core_ss_end = FFMIN(s->frame_size, s->dca_buffer_size) * 8;\n\n\n\n /* only scan for extensions if ext_descr was unknown or indicated a\n\n * supported XCh extension */\n\n if (s->core_ext_mask < 0 || s->core_ext_mask & DCA_EXT_XCH) {\n\n\n\n /* if ext_descr was unknown, clear s->core_ext_mask so that the\n\n * extensions scan can fill it up */\n\n s->core_ext_mask = FFMAX(s->core_ext_mask, 0);\n\n\n\n /* extensions start at 32-bit boundaries into bitstream */\n\n skip_bits_long(&s->gb, (-get_bits_count(&s->gb)) & 31);\n\n\n\n while (core_ss_end - get_bits_count(&s->gb) >= 32) {\n\n uint32_t bits = get_bits_long(&s->gb, 32);\n\n\n\n switch (bits) {\n\n case 0x5a5a5a5a: {\n\n int ext_amode, xch_fsize;\n\n\n\n s->xch_base_channel = s->prim_channels;\n\n\n\n /* validate sync word using XCHFSIZE field */\n\n xch_fsize = show_bits(&s->gb, 10);\n\n if ((s->frame_size != (get_bits_count(&s->gb) >> 3) - 4 + xch_fsize) &&\n\n (s->frame_size != (get_bits_count(&s->gb) >> 3) - 4 + xch_fsize + 1))\n\n continue;\n\n\n\n /* skip length-to-end-of-frame field for the moment */\n\n skip_bits(&s->gb, 10);\n\n\n\n s->core_ext_mask |= DCA_EXT_XCH;\n\n\n\n /* extension amode(number of channels in extension) should be 1 */\n\n /* AFAIK XCh is not used for more channels */\n\n if ((ext_amode = get_bits(&s->gb, 4)) != 1) {\n\n av_log(avctx, AV_LOG_ERROR, \"XCh extension amode %d not\"\n\n \" supported!\\n\", ext_amode);\n\n continue;\n\n }\n\n\n\n /* much like core primary audio coding header */\n\n dca_parse_audio_coding_header(s, s->xch_base_channel);\n\n\n\n for (i = 0; i < (s->sample_blocks / 8); i++)\n\n if ((ret = dca_decode_block(s, s->xch_base_channel, i))) {\n\n av_log(avctx, AV_LOG_ERROR, \"error decoding XCh extension\\n\");\n\n continue;\n\n }\n\n\n\n s->xch_present = 1;\n\n break;\n\n }\n\n case 0x47004a03:\n\n /* XXCh: extended channels */\n\n /* usually found either in core or HD part in DTS-HD HRA streams,\n\n * but not in DTS-ES which contains XCh extensions instead */\n\n s->core_ext_mask |= DCA_EXT_XXCH;\n\n break;\n\n\n\n case 0x1d95f262: {\n\n int fsize96 = show_bits(&s->gb, 12) + 1;\n\n if (s->frame_size != (get_bits_count(&s->gb) >> 3) - 4 + fsize96)\n\n continue;\n\n\n\n av_log(avctx, AV_LOG_DEBUG, \"X96 extension found at %d bits\\n\",\n\n get_bits_count(&s->gb));\n\n skip_bits(&s->gb, 12);\n\n av_log(avctx, AV_LOG_DEBUG, \"FSIZE96 = %d bytes\\n\", fsize96);\n\n av_log(avctx, AV_LOG_DEBUG, \"REVNO = %d\\n\", get_bits(&s->gb, 4));\n\n\n\n s->core_ext_mask |= DCA_EXT_X96;\n\n break;\n\n }\n\n }\n\n\n\n skip_bits_long(&s->gb, (-get_bits_count(&s->gb)) & 31);\n\n }\n\n } else {\n\n /* no supported extensions, skip the rest of the core substream */\n\n skip_bits_long(&s->gb, core_ss_end - get_bits_count(&s->gb));\n\n }\n\n\n\n if (s->core_ext_mask & DCA_EXT_X96)\n\n s->profile = FF_PROFILE_DTS_96_24;\n\n else if (s->core_ext_mask & (DCA_EXT_XCH | DCA_EXT_XXCH))\n\n s->profile = FF_PROFILE_DTS_ES;\n\n\n\n /* check for ExSS (HD part) */\n\n if (s->dca_buffer_size - s->frame_size > 32 &&\n\n get_bits_long(&s->gb, 32) == DCA_HD_MARKER)\n\n dca_exss_parse_header(s);\n\n\n\n avctx->profile = s->profile;\n\n\n\n full_channels = channels = s->prim_channels + !!s->lfe;\n\n\n\n if (s->amode < 16) {\n\n avctx->channel_layout = dca_core_channel_layout[s->amode];\n\n\n\n if (s->prim_channels + !!s->lfe > 2 &&\n\n avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) {\n\n /*\n\n * Neither the core's auxiliary data nor our default tables contain\n\n * downmix coefficients for the additional channel coded in the XCh\n\n * extension, so when we're doing a Stereo downmix, don't decode it.\n\n */\n\n s->xch_disable = 1;\n\n }\n\n\n\n#if FF_API_REQUEST_CHANNELS\n\nFF_DISABLE_DEPRECATION_WARNINGS\n\n if (s->xch_present && !s->xch_disable &&\n\n (!avctx->request_channels ||\n\n avctx->request_channels > num_core_channels + !!s->lfe)) {\n\nFF_ENABLE_DEPRECATION_WARNINGS\n\n#else\n\n if (s->xch_present && !s->xch_disable) {\n\n#endif\n\n avctx->channel_layout |= AV_CH_BACK_CENTER;\n\n if (s->lfe) {\n\n avctx->channel_layout |= AV_CH_LOW_FREQUENCY;\n\n s->channel_order_tab = dca_channel_reorder_lfe_xch[s->amode];\n\n } else {\n\n s->channel_order_tab = dca_channel_reorder_nolfe_xch[s->amode];\n\n }\n\n } else {\n\n channels = num_core_channels + !!s->lfe;\n\n s->xch_present = 0; /* disable further xch processing */\n\n if (s->lfe) {\n\n avctx->channel_layout |= AV_CH_LOW_FREQUENCY;\n\n s->channel_order_tab = dca_channel_reorder_lfe[s->amode];\n\n } else\n\n s->channel_order_tab = dca_channel_reorder_nolfe[s->amode];\n\n }\n\n\n\n if (channels > !!s->lfe &&\n\n s->channel_order_tab[channels - 1 - !!s->lfe] < 0)\n\n return AVERROR_INVALIDDATA;\n\n\n\n if (s->prim_channels + !!s->lfe > 2 &&\n\n avctx->request_channel_layout == AV_CH_LAYOUT_STEREO) {\n\n channels = 2;\n\n s->output = s->prim_channels == 2 ? s->amode : DCA_STEREO;\n\n avctx->channel_layout = AV_CH_LAYOUT_STEREO;\n\n\n\n /* Stereo downmix coefficients\n\n *\n\n * The decoder can only downmix to 2-channel, so we need to ensure\n\n * embedded downmix coefficients are actually targeting 2-channel.\n\n */\n\n if (s->core_downmix && (s->core_downmix_amode == DCA_STEREO ||\n\n s->core_downmix_amode == DCA_STEREO_TOTAL)) {\n\n int sign, code;\n\n for (i = 0; i < s->prim_channels + !!s->lfe; i++) {\n\n sign = s->core_downmix_codes[i][0] & 0x100 ? 1 : -1;\n\n code = s->core_downmix_codes[i][0] & 0x0FF;\n\n s->downmix_coef[i][0] = (!code ? 0.0f :\n\n sign * dca_dmixtable[code - 1]);\n\n sign = s->core_downmix_codes[i][1] & 0x100 ? 1 : -1;\n\n code = s->core_downmix_codes[i][1] & 0x0FF;\n\n s->downmix_coef[i][1] = (!code ? 0.0f :\n\n sign * dca_dmixtable[code - 1]);\n\n }\n\n s->output = s->core_downmix_amode;\n\n } else {\n\n int am = s->amode & DCA_CHANNEL_MASK;\n\n if (am >= FF_ARRAY_ELEMS(dca_default_coeffs)) {\n\n av_log(s->avctx, AV_LOG_ERROR,\n\n \"Invalid channel mode %d\\n\", am);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (s->prim_channels + !!s->lfe >\n\n FF_ARRAY_ELEMS(dca_default_coeffs[0])) {\n\n avpriv_request_sample(s->avctx, \"Downmixing %d channels\",\n\n s->prim_channels + !!s->lfe);\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n for (i = 0; i < s->prim_channels + !!s->lfe; i++) {\n\n s->downmix_coef[i][0] = dca_default_coeffs[am][i][0];\n\n s->downmix_coef[i][1] = dca_default_coeffs[am][i][1];\n\n }\n\n }\n\n av_dlog(s->avctx, \"Stereo downmix coeffs:\\n\");\n\n for (i = 0; i < s->prim_channels + !!s->lfe; i++) {\n\n av_dlog(s->avctx, \"L, input channel %d = %f\\n\", i,\n\n s->downmix_coef[i][0]);\n\n av_dlog(s->avctx, \"R, input channel %d = %f\\n\", i,\n\n s->downmix_coef[i][1]);\n\n }\n\n av_dlog(s->avctx, \"\\n\");\n\n }\n\n } else {\n\n av_log(avctx, AV_LOG_ERROR, \"Non standard configuration %d !\\n\", s->amode);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n avctx->channels = channels;\n\n\n\n /* get output buffer */\n\n frame->nb_samples = 256 * (s->sample_blocks / 8);\n\n if ((ret = ff_get_buffer(avctx, frame, 0)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return ret;\n\n }\n\n samples_flt = (float **)frame->extended_data;\n\n\n\n /* allocate buffer for extra channels if downmixing */\n\n if (avctx->channels < full_channels) {\n\n ret = av_samples_get_buffer_size(NULL, full_channels - channels,\n\n frame->nb_samples,\n\n avctx->sample_fmt, 0);\n\n if (ret < 0)\n\n return ret;\n\n\n\n av_fast_malloc(&s->extra_channels_buffer,\n\n &s->extra_channels_buffer_size, ret);\n\n if (!s->extra_channels_buffer)\n\n return AVERROR(ENOMEM);\n\n\n\n ret = av_samples_fill_arrays((uint8_t **)s->extra_channels, NULL,\n\n s->extra_channels_buffer,\n\n full_channels - channels,\n\n frame->nb_samples, avctx->sample_fmt, 0);\n\n if (ret < 0)\n\n return ret;\n\n }\n\n\n\n /* filter to get final output */\n\n for (i = 0; i < (s->sample_blocks / 8); i++) {\n\n int ch;\n\n\n\n for (ch = 0; ch < channels; ch++)\n\n s->samples_chanptr[ch] = samples_flt[ch] + i * 256;\n\n for (; ch < full_channels; ch++)\n\n s->samples_chanptr[ch] = s->extra_channels[ch - channels] + i * 256;\n\n\n\n dca_filter_channels(s, i);\n\n\n\n /* If this was marked as a DTS-ES stream we need to subtract back- */\n\n /* channel from SL & SR to remove matrixed back-channel signal */\n\n if ((s->source_pcm_res & 1) && s->xch_present) {\n\n float *back_chan = s->samples_chanptr[s->channel_order_tab[s->xch_base_channel]];\n\n float *lt_chan = s->samples_chanptr[s->channel_order_tab[s->xch_base_channel - 2]];\n\n float *rt_chan = s->samples_chanptr[s->channel_order_tab[s->xch_base_channel - 1]];\n\n s->fdsp.vector_fmac_scalar(lt_chan, back_chan, -M_SQRT1_2, 256);\n\n s->fdsp.vector_fmac_scalar(rt_chan, back_chan, -M_SQRT1_2, 256);\n\n }\n\n }\n\n\n\n /* update lfe history */\n\n lfe_samples = 2 * s->lfe * (s->sample_blocks / 8);\n\n for (i = 0; i < 2 * s->lfe * 4; i++)\n\n s->lfe_data[i] = s->lfe_data[i + lfe_samples];\n\n\n\n /* AVMatrixEncoding\n\n *\n\n * DCA_STEREO_TOTAL (Lt/Rt) is equivalent to Dolby Surround */\n\n ret = ff_side_data_update_matrix_encoding(frame,\n\n (s->output & ~DCA_LFE) == DCA_STEREO_TOTAL ?\n\n AV_MATRIX_ENCODING_DOLBY : AV_MATRIX_ENCODING_NONE);\n\n if (ret < 0)\n\n return ret;\n\n\n\n *got_frame_ptr = 1;\n\n\n\n return buf_size;\n\n}\n", "idx": 8241}810{"project": "qemu", "commit_id": "f74990a5d019751c545e9800a3376b6336e77d38", "target": 0, "func": "static unsigned do_stfle(CPUS390XState *env, uint64_t words[MAX_STFL_WORDS])\n\n{\n\n S390CPU *cpu = s390_env_get_cpu(env);\n\n const unsigned long *features = cpu->model->features;\n\n unsigned max_bit = 0;\n\n S390Feat feat;\n\n\n\n memset(words, 0, sizeof(uint64_t) * MAX_STFL_WORDS);\n\n\n\n if (test_bit(S390_FEAT_ZARCH, features)) {\n\n /* z/Architecture is always active if around */\n\n words[0] = 1ull << (63 - 2);\n\n }\n\n\n\n for (feat = find_first_bit(features, S390_FEAT_MAX);\n\n feat < S390_FEAT_MAX;\n\n feat = find_next_bit(features, S390_FEAT_MAX, feat + 1)) {\n\n const S390FeatDef *def = s390_feat_def(feat);\n\n if (def->type == S390_FEAT_TYPE_STFL) {\n\n unsigned bit = def->bit;\n\n if (bit > max_bit) {\n\n max_bit = bit;\n\n }\n\n assert(bit / 64 < MAX_STFL_WORDS);\n\n words[bit / 64] |= 1ULL << (63 - bit % 64);\n\n }\n\n }\n\n\n\n return max_bit / 64;\n\n}\n", "idx": 8247}811{"project": "qemu", "commit_id": "185b43386ad999c80bdc58e41b87f05e5b3e8463", "target": 0, "func": "static int nbd_establish_connection(BlockDriverState *bs)\n\n{\n\n BDRVNBDState *s = bs->opaque;\n\n int sock;\n\n int ret;\n\n off_t size;\n\n size_t blocksize;\n\n\n\n if (s->host_spec[0] == '/') {\n\n sock = unix_socket_outgoing(s->host_spec);\n\n } else {\n\n sock = tcp_socket_outgoing_spec(s->host_spec);\n\n }\n\n\n\n /* Failed to establish connection */\n\n if (sock < 0) {\n\n logout(\"Failed to establish connection to NBD server\\n\");\n\n return -errno;\n\n }\n\n\n\n /* NBD handshake */\n\n ret = nbd_receive_negotiate(sock, s->export_name, &s->nbdflags, &size,\n\n &blocksize);\n\n if (ret < 0) {\n\n logout(\"Failed to negotiate with the NBD server\\n\");\n\n closesocket(sock);\n\n return -errno;\n\n }\n\n\n\n /* Now that we're connected, set the socket to be non-blocking and\n\n * kick the reply mechanism. */\n\n socket_set_nonblock(sock);\n\n qemu_aio_set_fd_handler(s->sock, nbd_reply_ready, NULL,\n\n nbd_have_request, NULL, s);\n\n\n\n s->sock = sock;\n\n s->size = size;\n\n s->blocksize = blocksize;\n\n\n\n logout(\"Established connection with NBD server\\n\");\n\n return 0;\n\n}\n", "idx": 8254}812{"project": "FFmpeg", "commit_id": "b52b398c30a729dda38c0dd5a0cdeef160c4ca54", "target": 0, "func": "static av_cold int vc2_encode_init(AVCodecContext *avctx)\n\n{\n\n Plane *p;\n\n SubBand *b;\n\n int i, j, level, o, shift;\n\n const AVPixFmtDescriptor *fmt = av_pix_fmt_desc_get(avctx->pix_fmt);\n\n const int depth = fmt->comp[0].depth;\n\n VC2EncContext *s = avctx->priv_data;\n\n\n\n s->picture_number = 0;\n\n\n\n /* Total allowed quantization range */\n\n s->q_ceil = DIRAC_MAX_QUANT_INDEX;\n\n\n\n s->ver.major = 2;\n\n s->ver.minor = 0;\n\n s->profile = 3;\n\n s->level = 3;\n\n\n\n s->base_vf = -1;\n\n s->strict_compliance = 1;\n\n\n\n s->q_avg = 0;\n\n s->slice_max_bytes = 0;\n\n s->slice_min_bytes = 0;\n\n\n\n /* Mark unknown as progressive */\n\n s->interlaced = !((avctx->field_order == AV_FIELD_UNKNOWN) ||\n\n (avctx->field_order == AV_FIELD_PROGRESSIVE));\n\n\n\n for (i = 0; i < base_video_fmts_len; i++) {\n\n const VC2BaseVideoFormat *fmt = &base_video_fmts[i];\n\n if (avctx->pix_fmt != fmt->pix_fmt)\n\n continue;\n\n if (avctx->time_base.num != fmt->time_base.num)\n\n continue;\n\n if (avctx->time_base.den != fmt->time_base.den)\n\n continue;\n\n if (avctx->width != fmt->width)\n\n continue;\n\n if (avctx->height != fmt->height)\n\n continue;\n\n if (s->interlaced != fmt->interlaced)\n\n continue;\n\n s->base_vf = i;\n\n s->level = base_video_fmts[i].level;\n\n break;\n\n }\n\n\n\n if (s->interlaced)\n\n av_log(avctx, AV_LOG_WARNING, \"Interlacing enabled!\\n\");\n\n\n\n if ((s->slice_width & (s->slice_width - 1)) ||\n\n (s->slice_height & (s->slice_height - 1))) {\n\n av_log(avctx, AV_LOG_ERROR, \"Slice size is not a power of two!\\n\");\n\n return AVERROR_UNKNOWN;\n\n }\n\n\n\n if ((s->slice_width > avctx->width) ||\n\n (s->slice_height > avctx->height)) {\n\n av_log(avctx, AV_LOG_ERROR, \"Slice size is bigger than the image!\\n\");\n\n return AVERROR_UNKNOWN;\n\n }\n\n\n\n if (s->base_vf <= 0) {\n\n if (avctx->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {\n\n s->strict_compliance = s->base_vf = 0;\n\n av_log(avctx, AV_LOG_WARNING, \"Disabling strict compliance\\n\");\n\n } else {\n\n av_log(avctx, AV_LOG_WARNING, \"Given format does not strictly comply with \"\n\n \"the specifications, please add a -strict -1 flag to use it\\n\");\n\n return AVERROR_UNKNOWN;\n\n }\n\n } else {\n\n av_log(avctx, AV_LOG_INFO, \"Selected base video format = %i (%s)\\n\",\n\n s->base_vf, base_video_fmts[s->base_vf].name);\n\n }\n\n\n\n /* Chroma subsampling */\n\n avcodec_get_chroma_sub_sample(avctx->pix_fmt, &s->chroma_x_shift, &s->chroma_y_shift);\n\n\n\n /* Bit depth and color range index */\n\n if (depth == 8 && avctx->color_range == AVCOL_RANGE_JPEG) {\n\n s->bpp = 1;\n\n s->bpp_idx = 1;\n\n s->diff_offset = 128;\n\n } else if (depth == 8 && (avctx->color_range == AVCOL_RANGE_MPEG ||\n\n avctx->color_range == AVCOL_RANGE_UNSPECIFIED)) {\n\n s->bpp = 1;\n\n s->bpp_idx = 2;\n\n s->diff_offset = 128;\n\n } else if (depth == 10) {\n\n s->bpp = 2;\n\n s->bpp_idx = 3;\n\n s->diff_offset = 512;\n\n } else {\n\n s->bpp = 2;\n\n s->bpp_idx = 4;\n\n s->diff_offset = 2048;\n\n }\n\n\n\n /* Planes initialization */\n\n for (i = 0; i < 3; i++) {\n\n int w, h;\n\n p = &s->plane[i];\n\n p->width = avctx->width >> (i ? s->chroma_x_shift : 0);\n\n p->height = avctx->height >> (i ? s->chroma_y_shift : 0);\n\n if (s->interlaced)\n\n p->height >>= 1;\n\n p->dwt_width = w = FFALIGN(p->width, (1 << s->wavelet_depth));\n\n p->dwt_height = h = FFALIGN(p->height, (1 << s->wavelet_depth));\n\n p->coef_stride = FFALIGN(p->dwt_width, 32);\n\n p->coef_buf = av_malloc(p->coef_stride*p->dwt_height*sizeof(dwtcoef));\n\n if (!p->coef_buf)\n\n goto alloc_fail;\n\n for (level = s->wavelet_depth-1; level >= 0; level--) {\n\n w = w >> 1;\n\n h = h >> 1;\n\n for (o = 0; o < 4; o++) {\n\n b = &p->band[level][o];\n\n b->width = w;\n\n b->height = h;\n\n b->stride = p->coef_stride;\n\n shift = (o > 1)*b->height*b->stride + (o & 1)*b->width;\n\n b->buf = p->coef_buf + shift;\n\n }\n\n }\n\n\n\n /* DWT init */\n\n if (ff_vc2enc_init_transforms(&s->transform_args[i].t,\n\n s->plane[i].coef_stride,\n\n s->plane[i].dwt_height))\n\n goto alloc_fail;\n\n }\n\n\n\n /* Slices */\n\n s->num_x = s->plane[0].dwt_width/s->slice_width;\n\n s->num_y = s->plane[0].dwt_height/s->slice_height;\n\n\n\n s->slice_args = av_calloc(s->num_x*s->num_y, sizeof(SliceArgs));\n\n if (!s->slice_args)\n\n goto alloc_fail;\n\n\n\n /* Lookup tables */\n\n s->coef_lut_len = av_malloc(COEF_LUT_TAB*(s->q_ceil+1)*sizeof(*s->coef_lut_len));\n\n if (!s->coef_lut_len)\n\n goto alloc_fail;\n\n\n\n s->coef_lut_val = av_malloc(COEF_LUT_TAB*(s->q_ceil+1)*sizeof(*s->coef_lut_val));\n\n if (!s->coef_lut_val)\n\n goto alloc_fail;\n\n\n\n for (i = 0; i < s->q_ceil; i++) {\n\n uint8_t *len_lut = &s->coef_lut_len[i*COEF_LUT_TAB];\n\n uint32_t *val_lut = &s->coef_lut_val[i*COEF_LUT_TAB];\n\n for (j = 0; j < COEF_LUT_TAB; j++) {\n\n get_vc2_ue_uint(QUANT(j, ff_dirac_qscale_tab[i]),\n\n &len_lut[j], &val_lut[j]);\n\n if (len_lut[j] != 1) {\n\n len_lut[j] += 1;\n\n val_lut[j] <<= 1;\n\n } else {\n\n val_lut[j] = 1;\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n\n\nalloc_fail:\n\n vc2_encode_end(avctx);\n\n av_log(avctx, AV_LOG_ERROR, \"Unable to allocate memory!\\n\");\n\n return AVERROR(ENOMEM);\n\n}\n", "idx": 8271}813{"project": "FFmpeg", "commit_id": "ebbcdc9ac0ea190748a1605bda86ce84466c8b4e", "target": 0, "func": "void ff_fix_long_b_mvs(MpegEncContext * s, int16_t (*mv_table)[2], int f_code, int type)\n\n{\n\n int y;\n\n uint8_t * fcode_tab= s->fcode_tab;\n\n\n\n // RAL: 8 in MPEG-1, 16 in MPEG-4\n\n int range = (((s->codec_id == CODEC_ID_MPEG1VIDEO) ? 8 : 16) << f_code);\n\n\n\n /* clip / convert to intra 16x16 type MVs */\n\n for(y=0; y<s->mb_height; y++){\n\n int x;\n\n int xy= (y+1)* (s->mb_width+2)+1;\n\n int i= y*s->mb_width;\n\n for(x=0; x<s->mb_width; x++)\n\n {\n\n if (s->mb_type[i] & type) // RAL: \"type\" test added...\n\n {\n\n if (fcode_tab[mv_table[xy][0] + MAX_MV] > f_code || fcode_tab[mv_table[xy][0] + MAX_MV] == 0)\n\n {\n\n if(mv_table[xy][0]>0) \n\n mv_table[xy][0]= range-1;\n\n else\n\n mv_table[xy][0]= -range;\n\n }\n\n if (fcode_tab[mv_table[xy][1] + MAX_MV] > f_code || fcode_tab[mv_table[xy][1] + MAX_MV] == 0)\n\n {\n\n if(mv_table[xy][1]>0) \n\n mv_table[xy][1]= range-1;\n\n else \n\n mv_table[xy][1]= -range;\n\n }\n\n }\n\n xy++;\n\n i++;\n\n }\n\n }\n\n}\n", "idx": 8273}814{"project": "qemu", "commit_id": "524d18d8bd463431b120eeb5f9f3d1064a1c19e4", "target": 0, "func": "S390CPU *s390x_new_cpu(const char *cpu_model, uint32_t core_id, Error **errp)\n\n{\n\n S390CPU *cpu;\n\n Error *err = NULL;\n\n\n\n cpu = cpu_s390x_create(cpu_model, &err);\n\n if (err != NULL) {\n\n goto out;\n\n }\n\n\n\n object_property_set_int(OBJECT(cpu), core_id, \"core-id\", &err);\n\n if (err != NULL) {\n\n goto out;\n\n }\n\n object_property_set_bool(OBJECT(cpu), true, \"realized\", &err);\n\n\n\nout:\n\n if (err) {\n\n error_propagate(errp, err);\n\n object_unref(OBJECT(cpu));\n\n cpu = NULL;\n\n }\n\n return cpu;\n\n}\n", "idx": 8291}815{"project": "qemu", "commit_id": "c2b38b277a7882a592f4f2ec955084b2b756daaa", "target": 0, "func": "aio_compute_timeout(AioContext *ctx)\n\n{\n\n int64_t deadline;\n\n int timeout = -1;\n\n QEMUBH *bh;\n\n\n\n for (bh = atomic_rcu_read(&ctx->first_bh); bh;\n\n bh = atomic_rcu_read(&bh->next)) {\n\n if (bh->scheduled) {\n\n if (bh->idle) {\n\n /* idle bottom halves will be polled at least\n\n * every 10ms */\n\n timeout = 10000000;\n\n } else {\n\n /* non-idle bottom halves will be executed\n\n * immediately */\n\n return 0;\n\n }\n\n }\n\n }\n\n\n\n deadline = timerlistgroup_deadline_ns(&ctx->tlg);\n\n if (deadline == 0) {\n\n return 0;\n\n } else {\n\n return qemu_soonest_timeout(timeout, deadline);\n\n }\n\n}\n", "idx": 8296}816{"project": "FFmpeg", "commit_id": "3beb9cbad35218ed1fb3473eeb3cfc97a931bff4", "target": 0, "func": "static void create_cel_evals(RoqContext *enc, RoqTempdata *tempData)\n\n{\n\n int n=0, x, y, i;\n\n\n\n tempData->cel_evals = av_malloc(enc->width*enc->height/64 * sizeof(CelEvaluation));\n\n\n\n /* Map to the ROQ quadtree order */\n\n for (y=0; y<enc->height; y+=16)\n\n for (x=0; x<enc->width; x+=16)\n\n for(i=0; i<4; i++) {\n\n tempData->cel_evals[n ].sourceX = x + (i&1)*8;\n\n tempData->cel_evals[n++].sourceY = y + (i&2)*4;\n\n }\n\n}\n", "idx": 8313}817{"project": "FFmpeg", "commit_id": "273e6af47b38391f2bcc157cca0423fe7fcbf55c", "target": 0, "func": "static int ea_read_packet(AVFormatContext *s,\n\n AVPacket *pkt)\n\n{\n\n EaDemuxContext *ea = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n int ret = 0;\n\n int packet_read = 0;\n\n unsigned int chunk_type, chunk_size;\n\n int key = 0;\n\n int av_uninit(num_samples);\n\n\n\n while (!packet_read) {\n\n chunk_type = avio_rl32(pb);\n\n chunk_size = (ea->big_endian ? avio_rb32(pb) : avio_rl32(pb)) - 8;\n\n\n\n switch (chunk_type) {\n\n /* audio data */\n\n case ISNh_TAG:\n\n /* header chunk also contains data; skip over the header portion*/\n\n avio_skip(pb, 32);\n\n chunk_size -= 32;\n\n case ISNd_TAG:\n\n case SCDl_TAG:\n\n case SNDC_TAG:\n\n case SDEN_TAG:\n\n if (!ea->audio_codec) {\n\n avio_skip(pb, chunk_size);\n\n break;\n\n } else if (ea->audio_codec == CODEC_ID_PCM_S16LE_PLANAR ||\n\n ea->audio_codec == CODEC_ID_MP3) {\n\n num_samples = avio_rl32(pb);\n\n avio_skip(pb, 8);\n\n chunk_size -= 12;\n\n }\n\n ret = av_get_packet(pb, pkt, chunk_size);\n\n if (ret < 0)\n\n return ret;\n\n pkt->stream_index = ea->audio_stream_index;\n\n\n\n switch (ea->audio_codec) {\n\n case CODEC_ID_ADPCM_EA:\n\n case CODEC_ID_ADPCM_EA_R1:\n\n case CODEC_ID_ADPCM_EA_R2:\n\n case CODEC_ID_ADPCM_IMA_EA_EACS:\n\n pkt->duration = AV_RL32(pkt->data);\n\n break;\n\n case CODEC_ID_ADPCM_EA_R3:\n\n pkt->duration = AV_RB32(pkt->data);\n\n break;\n\n case CODEC_ID_ADPCM_IMA_EA_SEAD:\n\n pkt->duration = ret * 2 / ea->num_channels;\n\n break;\n\n case CODEC_ID_PCM_S16LE_PLANAR:\n\n case CODEC_ID_MP3:\n\n pkt->duration = num_samples;\n\n break;\n\n default:\n\n pkt->duration = chunk_size / (ea->bytes * ea->num_channels);\n\n }\n\n\n\n packet_read = 1;\n\n break;\n\n\n\n /* ending tag */\n\n case 0:\n\n case ISNe_TAG:\n\n case SCEl_TAG:\n\n case SEND_TAG:\n\n case SEEN_TAG:\n\n ret = AVERROR(EIO);\n\n packet_read = 1;\n\n break;\n\n\n\n case MVIh_TAG:\n\n case kVGT_TAG:\n\n case pQGT_TAG:\n\n case TGQs_TAG:\n\n case MADk_TAG:\n\n key = AV_PKT_FLAG_KEY;\n\n case MVIf_TAG:\n\n case fVGT_TAG:\n\n case MADm_TAG:\n\n case MADe_TAG:\n\n avio_seek(pb, -8, SEEK_CUR); // include chunk preamble\n\n chunk_size += 8;\n\n goto get_video_packet;\n\n\n\n case mTCD_TAG:\n\n avio_skip(pb, 8); // skip ea dct header\n\n chunk_size -= 8;\n\n goto get_video_packet;\n\n\n\n case MV0K_TAG:\n\n case MPCh_TAG:\n\n case pIQT_TAG:\n\n key = AV_PKT_FLAG_KEY;\n\n case MV0F_TAG:\n\nget_video_packet:\n\n ret = av_get_packet(pb, pkt, chunk_size);\n\n if (ret < 0)\n\n return ret;\n\n pkt->stream_index = ea->video_stream_index;\n\n pkt->flags |= key;\n\n packet_read = 1;\n\n break;\n\n\n\n default:\n\n avio_skip(pb, chunk_size);\n\n break;\n\n }\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 8340}818{"project": "qemu", "commit_id": "b061dc41f62048acd4a34c6570c0ea396cd9d0b4", "target": 1, "func": "static void type_initialize_interface(TypeImpl *ti, const char *parent)\n\n{\n\n InterfaceClass *new_iface;\n\n TypeInfo info = { };\n\n TypeImpl *iface_impl;\n\n\n\n info.parent = parent;\n\n info.name = g_strdup_printf(\"%s::%s\", ti->name, info.parent);\n\n info.abstract = true;\n\n\n\n iface_impl = type_register(&info);\n\n type_initialize(iface_impl);\n\n g_free((char *)info.name);\n\n\n\n new_iface = (InterfaceClass *)iface_impl->class;\n\n new_iface->concrete_class = ti->class;\n\n\n\n ti->class->interfaces = g_slist_append(ti->class->interfaces,\n\n iface_impl->class);\n\n}\n", "idx": 8357}819{"project": "FFmpeg", "commit_id": "c97f54020d5d55511e28622551f13233bd8ceb56", "target": 0, "func": "static int video_open(VideoState *is){\n\n int flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;\n\n int w,h;\n\n\n\n if(is_full_screen) flags |= SDL_FULLSCREEN;\n\n else flags |= SDL_RESIZABLE;\n\n\n\n if (is_full_screen && fs_screen_width) {\n\n w = fs_screen_width;\n\n h = fs_screen_height;\n\n } else if(!is_full_screen && screen_width){\n\n w = screen_width;\n\n h = screen_height;\n\n }else if (is->video_st && is->video_st->codec->width){\n\n w = is->video_st->codec->width;\n\n h = is->video_st->codec->height;\n\n } else {\n\n w = 640;\n\n h = 480;\n\n }\n\n#ifndef SYS_DARWIN\n\n screen = SDL_SetVideoMode(w, h, 0, flags);\n\n#else\n\n /* setting bits_per_pixel = 0 or 32 causes blank video on OS X */\n\n screen = SDL_SetVideoMode(w, h, 24, flags);\n\n#endif\n\n if (!screen) {\n\n fprintf(stderr, \"SDL: could not set video mode - exiting\\n\");\n\n return -1;\n\n }\n\n SDL_WM_SetCaption(\"FFplay\", \"FFplay\");\n\n\n\n is->width = screen->w;\n\n is->height = screen->h;\n\n\n\n return 0;\n\n}\n", "idx": 8370}820{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint64_t nand_read(void *opaque, target_phys_addr_t addr, unsigned size)\n\n{\n\n struct nand_state_t *s = opaque;\n\n uint32_t r;\n\n int rdy;\n\n\n\n r = nand_getio(s->nand);\n\n nand_getpins(s->nand, &rdy);\n\n s->rdy = rdy;\n\n\n\n DNAND(printf(\"%s addr=%x r=%x\\n\", __func__, addr, r));\n\n return r;\n\n}\n", "idx": 8380}821{"project": "qemu", "commit_id": "442773cef15092b5927851237850760345d2cf16", "target": 0, "func": "void qmp_migrate_set_speed(int64_t value, Error **errp)\n\n{\n\n MigrationState *s;\n\n\n\n if (value < 0) {\n\n value = 0;\n\n }\n\n\n\n s = migrate_get_current();\n\n s->bandwidth_limit = value;\n\n qemu_file_set_rate_limit(s->file, s->bandwidth_limit);\n\n}\n", "idx": 8409}822{"project": "qemu", "commit_id": "3d5d319e1221082974711af1d09d82f0755c1698", "target": 1, "func": "void block_job_resume_all(void)\n\n{\n\n BlockJob *job = NULL;\n\n while ((job = block_job_next(job))) {\n\n AioContext *aio_context = blk_get_aio_context(job->blk);\n\n\n\n aio_context_acquire(aio_context);\n\n block_job_resume(job);\n\n aio_context_release(aio_context);\n\n }\n\n}\n", "idx": 8412}823{"project": "FFmpeg", "commit_id": "b1306823d0b3ae998c8e10ad832004eb13bdd93e", "target": 0, "func": "static int write_option(void *optctx, const OptionDef *po, const char *opt,\n\n const char *arg)\n\n{\n\n /* new-style options contain an offset into optctx, old-style address of\n\n * a global var*/\n\n void *dst = po->flags & (OPT_OFFSET | OPT_SPEC) ?\n\n (uint8_t *)optctx + po->u.off : po->u.dst_ptr;\n\n int *dstcount;\n\n\n\n if (po->flags & OPT_SPEC) {\n\n SpecifierOpt **so = dst;\n\n char *p = strchr(opt, ':');\n\n\n\n dstcount = (int *)(so + 1);\n\n *so = grow_array(*so, sizeof(**so), dstcount, *dstcount + 1);\n\n (*so)[*dstcount - 1].specifier = av_strdup(p ? p + 1 : \"\");\n\n dst = &(*so)[*dstcount - 1].u;\n\n }\n\n\n\n if (po->flags & OPT_STRING) {\n\n char *str;\n\n str = av_strdup(arg);\n\n av_freep(dst);\n\n *(char **)dst = str;\n\n } else if (po->flags & OPT_BOOL || po->flags & OPT_INT) {\n\n *(int *)dst = parse_number_or_die(opt, arg, OPT_INT64, INT_MIN, INT_MAX);\n\n } else if (po->flags & OPT_INT64) {\n\n *(int64_t *)dst = parse_number_or_die(opt, arg, OPT_INT64, INT64_MIN, INT64_MAX);\n\n } else if (po->flags & OPT_TIME) {\n\n *(int64_t *)dst = parse_time_or_die(opt, arg, 1);\n\n } else if (po->flags & OPT_FLOAT) {\n\n *(float *)dst = parse_number_or_die(opt, arg, OPT_FLOAT, -INFINITY, INFINITY);\n\n } else if (po->flags & OPT_DOUBLE) {\n\n *(double *)dst = parse_number_or_die(opt, arg, OPT_DOUBLE, -INFINITY, INFINITY);\n\n } else if (po->u.func_arg) {\n\n int ret = po->u.func_arg(optctx, opt, arg);\n\n if (ret < 0) {\n\n av_log(NULL, AV_LOG_ERROR,\n\n \"Failed to set value '%s' for option '%s'\\n\", arg, opt);\n\n return ret;\n\n }\n\n }\n\n if (po->flags & OPT_EXIT)\n\n exit_program(0);\n\n\n\n return 0;\n\n}\n", "idx": 8425}824{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static void put_uint8(QEMUFile *f, void *pv, size_t size)\n\n{\n\n uint8_t *v = pv;\n\n qemu_put_8s(f, v);\n\n}\n", "idx": 8431}825{"project": "qemu", "commit_id": "61a36c9b5a12889994e6c45f4a175efcd63936db", "target": 1, "func": "static RemoveResult remove_hpte(PowerPCCPU *cpu, target_ulong ptex,\n\n target_ulong avpn,\n\n target_ulong flags,\n\n target_ulong *vp, target_ulong *rp)\n\n{\n\n CPUPPCState *env = &cpu->env;\n\n uint64_t token;\n\n target_ulong v, r, rb;\n\n\n\n if (!valid_pte_index(env, ptex)) {\n\n return REMOVE_PARM;\n\n }\n\n\n\n token = ppc_hash64_start_access(cpu, ptex);\n\n v = ppc_hash64_load_hpte0(cpu, token, 0);\n\n r = ppc_hash64_load_hpte1(cpu, token, 0);\n\n ppc_hash64_stop_access(token);\n\n\n\n if ((v & HPTE64_V_VALID) == 0 ||\n\n ((flags & H_AVPN) && (v & ~0x7fULL) != avpn) ||\n\n ((flags & H_ANDCOND) && (v & avpn) != 0)) {\n\n return REMOVE_NOT_FOUND;\n\n }\n\n *vp = v;\n\n *rp = r;\n\n ppc_hash64_store_hpte(cpu, ptex, HPTE64_V_HPTE_DIRTY, 0);\n\n rb = compute_tlbie_rb(v, r, ptex);\n\n ppc_tlb_invalidate_one(env, rb);\n\n return REMOVE_SUCCESS;\n\n}\n", "idx": 8435}826{"project": "qemu", "commit_id": "33848ceed79679b5c9e558b768447af2614b8db2", "target": 1, "func": "int pcie_aer_init(PCIDevice *dev, uint16_t offset, uint16_t size)\n\n{\n\n PCIExpressDevice *exp;\n\n\n\n pcie_add_capability(dev, PCI_EXT_CAP_ID_ERR, PCI_ERR_VER,\n\n offset, size);\n\n exp = &dev->exp;\n\n exp->aer_cap = offset;\n\n\n\n /* log_max is property */\n\n if (dev->exp.aer_log.log_max == PCIE_AER_LOG_MAX_UNSET) {\n\n dev->exp.aer_log.log_max = PCIE_AER_LOG_MAX_DEFAULT;\n\n }\n\n /* clip down the value to avoid unreasobale memory usage */\n\n if (dev->exp.aer_log.log_max > PCIE_AER_LOG_MAX_LIMIT) {\n\n return -EINVAL;\n\n }\n\n dev->exp.aer_log.log = g_malloc0(sizeof dev->exp.aer_log.log[0] *\n\n dev->exp.aer_log.log_max);\n\n\n\n pci_set_long(dev->w1cmask + offset + PCI_ERR_UNCOR_STATUS,\n\n PCI_ERR_UNC_SUPPORTED);\n\n\n\n pci_set_long(dev->config + offset + PCI_ERR_UNCOR_SEVER,\n\n PCI_ERR_UNC_SEVERITY_DEFAULT);\n\n pci_set_long(dev->wmask + offset + PCI_ERR_UNCOR_SEVER,\n\n PCI_ERR_UNC_SUPPORTED);\n\n\n\n pci_long_test_and_set_mask(dev->w1cmask + offset + PCI_ERR_COR_STATUS,\n\n PCI_ERR_COR_SUPPORTED);\n\n\n\n pci_set_long(dev->config + offset + PCI_ERR_COR_MASK,\n\n PCI_ERR_COR_MASK_DEFAULT);\n\n pci_set_long(dev->wmask + offset + PCI_ERR_COR_MASK,\n\n PCI_ERR_COR_SUPPORTED);\n\n\n\n /* capabilities and control. multiple header logging is supported */\n\n if (dev->exp.aer_log.log_max > 0) {\n\n pci_set_long(dev->config + offset + PCI_ERR_CAP,\n\n PCI_ERR_CAP_ECRC_GENC | PCI_ERR_CAP_ECRC_CHKC |\n\n PCI_ERR_CAP_MHRC);\n\n pci_set_long(dev->wmask + offset + PCI_ERR_CAP,\n\n PCI_ERR_CAP_ECRC_GENE | PCI_ERR_CAP_ECRC_CHKE |\n\n PCI_ERR_CAP_MHRE);\n\n } else {\n\n pci_set_long(dev->config + offset + PCI_ERR_CAP,\n\n PCI_ERR_CAP_ECRC_GENC | PCI_ERR_CAP_ECRC_CHKC);\n\n pci_set_long(dev->wmask + offset + PCI_ERR_CAP,\n\n PCI_ERR_CAP_ECRC_GENE | PCI_ERR_CAP_ECRC_CHKE);\n\n }\n\n\n\n switch (pcie_cap_get_type(dev)) {\n\n case PCI_EXP_TYPE_ROOT_PORT:\n\n /* this case will be set by pcie_aer_root_init() */\n\n /* fallthrough */\n\n case PCI_EXP_TYPE_DOWNSTREAM:\n\n case PCI_EXP_TYPE_UPSTREAM:\n\n pci_word_test_and_set_mask(dev->wmask + PCI_BRIDGE_CONTROL,\n\n PCI_BRIDGE_CTL_SERR);\n\n pci_long_test_and_set_mask(dev->w1cmask + PCI_STATUS,\n\n PCI_SEC_STATUS_RCV_SYSTEM_ERROR);\n\n break;\n\n default:\n\n /* nothing */\n\n break;\n\n }\n\n return 0;\n\n}\n", "idx": 8447}827{"project": "qemu", "commit_id": "372579427a5040a26dfee78464b50e2bdf27ef26", "target": 1, "func": "static void qemu_tcg_init_vcpu(CPUState *cpu)\n\n{\n\n char thread_name[VCPU_THREAD_NAME_SIZE];\n\n static QemuCond *tcg_halt_cond;\n\n static QemuThread *tcg_cpu_thread;\n\n\n\n /* share a single thread for all cpus with TCG */\n\n if (!tcg_cpu_thread) {\n\n cpu->thread = g_malloc0(sizeof(QemuThread));\n\n cpu->halt_cond = g_malloc0(sizeof(QemuCond));\n\n qemu_cond_init(cpu->halt_cond);\n\n tcg_halt_cond = cpu->halt_cond;\n\n snprintf(thread_name, VCPU_THREAD_NAME_SIZE, \"CPU %d/TCG\",\n\n cpu->cpu_index);\n\n qemu_thread_create(cpu->thread, thread_name, qemu_tcg_cpu_thread_fn,\n\n cpu, QEMU_THREAD_JOINABLE);\n\n#ifdef _WIN32\n\n cpu->hThread = qemu_thread_get_handle(cpu->thread);\n\n#endif\n\n while (!cpu->created) {\n\n qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);\n\n }\n\n tcg_cpu_thread = cpu->thread;\n\n } else {\n\n cpu->thread = tcg_cpu_thread;\n\n cpu->halt_cond = tcg_halt_cond;\n\n }\n\n}\n", "idx": 8457}828{"project": "qemu", "commit_id": "3e305e4a4752f70c0b5c3cf5b43ec957881714f7", "target": 1, "func": "ssize_t vnc_client_write_buf(VncState *vs, const uint8_t *data, size_t datalen)\n\n{\n\n ssize_t ret;\n\n#ifdef CONFIG_VNC_TLS\n\n if (vs->tls.session) {\n\n ret = vnc_client_write_tls(&vs->tls.session, data, datalen);\n\n } else {\n\n#endif /* CONFIG_VNC_TLS */\n\n ret = send(vs->csock, (const void *)data, datalen, 0);\n\n#ifdef CONFIG_VNC_TLS\n\n }\n\n#endif /* CONFIG_VNC_TLS */\n\n VNC_DEBUG(\"Wrote wire %p %zd -> %ld\\n\", data, datalen, ret);\n\n return vnc_client_io_error(vs, ret, socket_error());\n\n}\n", "idx": 8466}829{"project": "FFmpeg", "commit_id": "6f1ec38ce2193d3d4cacd87edb452c6d7ba751ec", "target": 0, "func": "static av_cold int decode_init(AVCodecContext * avctx)\n\n{\n\n MPADecodeContext *s = avctx->priv_data;\n\n static int init=0;\n\n int i, j, k;\n\n\n\n s->avctx = avctx;\n\n\n\n ff_mpadsp_init(&s->mpadsp);\n\n\n\n avctx->sample_fmt= OUT_FMT;\n\n s->error_recognition= avctx->error_recognition;\n\n\n\n if (!init && !avctx->parse_only) {\n\n int offset;\n\n\n\n /* scale factors table for layer 1/2 */\n\n for(i=0;i<64;i++) {\n\n int shift, mod;\n\n /* 1.0 (i = 3) is normalized to 2 ^ FRAC_BITS */\n\n shift = (i / 3);\n\n mod = i % 3;\n\n scale_factor_modshift[i] = mod | (shift << 2);\n\n }\n\n\n\n /* scale factor multiply for layer 1 */\n\n for(i=0;i<15;i++) {\n\n int n, norm;\n\n n = i + 2;\n\n norm = ((INT64_C(1) << n) * FRAC_ONE) / ((1 << n) - 1);\n\n scale_factor_mult[i][0] = MULLx(norm, FIXR(1.0 * 2.0), FRAC_BITS);\n\n scale_factor_mult[i][1] = MULLx(norm, FIXR(0.7937005259 * 2.0), FRAC_BITS);\n\n scale_factor_mult[i][2] = MULLx(norm, FIXR(0.6299605249 * 2.0), FRAC_BITS);\n\n av_dlog(avctx, \"%d: norm=%x s=%x %x %x\\n\",\n\n i, norm,\n\n scale_factor_mult[i][0],\n\n scale_factor_mult[i][1],\n\n scale_factor_mult[i][2]);\n\n }\n\n\n\n RENAME(ff_mpa_synth_init)(RENAME(ff_mpa_synth_window));\n\n\n\n /* huffman decode tables */\n\n offset = 0;\n\n for(i=1;i<16;i++) {\n\n const HuffTable *h = &mpa_huff_tables[i];\n\n int xsize, x, y;\n\n uint8_t tmp_bits [512];\n\n uint16_t tmp_codes[512];\n\n\n\n memset(tmp_bits , 0, sizeof(tmp_bits ));\n\n memset(tmp_codes, 0, sizeof(tmp_codes));\n\n\n\n xsize = h->xsize;\n\n\n\n j = 0;\n\n for(x=0;x<xsize;x++) {\n\n for(y=0;y<xsize;y++){\n\n tmp_bits [(x << 5) | y | ((x&&y)<<4)]= h->bits [j ];\n\n tmp_codes[(x << 5) | y | ((x&&y)<<4)]= h->codes[j++];\n\n }\n\n }\n\n\n\n /* XXX: fail test */\n\n huff_vlc[i].table = huff_vlc_tables+offset;\n\n huff_vlc[i].table_allocated = huff_vlc_tables_sizes[i];\n\n init_vlc(&huff_vlc[i], 7, 512,\n\n tmp_bits, 1, 1, tmp_codes, 2, 2,\n\n INIT_VLC_USE_NEW_STATIC);\n\n offset += huff_vlc_tables_sizes[i];\n\n }\n\n assert(offset == FF_ARRAY_ELEMS(huff_vlc_tables));\n\n\n\n offset = 0;\n\n for(i=0;i<2;i++) {\n\n huff_quad_vlc[i].table = huff_quad_vlc_tables+offset;\n\n huff_quad_vlc[i].table_allocated = huff_quad_vlc_tables_sizes[i];\n\n init_vlc(&huff_quad_vlc[i], i == 0 ? 7 : 4, 16,\n\n mpa_quad_bits[i], 1, 1, mpa_quad_codes[i], 1, 1,\n\n INIT_VLC_USE_NEW_STATIC);\n\n offset += huff_quad_vlc_tables_sizes[i];\n\n }\n\n assert(offset == FF_ARRAY_ELEMS(huff_quad_vlc_tables));\n\n\n\n for(i=0;i<9;i++) {\n\n k = 0;\n\n for(j=0;j<22;j++) {\n\n band_index_long[i][j] = k;\n\n k += band_size_long[i][j];\n\n }\n\n band_index_long[i][22] = k;\n\n }\n\n\n\n /* compute n ^ (4/3) and store it in mantissa/exp format */\n\n\n\n int_pow_init();\n\n mpegaudio_tableinit();\n\n\n\n for (i = 0; i < 4; i++)\n\n if (ff_mpa_quant_bits[i] < 0)\n\n for (j = 0; j < (1<<(-ff_mpa_quant_bits[i]+1)); j++) {\n\n int val1, val2, val3, steps;\n\n int val = j;\n\n steps = ff_mpa_quant_steps[i];\n\n val1 = val % steps;\n\n val /= steps;\n\n val2 = val % steps;\n\n val3 = val / steps;\n\n division_tabs[i][j] = val1 + (val2 << 4) + (val3 << 8);\n\n }\n\n\n\n\n\n for(i=0;i<7;i++) {\n\n float f;\n\n INTFLOAT v;\n\n if (i != 6) {\n\n f = tan((double)i * M_PI / 12.0);\n\n v = FIXR(f / (1.0 + f));\n\n } else {\n\n v = FIXR(1.0);\n\n }\n\n is_table[0][i] = v;\n\n is_table[1][6 - i] = v;\n\n }\n\n /* invalid values */\n\n for(i=7;i<16;i++)\n\n is_table[0][i] = is_table[1][i] = 0.0;\n\n\n\n for(i=0;i<16;i++) {\n\n double f;\n\n int e, k;\n\n\n\n for(j=0;j<2;j++) {\n\n e = -(j + 1) * ((i + 1) >> 1);\n\n f = pow(2.0, e / 4.0);\n\n k = i & 1;\n\n is_table_lsf[j][k ^ 1][i] = FIXR(f);\n\n is_table_lsf[j][k][i] = FIXR(1.0);\n\n av_dlog(avctx, \"is_table_lsf %d %d: %x %x\\n\",\n\n i, j, is_table_lsf[j][0][i], is_table_lsf[j][1][i]);\n\n }\n\n }\n\n\n\n for(i=0;i<8;i++) {\n\n float ci, cs, ca;\n\n ci = ci_table[i];\n\n cs = 1.0 / sqrt(1.0 + ci * ci);\n\n ca = cs * ci;\n\n csa_table[i][0] = FIXHR(cs/4);\n\n csa_table[i][1] = FIXHR(ca/4);\n\n csa_table[i][2] = FIXHR(ca/4) + FIXHR(cs/4);\n\n csa_table[i][3] = FIXHR(ca/4) - FIXHR(cs/4);\n\n csa_table_float[i][0] = cs;\n\n csa_table_float[i][1] = ca;\n\n csa_table_float[i][2] = ca + cs;\n\n csa_table_float[i][3] = ca - cs;\n\n }\n\n\n\n /* compute mdct windows */\n\n for(i=0;i<36;i++) {\n\n for(j=0; j<4; j++){\n\n double d;\n\n\n\n if(j==2 && i%3 != 1)\n\n continue;\n\n\n\n d= sin(M_PI * (i + 0.5) / 36.0);\n\n if(j==1){\n\n if (i>=30) d= 0;\n\n else if(i>=24) d= sin(M_PI * (i - 18 + 0.5) / 12.0);\n\n else if(i>=18) d= 1;\n\n }else if(j==3){\n\n if (i< 6) d= 0;\n\n else if(i< 12) d= sin(M_PI * (i - 6 + 0.5) / 12.0);\n\n else if(i< 18) d= 1;\n\n }\n\n //merge last stage of imdct into the window coefficients\n\n d*= 0.5 / cos(M_PI*(2*i + 19)/72);\n\n\n\n if(j==2)\n\n mdct_win[j][i/3] = FIXHR((d / (1<<5)));\n\n else\n\n mdct_win[j][i ] = FIXHR((d / (1<<5)));\n\n }\n\n }\n\n\n\n /* NOTE: we do frequency inversion adter the MDCT by changing\n\n the sign of the right window coefs */\n\n for(j=0;j<4;j++) {\n\n for(i=0;i<36;i+=2) {\n\n mdct_win[j + 4][i] = mdct_win[j][i];\n\n mdct_win[j + 4][i + 1] = -mdct_win[j][i + 1];\n\n }\n\n }\n\n\n\n init = 1;\n\n }\n\n\n\n if (avctx->codec_id == CODEC_ID_MP3ADU)\n\n s->adu_mode = 1;\n\n return 0;\n\n}\n", "idx": 8482}830{"project": "FFmpeg", "commit_id": "480324e7ca0b87105fd7ee168292a0d5692af128", "target": 0, "func": "static int libgsm_decode_frame(AVCodecContext *avctx,\n\n void *data, int *data_size,\n\n AVPacket *avpkt) {\n\n uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n int out_size = avctx->frame_size * av_get_bytes_per_sample(avctx->sample_fmt);\n\n\n\n if (*data_size < out_size) {\n\n av_log(avctx, AV_LOG_ERROR, \"Output buffer is too small\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n if (buf_size < avctx->block_align) {\n\n av_log(avctx, AV_LOG_ERROR, \"Packet is too small\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n switch(avctx->codec_id) {\n\n case CODEC_ID_GSM:\n\n if(gsm_decode(avctx->priv_data,buf,data)) return -1;\n\n break;\n\n case CODEC_ID_GSM_MS:\n\n if(gsm_decode(avctx->priv_data,buf,data) ||\n\n gsm_decode(avctx->priv_data,buf+33,((int16_t*)data)+GSM_FRAME_SIZE)) return -1;\n\n }\n\n\n\n *data_size = out_size;\n\n return avctx->block_align;\n\n}\n", "idx": 8487}831{"project": "qemu", "commit_id": "e1622f4b15391bd44eb0f99a244fdf19a20fd981", "target": 1, "func": "static int memory_access_size(MemoryRegion *mr, unsigned l, hwaddr addr)\n\n{\n\n unsigned access_size_min = mr->ops->impl.min_access_size;\n\n unsigned access_size_max = mr->ops->impl.max_access_size;\n\n\n\n /* Regions are assumed to support 1-4 byte accesses unless\n\n otherwise specified. */\n\n if (access_size_min == 0) {\n\n access_size_min = 1;\n\n }\n\n if (access_size_max == 0) {\n\n access_size_max = 4;\n\n }\n\n\n\n /* Bound the maximum access by the alignment of the address. */\n\n if (!mr->ops->impl.unaligned) {\n\n unsigned align_size_max = addr & -addr;\n\n if (align_size_max != 0 && align_size_max < access_size_max) {\n\n access_size_max = align_size_max;\n\n }\n\n }\n\n\n\n /* Don't attempt accesses larger than the maximum. */\n\n if (l > access_size_max) {\n\n l = access_size_max;\n\n }\n\n /* ??? The users of this function are wrong, not supporting minimums larger\n\n than the remaining length. C.f. memory.c:access_with_adjusted_size. */\n\n assert(l >= access_size_min);\n\n\n\n return l;\n\n}\n", "idx": 8518}832{"project": "qemu", "commit_id": "d6b6abc51dda79a97f2c7bd6652c1940c068f1ec", "target": 1, "func": "void fw_cfg_add_file_callback(FWCfgState *s, const char *filename,\n\n FWCfgCallback select_cb,\n\n FWCfgWriteCallback write_cb,\n\n void *callback_opaque,\n\n void *data, size_t len, bool read_only)\n\n{\n\n int i, index, count;\n\n size_t dsize;\n\n MachineClass *mc = MACHINE_GET_CLASS(qdev_get_machine());\n\n int order = 0;\n\n\n\n if (!s->files) {\n\n dsize = sizeof(uint32_t) + sizeof(FWCfgFile) * fw_cfg_file_slots(s);\n\n s->files = g_malloc0(dsize);\n\n fw_cfg_add_bytes(s, FW_CFG_FILE_DIR, s->files, dsize);\n\n }\n\n\n\n count = be32_to_cpu(s->files->count);\n\n assert(count < fw_cfg_file_slots(s));\n\n\n\n /* Find the insertion point. */\n\n if (mc->legacy_fw_cfg_order) {\n\n /*\n\n * Sort by order. For files with the same order, we keep them\n\n * in the sequence in which they were added.\n\n */\n\n order = get_fw_cfg_order(s, filename);\n\n for (index = count;\n\n index > 0 && order < s->entry_order[index - 1];\n\n index--);\n\n } else {\n\n /* Sort by file name. */\n\n for (index = count;\n\n index > 0 && strcmp(filename, s->files->f[index - 1].name) < 0;\n\n index--);\n\n }\n\n\n\n /*\n\n * Move all the entries from the index point and after down one\n\n * to create a slot for the new entry. Because calculations are\n\n * being done with the index, make it so that \"i\" is the current\n\n * index and \"i - 1\" is the one being copied from, thus the\n\n * unusual start and end in the for statement.\n\n */\n\n for (i = count + 1; i > index; i--) {\n\n s->files->f[i] = s->files->f[i - 1];\n\n s->files->f[i].select = cpu_to_be16(FW_CFG_FILE_FIRST + i);\n\n s->entries[0][FW_CFG_FILE_FIRST + i] =\n\n s->entries[0][FW_CFG_FILE_FIRST + i - 1];\n\n s->entry_order[i] = s->entry_order[i - 1];\n\n }\n\n\n\n memset(&s->files->f[index], 0, sizeof(FWCfgFile));\n\n memset(&s->entries[0][FW_CFG_FILE_FIRST + index], 0, sizeof(FWCfgEntry));\n\n\n\n pstrcpy(s->files->f[index].name, sizeof(s->files->f[index].name), filename);\n\n for (i = 0; i <= count; i++) {\n\n if (i != index &&\n\n strcmp(s->files->f[index].name, s->files->f[i].name) == 0) {\n\n error_report(\"duplicate fw_cfg file name: %s\",\n\n s->files->f[index].name);\n\n exit(1);\n\n }\n\n }\n\n\n\n fw_cfg_add_bytes_callback(s, FW_CFG_FILE_FIRST + index,\n\n select_cb, write_cb,\n\n callback_opaque, data, len,\n\n read_only);\n\n\n\n s->files->f[index].size = cpu_to_be32(len);\n\n s->files->f[index].select = cpu_to_be16(FW_CFG_FILE_FIRST + index);\n\n s->entry_order[index] = order;\n\n trace_fw_cfg_add_file(s, index, s->files->f[index].name, len);\n\n\n\n s->files->count = cpu_to_be32(count+1);\n\n}\n", "idx": 8522}833{"project": "qemu", "commit_id": "2e1198672759eda6e122ff38fcf6df06f27e0fe2", "target": 1, "func": "static void stellaris_enet_save(QEMUFile *f, void *opaque)\n\n{\n\n stellaris_enet_state *s = (stellaris_enet_state *)opaque;\n\n int i;\n\n\n\n qemu_put_be32(f, s->ris);\n\n qemu_put_be32(f, s->im);\n\n qemu_put_be32(f, s->rctl);\n\n qemu_put_be32(f, s->tctl);\n\n qemu_put_be32(f, s->thr);\n\n qemu_put_be32(f, s->mctl);\n\n qemu_put_be32(f, s->mdv);\n\n qemu_put_be32(f, s->mtxd);\n\n qemu_put_be32(f, s->mrxd);\n\n qemu_put_be32(f, s->np);\n\n qemu_put_be32(f, s->tx_fifo_len);\n\n qemu_put_buffer(f, s->tx_fifo, sizeof(s->tx_fifo));\n\n for (i = 0; i < 31; i++) {\n\n qemu_put_be32(f, s->rx[i].len);\n\n qemu_put_buffer(f, s->rx[i].data, sizeof(s->rx[i].data));\n\n\n\n }\n\n qemu_put_be32(f, s->next_packet);\n\n qemu_put_be32(f, s->rx_fifo_offset);\n\n}\n", "idx": 8526}834{"project": "FFmpeg", "commit_id": "fa2a34cd40d124161c748bb0f430dc63c94dd0da", "target": 0, "func": "static void exit_program(void)\n\n{\n\n int i, j;\n\n\n\n for (i = 0; i < nb_filtergraphs; i++) {\n\n avfilter_graph_free(&filtergraphs[i]->graph);\n\n for (j = 0; j < filtergraphs[i]->nb_inputs; j++) {\n\n av_freep(&filtergraphs[i]->inputs[j]->name);\n\n av_freep(&filtergraphs[i]->inputs[j]);\n\n }\n\n av_freep(&filtergraphs[i]->inputs);\n\n for (j = 0; j < filtergraphs[i]->nb_outputs; j++) {\n\n av_freep(&filtergraphs[i]->outputs[j]->name);\n\n av_freep(&filtergraphs[i]->outputs[j]);\n\n }\n\n av_freep(&filtergraphs[i]->outputs);\n\n av_freep(&filtergraphs[i]->graph_desc);\n\n av_freep(&filtergraphs[i]);\n\n }\n\n av_freep(&filtergraphs);\n\n\n\n /* close files */\n\n for (i = 0; i < nb_output_files; i++) {\n\n AVFormatContext *s = output_files[i]->ctx;\n\n if (!(s->oformat->flags & AVFMT_NOFILE) && s->pb)\n\n avio_close(s->pb);\n\n avformat_free_context(s);\n\n av_dict_free(&output_files[i]->opts);\n\n av_freep(&output_files[i]);\n\n }\n\n for (i = 0; i < nb_output_streams; i++) {\n\n AVBitStreamFilterContext *bsfc = output_streams[i]->bitstream_filters;\n\n while (bsfc) {\n\n AVBitStreamFilterContext *next = bsfc->next;\n\n av_bitstream_filter_close(bsfc);\n\n bsfc = next;\n\n }\n\n output_streams[i]->bitstream_filters = NULL;\n\n avcodec_free_frame(&output_streams[i]->filtered_frame);\n\n\n\n av_freep(&output_streams[i]->forced_keyframes);\n\n av_freep(&output_streams[i]->avfilter);\n\n av_freep(&output_streams[i]->logfile_prefix);\n\n av_freep(&output_streams[i]);\n\n }\n\n for (i = 0; i < nb_input_files; i++) {\n\n avformat_close_input(&input_files[i]->ctx);\n\n av_freep(&input_files[i]);\n\n }\n\n for (i = 0; i < nb_input_streams; i++) {\n\n av_frame_free(&input_streams[i]->decoded_frame);\n\n av_frame_free(&input_streams[i]->filter_frame);\n\n av_dict_free(&input_streams[i]->opts);\n\n av_freep(&input_streams[i]->filters);\n\n av_freep(&input_streams[i]);\n\n }\n\n\n\n if (vstats_file)\n\n fclose(vstats_file);\n\n av_free(vstats_filename);\n\n\n\n av_freep(&input_streams);\n\n av_freep(&input_files);\n\n av_freep(&output_streams);\n\n av_freep(&output_files);\n\n\n\n uninit_opts();\n\n\n\n avfilter_uninit();\n\n avformat_network_deinit();\n\n\n\n if (received_sigterm) {\n\n av_log(NULL, AV_LOG_INFO, \"Received signal %d: terminating.\\n\",\n\n (int) received_sigterm);\n\n exit (255);\n\n }\n\n}\n", "idx": 8534}835{"project": "qemu", "commit_id": "091b1108ca6d6e3bfaea5f095f219bf5ea8c316b", "target": 1, "func": "static int coroutine_fn cow_co_is_allocated(BlockDriverState *bs,\n\n int64_t sector_num, int nb_sectors, int *num_same)\n\n{\n\n int64_t bitnum = sector_num + sizeof(struct cow_header_v2) * 8;\n\n uint64_t offset = (bitnum / 8) & -BDRV_SECTOR_SIZE;\n\n uint8_t bitmap[BDRV_SECTOR_SIZE];\n\n int ret;\n\n int changed;\n\n\n\n ret = bdrv_pread(bs->file, offset, &bitmap, sizeof(bitmap));\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n bitnum &= BITS_PER_BITMAP_SECTOR - 1;\n\n changed = cow_test_bit(bitnum, bitmap);\n\n *num_same = cow_find_streak(bitmap, changed, bitnum, nb_sectors);\n\n return changed;\n\n}\n", "idx": 8543}836{"project": "qemu", "commit_id": "c2b38b277a7882a592f4f2ec955084b2b756daaa", "target": 0, "func": "bool timerlist_expired(QEMUTimerList *timer_list)\n\n{\n\n int64_t expire_time;\n\n\n\n if (!atomic_read(&timer_list->active_timers)) {\n\n return false;\n\n }\n\n\n\n qemu_mutex_lock(&timer_list->active_timers_lock);\n\n if (!timer_list->active_timers) {\n\n qemu_mutex_unlock(&timer_list->active_timers_lock);\n\n return false;\n\n }\n\n expire_time = timer_list->active_timers->expire_time;\n\n qemu_mutex_unlock(&timer_list->active_timers_lock);\n\n\n\n return expire_time < qemu_clock_get_ns(timer_list->clock->type);\n\n}\n", "idx": 8565}837{"project": "qemu", "commit_id": "e97fc193e1c65deb51643d5251e98affe07c59ca", "target": 0, "func": "static void check_refcounts(BlockDriverState *bs)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n int64_t size;\n\n int nb_clusters, refcount1, refcount2, i;\n\n QCowSnapshot *sn;\n\n uint16_t *refcount_table;\n\n\n\n size = bdrv_getlength(s->hd);\n\n nb_clusters = size_to_clusters(s, size);\n\n refcount_table = qemu_mallocz(nb_clusters * sizeof(uint16_t));\n\n\n\n /* header */\n\n inc_refcounts(bs, refcount_table, nb_clusters,\n\n 0, s->cluster_size);\n\n\n\n check_refcounts_l1(bs, refcount_table, nb_clusters,\n\n s->l1_table_offset, s->l1_size, 1);\n\n\n\n /* snapshots */\n\n for(i = 0; i < s->nb_snapshots; i++) {\n\n sn = s->snapshots + i;\n\n check_refcounts_l1(bs, refcount_table, nb_clusters,\n\n sn->l1_table_offset, sn->l1_size, 0);\n\n }\n\n inc_refcounts(bs, refcount_table, nb_clusters,\n\n s->snapshots_offset, s->snapshots_size);\n\n\n\n /* refcount data */\n\n inc_refcounts(bs, refcount_table, nb_clusters,\n\n s->refcount_table_offset,\n\n s->refcount_table_size * sizeof(uint64_t));\n\n for(i = 0; i < s->refcount_table_size; i++) {\n\n int64_t offset;\n\n offset = s->refcount_table[i];\n\n if (offset != 0) {\n\n inc_refcounts(bs, refcount_table, nb_clusters,\n\n offset, s->cluster_size);\n\n }\n\n }\n\n\n\n /* compare ref counts */\n\n for(i = 0; i < nb_clusters; i++) {\n\n refcount1 = get_refcount(bs, i);\n\n refcount2 = refcount_table[i];\n\n if (refcount1 != refcount2)\n\n fprintf(stderr, \"ERROR cluster %d refcount=%d reference=%d\\n\",\n\n i, refcount1, refcount2);\n\n }\n\n\n\n qemu_free(refcount_table);\n\n}\n", "idx": 8568}838{"project": "qemu", "commit_id": "456d60692310e7ac25cf822cc1e98192ad636ece", "target": 1, "func": "static int ipoctal_init(IPackDevice *ip)\n\n{\n\n IPOctalState *s = IPOCTAL(ip);\n\n unsigned i;\n\n\n\n for (i = 0; i < N_CHANNELS; i++) {\n\n SCC2698Channel *ch = &s->ch[i];\n\n ch->ipoctal = s;\n\n\n\n /* Redirect IP-Octal channels to host character devices */\n\n if (ch->devpath) {\n\n const char chr_name[] = \"ipoctal\";\n\n char label[ARRAY_SIZE(chr_name) + 2];\n\n static int index;\n\n\n\n snprintf(label, sizeof(label), \"%s%d\", chr_name, index);\n\n\n\n ch->dev = qemu_chr_new(label, ch->devpath, NULL);\n\n\n\n if (ch->dev) {\n\n index++;\n\n\n qemu_chr_add_handlers(ch->dev, hostdev_can_receive,\n\n hostdev_receive, hostdev_event, ch);\n\n DPRINTF(\"Redirecting channel %u to %s (%s)\\n\",\n\n i, ch->devpath, label);\n\n } else {\n\n DPRINTF(\"Could not redirect channel %u to %s\\n\",\n\n i, ch->devpath);\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n}", "idx": 8577}839{"project": "qemu", "commit_id": "8417cebfda193c7f9ca70be5e308eaa92cf84b94", "target": 1, "func": "static AddrRange addrrange_intersection(AddrRange r1, AddrRange r2)\n\n{\n\n uint64_t start = MAX(r1.start, r2.start);\n\n /* off-by-one arithmetic to prevent overflow */\n\n uint64_t end = MIN(addrrange_end(r1) - 1, addrrange_end(r2) - 1);\n\n return addrrange_make(start, end - start + 1);\n\n}\n", "idx": 8592}840{"project": "FFmpeg", "commit_id": "7fffc879798bbbad647ad2b1b30f26855bf2abda", "target": 0, "func": "static int wc3_read_header(AVFormatContext *s,\n\n AVFormatParameters *ap)\n\n{\n\n Wc3DemuxContext *wc3 = s->priv_data;\n\n ByteIOContext *pb = s->pb;\n\n unsigned int fourcc_tag;\n\n unsigned int size;\n\n AVStream *st;\n\n unsigned char preamble[WC3_PREAMBLE_SIZE];\n\n int ret = 0;\n\n int current_palette = 0;\n\n int bytes_to_read;\n\n int i;\n\n unsigned char rotate;\n\n\n\n /* default context members */\n\n wc3->width = WC3_DEFAULT_WIDTH;\n\n wc3->height = WC3_DEFAULT_HEIGHT;\n\n wc3->palettes = NULL;\n\n wc3->palette_count = 0;\n\n wc3->pts = 0;\n\n wc3->video_stream_index = wc3->audio_stream_index = 0;\n\n\n\n /* skip the first 3 32-bit numbers */\n\n url_fseek(pb, 12, SEEK_CUR);\n\n\n\n /* traverse through the chunks and load the header information before\n\n * the first BRCH tag */\n\n if ((ret = get_buffer(pb, preamble, WC3_PREAMBLE_SIZE)) !=\n\n WC3_PREAMBLE_SIZE)\n\n return AVERROR(EIO);\n\n fourcc_tag = AV_RL32(&preamble[0]);\n\n size = (AV_RB32(&preamble[4]) + 1) & (~1);\n\n\n\n do {\n\n switch (fourcc_tag) {\n\n\n\n case SOND_TAG:\n\n case INDX_TAG:\n\n /* SOND unknown, INDX unnecessary; ignore both */\n\n url_fseek(pb, size, SEEK_CUR);\n\n break;\n\n\n\n case _PC__TAG:\n\n /* need the number of palettes */\n\n url_fseek(pb, 8, SEEK_CUR);\n\n if ((ret = get_buffer(pb, preamble, 4)) != 4)\n\n return AVERROR(EIO);\n\n wc3->palette_count = AV_RL32(&preamble[0]);\n\n if((unsigned)wc3->palette_count >= UINT_MAX / PALETTE_SIZE){\n\n wc3->palette_count= 0;\n\n return -1;\n\n }\n\n wc3->palettes = av_malloc(wc3->palette_count * PALETTE_SIZE);\n\n break;\n\n\n\n case BNAM_TAG:\n\n /* load up the name */\n\n if ((unsigned)size < 512)\n\n bytes_to_read = size;\n\n else\n\n bytes_to_read = 512;\n\n if ((ret = get_buffer(pb, s->title, bytes_to_read)) != bytes_to_read)\n\n return AVERROR(EIO);\n\n break;\n\n\n\n case SIZE_TAG:\n\n /* video resolution override */\n\n if ((ret = get_buffer(pb, preamble, WC3_PREAMBLE_SIZE)) !=\n\n WC3_PREAMBLE_SIZE)\n\n return AVERROR(EIO);\n\n wc3->width = AV_RL32(&preamble[0]);\n\n wc3->height = AV_RL32(&preamble[4]);\n\n break;\n\n\n\n case PALT_TAG:\n\n /* one of several palettes */\n\n if ((unsigned)current_palette >= wc3->palette_count)\n\n return AVERROR_INVALIDDATA;\n\n if ((ret = get_buffer(pb,\n\n &wc3->palettes[current_palette * PALETTE_SIZE],\n\n PALETTE_SIZE)) != PALETTE_SIZE)\n\n return AVERROR(EIO);\n\n\n\n /* transform the current palette in place */\n\n for (i = current_palette * PALETTE_SIZE;\n\n i < (current_palette + 1) * PALETTE_SIZE; i++) {\n\n /* rotate each palette component left by 2 and use the result\n\n * as an index into the color component table */\n\n rotate = ((wc3->palettes[i] << 2) & 0xFF) |\n\n ((wc3->palettes[i] >> 6) & 0xFF);\n\n wc3->palettes[i] = wc3_pal_lookup[rotate];\n\n }\n\n current_palette++;\n\n break;\n\n\n\n default:\n\n av_log(s, AV_LOG_ERROR, \" unrecognized WC3 chunk: %c%c%c%c (0x%02X%02X%02X%02X)\\n\",\n\n preamble[0], preamble[1], preamble[2], preamble[3],\n\n preamble[0], preamble[1], preamble[2], preamble[3]);\n\n return AVERROR_INVALIDDATA;\n\n break;\n\n }\n\n\n\n if ((ret = get_buffer(pb, preamble, WC3_PREAMBLE_SIZE)) !=\n\n WC3_PREAMBLE_SIZE)\n\n return AVERROR(EIO);\n\n fourcc_tag = AV_RL32(&preamble[0]);\n\n /* chunk sizes are 16-bit aligned */\n\n size = (AV_RB32(&preamble[4]) + 1) & (~1);\n\n\n\n } while (fourcc_tag != BRCH_TAG);\n\n\n\n /* initialize the decoder streams */\n\n st = av_new_stream(s, 0);\n\n if (!st)\n\n return AVERROR(ENOMEM);\n\n av_set_pts_info(st, 33, 1, 90000);\n\n wc3->video_stream_index = st->index;\n\n st->codec->codec_type = CODEC_TYPE_VIDEO;\n\n st->codec->codec_id = CODEC_ID_XAN_WC3;\n\n st->codec->codec_tag = 0; /* no fourcc */\n\n st->codec->width = wc3->width;\n\n st->codec->height = wc3->height;\n\n\n\n /* palette considerations */\n\n st->codec->palctrl = &wc3->palette_control;\n\n\n\n st = av_new_stream(s, 0);\n\n if (!st)\n\n return AVERROR(ENOMEM);\n\n av_set_pts_info(st, 33, 1, 90000);\n\n wc3->audio_stream_index = st->index;\n\n st->codec->codec_type = CODEC_TYPE_AUDIO;\n\n st->codec->codec_id = CODEC_ID_PCM_S16LE;\n\n st->codec->codec_tag = 1;\n\n st->codec->channels = WC3_AUDIO_CHANNELS;\n\n st->codec->bits_per_sample = WC3_AUDIO_BITS;\n\n st->codec->sample_rate = WC3_SAMPLE_RATE;\n\n st->codec->bit_rate = st->codec->channels * st->codec->sample_rate *\n\n st->codec->bits_per_sample;\n\n st->codec->block_align = WC3_AUDIO_BITS * WC3_AUDIO_CHANNELS;\n\n\n\n return 0;\n\n}\n", "idx": 8617}841{"project": "qemu", "commit_id": "f17fd4fdf0df3d2f3444399d04c38d22b9a3e1b7", "target": 0, "func": "static int64_t do_strtosz(const char *nptr, char **end,\n\n const char default_suffix, int64_t unit)\n\n{\n\n int64_t retval;\n\n char *endptr;\n\n unsigned char c;\n\n int mul_required = 0;\n\n double val, mul, integral, fraction;\n\n\n\n errno = 0;\n\n val = strtod(nptr, &endptr);\n\n if (isnan(val) || endptr == nptr || errno != 0) {\n\n retval = -EINVAL;\n\n goto out;\n\n }\n\n fraction = modf(val, &integral);\n\n if (fraction != 0) {\n\n mul_required = 1;\n\n }\n\n c = *endptr;\n\n mul = suffix_mul(c, unit);\n\n if (mul >= 0) {\n\n endptr++;\n\n } else {\n\n mul = suffix_mul(default_suffix, unit);\n\n assert(mul >= 0);\n\n }\n\n if (mul == 1 && mul_required) {\n\n retval = -EINVAL;\n\n goto out;\n\n }\n\n if ((val * mul >= INT64_MAX) || val < 0) {\n\n retval = -ERANGE;\n\n goto out;\n\n }\n\n retval = val * mul;\n\n\n\nout:\n\n if (end) {\n\n *end = endptr;\n\n } else if (*endptr) {\n\n retval = -EINVAL;\n\n }\n\n\n\n return retval;\n\n}\n", "idx": 8673}842{"project": "qemu", "commit_id": "7453c96b78c2b09aa72924f933bb9616e5474194", "target": 1, "func": "static int check_refcounts_l1(BlockDriverState *bs,\n\n BdrvCheckResult *res,\n\n uint16_t **refcount_table,\n\n int64_t *refcount_table_size,\n\n int64_t l1_table_offset, int l1_size,\n\n int flags)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n uint64_t *l1_table = NULL, l2_offset, l1_size2;\n\n int i, ret;\n\n\n\n l1_size2 = l1_size * sizeof(uint64_t);\n\n\n\n /* Mark L1 table as used */\n\n ret = inc_refcounts(bs, res, refcount_table, refcount_table_size,\n\n l1_table_offset, l1_size2);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n /* Read L1 table entries from disk */\n\n if (l1_size2 > 0) {\n\n l1_table = g_try_malloc(l1_size2);\n\n if (l1_table == NULL) {\n\n ret = -ENOMEM;\n\n res->check_errors++;\n\n goto fail;\n\n }\n\n ret = bdrv_pread(bs->file, l1_table_offset, l1_table, l1_size2);\n\n if (ret < 0) {\n\n fprintf(stderr, \"ERROR: I/O error in check_refcounts_l1\\n\");\n\n res->check_errors++;\n\n goto fail;\n\n }\n\n for(i = 0;i < l1_size; i++)\n\n be64_to_cpus(&l1_table[i]);\n\n }\n\n\n\n /* Do the actual checks */\n\n for(i = 0; i < l1_size; i++) {\n\n l2_offset = l1_table[i];\n\n if (l2_offset) {\n\n /* Mark L2 table as used */\n\n l2_offset &= L1E_OFFSET_MASK;\n\n ret = inc_refcounts(bs, res, refcount_table, refcount_table_size,\n\n l2_offset, s->cluster_size);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n /* L2 tables are cluster aligned */\n\n if (offset_into_cluster(s, l2_offset)) {\n\n fprintf(stderr, \"ERROR l2_offset=%\" PRIx64 \": Table is not \"\n\n \"cluster aligned; L1 entry corrupted\\n\", l2_offset);\n\n res->corruptions++;\n\n }\n\n\n\n /* Process and check L2 entries */\n\n ret = check_refcounts_l2(bs, res, refcount_table,\n\n refcount_table_size, l2_offset, flags);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n }\n\n }\n\n g_free(l1_table);\n\n return 0;\n\n\n\nfail:\n\n g_free(l1_table);\n\n return ret;\n\n}\n", "idx": 8707}843{"project": "qemu", "commit_id": "5a1972c8472fafd519a68b689fdcaf33ec857945", "target": 1, "func": "static uint32_t dcr_read_pob (void *opaque, int dcrn)\n\n{\n\n ppc4xx_pob_t *pob;\n\n uint32_t ret;\n\n\n\n pob = opaque;\n\n switch (dcrn) {\n\n case POB0_BEAR:\n\n ret = pob->bear;\n\n break;\n\n case POB0_BESR0:\n\n case POB0_BESR1:\n\n ret = pob->besr[dcrn - POB0_BESR0];\n\n break;\n\n default:\n\n /* Avoid gcc warning */\n\n ret = 0;\n\n break;\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 8720}844{"project": "qemu", "commit_id": "4be746345f13e99e468c60acbd3a355e8183e3ce", "target": 0, "func": "static inline int onenand_erase(OneNANDState *s, int sec, int num)\n\n{\n\n uint8_t *blankbuf, *tmpbuf;\n\n blankbuf = g_malloc(512);\n\n if (!blankbuf) {\n\n return 1;\n\n }\n\n tmpbuf = g_malloc(512);\n\n if (!tmpbuf) {\n\n g_free(blankbuf);\n\n return 1;\n\n }\n\n memset(blankbuf, 0xff, 512);\n\n for (; num > 0; num--, sec++) {\n\n if (s->bdrv_cur) {\n\n int erasesec = s->secs_cur + (sec >> 5);\n\n if (bdrv_write(s->bdrv_cur, sec, blankbuf, 1) < 0) {\n\n goto fail;\n\n }\n\n if (bdrv_read(s->bdrv_cur, erasesec, tmpbuf, 1) < 0) {\n\n goto fail;\n\n }\n\n memcpy(tmpbuf + ((sec & 31) << 4), blankbuf, 1 << 4);\n\n if (bdrv_write(s->bdrv_cur, erasesec, tmpbuf, 1) < 0) {\n\n goto fail;\n\n }\n\n } else {\n\n if (sec + 1 > s->secs_cur) {\n\n goto fail;\n\n }\n\n memcpy(s->current + (sec << 9), blankbuf, 512);\n\n memcpy(s->current + (s->secs_cur << 9) + (sec << 4),\n\n blankbuf, 1 << 4);\n\n }\n\n }\n\n\n\n g_free(tmpbuf);\n\n g_free(blankbuf);\n\n return 0;\n\n\n\nfail:\n\n g_free(tmpbuf);\n\n g_free(blankbuf);\n\n return 1;\n\n}\n", "idx": 8755}845{"project": "qemu", "commit_id": "ff74f33c310892c90c4439d963a6ce67f47ce18c", "target": 1, "func": "static int vmdk_parse_extents(const char *desc, BlockDriverState *bs,\n\n const char *desc_file_path, Error **errp)\n\n{\n\n int ret;\n\n char access[11];\n\n char type[11];\n\n char fname[512];\n\n const char *p = desc;\n\n int64_t sectors = 0;\n\n int64_t flat_offset;\n\n char extent_path[PATH_MAX];\n\n BlockDriverState *extent_file;\n\n BDRVVmdkState *s = bs->opaque;\n\n VmdkExtent *extent;\n\n\n\n while (*p) {\n\n /* parse extent line:\n\n * RW [size in sectors] FLAT \"file-name.vmdk\" OFFSET\n\n * or\n\n * RW [size in sectors] SPARSE \"file-name.vmdk\"\n\n */\n\n flat_offset = -1;\n\n ret = sscanf(p, \"%10s %\" SCNd64 \" %10s \\\"%511[^\\n\\r\\\"]\\\" %\" SCNd64,\n\n access, §ors, type, fname, &flat_offset);\n\n if (ret < 4 || strcmp(access, \"RW\")) {\n\n goto next_line;\n\n } else if (!strcmp(type, \"FLAT\")) {\n\n if (ret != 5 || flat_offset < 0) {\n\n error_setg(errp, \"Invalid extent lines: \\n%s\", p);\n\n return -EINVAL;\n\n }\n\n } else if (!strcmp(type, \"VMFS\")) {\n\n if (ret == 4) {\n\n flat_offset = 0;\n\n } else {\n\n error_setg(errp, \"Invalid extent lines:\\n%s\", p);\n\n return -EINVAL;\n\n }\n\n } else if (ret != 4) {\n\n error_setg(errp, \"Invalid extent lines:\\n%s\", p);\n\n return -EINVAL;\n\n }\n\n\n\n if (sectors <= 0 ||\n\n (strcmp(type, \"FLAT\") && strcmp(type, \"SPARSE\") &&\n\n strcmp(type, \"VMFS\") && strcmp(type, \"VMFSSPARSE\")) ||\n\n (strcmp(access, \"RW\"))) {\n\n goto next_line;\n\n }\n\n\n\n path_combine(extent_path, sizeof(extent_path),\n\n desc_file_path, fname);\n\n extent_file = NULL;\n\n ret = bdrv_open(&extent_file, extent_path, NULL, NULL,\n\n bs->open_flags | BDRV_O_PROTOCOL, NULL, errp);\n\n if (ret) {\n\n return ret;\n\n }\n\n\n\n /* save to extents array */\n\n if (!strcmp(type, \"FLAT\") || !strcmp(type, \"VMFS\")) {\n\n /* FLAT extent */\n\n\n\n ret = vmdk_add_extent(bs, extent_file, true, sectors,\n\n 0, 0, 0, 0, 0, &extent, errp);\n\n if (ret < 0) {\n\n\n return ret;\n\n }\n\n extent->flat_start_offset = flat_offset << 9;\n\n } else if (!strcmp(type, \"SPARSE\") || !strcmp(type, \"VMFSSPARSE\")) {\n\n /* SPARSE extent and VMFSSPARSE extent are both \"COWD\" sparse file*/\n\n char *buf = vmdk_read_desc(extent_file, 0, errp);\n\n if (!buf) {\n\n ret = -EINVAL;\n\n } else {\n\n ret = vmdk_open_sparse(bs, extent_file, bs->open_flags, buf, errp);\n\n }\n\n if (ret) {\n\n g_free(buf);\n\n\n return ret;\n\n }\n\n extent = &s->extents[s->num_extents - 1];\n\n } else {\n\n error_setg(errp, \"Unsupported extent type '%s'\", type);\n\n\n return -ENOTSUP;\n\n }\n\n extent->type = g_strdup(type);\n\nnext_line:\n\n /* move to next line */\n\n while (*p) {\n\n if (*p == '\\n') {\n\n p++;\n\n break;\n\n }\n\n p++;\n\n }\n\n }\n\n return 0;\n\n}", "idx": 8793}846{"project": "FFmpeg", "commit_id": "a04c2c707de2ce850f79870e84ac9d7ec7aa9143", "target": 1, "func": "static int default_lockmgr_cb(void **arg, enum AVLockOp op)\n\n{\n\n void * volatile * mutex = arg;\n\n int err;\n\n\n\n switch (op) {\n\n case AV_LOCK_CREATE:\n\n return 0;\n\n case AV_LOCK_OBTAIN:\n\n if (!*mutex) {\n\n pthread_mutex_t *tmp = av_malloc(sizeof(pthread_mutex_t));\n\n if (!tmp)\n\n return AVERROR(ENOMEM);\n\n if ((err = pthread_mutex_init(tmp, NULL))) {\n\n av_free(tmp);\n\n return AVERROR(err);\n\n }\n\n if (avpriv_atomic_ptr_cas(mutex, NULL, tmp)) {\n\n pthread_mutex_destroy(tmp);\n\n av_free(tmp);\n\n }\n\n }\n\n\n\n if ((err = pthread_mutex_lock(*mutex)))\n\n return AVERROR(err);\n\n\n\n return 0;\n\n case AV_LOCK_RELEASE:\n\n if ((err = pthread_mutex_unlock(*mutex)))\n\n return AVERROR(err);\n\n\n\n return 0;\n\n case AV_LOCK_DESTROY:\n\n if (*mutex)\n\n pthread_mutex_destroy(*mutex);\n\n av_free(*mutex);\n\n avpriv_atomic_ptr_cas(mutex, *mutex, NULL);\n\n return 0;\n\n }\n\n return 1;\n\n}\n", "idx": 8794}847{"project": "FFmpeg", "commit_id": "aacc6615f8e3863cd930d3a1ab2cd28d9838f0f5", "target": 1, "func": "static inline int check_input_motion(MpegEncContext * s, int mb_x, int mb_y, int p_type){\n\n MotionEstContext * const c= &s->me;\n\n Picture *p= s->current_picture_ptr;\n\n int mb_xy= mb_x + mb_y*s->mb_stride;\n\n int xy= 2*mb_x + 2*mb_y*s->b8_stride;\n\n int mb_type= s->current_picture.mb_type[mb_xy];\n\n int flags= c->flags;\n\n int shift= (flags&FLAG_QPEL) + 1;\n\n int mask= (1<<shift)-1;\n\n int x, y, i;\n\n int d=0;\n\n me_cmp_func cmpf= s->dsp.sse[0];\n\n me_cmp_func chroma_cmpf= s->dsp.sse[1];\n\n \n\n assert(p_type==0 || !USES_LIST(mb_type, 1));\n\n assert(IS_INTRA(mb_type) || USES_LIST(mb_type,0) || USES_LIST(mb_type,1));\n\n \n\n if(IS_INTERLACED(mb_type)){\n\n int xy2= xy + s->b8_stride;\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_INTRA;\n\n c->stride<<=1;\n\n c->uvstride<<=1;\n\n init_interlaced_ref(s, 2);\n\n \n\n assert(s->flags & CODEC_FLAG_INTERLACED_ME);\n\n\n\n if(USES_LIST(mb_type, 0)){\n\n int field_select0= p->ref_index[0][xy ];\n\n int field_select1= p->ref_index[0][xy2];\n\n assert(field_select0==0 ||field_select0==1);\n\n assert(field_select1==0 ||field_select1==1);\n\n if(p_type){\n\n s->p_field_select_table[0][mb_xy]= field_select0;\n\n s->p_field_select_table[1][mb_xy]= field_select1;\n\n *(uint32_t*)s->p_field_mv_table[0][field_select0][mb_xy]= *(uint32_t*)p->motion_val[0][xy ];\n\n *(uint32_t*)s->p_field_mv_table[1][field_select1][mb_xy]= *(uint32_t*)p->motion_val[0][xy2];\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_INTER_I;\n\n }else{\n\n s->b_field_select_table[0][0][mb_xy]= field_select0;\n\n s->b_field_select_table[0][1][mb_xy]= field_select1;\n\n *(uint32_t*)s->b_field_mv_table[0][0][field_select0][mb_xy]= *(uint32_t*)p->motion_val[0][xy ];\n\n *(uint32_t*)s->b_field_mv_table[0][1][field_select1][mb_xy]= *(uint32_t*)p->motion_val[0][xy2];\n\n s->mb_type[mb_xy]= CANDIDATE_MB_TYPE_FORWARD_I;\n\n }\n\n\n\n x= p->motion_val[0][xy ][0]; \n\n y= p->motion_val[0][xy ][1];\n\n d = cmp(s, x>>shift, y>>shift, x&mask, y&mask, 0, 8, field_select0, 0, cmpf, chroma_cmpf, flags);\n\n x= p->motion_val[0][xy2][0]; \n\n y= p->motion_val[0][xy2][1];\n\n d+= cmp(s, x>>shift, y>>shift, x&mask, y&mask, 0, 8, field_select1, 1, cmpf, chroma_cmpf, flags);\n\n }\n\n if(USES_LIST(mb_type, 1)){\n\n int field_select0= p->ref_index[1][xy ];\n\n int field_select1= p->ref_index[1][xy2];\n\n assert(field_select0==0 ||field_select0==1);\n\n assert(field_select1==0 ||field_select1==1);\n\n s->b_field_select_table[1][0][mb_xy]= field_select0;\n\n s->b_field_select_table[1][1][mb_xy]= field_select1;\n\n *(uint32_t*)s->b_field_mv_table[1][0][field_select0][mb_xy]= *(uint32_t*)p->motion_val[1][xy ];\n\n *(uint32_t*)s->b_field_mv_table[1][1][field_select1][mb_xy]= *(uint32_t*)p->motion_val[1][xy2];\n\n if(USES_LIST(mb_type, 0)){\n\n s->mb_type[mb_xy]= CANDIDATE_MB_TYPE_BIDIR_I;\n\n }else{\n\n s->mb_type[mb_xy]= CANDIDATE_MB_TYPE_BACKWARD_I;\n\n }\n\n\n\n x= p->motion_val[1][xy ][0]; \n\n y= p->motion_val[1][xy ][1];\n\n d = cmp(s, x>>shift, y>>shift, x&mask, y&mask, 0, 8, field_select0+2, 0, cmpf, chroma_cmpf, flags);\n\n x= p->motion_val[1][xy2][0]; \n\n y= p->motion_val[1][xy2][1];\n\n d+= cmp(s, x>>shift, y>>shift, x&mask, y&mask, 0, 8, field_select1+2, 1, cmpf, chroma_cmpf, flags);\n\n //FIXME bidir scores\n\n }\n\n c->stride>>=1;\n\n c->uvstride>>=1;\n\n }else if(IS_8X8(mb_type)){\n\n\n cmpf= s->dsp.sse[1];\n\n chroma_cmpf= s->dsp.sse[1];\n\n init_mv4_ref(s);\n\n for(i=0; i<4; i++){\n\n xy= s->block_index[i];\n\n x= p->motion_val[0][xy][0]; \n\n y= p->motion_val[0][xy][1];\n\n d+= cmp(s, x>>shift, y>>shift, x&mask, y&mask, 1, 8, i, i, cmpf, chroma_cmpf, flags);\n\n }\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_INTER4V;\n\n }else{\n\n if(USES_LIST(mb_type, 0)){\n\n if(p_type){\n\n *(uint32_t*)s->p_mv_table[mb_xy]= *(uint32_t*)p->motion_val[0][xy];\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_INTER;\n\n }else if(USES_LIST(mb_type, 1)){\n\n *(uint32_t*)s->b_bidir_forw_mv_table[mb_xy]= *(uint32_t*)p->motion_val[0][xy];\n\n *(uint32_t*)s->b_bidir_back_mv_table[mb_xy]= *(uint32_t*)p->motion_val[1][xy];\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_BIDIR;\n\n }else{\n\n *(uint32_t*)s->b_forw_mv_table[mb_xy]= *(uint32_t*)p->motion_val[0][xy];\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_FORWARD;\n\n }\n\n x= p->motion_val[0][xy][0]; \n\n y= p->motion_val[0][xy][1];\n\n d = cmp(s, x>>shift, y>>shift, x&mask, y&mask, 0, 16, 0, 0, cmpf, chroma_cmpf, flags);\n\n }else if(USES_LIST(mb_type, 1)){\n\n *(uint32_t*)s->b_back_mv_table[mb_xy]= *(uint32_t*)p->motion_val[1][xy];\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_BACKWARD;\n\n \n\n x= p->motion_val[1][xy][0]; \n\n y= p->motion_val[1][xy][1];\n\n d = cmp(s, x>>shift, y>>shift, x&mask, y&mask, 0, 16, 2, 0, cmpf, chroma_cmpf, flags);\n\n }else\n\n s->mb_type[mb_xy]=CANDIDATE_MB_TYPE_INTRA;\n\n }\n\n return d;\n\n}", "idx": 8815}848{"project": "FFmpeg", "commit_id": "0d21a84605bad4e75dacb8196e5859902ed36f01", "target": 0, "func": "void ff_estimate_p_frame_motion(MpegEncContext * s,\n\n int mb_x, int mb_y)\n\n{\n\n UINT8 *pix, *ppix;\n\n int sum, varc, vard, mx, my, range, dmin, xx, yy;\n\n int xmin, ymin, xmax, ymax;\n\n int rel_xmin, rel_ymin, rel_xmax, rel_ymax;\n\n int pred_x=0, pred_y=0;\n\n int P[6][2];\n\n const int shift= 1+s->quarter_sample;\n\n int mb_type=0;\n\n uint8_t *ref_picture= s->last_picture[0];\n\n\n\n get_limits(s, &range, &xmin, &ymin, &xmax, &ymax, s->f_code);\n\n\n\n switch(s->me_method) {\n\n case ME_ZERO:\n\n default:\n\n\tno_motion_search(s, &mx, &my);\n\n dmin = 0;\n\n break;\n\n case ME_FULL:\n\n\tdmin = full_motion_search(s, &mx, &my, range, xmin, ymin, xmax, ymax, ref_picture);\n\n break;\n\n case ME_LOG:\n\n\tdmin = log_motion_search(s, &mx, &my, range / 2, xmin, ymin, xmax, ymax, ref_picture);\n\n break;\n\n case ME_PHODS:\n\n\tdmin = phods_motion_search(s, &mx, &my, range / 2, xmin, ymin, xmax, ymax, ref_picture);\n\n break;\n\n case ME_X1:\n\n case ME_EPZS:\n\n {\n\n const int mot_stride = s->block_wrap[0];\n\n const int mot_xy = s->block_index[0];\n\n\n\n rel_xmin= xmin - mb_x*16;\n\n rel_xmax= xmax - mb_x*16;\n\n rel_ymin= ymin - mb_y*16;\n\n rel_ymax= ymax - mb_y*16;\n\n\n\n P[0][0] = s->motion_val[mot_xy ][0];\n\n P[0][1] = s->motion_val[mot_xy ][1];\n\n P[1][0] = s->motion_val[mot_xy - 1][0];\n\n P[1][1] = s->motion_val[mot_xy - 1][1];\n\n if(P[1][0] > (rel_xmax<<shift)) P[1][0]= (rel_xmax<<shift);\n\n\n\n /* special case for first line */\n\n if ((mb_y == 0 || s->first_slice_line || s->first_gob_line)) {\n\n P[4][0] = P[1][0];\n\n P[4][1] = P[1][1];\n\n } else {\n\n P[2][0] = s->motion_val[mot_xy - mot_stride ][0];\n\n P[2][1] = s->motion_val[mot_xy - mot_stride ][1];\n\n P[3][0] = s->motion_val[mot_xy - mot_stride + 2 ][0];\n\n P[3][1] = s->motion_val[mot_xy - mot_stride + 2 ][1];\n\n if(P[2][1] > (rel_ymax<<shift)) P[2][1]= (rel_ymax<<shift);\n\n if(P[3][0] < (rel_xmin<<shift)) P[3][0]= (rel_xmin<<shift);\n\n if(P[3][1] > (rel_ymax<<shift)) P[3][1]= (rel_ymax<<shift);\n\n \n\n P[4][0]= mid_pred(P[1][0], P[2][0], P[3][0]);\n\n P[4][1]= mid_pred(P[1][1], P[2][1], P[3][1]);\n\n }\n\n if(s->out_format == FMT_H263){\n\n pred_x = P[4][0];\n\n pred_y = P[4][1];\n\n }else { /* mpeg1 at least */\n\n pred_x= P[1][0];\n\n pred_y= P[1][1];\n\n }\n\n }\n\n dmin = epzs_motion_search(s, &mx, &my, P, pred_x, pred_y, rel_xmin, rel_ymin, rel_xmax, rel_ymax, ref_picture);\n\n \n\n mx+= mb_x*16;\n\n my+= mb_y*16;\n\n break;\n\n }\n\n \n\n if(s->flags&CODEC_FLAG_4MV){\n\n int block;\n\n\n\n mb_type|= MB_TYPE_INTER4V;\n\n\n\n for(block=0; block<4; block++){\n\n int mx4, my4;\n\n int pred_x4, pred_y4;\n\n int dmin4;\n\n static const int off[4]= {2, 1, 1, -1};\n\n const int mot_stride = s->block_wrap[0];\n\n const int mot_xy = s->block_index[block];\n\n const int block_x= mb_x*2 + (block&1);\n\n const int block_y= mb_y*2 + (block>>1);\n\n\n\n const int rel_xmin4= xmin - block_x*8;\n\n const int rel_xmax4= xmax - block_x*8 + 8;\n\n const int rel_ymin4= ymin - block_y*8;\n\n const int rel_ymax4= ymax - block_y*8 + 8;\n\n\n\n P[0][0] = s->motion_val[mot_xy ][0];\n\n P[0][1] = s->motion_val[mot_xy ][1];\n\n P[1][0] = s->motion_val[mot_xy - 1][0];\n\n P[1][1] = s->motion_val[mot_xy - 1][1];\n\n if(P[1][0] > (rel_xmax4<<shift)) P[1][0]= (rel_xmax4<<shift);\n\n\n\n /* special case for first line */\n\n if ((mb_y == 0 || s->first_slice_line || s->first_gob_line) && block<2) {\n\n P[4][0] = P[1][0];\n\n P[4][1] = P[1][1];\n\n } else {\n\n P[2][0] = s->motion_val[mot_xy - mot_stride ][0];\n\n P[2][1] = s->motion_val[mot_xy - mot_stride ][1];\n\n P[3][0] = s->motion_val[mot_xy - mot_stride + off[block]][0];\n\n P[3][1] = s->motion_val[mot_xy - mot_stride + off[block]][1];\n\n if(P[2][1] > (rel_ymax4<<shift)) P[2][1]= (rel_ymax4<<shift);\n\n if(P[3][0] < (rel_xmin4<<shift)) P[3][0]= (rel_xmin4<<shift);\n\n if(P[3][0] > (rel_xmax4<<shift)) P[3][0]= (rel_xmax4<<shift);\n\n if(P[3][1] > (rel_ymax4<<shift)) P[3][1]= (rel_ymax4<<shift);\n\n \n\n P[4][0]= mid_pred(P[1][0], P[2][0], P[3][0]);\n\n P[4][1]= mid_pred(P[1][1], P[2][1], P[3][1]);\n\n }\n\n if(s->out_format == FMT_H263){\n\n pred_x4 = P[4][0];\n\n pred_y4 = P[4][1];\n\n }else { /* mpeg1 at least */\n\n pred_x4= P[1][0];\n\n pred_y4= P[1][1];\n\n }\n\n P[5][0]= mx - mb_x*16;\n\n P[5][1]= my - mb_y*16;\n\n\n\n dmin4 = epzs_motion_search4(s, block, &mx4, &my4, P, pred_x4, pred_y4, rel_xmin4, rel_ymin4, rel_xmax4, rel_ymax4, ref_picture);\n\n\n\n halfpel_motion_search4(s, &mx4, &my4, dmin4, rel_xmin4, rel_ymin4, rel_xmax4, rel_ymax4, \n\n pred_x4, pred_y4, block_x, block_y, ref_picture);\n\n \n\n s->motion_val[ s->block_index[block] ][0]= mx4;\n\n s->motion_val[ s->block_index[block] ][1]= my4;\n\n }\n\n }\n\n\n\n /* intra / predictive decision */\n\n xx = mb_x * 16;\n\n yy = mb_y * 16;\n\n\n\n pix = s->new_picture[0] + (yy * s->linesize) + xx;\n\n /* At this point (mx,my) are full-pell and the absolute displacement */\n\n ppix = ref_picture + (my * s->linesize) + mx;\n\n \n\n sum = pix_sum(pix, s->linesize);\n\n#if 0\n\n varc = pix_dev(pix, s->linesize, (sum+128)>>8) + INTER_BIAS;\n\n vard = pix_abs16x16(pix, ppix, s->linesize);\n\n#else\n\n sum= (sum+8)>>4;\n\n varc = ((pix_norm1(pix, s->linesize) - sum*sum + 128 + 500)>>8);\n\n vard = (pix_norm(pix, ppix, s->linesize)+128)>>8;\n\n#endif\n\n\n\n s->mb_var[s->mb_width * mb_y + mb_x] = varc;\n\n s->avg_mb_var+= varc;\n\n s->mc_mb_var += vard;\n\n\n\n \n\n#if 0\n\n printf(\"varc=%4d avg_var=%4d (sum=%4d) vard=%4d mx=%2d my=%2d\\n\",\n\n\t varc, s->avg_mb_var, sum, vard, mx - xx, my - yy);\n\n#endif\n\n if(s->flags&CODEC_FLAG_HQ){\n\n if (vard*2 + 200 > varc)\n\n mb_type|= MB_TYPE_INTRA;\n\n if (varc*2 + 200 > vard){\n\n mb_type|= MB_TYPE_INTER;\n\n halfpel_motion_search(s, &mx, &my, dmin, xmin, ymin, xmax, ymax, pred_x, pred_y, ref_picture);\n\n }else{\n\n mx = mx*2 - mb_x*32;\n\n my = my*2 - mb_y*32;\n\n }\n\n }else{\n\n if (vard <= 64 || vard < varc) {\n\n mb_type|= MB_TYPE_INTER;\n\n if (s->me_method != ME_ZERO) {\n\n halfpel_motion_search(s, &mx, &my, dmin, xmin, ymin, xmax, ymax, pred_x, pred_y, ref_picture);\n\n } else {\n\n mx -= 16 * mb_x;\n\n my -= 16 * mb_y;\n\n }\n\n#if 0\n\n if (vard < 10) {\n\n skip++;\n\n fprintf(stderr,\"\\nEarly skip: %d vard: %2d varc: %5d dmin: %d\", \n\n skip, vard, varc, dmin);\n\n }\n\n#endif\n\n }else{\n\n mb_type|= MB_TYPE_INTRA;\n\n mx = 0;//mx*2 - 32 * mb_x;\n\n my = 0;//my*2 - 32 * mb_y;\n\n }\n\n }\n\n\n\n s->mb_type[mb_y*s->mb_width + mb_x]= mb_type;\n\n set_p_mv_tables(s, mx, my);\n\n}\n", "idx": 8825}849{"project": "FFmpeg", "commit_id": "c8241e730f116f1c9cfc0b34110aa7f052e05332", "target": 0, "func": "av_cold int ff_vaapi_encode_close(AVCodecContext *avctx)\n\n{\n\n VAAPIEncodeContext *ctx = avctx->priv_data;\n\n VAAPIEncodePicture *pic, *next;\n\n\n\n for (pic = ctx->pic_start; pic; pic = next) {\n\n next = pic->next;\n\n vaapi_encode_free(avctx, pic);\n\n }\n\n\n\n if (ctx->va_context != VA_INVALID_ID) {\n\n vaDestroyContext(ctx->hwctx->display, ctx->va_context);\n\n ctx->va_context = VA_INVALID_ID;\n\n }\n\n\n\n if (ctx->va_config != VA_INVALID_ID) {\n\n vaDestroyConfig(ctx->hwctx->display, ctx->va_config);\n\n ctx->va_config = VA_INVALID_ID;\n\n }\n\n\n\n if (ctx->codec->close)\n\n ctx->codec->close(avctx);\n\n\n\n av_buffer_pool_uninit(&ctx->output_buffer_pool);\n\n\n\n av_freep(&ctx->codec_sequence_params);\n\n av_freep(&ctx->codec_picture_params);\n\n\n\n av_buffer_unref(&ctx->recon_frames_ref);\n\n av_buffer_unref(&ctx->input_frames_ref);\n\n av_buffer_unref(&ctx->device_ref);\n\n\n\n av_freep(&ctx->priv_data);\n\n\n\n return 0;\n\n}\n", "idx": 8835}850{"project": "qemu", "commit_id": "494a8ebe713055d3946183f4b395f85a18b43e9e", "target": 0, "func": "static ssize_t socket_read(int sockfd, void *buff, size_t size)\n\n{\n\n ssize_t retval, total = 0;\n\n\n\n while (size) {\n\n retval = read(sockfd, buff, size);\n\n if (retval == 0) {\n\n return -EIO;\n\n }\n\n if (retval < 0) {\n\n if (errno == EINTR) {\n\n continue;\n\n }\n\n return -errno;\n\n }\n\n size -= retval;\n\n buff += retval;\n\n total += retval;\n\n }\n\n return total;\n\n}\n", "idx": 8846}851{"project": "qemu", "commit_id": "4981bdec0d9b3ddd3e1474de5aa9918f120b54f7", "target": 0, "func": "AioContext *blk_get_aio_context(BlockBackend *blk)\n\n{\n\n return bdrv_get_aio_context(blk->bs);\n\n}\n", "idx": 8855}852{"project": "qemu", "commit_id": "6f864e6ec8812d5a5525a7861ca599c6bcabdebe", "target": 0, "func": "static int vfio_load_rom(VFIODevice *vdev)\n\n{\n\n uint64_t size = vdev->rom_size;\n\n char name[32];\n\n off_t off = 0, voff = vdev->rom_offset;\n\n ssize_t bytes;\n\n void *ptr;\n\n\n\n /* If loading ROM from file, pci handles it */\n\n if (vdev->pdev.romfile || !vdev->pdev.rom_bar || !size) {\n\n return 0;\n\n }\n\n\n\n DPRINTF(\"%s(%04x:%02x:%02x.%x)\\n\", __func__, vdev->host.domain,\n\n vdev->host.bus, vdev->host.slot, vdev->host.function);\n\n\n\n snprintf(name, sizeof(name), \"vfio[%04x:%02x:%02x.%x].rom\",\n\n vdev->host.domain, vdev->host.bus, vdev->host.slot,\n\n vdev->host.function);\n\n memory_region_init_ram(&vdev->pdev.rom, OBJECT(vdev), name, size);\n\n ptr = memory_region_get_ram_ptr(&vdev->pdev.rom);\n\n memset(ptr, 0xff, size);\n\n\n\n while (size) {\n\n bytes = pread(vdev->fd, ptr + off, size, voff + off);\n\n if (bytes == 0) {\n\n break; /* expect that we could get back less than the ROM BAR */\n\n } else if (bytes > 0) {\n\n off += bytes;\n\n size -= bytes;\n\n } else {\n\n if (errno == EINTR || errno == EAGAIN) {\n\n continue;\n\n }\n\n error_report(\"vfio: Error reading device ROM: %m\");\n\n memory_region_destroy(&vdev->pdev.rom);\n\n return -errno;\n\n }\n\n }\n\n\n\n pci_register_bar(&vdev->pdev, PCI_ROM_SLOT, 0, &vdev->pdev.rom);\n\n vdev->pdev.has_rom = true;\n\n return 0;\n\n}\n", "idx": 8858}853{"project": "qemu", "commit_id": "9c5ce8db2e5c2769ed2fd3d91928dd1853b5ce7c", "target": 0, "func": "UuidInfo *qmp_query_uuid(Error **errp)\n\n{\n\n UuidInfo *info = g_malloc0(sizeof(*info));\n\n char uuid[64];\n\n\n\n snprintf(uuid, sizeof(uuid), UUID_FMT, qemu_uuid[0], qemu_uuid[1],\n\n qemu_uuid[2], qemu_uuid[3], qemu_uuid[4], qemu_uuid[5],\n\n qemu_uuid[6], qemu_uuid[7], qemu_uuid[8], qemu_uuid[9],\n\n qemu_uuid[10], qemu_uuid[11], qemu_uuid[12], qemu_uuid[13],\n\n qemu_uuid[14], qemu_uuid[15]);\n\n\n\n info->UUID = g_strdup(uuid);\n\n return info;\n\n}\n", "idx": 8866}854{"project": "FFmpeg", "commit_id": "d7eabd50425a61b31e90c763a0c3e4316a725404", "target": 0, "func": "static int mpc7_decode_frame(AVCodecContext * avctx, void *data,\n\n int *got_frame_ptr, AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size;\n\n MPCContext *c = avctx->priv_data;\n\n GetBitContext gb;\n\n int i, ch;\n\n int mb = -1;\n\n Band *bands = c->bands;\n\n int off, ret, last_frame, skip;\n\n int bits_used, bits_avail;\n\n\n\n memset(bands, 0, sizeof(*bands) * (c->maxbands + 1));\n\n\n\n buf_size = avpkt->size & ~3;\n\n if (buf_size <= 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"packet size is too small (%i bytes)\\n\",\n\n avpkt->size);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (buf_size != avpkt->size) {\n\n av_log(avctx, AV_LOG_WARNING, \"packet size is not a multiple of 4. \"\n\n \"extra bytes at the end will be skipped.\\n\");\n\n }\n\n\n\n skip = buf[0];\n\n last_frame = buf[1];\n\n buf += 4;\n\n buf_size -= 4;\n\n\n\n /* get output buffer */\n\n c->frame.nb_samples = last_frame ? c->lastframelen : MPC_FRAME_SIZE;\n\n if ((ret = avctx->get_buffer(avctx, &c->frame)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return ret;\n\n }\n\n\n\n av_fast_padded_malloc(&c->bits, &c->buf_size, buf_size);\n\n if (!c->bits)\n\n return AVERROR(ENOMEM);\n\n c->dsp.bswap_buf((uint32_t *)c->bits, (const uint32_t *)buf, buf_size >> 2);\n\n init_get_bits(&gb, c->bits, buf_size * 8);\n\n skip_bits_long(&gb, skip);\n\n\n\n /* read subband indexes */\n\n for(i = 0; i <= c->maxbands; i++){\n\n for(ch = 0; ch < 2; ch++){\n\n int t = 4;\n\n if(i) t = get_vlc2(&gb, hdr_vlc.table, MPC7_HDR_BITS, 1) - 5;\n\n if(t == 4) bands[i].res[ch] = get_bits(&gb, 4);\n\n else bands[i].res[ch] = bands[i-1].res[ch] + t;\n\n }\n\n\n\n if(bands[i].res[0] || bands[i].res[1]){\n\n mb = i;\n\n if(c->MSS) bands[i].msf = get_bits1(&gb);\n\n }\n\n }\n\n /* get scale indexes coding method */\n\n for(i = 0; i <= mb; i++)\n\n for(ch = 0; ch < 2; ch++)\n\n if(bands[i].res[ch]) bands[i].scfi[ch] = get_vlc2(&gb, scfi_vlc.table, MPC7_SCFI_BITS, 1);\n\n /* get scale indexes */\n\n for(i = 0; i <= mb; i++){\n\n for(ch = 0; ch < 2; ch++){\n\n if(bands[i].res[ch]){\n\n bands[i].scf_idx[ch][2] = c->oldDSCF[ch][i];\n\n bands[i].scf_idx[ch][0] = get_scale_idx(&gb, bands[i].scf_idx[ch][2]);\n\n switch(bands[i].scfi[ch]){\n\n case 0:\n\n bands[i].scf_idx[ch][1] = get_scale_idx(&gb, bands[i].scf_idx[ch][0]);\n\n bands[i].scf_idx[ch][2] = get_scale_idx(&gb, bands[i].scf_idx[ch][1]);\n\n break;\n\n case 1:\n\n bands[i].scf_idx[ch][1] = get_scale_idx(&gb, bands[i].scf_idx[ch][0]);\n\n bands[i].scf_idx[ch][2] = bands[i].scf_idx[ch][1];\n\n break;\n\n case 2:\n\n bands[i].scf_idx[ch][1] = bands[i].scf_idx[ch][0];\n\n bands[i].scf_idx[ch][2] = get_scale_idx(&gb, bands[i].scf_idx[ch][1]);\n\n break;\n\n case 3:\n\n bands[i].scf_idx[ch][2] = bands[i].scf_idx[ch][1] = bands[i].scf_idx[ch][0];\n\n break;\n\n }\n\n c->oldDSCF[ch][i] = bands[i].scf_idx[ch][2];\n\n }\n\n }\n\n }\n\n /* get quantizers */\n\n memset(c->Q, 0, sizeof(c->Q));\n\n off = 0;\n\n for(i = 0; i < BANDS; i++, off += SAMPLES_PER_BAND)\n\n for(ch = 0; ch < 2; ch++)\n\n idx_to_quant(c, &gb, bands[i].res[ch], c->Q[ch] + off);\n\n\n\n ff_mpc_dequantize_and_synth(c, mb, c->frame.data[0], 2);\n\n\n\n bits_used = get_bits_count(&gb);\n\n bits_avail = buf_size * 8;\n\n if (!last_frame && ((bits_avail < bits_used) || (bits_used + 32 <= bits_avail))) {\n\n av_log(avctx, AV_LOG_ERROR, \"Error decoding frame: used %i of %i bits\\n\", bits_used, bits_avail);\n\n return -1;\n\n }\n\n if(c->frames_to_skip){\n\n c->frames_to_skip--;\n\n *got_frame_ptr = 0;\n\n return avpkt->size;\n\n }\n\n\n\n *got_frame_ptr = 1;\n\n *(AVFrame *)data = c->frame;\n\n\n\n return avpkt->size;\n\n}\n", "idx": 8878}855{"project": "FFmpeg", "commit_id": "35cb6854bb76b4a5b6f2aea2dce81e18d7ab61cd", "target": 1, "func": "static int rle_unpack(const unsigned char *src, int src_len, int src_count,\n\n unsigned char *dest, int dest_len)\n\n{\n\n const unsigned char *ps;\n\n const unsigned char *ps_end;\n\n unsigned char *pd;\n\n int i, l;\n\n unsigned char *dest_end = dest + dest_len;\n\n\n\n ps = src;\n\n ps_end = src + src_len;\n\n pd = dest;\n\n if (src_count & 1) {\n\n if (ps_end - ps < 1)\n\n return 0;\n\n *pd++ = *ps++;\n\n }\n\n\n\n src_count >>= 1;\n\n i = 0;\n\n do {\n\n if (ps_end - ps < 1)\n\n break;\n\n l = *ps++;\n\n if (l & 0x80) {\n\n l = (l & 0x7F) * 2;\n\n if (pd + l > dest_end || ps_end - ps < l)\n\n return ps - src;\n\n memcpy(pd, ps, l);\n\n ps += l;\n\n pd += l;\n\n } else {\n\n if (pd + i > dest_end || ps_end - ps < 2)\n\n return ps - src;\n\n for (i = 0; i < l; i++) {\n\n *pd++ = ps[0];\n\n *pd++ = ps[1];\n\n }\n\n ps += 2;\n\n }\n\n i += l;\n\n } while (i < src_count);\n\n\n\n return ps - src;\n\n}\n", "idx": 8900}856{"project": "FFmpeg", "commit_id": "4f00519d9508e07aac58a00a9b514dae8ad95723", "target": 1, "func": "int vc1_decode_sequence_header(AVCodecContext *avctx, VC1Context *v, GetBitContext *gb)\n\n{\n\n av_log(avctx, AV_LOG_DEBUG, \"Header: %0X\\n\", show_bits(gb, 32));\n\n v->profile = get_bits(gb, 2);\n\n if (v->profile == PROFILE_COMPLEX)\n\n {\n\n av_log(avctx, AV_LOG_WARNING, \"WMV3 Complex Profile is not fully supported\\n\");\n\n }\n\n\n\n if (v->profile == PROFILE_ADVANCED)\n\n {\n\n v->zz_8x4 = ff_vc1_adv_progressive_8x4_zz;\n\n v->zz_4x8 = ff_vc1_adv_progressive_4x8_zz;\n\n return decode_sequence_header_adv(v, gb);\n\n }\n\n else\n\n {\n\n v->zz_8x4 = wmv2_scantableA;\n\n v->zz_4x8 = wmv2_scantableB;\n\n v->res_y411 = get_bits1(gb);\n\n v->res_sprite = get_bits1(gb);\n\n if (v->res_y411)\n\n {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Old interlaced mode is not supported\\n\");\n\n return -1;\n\n }\n\n if (v->res_sprite) {\n\n av_log(avctx, AV_LOG_ERROR, \"WMVP is not fully supported\\n\");\n\n }\n\n }\n\n\n\n // (fps-2)/4 (->30)\n\n v->frmrtq_postproc = get_bits(gb, 3); //common\n\n // (bitrate-32kbps)/64kbps\n\n v->bitrtq_postproc = get_bits(gb, 5); //common\n\n v->s.loop_filter = get_bits1(gb); //common\n\n if(v->s.loop_filter == 1 && v->profile == PROFILE_SIMPLE)\n\n {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"LOOPFILTER shall not be enabled in Simple Profile\\n\");\n\n }\n\n if(v->s.avctx->skip_loop_filter >= AVDISCARD_ALL)\n\n v->s.loop_filter = 0;\n\n\n\n v->res_x8 = get_bits1(gb); //reserved\n\n v->multires = get_bits1(gb);\n\n v->res_fasttx = get_bits1(gb);\n\n if (!v->res_fasttx)\n\n {\n\n v->vc1dsp.vc1_inv_trans_8x8 = ff_simple_idct_8;\n\n v->vc1dsp.vc1_inv_trans_8x4 = ff_simple_idct84_add;\n\n v->vc1dsp.vc1_inv_trans_4x8 = ff_simple_idct48_add;\n\n v->vc1dsp.vc1_inv_trans_4x4 = ff_simple_idct44_add;\n\n v->vc1dsp.vc1_inv_trans_8x8_dc = ff_simple_idct_add_8;\n\n v->vc1dsp.vc1_inv_trans_8x4_dc = ff_simple_idct84_add;\n\n v->vc1dsp.vc1_inv_trans_4x8_dc = ff_simple_idct48_add;\n\n v->vc1dsp.vc1_inv_trans_4x4_dc = ff_simple_idct44_add;\n\n }\n\n\n\n v->fastuvmc = get_bits1(gb); //common\n\n if (!v->profile && !v->fastuvmc)\n\n {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"FASTUVMC unavailable in Simple Profile\\n\");\n\n return -1;\n\n }\n\n v->extended_mv = get_bits1(gb); //common\n\n if (!v->profile && v->extended_mv)\n\n {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Extended MVs unavailable in Simple Profile\\n\");\n\n return -1;\n\n }\n\n v->dquant = get_bits(gb, 2); //common\n\n v->vstransform = get_bits1(gb); //common\n\n\n\n v->res_transtab = get_bits1(gb);\n\n if (v->res_transtab)\n\n {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"1 for reserved RES_TRANSTAB is forbidden\\n\");\n\n return -1;\n\n }\n\n\n\n v->overlap = get_bits1(gb); //common\n\n\n\n v->s.resync_marker = get_bits1(gb);\n\n v->rangered = get_bits1(gb);\n\n if (v->rangered && v->profile == PROFILE_SIMPLE)\n\n {\n\n av_log(avctx, AV_LOG_INFO,\n\n \"RANGERED should be set to 0 in Simple Profile\\n\");\n\n }\n\n\n\n v->s.max_b_frames = avctx->max_b_frames = get_bits(gb, 3); //common\n\n v->quantizer_mode = get_bits(gb, 2); //common\n\n\n\n v->finterpflag = get_bits1(gb); //common\n\n\n\n if (v->res_sprite) {\n\n v->s.avctx->width = v->s.avctx->coded_width = get_bits(gb, 11);\n\n v->s.avctx->height = v->s.avctx->coded_height = get_bits(gb, 11);\n\n skip_bits(gb, 5); //frame rate\n\n v->res_x8 = get_bits1(gb);\n\n if (get_bits1(gb)) { // something to do with DC VLC selection\n\n av_log(avctx, AV_LOG_ERROR, \"Unsupported sprite feature\\n\");\n\n return -1;\n\n }\n\n skip_bits(gb, 3); //slice code\n\n v->res_rtm_flag = 0;\n\n } else {\n\n v->res_rtm_flag = get_bits1(gb); //reserved\n\n }\n\n if (!v->res_rtm_flag)\n\n {\n\n// av_log(avctx, AV_LOG_ERROR,\n\n// \"0 for reserved RES_RTM_FLAG is forbidden\\n\");\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Old WMV3 version detected, some frames may be decoded incorrectly\\n\");\n\n //return -1;\n\n }\n\n //TODO: figure out what they mean (always 0x402F)\n\n if(!v->res_fasttx) skip_bits(gb, 16);\n\n av_log(avctx, AV_LOG_DEBUG,\n\n \"Profile %i:\\nfrmrtq_postproc=%i, bitrtq_postproc=%i\\n\"\n\n \"LoopFilter=%i, MultiRes=%i, FastUVMC=%i, Extended MV=%i\\n\"\n\n \"Rangered=%i, VSTransform=%i, Overlap=%i, SyncMarker=%i\\n\"\n\n \"DQuant=%i, Quantizer mode=%i, Max B frames=%i\\n\",\n\n v->profile, v->frmrtq_postproc, v->bitrtq_postproc,\n\n v->s.loop_filter, v->multires, v->fastuvmc, v->extended_mv,\n\n v->rangered, v->vstransform, v->overlap, v->s.resync_marker,\n\n v->dquant, v->quantizer_mode, avctx->max_b_frames\n\n );\n\n return 0;\n\n}\n", "idx": 8901}857{"project": "qemu", "commit_id": "5b456438f5bb395ed6b1eec95e18ce7a7a884a0a", "target": 1, "func": "static int s390_virtio_rng_init(VirtIOS390Device *s390_dev)\n\n{\n\n VirtIORNGS390 *dev = VIRTIO_RNG_S390(s390_dev);\n\n DeviceState *vdev = DEVICE(&dev->vdev);\n\n\n\n qdev_set_parent_bus(vdev, BUS(&s390_dev->bus));\n\n if (qdev_init(vdev) < 0) {\n\n return -1;\n\n }\n\n\n\n object_property_set_link(OBJECT(dev),\n\n OBJECT(dev->vdev.conf.default_backend), \"rng\",\n\n NULL);\n\n\n\n return s390_virtio_device_init(s390_dev, VIRTIO_DEVICE(vdev));\n\n}\n", "idx": 8903}858{"project": "qemu", "commit_id": "0fbfbb59a9766247be20023b17eb7872e7b29323", "target": 0, "func": "static void apic_update_irq(APICState *s)\n\n{\n\n int irrv, ppr;\n\n if (!(s->spurious_vec & APIC_SV_ENABLE))\n\n return;\n\n irrv = get_highest_priority_int(s->irr);\n\n if (irrv < 0)\n\n return;\n\n ppr = apic_get_ppr(s);\n\n if (ppr && (irrv & 0xf0) <= (ppr & 0xf0))\n\n return;\n\n cpu_interrupt(s->cpu_env, CPU_INTERRUPT_HARD);\n\n}\n", "idx": 8927}859{"project": "qemu", "commit_id": "41ecc72ba5932381208e151bf2d2149a0342beff", "target": 0, "func": "setup_sigcontext(struct target_sigcontext *sc, struct target_fpstate *fpstate,\n\n\t\t CPUX86State *env, abi_ulong mask, abi_ulong fpstate_addr)\n\n{\n\n CPUState *cs = CPU(x86_env_get_cpu(env));\n\n int err = 0;\n\n uint16_t magic;\n\n\n\n\t/* already locked in setup_frame() */\n\n __put_user(env->segs[R_GS].selector, (unsigned int *)&sc->gs);\n\n __put_user(env->segs[R_FS].selector, (unsigned int *)&sc->fs);\n\n __put_user(env->segs[R_ES].selector, (unsigned int *)&sc->es);\n\n __put_user(env->segs[R_DS].selector, (unsigned int *)&sc->ds);\n\n __put_user(env->regs[R_EDI], &sc->edi);\n\n __put_user(env->regs[R_ESI], &sc->esi);\n\n __put_user(env->regs[R_EBP], &sc->ebp);\n\n __put_user(env->regs[R_ESP], &sc->esp);\n\n __put_user(env->regs[R_EBX], &sc->ebx);\n\n __put_user(env->regs[R_EDX], &sc->edx);\n\n __put_user(env->regs[R_ECX], &sc->ecx);\n\n __put_user(env->regs[R_EAX], &sc->eax);\n\n __put_user(cs->exception_index, &sc->trapno);\n\n __put_user(env->error_code, &sc->err);\n\n __put_user(env->eip, &sc->eip);\n\n __put_user(env->segs[R_CS].selector, (unsigned int *)&sc->cs);\n\n __put_user(env->eflags, &sc->eflags);\n\n __put_user(env->regs[R_ESP], &sc->esp_at_signal);\n\n __put_user(env->segs[R_SS].selector, (unsigned int *)&sc->ss);\n\n\n\n cpu_x86_fsave(env, fpstate_addr, 1);\n\n fpstate->status = fpstate->sw;\n\n magic = 0xffff;\n\n __put_user(magic, &fpstate->magic);\n\n __put_user(fpstate_addr, &sc->fpstate);\n\n\n\n\t/* non-iBCS2 extensions.. */\n\n __put_user(mask, &sc->oldmask);\n\n __put_user(env->cr[2], &sc->cr2);\n\n\treturn err;\n\n}\n", "idx": 8931}860{"project": "qemu", "commit_id": "1f01e50b8330c24714ddca5841fdbb703076b121", "target": 0, "func": "static void coroutine_fn qed_aio_complete(QEDAIOCB *acb)\n\n{\n\n BDRVQEDState *s = acb_to_s(acb);\n\n\n\n /* Free resources */\n\n qemu_iovec_destroy(&acb->cur_qiov);\n\n qed_unref_l2_cache_entry(acb->request.l2_table);\n\n\n\n /* Free the buffer we may have allocated for zero writes */\n\n if (acb->flags & QED_AIOCB_ZERO) {\n\n qemu_vfree(acb->qiov->iov[0].iov_base);\n\n acb->qiov->iov[0].iov_base = NULL;\n\n }\n\n\n\n /* Start next allocating write request waiting behind this one. Note that\n\n * requests enqueue themselves when they first hit an unallocated cluster\n\n * but they wait until the entire request is finished before waking up the\n\n * next request in the queue. This ensures that we don't cycle through\n\n * requests multiple times but rather finish one at a time completely.\n\n */\n\n if (acb == s->allocating_acb) {\n\n s->allocating_acb = NULL;\n\n if (!qemu_co_queue_empty(&s->allocating_write_reqs)) {\n\n qemu_co_enter_next(&s->allocating_write_reqs);\n\n } else if (s->header.features & QED_F_NEED_CHECK) {\n\n qed_start_need_check_timer(s);\n\n }\n\n }\n\n}\n", "idx": 8946}861{"project": "qemu", "commit_id": "37f51384ae05bd50f83308339dbffa3e78404874", "target": 0, "func": "static bool vtd_do_iommu_translate(VTDAddressSpace *vtd_as, PCIBus *bus,\n\n uint8_t devfn, hwaddr addr, bool is_write,\n\n IOMMUTLBEntry *entry)\n\n{\n\n IntelIOMMUState *s = vtd_as->iommu_state;\n\n VTDContextEntry ce;\n\n uint8_t bus_num = pci_bus_num(bus);\n\n VTDContextCacheEntry *cc_entry = &vtd_as->context_cache_entry;\n\n uint64_t slpte, page_mask;\n\n uint32_t level;\n\n uint16_t source_id = vtd_make_source_id(bus_num, devfn);\n\n int ret_fr;\n\n bool is_fpd_set = false;\n\n bool reads = true;\n\n bool writes = true;\n\n uint8_t access_flags;\n\n VTDIOTLBEntry *iotlb_entry;\n\n\n\n /*\n\n * We have standalone memory region for interrupt addresses, we\n\n * should never receive translation requests in this region.\n\n */\n\n assert(!vtd_is_interrupt_addr(addr));\n\n\n\n /* Try to fetch slpte form IOTLB */\n\n iotlb_entry = vtd_lookup_iotlb(s, source_id, addr);\n\n if (iotlb_entry) {\n\n trace_vtd_iotlb_page_hit(source_id, addr, iotlb_entry->slpte,\n\n iotlb_entry->domain_id);\n\n slpte = iotlb_entry->slpte;\n\n access_flags = iotlb_entry->access_flags;\n\n page_mask = iotlb_entry->mask;\n\n goto out;\n\n }\n\n\n\n /* Try to fetch context-entry from cache first */\n\n if (cc_entry->context_cache_gen == s->context_cache_gen) {\n\n trace_vtd_iotlb_cc_hit(bus_num, devfn, cc_entry->context_entry.hi,\n\n cc_entry->context_entry.lo,\n\n cc_entry->context_cache_gen);\n\n ce = cc_entry->context_entry;\n\n is_fpd_set = ce.lo & VTD_CONTEXT_ENTRY_FPD;\n\n } else {\n\n ret_fr = vtd_dev_to_context_entry(s, bus_num, devfn, &ce);\n\n is_fpd_set = ce.lo & VTD_CONTEXT_ENTRY_FPD;\n\n if (ret_fr) {\n\n ret_fr = -ret_fr;\n\n if (is_fpd_set && vtd_is_qualified_fault(ret_fr)) {\n\n trace_vtd_fault_disabled();\n\n } else {\n\n vtd_report_dmar_fault(s, source_id, addr, ret_fr, is_write);\n\n }\n\n goto error;\n\n }\n\n /* Update context-cache */\n\n trace_vtd_iotlb_cc_update(bus_num, devfn, ce.hi, ce.lo,\n\n cc_entry->context_cache_gen,\n\n s->context_cache_gen);\n\n cc_entry->context_entry = ce;\n\n cc_entry->context_cache_gen = s->context_cache_gen;\n\n }\n\n\n\n /*\n\n * We don't need to translate for pass-through context entries.\n\n * Also, let's ignore IOTLB caching as well for PT devices.\n\n */\n\n if (vtd_ce_get_type(&ce) == VTD_CONTEXT_TT_PASS_THROUGH) {\n\n entry->iova = addr & VTD_PAGE_MASK_4K;\n\n entry->translated_addr = entry->iova;\n\n entry->addr_mask = ~VTD_PAGE_MASK_4K;\n\n entry->perm = IOMMU_RW;\n\n trace_vtd_translate_pt(source_id, entry->iova);\n\n\n\n /*\n\n * When this happens, it means firstly caching-mode is not\n\n * enabled, and this is the first passthrough translation for\n\n * the device. Let's enable the fast path for passthrough.\n\n *\n\n * When passthrough is disabled again for the device, we can\n\n * capture it via the context entry invalidation, then the\n\n * IOMMU region can be swapped back.\n\n */\n\n vtd_pt_enable_fast_path(s, source_id);\n\n\n\n return true;\n\n }\n\n\n\n ret_fr = vtd_iova_to_slpte(&ce, addr, is_write, &slpte, &level,\n\n &reads, &writes);\n\n if (ret_fr) {\n\n ret_fr = -ret_fr;\n\n if (is_fpd_set && vtd_is_qualified_fault(ret_fr)) {\n\n trace_vtd_fault_disabled();\n\n } else {\n\n vtd_report_dmar_fault(s, source_id, addr, ret_fr, is_write);\n\n }\n\n goto error;\n\n }\n\n\n\n page_mask = vtd_slpt_level_page_mask(level);\n\n access_flags = IOMMU_ACCESS_FLAG(reads, writes);\n\n vtd_update_iotlb(s, source_id, VTD_CONTEXT_ENTRY_DID(ce.hi), addr, slpte,\n\n access_flags, level);\n\nout:\n\n entry->iova = addr & page_mask;\n\n entry->translated_addr = vtd_get_slpte_addr(slpte) & page_mask;\n\n entry->addr_mask = ~page_mask;\n\n entry->perm = access_flags;\n\n return true;\n\n\n\nerror:\n\n entry->iova = 0;\n\n entry->translated_addr = 0;\n\n entry->addr_mask = 0;\n\n entry->perm = IOMMU_NONE;\n\n return false;\n\n}\n", "idx": 8949}862{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "int load_multiboot(void *fw_cfg,\n\n FILE *f,\n\n const char *kernel_filename,\n\n const char *initrd_filename,\n\n const char *kernel_cmdline,\n\n int kernel_file_size,\n\n uint8_t *header)\n\n{\n\n int i, is_multiboot = 0;\n\n uint32_t flags = 0;\n\n uint32_t mh_entry_addr;\n\n uint32_t mh_load_addr;\n\n uint32_t mb_kernel_size;\n\n MultibootState mbs;\n\n uint8_t bootinfo[MBI_SIZE];\n\n uint8_t *mb_bootinfo_data;\n\n\n\n /* Ok, let's see if it is a multiboot image.\n\n The header is 12x32bit long, so the latest entry may be 8192 - 48. */\n\n for (i = 0; i < (8192 - 48); i += 4) {\n\n if (ldl_p(header+i) == 0x1BADB002) {\n\n uint32_t checksum = ldl_p(header+i+8);\n\n flags = ldl_p(header+i+4);\n\n checksum += flags;\n\n checksum += (uint32_t)0x1BADB002;\n\n if (!checksum) {\n\n is_multiboot = 1;\n\n break;\n\n }\n\n }\n\n }\n\n\n\n if (!is_multiboot)\n\n return 0; /* no multiboot */\n\n\n\n mb_debug(\"qemu: I believe we found a multiboot image!\\n\");\n\n memset(bootinfo, 0, sizeof(bootinfo));\n\n memset(&mbs, 0, sizeof(mbs));\n\n\n\n if (flags & 0x00000004) { /* MULTIBOOT_HEADER_HAS_VBE */\n\n fprintf(stderr, \"qemu: multiboot knows VBE. we don't.\\n\");\n\n }\n\n if (!(flags & 0x00010000)) { /* MULTIBOOT_HEADER_HAS_ADDR */\n\n uint64_t elf_entry;\n\n uint64_t elf_low, elf_high;\n\n int kernel_size;\n\n fclose(f);\n\n\n\n if (((struct elf64_hdr*)header)->e_machine == EM_X86_64) {\n\n fprintf(stderr, \"Cannot load x86-64 image, give a 32bit one.\\n\");\n\n exit(1);\n\n }\n\n\n\n kernel_size = load_elf(kernel_filename, NULL, NULL, &elf_entry,\n\n &elf_low, &elf_high, 0, ELF_MACHINE, 0);\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"Error while loading elf kernel\\n\");\n\n exit(1);\n\n }\n\n mh_load_addr = elf_low;\n\n mb_kernel_size = elf_high - elf_low;\n\n mh_entry_addr = elf_entry;\n\n\n\n mbs.mb_buf = g_malloc(mb_kernel_size);\n\n if (rom_copy(mbs.mb_buf, mh_load_addr, mb_kernel_size) != mb_kernel_size) {\n\n fprintf(stderr, \"Error while fetching elf kernel from rom\\n\");\n\n exit(1);\n\n }\n\n\n\n mb_debug(\"qemu: loading multiboot-elf kernel (%#x bytes) with entry %#zx\\n\",\n\n mb_kernel_size, (size_t)mh_entry_addr);\n\n } else {\n\n /* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_ADDR. */\n\n uint32_t mh_header_addr = ldl_p(header+i+12);\n\n uint32_t mh_load_end_addr = ldl_p(header+i+20);\n\n uint32_t mh_bss_end_addr = ldl_p(header+i+24);\n\n mh_load_addr = ldl_p(header+i+16);\n\n uint32_t mb_kernel_text_offset = i - (mh_header_addr - mh_load_addr);\n\n uint32_t mb_load_size = 0;\n\n mh_entry_addr = ldl_p(header+i+28);\n\n\n\n if (mh_load_end_addr) {\n\n mb_kernel_size = mh_bss_end_addr - mh_load_addr;\n\n mb_load_size = mh_load_end_addr - mh_load_addr;\n\n } else {\n\n mb_kernel_size = kernel_file_size - mb_kernel_text_offset;\n\n mb_load_size = mb_kernel_size;\n\n }\n\n\n\n /* Valid if mh_flags sets MULTIBOOT_HEADER_HAS_VBE.\n\n uint32_t mh_mode_type = ldl_p(header+i+32);\n\n uint32_t mh_width = ldl_p(header+i+36);\n\n uint32_t mh_height = ldl_p(header+i+40);\n\n uint32_t mh_depth = ldl_p(header+i+44); */\n\n\n\n mb_debug(\"multiboot: mh_header_addr = %#x\\n\", mh_header_addr);\n\n mb_debug(\"multiboot: mh_load_addr = %#x\\n\", mh_load_addr);\n\n mb_debug(\"multiboot: mh_load_end_addr = %#x\\n\", mh_load_end_addr);\n\n mb_debug(\"multiboot: mh_bss_end_addr = %#x\\n\", mh_bss_end_addr);\n\n mb_debug(\"qemu: loading multiboot kernel (%#x bytes) at %#x\\n\",\n\n mb_load_size, mh_load_addr);\n\n\n\n mbs.mb_buf = g_malloc(mb_kernel_size);\n\n fseek(f, mb_kernel_text_offset, SEEK_SET);\n\n if (fread(mbs.mb_buf, 1, mb_load_size, f) != mb_load_size) {\n\n fprintf(stderr, \"fread() failed\\n\");\n\n exit(1);\n\n }\n\n memset(mbs.mb_buf + mb_load_size, 0, mb_kernel_size - mb_load_size);\n\n fclose(f);\n\n }\n\n\n\n mbs.mb_buf_phys = mh_load_addr;\n\n\n\n mbs.mb_buf_size = TARGET_PAGE_ALIGN(mb_kernel_size);\n\n mbs.offset_mbinfo = mbs.mb_buf_size;\n\n\n\n /* Calculate space for cmdlines and mb_mods */\n\n mbs.mb_buf_size += strlen(kernel_filename) + 1;\n\n mbs.mb_buf_size += strlen(kernel_cmdline) + 1;\n\n if (initrd_filename) {\n\n const char *r = initrd_filename;\n\n mbs.mb_buf_size += strlen(r) + 1;\n\n mbs.mb_mods_avail = 1;\n\n while (*(r = get_opt_value(NULL, 0, r))) {\n\n mbs.mb_mods_avail++;\n\n r++;\n\n }\n\n mbs.mb_buf_size += MB_MOD_SIZE * mbs.mb_mods_avail;\n\n }\n\n\n\n mbs.mb_buf_size = TARGET_PAGE_ALIGN(mbs.mb_buf_size);\n\n\n\n /* enlarge mb_buf to hold cmdlines and mb-info structs */\n\n mbs.mb_buf = g_realloc(mbs.mb_buf, mbs.mb_buf_size);\n\n mbs.offset_cmdlines = mbs.offset_mbinfo + mbs.mb_mods_avail * MB_MOD_SIZE;\n\n\n\n if (initrd_filename) {\n\n char *next_initrd, not_last;\n\n\n\n mbs.offset_mods = mbs.mb_buf_size;\n\n\n\n do {\n\n char *next_space;\n\n int mb_mod_length;\n\n uint32_t offs = mbs.mb_buf_size;\n\n\n\n next_initrd = (char *)get_opt_value(NULL, 0, initrd_filename);\n\n not_last = *next_initrd;\n\n *next_initrd = '\\0';\n\n /* if a space comes after the module filename, treat everything\n\n after that as parameters */\n\n target_phys_addr_t c = mb_add_cmdline(&mbs, initrd_filename);\n\n if ((next_space = strchr(initrd_filename, ' ')))\n\n *next_space = '\\0';\n\n mb_debug(\"multiboot loading module: %s\\n\", initrd_filename);\n\n mb_mod_length = get_image_size(initrd_filename);\n\n if (mb_mod_length < 0) {\n\n fprintf(stderr, \"Failed to open file '%s'\\n\", initrd_filename);\n\n exit(1);\n\n }\n\n\n\n mbs.mb_buf_size = TARGET_PAGE_ALIGN(mb_mod_length + mbs.mb_buf_size);\n\n mbs.mb_buf = g_realloc(mbs.mb_buf, mbs.mb_buf_size);\n\n\n\n load_image(initrd_filename, (unsigned char *)mbs.mb_buf + offs);\n\n mb_add_mod(&mbs, mbs.mb_buf_phys + offs,\n\n mbs.mb_buf_phys + offs + mb_mod_length, c);\n\n\n\n mb_debug(\"mod_start: %p\\nmod_end: %p\\n cmdline: \"TARGET_FMT_plx\"\\n\",\n\n (char *)mbs.mb_buf + offs,\n\n (char *)mbs.mb_buf + offs + mb_mod_length, c);\n\n initrd_filename = next_initrd+1;\n\n } while (not_last);\n\n }\n\n\n\n /* Commandline support */\n\n char kcmdline[strlen(kernel_filename) + strlen(kernel_cmdline) + 2];\n\n snprintf(kcmdline, sizeof(kcmdline), \"%s %s\",\n\n kernel_filename, kernel_cmdline);\n\n stl_p(bootinfo + MBI_CMDLINE, mb_add_cmdline(&mbs, kcmdline));\n\n\n\n stl_p(bootinfo + MBI_MODS_ADDR, mbs.mb_buf_phys + mbs.offset_mbinfo);\n\n stl_p(bootinfo + MBI_MODS_COUNT, mbs.mb_mods_count); /* mods_count */\n\n\n\n /* the kernel is where we want it to be now */\n\n stl_p(bootinfo + MBI_FLAGS, MULTIBOOT_FLAGS_MEMORY\n\n | MULTIBOOT_FLAGS_BOOT_DEVICE\n\n | MULTIBOOT_FLAGS_CMDLINE\n\n | MULTIBOOT_FLAGS_MODULES\n\n | MULTIBOOT_FLAGS_MMAP);\n\n stl_p(bootinfo + MBI_MEM_LOWER, 640);\n\n stl_p(bootinfo + MBI_MEM_UPPER, (ram_size / 1024) - 1024);\n\n stl_p(bootinfo + MBI_BOOT_DEVICE, 0x8000ffff); /* XXX: use the -boot switch? */\n\n stl_p(bootinfo + MBI_MMAP_ADDR, ADDR_E820_MAP);\n\n\n\n mb_debug(\"multiboot: mh_entry_addr = %#x\\n\", mh_entry_addr);\n\n mb_debug(\" mb_buf_phys = \"TARGET_FMT_plx\"\\n\", mbs.mb_buf_phys);\n\n mb_debug(\" mod_start = \"TARGET_FMT_plx\"\\n\", mbs.mb_buf_phys + mbs.offset_mods);\n\n mb_debug(\" mb_mods_count = %d\\n\", mbs.mb_mods_count);\n\n\n\n /* save bootinfo off the stack */\n\n mb_bootinfo_data = g_malloc(sizeof(bootinfo));\n\n memcpy(mb_bootinfo_data, bootinfo, sizeof(bootinfo));\n\n\n\n /* Pass variables to option rom */\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ENTRY, mh_entry_addr);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_ADDR, mh_load_addr);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_KERNEL_SIZE, mbs.mb_buf_size);\n\n fw_cfg_add_bytes(fw_cfg, FW_CFG_KERNEL_DATA,\n\n mbs.mb_buf, mbs.mb_buf_size);\n\n\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_ADDR, ADDR_MBI);\n\n fw_cfg_add_i32(fw_cfg, FW_CFG_INITRD_SIZE, sizeof(bootinfo));\n\n fw_cfg_add_bytes(fw_cfg, FW_CFG_INITRD_DATA, mb_bootinfo_data,\n\n sizeof(bootinfo));\n\n\n\n option_rom[nb_option_roms].name = \"multiboot.bin\";\n\n option_rom[nb_option_roms].bootindex = 0;\n\n nb_option_roms++;\n\n\n\n return 1; /* yes, we are multiboot */\n\n}\n", "idx": 8955}863{"project": "FFmpeg", "commit_id": "73bb8f61d48dbf7237df2e9cacd037f12b84b00a", "target": 0, "func": "static void FUNC(hevc_h_loop_filter_luma)(uint8_t *pix, ptrdiff_t stride,\n\n int *beta, int *tc, uint8_t *no_p,\n\n uint8_t *no_q)\n\n{\n\n FUNC(hevc_loop_filter_luma)(pix, stride, sizeof(pixel),\n\n beta, tc, no_p, no_q);\n\n}\n", "idx": 8963}864{"project": "qemu", "commit_id": "eabb7b91b36b202b4dac2df2d59d698e3aff197a", "target": 0, "func": "static void tcg_out_brcond(TCGContext *s, TCGMemOp ext, TCGCond c, TCGArg a,\n\n TCGArg b, bool b_const, TCGLabel *l)\n\n{\n\n intptr_t offset;\n\n bool need_cmp;\n\n\n\n if (b_const && b == 0 && (c == TCG_COND_EQ || c == TCG_COND_NE)) {\n\n need_cmp = false;\n\n } else {\n\n need_cmp = true;\n\n tcg_out_cmp(s, ext, a, b, b_const);\n\n }\n\n\n\n if (!l->has_value) {\n\n tcg_out_reloc(s, s->code_ptr, R_AARCH64_CONDBR19, l, 0);\n\n offset = tcg_in32(s) >> 5;\n\n } else {\n\n offset = l->u.value_ptr - s->code_ptr;\n\n assert(offset == sextract64(offset, 0, 19));\n\n }\n\n\n\n if (need_cmp) {\n\n tcg_out_insn(s, 3202, B_C, c, offset);\n\n } else if (c == TCG_COND_EQ) {\n\n tcg_out_insn(s, 3201, CBZ, ext, a, offset);\n\n } else {\n\n tcg_out_insn(s, 3201, CBNZ, ext, a, offset);\n\n }\n\n}\n", "idx": 8970}865{"project": "qemu", "commit_id": "3736cc5be31f0399999e37d8b28ca9a3ed0b4ccb", "target": 0, "func": "static int nbd_negotiate_options(NBDClient *client, Error **errp)\n\n{\n\n uint32_t flags;\n\n bool fixedNewstyle = false;\n\n\n\n /* Client sends:\n\n [ 0 .. 3] client flags\n\n\n\n [ 0 .. 7] NBD_OPTS_MAGIC\n\n [ 8 .. 11] NBD option\n\n [12 .. 15] Data length\n\n ... Rest of request\n\n\n\n [ 0 .. 7] NBD_OPTS_MAGIC\n\n [ 8 .. 11] Second NBD option\n\n [12 .. 15] Data length\n\n ... Rest of request\n\n */\n\n\n\n if (nbd_read(client->ioc, &flags, sizeof(flags), errp) < 0) {\n\n error_prepend(errp, \"read failed: \");\n\n return -EIO;\n\n }\n\n trace_nbd_negotiate_options_flags();\n\n be32_to_cpus(&flags);\n\n if (flags & NBD_FLAG_C_FIXED_NEWSTYLE) {\n\n trace_nbd_negotiate_options_newstyle();\n\n fixedNewstyle = true;\n\n flags &= ~NBD_FLAG_C_FIXED_NEWSTYLE;\n\n }\n\n if (flags & NBD_FLAG_C_NO_ZEROES) {\n\n trace_nbd_negotiate_options_no_zeroes();\n\n client->no_zeroes = true;\n\n flags &= ~NBD_FLAG_C_NO_ZEROES;\n\n }\n\n if (flags != 0) {\n\n error_setg(errp, \"Unknown client flags 0x%\" PRIx32 \" received\", flags);\n\n return -EIO;\n\n }\n\n\n\n while (1) {\n\n int ret;\n\n uint32_t option, length;\n\n uint64_t magic;\n\n\n\n if (nbd_read(client->ioc, &magic, sizeof(magic), errp) < 0) {\n\n error_prepend(errp, \"read failed: \");\n\n return -EINVAL;\n\n }\n\n magic = be64_to_cpu(magic);\n\n trace_nbd_negotiate_options_check_magic(magic);\n\n if (magic != NBD_OPTS_MAGIC) {\n\n error_setg(errp, \"Bad magic received\");\n\n return -EINVAL;\n\n }\n\n\n\n if (nbd_read(client->ioc, &option,\n\n sizeof(option), errp) < 0) {\n\n error_prepend(errp, \"read failed: \");\n\n return -EINVAL;\n\n }\n\n option = be32_to_cpu(option);\n\n\n\n if (nbd_read(client->ioc, &length, sizeof(length), errp) < 0) {\n\n error_prepend(errp, \"read failed: \");\n\n return -EINVAL;\n\n }\n\n length = be32_to_cpu(length);\n\n\n\n trace_nbd_negotiate_options_check_option(option);\n\n if (client->tlscreds &&\n\n client->ioc == (QIOChannel *)client->sioc) {\n\n QIOChannel *tioc;\n\n if (!fixedNewstyle) {\n\n error_setg(errp, \"Unsupported option 0x%\" PRIx32, option);\n\n return -EINVAL;\n\n }\n\n switch (option) {\n\n case NBD_OPT_STARTTLS:\n\n tioc = nbd_negotiate_handle_starttls(client, length, errp);\n\n if (!tioc) {\n\n return -EIO;\n\n }\n\n object_unref(OBJECT(client->ioc));\n\n client->ioc = QIO_CHANNEL(tioc);\n\n break;\n\n\n\n case NBD_OPT_EXPORT_NAME:\n\n /* No way to return an error to client, so drop connection */\n\n error_setg(errp, \"Option 0x%x not permitted before TLS\",\n\n option);\n\n return -EINVAL;\n\n\n\n default:\n\n if (nbd_drop(client->ioc, length, errp) < 0) {\n\n return -EIO;\n\n }\n\n ret = nbd_negotiate_send_rep_err(client->ioc,\n\n NBD_REP_ERR_TLS_REQD,\n\n option, errp,\n\n \"Option 0x%\" PRIx32\n\n \"not permitted before TLS\",\n\n option);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n /* Let the client keep trying, unless they asked to\n\n * quit. In this mode, we've already sent an error, so\n\n * we can't ack the abort. */\n\n if (option == NBD_OPT_ABORT) {\n\n return 1;\n\n }\n\n break;\n\n }\n\n } else if (fixedNewstyle) {\n\n switch (option) {\n\n case NBD_OPT_LIST:\n\n ret = nbd_negotiate_handle_list(client, length, errp);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n break;\n\n\n\n case NBD_OPT_ABORT:\n\n /* NBD spec says we must try to reply before\n\n * disconnecting, but that we must also tolerate\n\n * guests that don't wait for our reply. */\n\n nbd_negotiate_send_rep(client->ioc, NBD_REP_ACK, option, NULL);\n\n return 1;\n\n\n\n case NBD_OPT_EXPORT_NAME:\n\n return nbd_negotiate_handle_export_name(client, length, errp);\n\n\n\n case NBD_OPT_STARTTLS:\n\n if (nbd_drop(client->ioc, length, errp) < 0) {\n\n return -EIO;\n\n }\n\n if (client->tlscreds) {\n\n ret = nbd_negotiate_send_rep_err(client->ioc,\n\n NBD_REP_ERR_INVALID,\n\n option, errp,\n\n \"TLS already enabled\");\n\n } else {\n\n ret = nbd_negotiate_send_rep_err(client->ioc,\n\n NBD_REP_ERR_POLICY,\n\n option, errp,\n\n \"TLS not configured\");\n\n }\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n break;\n\n default:\n\n if (nbd_drop(client->ioc, length, errp) < 0) {\n\n return -EIO;\n\n }\n\n ret = nbd_negotiate_send_rep_err(client->ioc,\n\n NBD_REP_ERR_UNSUP,\n\n option, errp,\n\n \"Unsupported option 0x%\"\n\n PRIx32,\n\n option);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n break;\n\n }\n\n } else {\n\n /*\n\n * If broken new-style we should drop the connection\n\n * for anything except NBD_OPT_EXPORT_NAME\n\n */\n\n switch (option) {\n\n case NBD_OPT_EXPORT_NAME:\n\n return nbd_negotiate_handle_export_name(client, length, errp);\n\n\n\n default:\n\n error_setg(errp, \"Unsupported option 0x%\" PRIx32, option);\n\n return -EINVAL;\n\n }\n\n }\n\n }\n\n}\n", "idx": 8988}866{"project": "qemu", "commit_id": "f21126df5f81797486eb3bd628da8e2ad5fae12e", "target": 1, "func": "static void pl181_fifo_run(pl181_state *s)\n\n{\n\n uint32_t bits;\n\n uint32_t value;\n\n int n;\n\n int is_read;\n\n\n\n is_read = (s->datactrl & PL181_DATA_DIRECTION) != 0;\n\n if (s->datacnt != 0 && (!is_read || sd_data_ready(s->card))\n\n && !s->linux_hack) {\n\n if (is_read) {\n\n n = 0;\n\n value = 0;\n\n while (s->datacnt && s->fifo_len < PL181_FIFO_LEN) {\n\n value |= (uint32_t)sd_read_data(s->card) << (n * 8);\n\n s->datacnt--;\n\n n++;\n\n if (n == 4) {\n\n pl181_fifo_push(s, value);\n\n n = 0;\n\n value = 0;\n\n }\n\n }\n\n if (n != 0) {\n\n pl181_fifo_push(s, value);\n\n }\n\n } else { /* write */\n\n n = 0;\n\n while (s->datacnt > 0 && (s->fifo_len > 0 || n > 0)) {\n\n if (n == 0) {\n\n value = pl181_fifo_pop(s);\n\n n = 4;\n\n }\n\n n--;\n\n s->datacnt--;\n\n sd_write_data(s->card, value & 0xff);\n\n value >>= 8;\n\n }\n\n }\n\n }\n\n s->status &= ~(PL181_STATUS_RX_FIFO | PL181_STATUS_TX_FIFO);\n\n if (s->datacnt == 0) {\n\n s->status |= PL181_STATUS_DATAEND;\n\n /* HACK: */\n\n s->status |= PL181_STATUS_DATABLOCKEND;\n\n DPRINTF(\"Transfer Complete\\n\");\n\n }\n\n if (s->datacnt == 0 && s->fifo_len == 0) {\n\n s->datactrl &= ~PL181_DATA_ENABLE;\n\n DPRINTF(\"Data engine idle\\n\");\n\n } else {\n\n /* Update FIFO bits. */\n\n bits = PL181_STATUS_TXACTIVE | PL181_STATUS_RXACTIVE;\n\n if (s->fifo_len == 0) {\n\n bits |= PL181_STATUS_TXFIFOEMPTY;\n\n bits |= PL181_STATUS_RXFIFOEMPTY;\n\n } else {\n\n bits |= PL181_STATUS_TXDATAAVLBL;\n\n bits |= PL181_STATUS_RXDATAAVLBL;\n\n }\n\n if (s->fifo_len == 16) {\n\n bits |= PL181_STATUS_TXFIFOFULL;\n\n bits |= PL181_STATUS_RXFIFOFULL;\n\n }\n\n if (s->fifo_len <= 8) {\n\n bits |= PL181_STATUS_TXFIFOHALFEMPTY;\n\n }\n\n if (s->fifo_len >= 8) {\n\n bits |= PL181_STATUS_RXFIFOHALFFULL;\n\n }\n\n if (s->datactrl & PL181_DATA_DIRECTION) {\n\n bits &= PL181_STATUS_RX_FIFO;\n\n } else {\n\n bits &= PL181_STATUS_TX_FIFO;\n\n }\n\n s->status |= bits;\n\n }\n\n}\n", "idx": 9025}867{"project": "FFmpeg", "commit_id": "93c04e095dc37ebdab22174e88cfa91e24940866", "target": 0, "func": "static int flv_read_metabody(AVFormatContext *s, int64_t next_pos)\n\n{\n\n AMFDataType type;\n\n AVStream *stream, *astream, *vstream;\n\n AVIOContext *ioc;\n\n int i;\n\n // only needs to hold the string \"onMetaData\".\n\n // Anything longer is something we don't want.\n\n char buffer[11];\n\n\n\n astream = NULL;\n\n vstream = NULL;\n\n ioc = s->pb;\n\n\n\n // first object needs to be \"onMetaData\" string\n\n type = avio_r8(ioc);\n\n if (type != AMF_DATA_TYPE_STRING ||\n\n amf_get_string(ioc, buffer, sizeof(buffer)) < 0)\n\n return -1;\n\n\n\n if (!strcmp(buffer, \"onTextData\"))\n\n return 1;\n\n\n\n if (strcmp(buffer, \"onMetaData\"))\n\n return -1;\n\n\n\n // find the streams now so that amf_parse_object doesn't need to do\n\n // the lookup every time it is called.\n\n for (i = 0; i < s->nb_streams; i++) {\n\n stream = s->streams[i];\n\n if (stream->codec->codec_type == AVMEDIA_TYPE_AUDIO)\n\n astream = stream;\n\n else if (stream->codec->codec_type == AVMEDIA_TYPE_VIDEO)\n\n vstream = stream;\n\n }\n\n\n\n // parse the second object (we want a mixed array)\n\n if (amf_parse_object(s, astream, vstream, buffer, next_pos, 0) < 0)\n\n return -1;\n\n\n\n return 0;\n\n}\n", "idx": 9036}868{"project": "qemu", "commit_id": "2e2aa31674444b61e79536a90d63a90572e695c8", "target": 0, "func": "static void mptsas_scsi_init(PCIDevice *dev, Error **errp)\n\n{\n\n DeviceState *d = DEVICE(dev);\n\n MPTSASState *s = MPT_SAS(dev);\n\n Error *err = NULL;\n\n int ret;\n\n\n\n dev->config[PCI_LATENCY_TIMER] = 0;\n\n dev->config[PCI_INTERRUPT_PIN] = 0x01;\n\n\n\n if (s->msi != ON_OFF_AUTO_OFF) {\n\n ret = msi_init(dev, 0, 1, true, false, &err);\n\n /* Any error other than -ENOTSUP(board's MSI support is broken)\n\n * is a programming error */\n\n assert(!ret || ret == -ENOTSUP);\n\n if (ret && s->msi == ON_OFF_AUTO_ON) {\n\n /* Can't satisfy user's explicit msi=on request, fail */\n\n error_append_hint(&err, \"You have to use msi=auto (default) or \"\n\n \"msi=off with this machine type.\\n\");\n\n error_propagate(errp, err);\n\n s->msi_in_use = false;\n\n return;\n\n } else if (ret) {\n\n /* With msi=auto, we fall back to MSI off silently */\n\n error_free(err);\n\n s->msi_in_use = false;\n\n } else {\n\n s->msi_in_use = true;\n\n }\n\n }\n\n\n\n memory_region_init_io(&s->mmio_io, OBJECT(s), &mptsas_mmio_ops, s,\n\n \"mptsas-mmio\", 0x4000);\n\n memory_region_init_io(&s->port_io, OBJECT(s), &mptsas_port_ops, s,\n\n \"mptsas-io\", 256);\n\n memory_region_init_io(&s->diag_io, OBJECT(s), &mptsas_diag_ops, s,\n\n \"mptsas-diag\", 0x10000);\n\n\n\n pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &s->port_io);\n\n pci_register_bar(dev, 1, PCI_BASE_ADDRESS_SPACE_MEMORY |\n\n PCI_BASE_ADDRESS_MEM_TYPE_32, &s->mmio_io);\n\n pci_register_bar(dev, 2, PCI_BASE_ADDRESS_SPACE_MEMORY |\n\n PCI_BASE_ADDRESS_MEM_TYPE_32, &s->diag_io);\n\n\n\n if (!s->sas_addr) {\n\n s->sas_addr = ((NAA_LOCALLY_ASSIGNED_ID << 24) |\n\n IEEE_COMPANY_LOCALLY_ASSIGNED) << 36;\n\n s->sas_addr |= (pci_bus_num(dev->bus) << 16);\n\n s->sas_addr |= (PCI_SLOT(dev->devfn) << 8);\n\n s->sas_addr |= PCI_FUNC(dev->devfn);\n\n }\n\n s->max_devices = MPTSAS_NUM_PORTS;\n\n\n\n s->request_bh = qemu_bh_new(mptsas_fetch_requests, s);\n\n\n\n QTAILQ_INIT(&s->pending);\n\n\n\n scsi_bus_new(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info, NULL);\n\n if (!d->hotplugged) {\n\n scsi_bus_legacy_handle_cmdline(&s->bus, errp);\n\n }\n\n}\n", "idx": 9038}869{"project": "qemu", "commit_id": "1da41cc1c6c3efbe2ed47228068bd80dbdc49d0e", "target": 0, "func": "static void kvm_arm_gic_realize(DeviceState *dev, Error **errp)\n\n{\n\n int i;\n\n GICState *s = KVM_ARM_GIC(dev);\n\n SysBusDevice *sbd = SYS_BUS_DEVICE(dev);\n\n KVMARMGICClass *kgc = KVM_ARM_GIC_GET_CLASS(s);\n\n\n\n kgc->parent_realize(dev, errp);\n\n if (error_is_set(errp)) {\n\n return;\n\n }\n\n\n\n i = s->num_irq - GIC_INTERNAL;\n\n /* For the GIC, also expose incoming GPIO lines for PPIs for each CPU.\n\n * GPIO array layout is thus:\n\n * [0..N-1] SPIs\n\n * [N..N+31] PPIs for CPU 0\n\n * [N+32..N+63] PPIs for CPU 1\n\n * ...\n\n */\n\n i += (GIC_INTERNAL * s->num_cpu);\n\n qdev_init_gpio_in(dev, kvm_arm_gic_set_irq, i);\n\n /* We never use our outbound IRQ lines but provide them so that\n\n * we maintain the same interface as the non-KVM GIC.\n\n */\n\n for (i = 0; i < s->num_cpu; i++) {\n\n sysbus_init_irq(sbd, &s->parent_irq[i]);\n\n }\n\n /* Distributor */\n\n memory_region_init_reservation(&s->iomem, OBJECT(s),\n\n \"kvm-gic_dist\", 0x1000);\n\n sysbus_init_mmio(sbd, &s->iomem);\n\n kvm_arm_register_device(&s->iomem,\n\n (KVM_ARM_DEVICE_VGIC_V2 << KVM_ARM_DEVICE_ID_SHIFT)\n\n | KVM_VGIC_V2_ADDR_TYPE_DIST);\n\n /* CPU interface for current core. Unlike arm_gic, we don't\n\n * provide the \"interface for core #N\" memory regions, because\n\n * cores with a VGIC don't have those.\n\n */\n\n memory_region_init_reservation(&s->cpuiomem[0], OBJECT(s),\n\n \"kvm-gic_cpu\", 0x1000);\n\n sysbus_init_mmio(sbd, &s->cpuiomem[0]);\n\n kvm_arm_register_device(&s->cpuiomem[0],\n\n (KVM_ARM_DEVICE_VGIC_V2 << KVM_ARM_DEVICE_ID_SHIFT)\n\n | KVM_VGIC_V2_ADDR_TYPE_CPU);\n\n}\n", "idx": 9039}870{"project": "FFmpeg", "commit_id": "ebea370dc3909aa182bae4c728b83516a904beca", "target": 0, "func": "static int write_fragments(struct Tracks *tracks, int start_index,\n\n AVIOContext *in)\n\n{\n\n char dirname[100], filename[500];\n\n int i, j;\n\n\n\n for (i = start_index; i < tracks->nb_tracks; i++) {\n\n struct Track *track = tracks->tracks[i];\n\n const char *type = track->is_video ? \"video\" : \"audio\";\n\n snprintf(dirname, sizeof(dirname), \"QualityLevels(%d)\", track->bitrate);\n\n mkdir(dirname, 0777);\n\n for (j = 0; j < track->chunks; j++) {\n\n snprintf(filename, sizeof(filename), \"%s/Fragments(%s=%\"PRId64\")\",\n\n dirname, type, track->offsets[j].time);\n\n avio_seek(in, track->offsets[j].offset, SEEK_SET);\n\n write_fragment(filename, in);\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 9047}871{"project": "qemu", "commit_id": "31783203c3b74c11015b20194d57dada559940cf", "target": 0, "func": "char *qemu_find_file(int type, const char *name)\n\n{\n\n int len;\n\n const char *subdir;\n\n char *buf;\n\n\n\n /* If name contains path separators then try it as a straight path. */\n\n if ((strchr(name, '/') || strchr(name, '\\\\'))\n\n && access(name, R_OK) == 0) {\n\n return g_strdup(name);\n\n }\n\n switch (type) {\n\n case QEMU_FILE_TYPE_BIOS:\n\n subdir = \"\";\n\n break;\n\n case QEMU_FILE_TYPE_KEYMAP:\n\n subdir = \"keymaps/\";\n\n break;\n\n default:\n\n abort();\n\n }\n\n len = strlen(data_dir) + strlen(name) + strlen(subdir) + 2;\n\n buf = g_malloc0(len);\n\n snprintf(buf, len, \"%s/%s%s\", data_dir, subdir, name);\n\n if (access(buf, R_OK)) {\n\n g_free(buf);\n\n return NULL;\n\n }\n\n return buf;\n\n}\n", "idx": 9049}872{"project": "qemu", "commit_id": "7e2515e87c41e2e658aaed466e11cbdf1ea8bcb1", "target": 0, "func": "void term_flush(void)\n\n{\n\n}\n", "idx": 9055}873{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint64_t elcr_ioport_read(void *opaque, target_phys_addr_t addr,\n\n unsigned size)\n\n{\n\n PICCommonState *s = opaque;\n\n return s->elcr;\n\n}\n", "idx": 9067}874{"project": "qemu", "commit_id": "641bb63cd6b003ab0ca2e312a014449037d71647", "target": 0, "func": "static int inc_refcounts(BlockDriverState *bs,\n\n BdrvCheckResult *res,\n\n uint16_t *refcount_table,\n\n int64_t refcount_table_size,\n\n int64_t offset, int64_t size)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n uint64_t start, last, cluster_offset, k;\n\n\n\n if (size <= 0) {\n\n return 0;\n\n }\n\n\n\n start = start_of_cluster(s, offset);\n\n last = start_of_cluster(s, offset + size - 1);\n\n for(cluster_offset = start; cluster_offset <= last;\n\n cluster_offset += s->cluster_size) {\n\n k = cluster_offset >> s->cluster_bits;\n\n if (k >= refcount_table_size) {\n\n fprintf(stderr, \"Warning: cluster offset=0x%\" PRIx64 \" is after \"\n\n \"the end of the image file, can't properly check refcounts.\\n\",\n\n cluster_offset);\n\n res->check_errors++;\n\n } else {\n\n if (++refcount_table[k] == 0) {\n\n fprintf(stderr, \"ERROR: overflow cluster offset=0x%\" PRIx64\n\n \"\\n\", cluster_offset);\n\n res->corruptions++;\n\n }\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 9072}875{"project": "qemu", "commit_id": "f140e3000371e67ff4e00df3213e2d576d9c91be", "target": 1, "func": "static int nbd_co_request(BlockDriverState *bs,\n\n NBDRequest *request,\n\n QEMUIOVector *qiov)\n\n{\n\n NBDClientSession *client = nbd_get_client_session(bs);\n\n int ret;\n\n\n\n if (qiov) {\n\n assert(request->type == NBD_CMD_WRITE || request->type == NBD_CMD_READ);\n\n assert(request->len == iov_size(qiov->iov, qiov->niov));\n\n } else {\n\n assert(request->type != NBD_CMD_WRITE && request->type != NBD_CMD_READ);\n\n }\n\n ret = nbd_co_send_request(bs, request,\n\n request->type == NBD_CMD_WRITE ? qiov : NULL);\n\n if (ret < 0) {\n\n return ret;\n\n }\n\n\n\n return nbd_co_receive_reply(client, request->handle,\n\n request->type == NBD_CMD_READ ? qiov : NULL);\n\n}\n", "idx": 9087}876{"project": "qemu", "commit_id": "eff235eb2bcd7092901f4698a7907e742f3b7f2f", "target": 1, "func": "static ExitStatus trans_log(DisasContext *ctx, uint32_t insn,\n\n const DisasInsn *di)\n\n{\n\n unsigned r2 = extract32(insn, 21, 5);\n\n unsigned r1 = extract32(insn, 16, 5);\n\n unsigned cf = extract32(insn, 12, 4);\n\n unsigned rt = extract32(insn, 0, 5);\n\n TCGv tcg_r1, tcg_r2;\n\n ExitStatus ret;\n\n\n\n if (cf) {\n\n nullify_over(ctx);\n\n }\n\n tcg_r1 = load_gpr(ctx, r1);\n\n tcg_r2 = load_gpr(ctx, r2);\n\n ret = do_log(ctx, rt, tcg_r1, tcg_r2, cf, di->f_ttt);\n\n return nullify_end(ctx, ret);\n\n}\n", "idx": 9091}877{"project": "FFmpeg", "commit_id": "f27b22b4974c740f4c7b4140a793cac196179266", "target": 0, "func": "static av_always_inline void xchg_mb_border(H264Context *h, uint8_t *src_y,\n\n uint8_t *src_cb, uint8_t *src_cr,\n\n int linesize, int uvlinesize,\n\n int xchg, int chroma444,\n\n int simple, int pixel_shift)\n\n{\n\n int deblock_topleft;\n\n int deblock_top;\n\n int top_idx = 1;\n\n uint8_t *top_border_m1;\n\n uint8_t *top_border;\n\n\n\n if (!simple && FRAME_MBAFF(h)) {\n\n if (h->mb_y & 1) {\n\n if (!MB_MBAFF(h))\n\n return;\n\n } else {\n\n top_idx = MB_MBAFF(h) ? 0 : 1;\n\n }\n\n }\n\n\n\n if (h->deblocking_filter == 2) {\n\n deblock_topleft = h->slice_table[h->mb_xy - 1 - h->mb_stride] == h->slice_num;\n\n deblock_top = h->top_type;\n\n } else {\n\n deblock_topleft = (h->mb_x > 0);\n\n deblock_top = (h->mb_y > !!MB_FIELD(h));\n\n }\n\n\n\n src_y -= linesize + 1 + pixel_shift;\n\n src_cb -= uvlinesize + 1 + pixel_shift;\n\n src_cr -= uvlinesize + 1 + pixel_shift;\n\n\n\n top_border_m1 = h->top_borders[top_idx][h->mb_x - 1];\n\n top_border = h->top_borders[top_idx][h->mb_x];\n\n\n\n#define XCHG(a, b, xchg) \\\n\n if (pixel_shift) { \\\n\n if (xchg) { \\\n\n AV_SWAP64(b + 0, a + 0); \\\n\n AV_SWAP64(b + 8, a + 8); \\\n\n } else { \\\n\n AV_COPY128(b, a); \\\n\n } \\\n\n } else if (xchg) \\\n\n AV_SWAP64(b, a); \\\n\n else \\\n\n AV_COPY64(b, a);\n\n\n\n if (deblock_top) {\n\n if (deblock_topleft) {\n\n XCHG(top_border_m1 + (8 << pixel_shift),\n\n src_y - (7 << pixel_shift), 1);\n\n }\n\n XCHG(top_border + (0 << pixel_shift), src_y + (1 << pixel_shift), xchg);\n\n XCHG(top_border + (8 << pixel_shift), src_y + (9 << pixel_shift), 1);\n\n if (h->mb_x + 1 < h->mb_width) {\n\n XCHG(h->top_borders[top_idx][h->mb_x + 1],\n\n src_y + (17 << pixel_shift), 1);\n\n }\n\n }\n\n if (simple || !CONFIG_GRAY || !(h->flags & CODEC_FLAG_GRAY)) {\n\n if (chroma444) {\n\n if (deblock_topleft) {\n\n XCHG(top_border_m1 + (24 << pixel_shift), src_cb - (7 << pixel_shift), 1);\n\n XCHG(top_border_m1 + (40 << pixel_shift), src_cr - (7 << pixel_shift), 1);\n\n }\n\n XCHG(top_border + (16 << pixel_shift), src_cb + (1 << pixel_shift), xchg);\n\n XCHG(top_border + (24 << pixel_shift), src_cb + (9 << pixel_shift), 1);\n\n XCHG(top_border + (32 << pixel_shift), src_cr + (1 << pixel_shift), xchg);\n\n XCHG(top_border + (40 << pixel_shift), src_cr + (9 << pixel_shift), 1);\n\n if (h->mb_x + 1 < h->mb_width) {\n\n XCHG(h->top_borders[top_idx][h->mb_x + 1] + (16 << pixel_shift), src_cb + (17 << pixel_shift), 1);\n\n XCHG(h->top_borders[top_idx][h->mb_x + 1] + (32 << pixel_shift), src_cr + (17 << pixel_shift), 1);\n\n }\n\n } else {\n\n if (deblock_top) {\n\n if (deblock_topleft) {\n\n XCHG(top_border_m1 + (16 << pixel_shift), src_cb - (7 << pixel_shift), 1);\n\n XCHG(top_border_m1 + (24 << pixel_shift), src_cr - (7 << pixel_shift), 1);\n\n }\n\n XCHG(top_border + (16 << pixel_shift), src_cb + 1 + pixel_shift, 1);\n\n XCHG(top_border + (24 << pixel_shift), src_cr + 1 + pixel_shift, 1);\n\n }\n\n }\n\n }\n\n}\n", "idx": 9094}878{"project": "FFmpeg", "commit_id": "c56e71309ec1a585ed4d4dc11ae0ba3ca7d19618", "target": 1, "func": "static int gif_image_write_image(AVCodecContext *avctx,\n\n uint8_t **bytestream, uint8_t *end,\n\n const uint8_t *buf, int linesize)\n\n{\n\n GIFContext *s = avctx->priv_data;\n\n int len, height;\n\n const uint8_t *ptr;\n\n /* image block */\n\n\n\n bytestream_put_byte(bytestream, 0x2c);\n\n bytestream_put_le16(bytestream, 0);\n\n bytestream_put_le16(bytestream, 0);\n\n bytestream_put_le16(bytestream, avctx->width);\n\n bytestream_put_le16(bytestream, avctx->height);\n\n bytestream_put_byte(bytestream, 0x00); /* flags */\n\n /* no local clut */\n\n\n\n bytestream_put_byte(bytestream, 0x08);\n\n\n\n ff_lzw_encode_init(s->lzw, s->buf, avctx->width*avctx->height,\n\n 12, FF_LZW_GIF, put_bits);\n\n\n\n ptr = buf;\n\n for (height = avctx->height; height--;) {\n\n len += ff_lzw_encode(s->lzw, ptr, avctx->width);\n\n ptr += linesize;\n\n }\n\n len += ff_lzw_encode_flush(s->lzw, flush_put_bits);\n\n\n\n ptr = s->buf;\n\n while (len > 0) {\n\n int size = FFMIN(255, len);\n\n bytestream_put_byte(bytestream, size);\n\n if (end - *bytestream < size)\n\n return -1;\n\n bytestream_put_buffer(bytestream, ptr, size);\n\n ptr += size;\n\n len -= size;\n\n }\n\n bytestream_put_byte(bytestream, 0x00); /* end of image block */\n\n bytestream_put_byte(bytestream, 0x3b);\n\n return 0;\n\n}\n", "idx": 9095}879{"project": "FFmpeg", "commit_id": "da048c6d24729d3bab6ccb0ac340ea129e3e88d5", "target": 1, "func": "static int mov_write_stbl_tag(AVIOContext *pb, MOVTrack *track)\n\n{\n\n int64_t pos = avio_tell(pb);\n\n avio_wb32(pb, 0); /* size */\n\n ffio_wfourcc(pb, \"stbl\");\n\n mov_write_stsd_tag(pb, track);\n\n mov_write_stts_tag(pb, track);\n\n if ((track->enc->codec_type == AVMEDIA_TYPE_VIDEO ||\n\n track->enc->codec_tag == MKTAG('r','t','p',' ')) &&\n\n track->has_keyframes && track->has_keyframes < track->entry)\n\n mov_write_stss_tag(pb, track, MOV_SYNC_SAMPLE);\n\n if (track->mode == MODE_MOV && track->flags & MOV_TRACK_STPS)\n\n mov_write_stss_tag(pb, track, MOV_PARTIAL_SYNC_SAMPLE);\n\n if (track->enc->codec_type == AVMEDIA_TYPE_VIDEO &&\n\n track->flags & MOV_TRACK_CTTS && track->entry)\n\n mov_write_ctts_tag(pb, track);\n\n mov_write_stsc_tag(pb, track);\n\n mov_write_stsz_tag(pb, track);\n\n mov_write_stco_tag(pb, track);\n\n return update_size(pb, pos);\n\n}\n", "idx": 9101}880{"project": "qemu", "commit_id": "80ee15a6b274dfcedb0ad7db8c9e7d392210d6a1", "target": 1, "func": "uint64_t qcow2_get_cluster_offset(BlockDriverState *bs, uint64_t offset,\n\n int *num)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n int l1_index, l2_index;\n\n uint64_t l2_offset, *l2_table, cluster_offset;\n\n int l1_bits, c;\n\n int index_in_cluster, nb_available, nb_needed, nb_clusters;\n\n\n\n index_in_cluster = (offset >> 9) & (s->cluster_sectors - 1);\n\n nb_needed = *num + index_in_cluster;\n\n\n\n l1_bits = s->l2_bits + s->cluster_bits;\n\n\n\n /* compute how many bytes there are between the offset and\n\n * the end of the l1 entry\n\n */\n\n\n\n nb_available = (1 << l1_bits) - (offset & ((1 << l1_bits) - 1));\n\n\n\n /* compute the number of available sectors */\n\n\n\n nb_available = (nb_available >> 9) + index_in_cluster;\n\n\n\n if (nb_needed > nb_available) {\n\n nb_needed = nb_available;\n\n }\n\n\n\n cluster_offset = 0;\n\n\n\n /* seek the the l2 offset in the l1 table */\n\n\n\n l1_index = offset >> l1_bits;\n\n if (l1_index >= s->l1_size)\n\n goto out;\n\n\n\n l2_offset = s->l1_table[l1_index];\n\n\n\n /* seek the l2 table of the given l2 offset */\n\n\n\n if (!l2_offset)\n\n goto out;\n\n\n\n /* load the l2 table in memory */\n\n\n\n l2_offset &= ~QCOW_OFLAG_COPIED;\n\n l2_table = l2_load(bs, l2_offset);\n\n if (l2_table == NULL)\n\n return 0;\n\n\n\n /* find the cluster offset for the given disk offset */\n\n\n\n l2_index = (offset >> s->cluster_bits) & (s->l2_size - 1);\n\n cluster_offset = be64_to_cpu(l2_table[l2_index]);\n\n nb_clusters = size_to_clusters(s, nb_needed << 9);\n\n\n\n if (!cluster_offset) {\n\n /* how many empty clusters ? */\n\n c = count_contiguous_free_clusters(nb_clusters, &l2_table[l2_index]);\n\n } else {\n\n /* how many allocated clusters ? */\n\n c = count_contiguous_clusters(nb_clusters, s->cluster_size,\n\n &l2_table[l2_index], 0, QCOW_OFLAG_COPIED);\n\n }\n\n\n\n nb_available = (c * s->cluster_sectors);\n\nout:\n\n if (nb_available > nb_needed)\n\n nb_available = nb_needed;\n\n\n\n *num = nb_available - index_in_cluster;\n\n\n\n return cluster_offset & ~QCOW_OFLAG_COPIED;\n\n}\n", "idx": 9106}881{"project": "FFmpeg", "commit_id": "428098165de4c3edfe42c1b7f00627d287015863", "target": 1, "func": "static inline int RENAME(yuv420_rgb16)(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,\n\n int srcSliceH, uint8_t* dst[], int dstStride[]){\n\n int y, h_size;\n\n\n\n if(c->srcFormat == PIX_FMT_YUV422P){\n\n\tsrcStride[1] *= 2;\n\n\tsrcStride[2] *= 2;\n\n }\n\n\n\n h_size= (c->dstW+7)&~7;\n\n if(h_size*2 > FFABS(dstStride[0])) h_size-=8;\n\n\n\n __asm__ __volatile__ (\"pxor %mm4, %mm4;\" /* zero mm4 */ );\n\n//printf(\"%X %X %X %X %X %X %X %X %X %X\\n\", (int)&c->redDither, (int)&b5Dither, (int)src[0], (int)src[1], (int)src[2], (int)dst[0],\n\n//srcStride[0],srcStride[1],srcStride[2],dstStride[0]);\n\n for (y= 0; y<srcSliceH; y++ ) {\n\n\tuint8_t *_image = dst[0] + (y+srcSliceY)*dstStride[0];\n\n\tuint8_t *_py = src[0] + y*srcStride[0];\n\n\tuint8_t *_pu = src[1] + (y>>1)*srcStride[1];\n\n\tuint8_t *_pv = src[2] + (y>>1)*srcStride[2];\n\n\tlong index= -h_size/2;\n\n\n\n\tb5Dither= dither8[y&1];\n\n\tg6Dither= dither4[y&1];\n\n\tg5Dither= dither8[y&1];\n\n\tr5Dither= dither8[(y+1)&1];\n\n\t /* this mmx assembly code deals with SINGLE scan line at a time, it convert 8\n\n\t pixels in each iteration */\n\n\t __asm__ __volatile__ (\n\n\t/* load data for start of next scan line */\n\n\t\t \"movd (%2, %0), %%mm0;\" /* Load 4 Cb 00 00 00 00 u3 u2 u1 u0 */\n\n\t\t \"movd (%3, %0), %%mm1;\" /* Load 4 Cr 00 00 00 00 v3 v2 v1 v0 */\n\n\t\t \"movq (%5, %0, 2), %%mm6;\" /* Load 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 */\n\n//\t\t \".balign 16\t\t\t\\n\\t\"\n\n\t\t \"1:\t\t\t\t\\n\\t\"\n\n/* no speed diference on my p3@500 with prefetch,\n\n * if it is faster for anyone with -benchmark then tell me\n\n\t\t\tPREFETCH\" 64(%0) \\n\\t\"\n\n\t\t\tPREFETCH\" 64(%1) \\n\\t\"\n\n\t\t\tPREFETCH\" 64(%2) \\n\\t\"\n\n*/\n\nYUV2RGB\n\n\n\n#ifdef DITHER1XBPP\n\n\t\t\t\"paddusb \"MANGLE(b5Dither)\", %%mm0;\"\n\n\t\t\t\"paddusb \"MANGLE(g6Dither)\", %%mm2;\"\n\n\t\t\t\"paddusb \"MANGLE(r5Dither)\", %%mm1;\"\n\n#endif\n\n\t\t /* mask unneeded bits off */\n\n\t\t \"pand \"MANGLE(mmx_redmask)\", %%mm0;\" /* b7b6b5b4 b3_0_0_0 b7b6b5b4 b3_0_0_0 */\n\n\t\t \"pand \"MANGLE(mmx_grnmask)\", %%mm2;\" /* g7g6g5g4 g3g2_0_0 g7g6g5g4 g3g2_0_0 */\n\n\t\t \"pand \"MANGLE(mmx_redmask)\", %%mm1;\" /* r7r6r5r4 r3_0_0_0 r7r6r5r4 r3_0_0_0 */\n\n\n\n\t\t \"psrlw $3,%%mm0;\" /* 0_0_0_b7 b6b5b4b3 0_0_0_b7 b6b5b4b3 */\n\n\t\t \"pxor %%mm4, %%mm4;\" /* zero mm4 */\n\n\n\n\t\t \"movq %%mm0, %%mm5;\" /* Copy B7-B0 */\n\n\t\t \"movq %%mm2, %%mm7;\" /* Copy G7-G0 */\n\n\n\n\t\t /* convert rgb24 plane to rgb16 pack for pixel 0-3 */\n\n\t\t \"punpcklbw %%mm4, %%mm2;\" /* 0_0_0_0 0_0_0_0 g7g6g5g4 g3g2_0_0 */\n\n\t\t \"punpcklbw %%mm1, %%mm0;\" /* r7r6r5r4 r3_0_0_0 0_0_0_b7 b6b5b4b3 */\n\n\n\n\t\t \"psllw $3, %%mm2;\" /* 0_0_0_0 0_g7g6g5 g4g3g2_0 0_0_0_0 */\n\n\t\t \"por %%mm2, %%mm0;\" /* r7r6r5r4 r3g7g6g5 g4g3g2b7 b6b5b4b3 */\n\n\n\n\t\t \"movq 8 (%5, %0, 2), %%mm6;\" /* Load 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 */\n\n\t\t MOVNTQ \" %%mm0, (%1);\" /* store pixel 0-3 */\n\n\n\n\t\t /* convert rgb24 plane to rgb16 pack for pixel 0-3 */\n\n\t\t \"punpckhbw %%mm4, %%mm7;\" /* 0_0_0_0 0_0_0_0 g7g6g5g4 g3g2_0_0 */\n\n\t\t \"punpckhbw %%mm1, %%mm5;\" /* r7r6r5r4 r3_0_0_0 0_0_0_b7 b6b5b4b3 */\n\n\n\n\t\t \"psllw $3, %%mm7;\" /* 0_0_0_0 0_g7g6g5 g4g3g2_0 0_0_0_0 */\n\n\t\t \"movd 4 (%2, %0), %%mm0;\" /* Load 4 Cb 00 00 00 00 u3 u2 u1 u0 */\n\n\n\n\t\t \"por %%mm7, %%mm5;\" /* r7r6r5r4 r3g7g6g5 g4g3g2b7 b6b5b4b3 */\n\n\t\t \"movd 4 (%3, %0), %%mm1;\" /* Load 4 Cr 00 00 00 00 v3 v2 v1 v0 */\n\n\n\n\t\t MOVNTQ \" %%mm5, 8 (%1);\" /* store pixel 4-7 */\n\n\n\n\t\t \"add $16, %1\t\t\t\\n\\t\"\n\n\t\t \"add $4, %0\t\t\t\\n\\t\"\n\n\t\t \" js 1b\t\t\t\t\\n\\t\"\n\n\n\n\t\t : \"+r\" (index), \"+r\" (_image)\n\n\t\t : \"r\" (_pu - index), \"r\" (_pv - index), \"r\"(&c->redDither), \"r\" (_py - 2*index)\n\n\t\t );\n\n }\n\n\n\n __asm__ __volatile__ (EMMS);\n\n\n\n return srcSliceH;\n\n}\n", "idx": 9109}882{"project": "qemu", "commit_id": "b8aecea23aaccf39da54c77ef248f5fa50dcfbc1", "target": 1, "func": "void memory_region_add_eventfd(MemoryRegion *mr,\n\n hwaddr addr,\n\n unsigned size,\n\n bool match_data,\n\n uint64_t data,\n\n EventNotifier *e)\n\n{\n\n MemoryRegionIoeventfd mrfd = {\n\n .addr.start = int128_make64(addr),\n\n .addr.size = int128_make64(size),\n\n .match_data = match_data,\n\n .data = data,\n\n .e = e,\n\n };\n\n unsigned i;\n\n\n\n adjust_endianness(mr, &mrfd.data, size);\n\n memory_region_transaction_begin();\n\n for (i = 0; i < mr->ioeventfd_nb; ++i) {\n\n if (memory_region_ioeventfd_before(mrfd, mr->ioeventfds[i])) {\n\n break;\n\n }\n\n }\n\n ++mr->ioeventfd_nb;\n\n mr->ioeventfds = g_realloc(mr->ioeventfds,\n\n sizeof(*mr->ioeventfds) * mr->ioeventfd_nb);\n\n memmove(&mr->ioeventfds[i+1], &mr->ioeventfds[i],\n\n sizeof(*mr->ioeventfds) * (mr->ioeventfd_nb-1 - i));\n\n mr->ioeventfds[i] = mrfd;\n\n ioeventfd_update_pending |= mr->enabled;\n\n memory_region_transaction_commit();\n\n}\n", "idx": 9122}883{"project": "FFmpeg", "commit_id": "c3778df2d4c05e76d28d77a2d740e435393046c9", "target": 0, "func": "enum AVPixelFormat choose_pixel_fmt(AVStream *st, AVCodec *codec, enum AVPixelFormat target)\n\n{\n\n if (codec && codec->pix_fmts) {\n\n const enum AVPixelFormat *p = codec->pix_fmts;\n\n int has_alpha= av_pix_fmt_desc_get(target)->nb_components % 2 == 0;\n\n enum AVPixelFormat best= AV_PIX_FMT_NONE;\n\n if (st->codec->strict_std_compliance <= FF_COMPLIANCE_UNOFFICIAL) {\n\n if (st->codec->codec_id == AV_CODEC_ID_MJPEG) {\n\n p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P, AV_PIX_FMT_NONE };\n\n } else if (st->codec->codec_id == AV_CODEC_ID_LJPEG) {\n\n p = (const enum AVPixelFormat[]) { AV_PIX_FMT_YUVJ420P, AV_PIX_FMT_YUVJ422P, AV_PIX_FMT_YUVJ444P, AV_PIX_FMT_YUV420P,\n\n AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUV444P, AV_PIX_FMT_BGRA, AV_PIX_FMT_NONE };\n\n }\n\n }\n\n for (; *p != AV_PIX_FMT_NONE; p++) {\n\n best= avcodec_find_best_pix_fmt_of_2(best, *p, target, has_alpha, NULL);\n\n if (*p == target)\n\n break;\n\n }\n\n if (*p == AV_PIX_FMT_NONE) {\n\n if (target != AV_PIX_FMT_NONE)\n\n av_log(NULL, AV_LOG_WARNING,\n\n \"Incompatible pixel format '%s' for codec '%s', auto-selecting format '%s'\\n\",\n\n av_get_pix_fmt_name(target),\n\n codec->name,\n\n av_get_pix_fmt_name(best));\n\n return best;\n\n }\n\n }\n\n return target;\n\n}\n", "idx": 9134}884{"project": "qemu", "commit_id": "2531088f6c1ce1f620f8d5a545f0af95598e69fc", "target": 1, "func": "static void gic_set_irq(void *opaque, int irq, int level)\n\n{\n\n /* Meaning of the 'irq' parameter:\n\n * [0..N-1] : external interrupts\n\n * [N..N+31] : PPI (internal) interrupts for CPU 0\n\n * [N+32..N+63] : PPI (internal interrupts for CPU 1\n\n * ...\n\n */\n\n GICState *s = (GICState *)opaque;\n\n int cm, target;\n\n if (irq < (s->num_irq - GIC_INTERNAL)) {\n\n /* The first external input line is internal interrupt 32. */\n\n cm = ALL_CPU_MASK;\n\n irq += GIC_INTERNAL;\n\n target = GIC_TARGET(irq);\n\n } else {\n\n int cpu;\n\n irq -= (s->num_irq - GIC_INTERNAL);\n\n cpu = irq / GIC_INTERNAL;\n\n irq %= GIC_INTERNAL;\n\n cm = 1 << cpu;\n\n target = cm;\n\n }\n\n\n\n assert(irq >= GIC_NR_SGIS);\n\n\n\n if (level == GIC_TEST_LEVEL(irq, cm)) {\n\n return;\n\n }\n\n\n\n if (s->revision == REV_11MPCORE || s->revision == REV_NVIC) {\n\n gic_set_irq_11mpcore(s, irq, level, cm, target);\n\n } else {\n\n gic_set_irq_generic(s, irq, level, cm, target);\n\n }\n\n\n\n\n gic_update(s);\n\n}", "idx": 9150}885{"project": "FFmpeg", "commit_id": "366ac22ea5a8bab63c7f46cdad2ddb2ff22cdbed", "target": 1, "func": "static int decode_mb_info(IVI5DecContext *ctx, IVIBandDesc *band,\n IVITile *tile, AVCodecContext *avctx)\n{\n int x, y, mv_x, mv_y, mv_delta, offs, mb_offset,\n mv_scale, blks_per_mb;\n IVIMbInfo *mb, *ref_mb;\n int row_offset = band->mb_size * band->pitch;\n mb = tile->mbs;\n ref_mb = tile->ref_mbs;\n offs = tile->ypos * band->pitch + tile->xpos;\n /* scale factor for motion vectors */\n mv_scale = (ctx->planes[0].bands[0].mb_size >> 3) - (band->mb_size >> 3);\n mv_x = mv_y = 0;\n for (y = tile->ypos; y < (tile->ypos + tile->height); y += band->mb_size) {\n mb_offset = offs;\n for (x = tile->xpos; x < (tile->xpos + tile->width); x += band->mb_size) {\n mb->xpos = x;\n mb->ypos = y;\n mb->buf_offs = mb_offset;\n if (get_bits1(&ctx->gb)) {\n if (ctx->frame_type == FRAMETYPE_INTRA) {\n av_log(avctx, AV_LOG_ERROR, \"Empty macroblock in an INTRA picture!\\n\");\n return -1;\n }\n mb->type = 1; /* empty macroblocks are always INTER */\n mb->cbp = 0; /* all blocks are empty */\n mb->q_delta = 0;\n if (!band->plane && !band->band_num && (ctx->frame_flags & 8)) {\n mb->q_delta = get_vlc2(&ctx->gb, ctx->mb_vlc.tab->table,\n IVI_VLC_BITS, 1);\n mb->q_delta = IVI_TOSIGNED(mb->q_delta);\n }\n mb->mv_x = mb->mv_y = 0; /* no motion vector coded */\n if (band->inherit_mv){\n /* motion vector inheritance */\n if (mv_scale) {\n mb->mv_x = ivi_scale_mv(ref_mb->mv_x, mv_scale);\n mb->mv_y = ivi_scale_mv(ref_mb->mv_y, mv_scale);\n } else {\n mb->mv_x = ref_mb->mv_x;\n mb->mv_y = ref_mb->mv_y;\n }\n }\n } else {\n if (band->inherit_mv) {\n mb->type = ref_mb->type; /* copy mb_type from corresponding reference mb */\n } else if (ctx->frame_type == FRAMETYPE_INTRA) {\n mb->type = 0; /* mb_type is always INTRA for intra-frames */\n } else {\n mb->type = get_bits1(&ctx->gb);\n }\n blks_per_mb = band->mb_size != band->blk_size ? 4 : 1;\n mb->cbp = get_bits(&ctx->gb, blks_per_mb);\n mb->q_delta = 0;\n if (band->qdelta_present) {\n if (band->inherit_qdelta) {\n if (ref_mb) mb->q_delta = ref_mb->q_delta;\n } else if (mb->cbp || (!band->plane && !band->band_num &&\n (ctx->frame_flags & 8))) {\n mb->q_delta = get_vlc2(&ctx->gb, ctx->mb_vlc.tab->table,\n IVI_VLC_BITS, 1);\n mb->q_delta = IVI_TOSIGNED(mb->q_delta);\n }\n }\n if (!mb->type) {\n mb->mv_x = mb->mv_y = 0; /* there is no motion vector in intra-macroblocks */\n } else {\n if (band->inherit_mv){\n /* motion vector inheritance */\n if (mv_scale) {\n mb->mv_x = ivi_scale_mv(ref_mb->mv_x, mv_scale);\n mb->mv_y = ivi_scale_mv(ref_mb->mv_y, mv_scale);\n } else {\n mb->mv_x = ref_mb->mv_x;\n mb->mv_y = ref_mb->mv_y;\n }\n } else {\n /* decode motion vector deltas */\n mv_delta = get_vlc2(&ctx->gb, ctx->mb_vlc.tab->table,\n IVI_VLC_BITS, 1);\n mv_y += IVI_TOSIGNED(mv_delta);\n mv_delta = get_vlc2(&ctx->gb, ctx->mb_vlc.tab->table,\n IVI_VLC_BITS, 1);\n mv_x += IVI_TOSIGNED(mv_delta);\n mb->mv_x = mv_x;\n mb->mv_y = mv_y;\n }\n }\n }\n mb++;\n if (ref_mb)\n ref_mb++;\n mb_offset += band->mb_size;\n }\n offs += row_offset;\n }\n align_get_bits(&ctx->gb);\n return 0;\n}", "idx": 9162}886{"project": "qemu", "commit_id": "0f888bfaddfc5f55b0d82cde2e1164658a672375", "target": 1, "func": "VIOsPAPRDevice *vty_lookup(sPAPRMachineState *spapr, target_ulong reg)\n{\n VIOsPAPRDevice *sdev;\n sdev = spapr_vio_find_by_reg(spapr->vio_bus, reg);\n if (!sdev && reg == 0) {\n /* Hack for kernel early debug, which always specifies reg==0.\n * We search all VIO devices, and grab the vty with the lowest\n * reg. This attempts to mimic existing PowerVM behaviour\n * (early debug does work there, despite having no vty with\n * reg==0. */\n return spapr_vty_get_default(spapr->vio_bus);\n return sdev;", "idx": 9172}887{"project": "qemu", "commit_id": "356f59b8757f47c0aca3e2e4e51d6010f64cade1", "target": 1, "func": "void coroutine_fn block_job_pause_point(BlockJob *job)\n\n{\n\n assert(job && block_job_started(job));\n\n\n\n if (!block_job_should_pause(job)) {\n\n return;\n\n }\n\n if (block_job_is_cancelled(job)) {\n\n return;\n\n }\n\n\n\n if (job->driver->pause) {\n\n job->driver->pause(job);\n\n }\n\n\n\n if (block_job_should_pause(job) && !block_job_is_cancelled(job)) {\n\n job->paused = true;\n\n job->busy = false;\n\n qemu_coroutine_yield(); /* wait for block_job_resume() */\n\n job->busy = true;\n\n job->paused = false;\n\n }\n\n\n\n if (job->driver->resume) {\n\n job->driver->resume(job);\n\n }\n\n}\n", "idx": 9174}888{"project": "qemu", "commit_id": "71d0770c4cec9f1dc04f4dadcbf7fd6c335030a9", "target": 1, "func": "int bdrv_pread(BlockDriverState *bs, int64_t offset,\n void *buf1, int count1)\n{\n BlockDriver *drv = bs->drv;\n if (!drv)\n return -ENOMEDIUM;\n if (!drv->bdrv_pread)\n return bdrv_pread_em(bs, offset, buf1, count1);\n return drv->bdrv_pread(bs, offset, buf1, count1);\n}", "idx": 9176}889{"project": "FFmpeg", "commit_id": "44ac13eed49593f4f8efdb72ab0d5b48e05aa305", "target": 1, "func": "int avpriv_dca_convert_bitstream(const uint8_t *src, int src_size, uint8_t *dst,\n\n int max_size)\n\n{\n\n uint32_t mrk;\n\n int i, tmp;\n\n const uint16_t *ssrc = (const uint16_t *) src;\n\n uint16_t *sdst = (uint16_t *) dst;\n\n PutBitContext pb;\n\n\n\n if ((unsigned) src_size > (unsigned) max_size)\n\n src_size = max_size;\n\n\n\n mrk = AV_RB32(src);\n\n switch (mrk) {\n\n case DCA_SYNCWORD_CORE_BE:\n\n memcpy(dst, src, src_size);\n\n return src_size;\n\n case DCA_SYNCWORD_CORE_LE:\n\n for (i = 0; i < (src_size + 1) >> 1; i++)\n\n *sdst++ = av_bswap16(*ssrc++);\n\n return src_size;\n\n case DCA_SYNCWORD_CORE_14B_BE:\n\n case DCA_SYNCWORD_CORE_14B_LE:\n\n init_put_bits(&pb, dst, max_size);\n\n for (i = 0; i < (src_size + 1) >> 1; i++, src += 2) {\n\n tmp = ((mrk == DCA_SYNCWORD_CORE_14B_BE) ? AV_RB16(src) : AV_RL16(src)) & 0x3FFF;\n\n put_bits(&pb, 14, tmp);\n\n }\n\n flush_put_bits(&pb);\n\n return (put_bits_count(&pb) + 7) >> 3;\n\n default:\n\n return AVERROR_INVALIDDATA;\n\n }\n\n}\n", "idx": 9178}890{"project": "qemu", "commit_id": "b21da4e504fbdb907543a918b190783dc896d8e1", "target": 1, "func": "static TRBCCode xhci_disable_ep(XHCIState *xhci, unsigned int slotid,\n unsigned int epid)\n{\n XHCISlot *slot;\n XHCIEPContext *epctx;\n int i;\n trace_usb_xhci_ep_disable(slotid, epid);\n assert(slotid >= 1 && slotid <= xhci->numslots);\n assert(epid >= 1 && epid <= 31);\n slot = &xhci->slots[slotid-1];\n if (!slot->eps[epid-1]) {\n DPRINTF(\"xhci: slot %d ep %d already disabled\\n\", slotid, epid);\n return CC_SUCCESS;\n xhci_ep_nuke_xfers(xhci, slotid, epid);\n epctx = slot->eps[epid-1];\n if (epctx->nr_pstreams) {\n xhci_free_streams(epctx);\n xhci_set_ep_state(xhci, epctx, NULL, EP_DISABLED);\n timer_free(epctx->kick_timer);\n g_free(epctx);\n slot->eps[epid-1] = NULL;\n return CC_SUCCESS;", "idx": 9189}891{"project": "qemu", "commit_id": "bc3e6a0d6c8ab6cd7cd4b576ed567756f1dcabd2", "target": 1, "func": "int pvpanic_init(ISABus *bus)\n\n{\n\n isa_create_simple(bus, TYPE_ISA_PVPANIC_DEVICE);\n\n return 0;\n\n}\n", "idx": 9193}892{"project": "qemu", "commit_id": "679aa175e84f5f80b32b307fce5a6b92729e0e61", "target": 0, "func": "static uint32_t gic_dist_readb(void *opaque, hwaddr offset, MemTxAttrs attrs)\n\n{\n\n GICState *s = (GICState *)opaque;\n\n uint32_t res;\n\n int irq;\n\n int i;\n\n int cpu;\n\n int cm;\n\n int mask;\n\n\n\n cpu = gic_get_current_cpu(s);\n\n cm = 1 << cpu;\n\n if (offset < 0x100) {\n\n if (offset == 0)\n\n return s->enabled;\n\n if (offset == 4)\n\n /* Interrupt Controller Type Register */\n\n return ((s->num_irq / 32) - 1)\n\n | ((NUM_CPU(s) - 1) << 5)\n\n | (s->security_extn << 10);\n\n if (offset < 0x08)\n\n return 0;\n\n if (offset >= 0x80) {\n\n /* Interrupt Group Registers: these RAZ/WI if this is an NS\n\n * access to a GIC with the security extensions, or if the GIC\n\n * doesn't have groups at all.\n\n */\n\n res = 0;\n\n if (!(s->security_extn && !attrs.secure) && gic_has_groups(s)) {\n\n /* Every byte offset holds 8 group status bits */\n\n irq = (offset - 0x080) * 8 + GIC_BASE_IRQ;\n\n if (irq >= s->num_irq) {\n\n goto bad_reg;\n\n }\n\n for (i = 0; i < 8; i++) {\n\n if (GIC_TEST_GROUP(irq + i, cm)) {\n\n res |= (1 << i);\n\n }\n\n }\n\n }\n\n return res;\n\n }\n\n goto bad_reg;\n\n } else if (offset < 0x200) {\n\n /* Interrupt Set/Clear Enable. */\n\n if (offset < 0x180)\n\n irq = (offset - 0x100) * 8;\n\n else\n\n irq = (offset - 0x180) * 8;\n\n irq += GIC_BASE_IRQ;\n\n if (irq >= s->num_irq)\n\n goto bad_reg;\n\n res = 0;\n\n for (i = 0; i < 8; i++) {\n\n if (GIC_TEST_ENABLED(irq + i, cm)) {\n\n res |= (1 << i);\n\n }\n\n }\n\n } else if (offset < 0x300) {\n\n /* Interrupt Set/Clear Pending. */\n\n if (offset < 0x280)\n\n irq = (offset - 0x200) * 8;\n\n else\n\n irq = (offset - 0x280) * 8;\n\n irq += GIC_BASE_IRQ;\n\n if (irq >= s->num_irq)\n\n goto bad_reg;\n\n res = 0;\n\n mask = (irq < GIC_INTERNAL) ? cm : ALL_CPU_MASK;\n\n for (i = 0; i < 8; i++) {\n\n if (gic_test_pending(s, irq + i, mask)) {\n\n res |= (1 << i);\n\n }\n\n }\n\n } else if (offset < 0x400) {\n\n /* Interrupt Active. */\n\n irq = (offset - 0x300) * 8 + GIC_BASE_IRQ;\n\n if (irq >= s->num_irq)\n\n goto bad_reg;\n\n res = 0;\n\n mask = (irq < GIC_INTERNAL) ? cm : ALL_CPU_MASK;\n\n for (i = 0; i < 8; i++) {\n\n if (GIC_TEST_ACTIVE(irq + i, mask)) {\n\n res |= (1 << i);\n\n }\n\n }\n\n } else if (offset < 0x800) {\n\n /* Interrupt Priority. */\n\n irq = (offset - 0x400) + GIC_BASE_IRQ;\n\n if (irq >= s->num_irq)\n\n goto bad_reg;\n\n res = GIC_GET_PRIORITY(irq, cpu);\n\n } else if (offset < 0xc00) {\n\n /* Interrupt CPU Target. */\n\n if (s->num_cpu == 1 && s->revision != REV_11MPCORE) {\n\n /* For uniprocessor GICs these RAZ/WI */\n\n res = 0;\n\n } else {\n\n irq = (offset - 0x800) + GIC_BASE_IRQ;\n\n if (irq >= s->num_irq) {\n\n goto bad_reg;\n\n }\n\n if (irq >= 29 && irq <= 31) {\n\n res = cm;\n\n } else {\n\n res = GIC_TARGET(irq);\n\n }\n\n }\n\n } else if (offset < 0xf00) {\n\n /* Interrupt Configuration. */\n\n irq = (offset - 0xc00) * 4 + GIC_BASE_IRQ;\n\n if (irq >= s->num_irq)\n\n goto bad_reg;\n\n res = 0;\n\n for (i = 0; i < 4; i++) {\n\n if (GIC_TEST_MODEL(irq + i))\n\n res |= (1 << (i * 2));\n\n if (GIC_TEST_EDGE_TRIGGER(irq + i))\n\n res |= (2 << (i * 2));\n\n }\n\n } else if (offset < 0xf10) {\n\n goto bad_reg;\n\n } else if (offset < 0xf30) {\n\n if (s->revision == REV_11MPCORE || s->revision == REV_NVIC) {\n\n goto bad_reg;\n\n }\n\n\n\n if (offset < 0xf20) {\n\n /* GICD_CPENDSGIRn */\n\n irq = (offset - 0xf10);\n\n } else {\n\n irq = (offset - 0xf20);\n\n /* GICD_SPENDSGIRn */\n\n }\n\n\n\n res = s->sgi_pending[irq][cpu];\n\n } else if (offset < 0xfe0) {\n\n goto bad_reg;\n\n } else /* offset >= 0xfe0 */ {\n\n if (offset & 3) {\n\n res = 0;\n\n } else {\n\n res = gic_id[(offset - 0xfe0) >> 2];\n\n }\n\n }\n\n return res;\n\nbad_reg:\n\n qemu_log_mask(LOG_GUEST_ERROR,\n\n \"gic_dist_readb: Bad offset %x\\n\", (int)offset);\n\n return 0;\n\n}\n", "idx": 9210}893{"project": "qemu", "commit_id": "36778660d7fd0748a6129916e47ecedd67bdb758", "target": 0, "func": "static inline int get_segment_6xx_tlb(CPUPPCState *env, mmu_ctx_t *ctx,\n\n target_ulong eaddr, int rw, int type)\n\n{\n\n hwaddr hash;\n\n target_ulong vsid;\n\n int ds, pr, target_page_bits;\n\n int ret;\n\n target_ulong sr, pgidx;\n\n\n\n pr = msr_pr;\n\n ctx->eaddr = eaddr;\n\n\n\n sr = env->sr[eaddr >> 28];\n\n ctx->key = (((sr & 0x20000000) && (pr != 0)) ||\n\n ((sr & 0x40000000) && (pr == 0))) ? 1 : 0;\n\n ds = sr & 0x80000000 ? 1 : 0;\n\n ctx->nx = sr & 0x10000000 ? 1 : 0;\n\n vsid = sr & 0x00FFFFFF;\n\n target_page_bits = TARGET_PAGE_BITS;\n\n qemu_log_mask(CPU_LOG_MMU,\n\n \"Check segment v=\" TARGET_FMT_lx \" %d \" TARGET_FMT_lx\n\n \" nip=\" TARGET_FMT_lx \" lr=\" TARGET_FMT_lx\n\n \" ir=%d dr=%d pr=%d %d t=%d\\n\",\n\n eaddr, (int)(eaddr >> 28), sr, env->nip, env->lr, (int)msr_ir,\n\n (int)msr_dr, pr != 0 ? 1 : 0, rw, type);\n\n pgidx = (eaddr & ~SEGMENT_MASK_256M) >> target_page_bits;\n\n hash = vsid ^ pgidx;\n\n ctx->ptem = (vsid << 7) | (pgidx >> 10);\n\n\n\n qemu_log_mask(CPU_LOG_MMU,\n\n \"pte segment: key=%d ds %d nx %d vsid \" TARGET_FMT_lx \"\\n\",\n\n ctx->key, ds, ctx->nx, vsid);\n\n ret = -1;\n\n if (!ds) {\n\n /* Check if instruction fetch is allowed, if needed */\n\n if (type != ACCESS_CODE || ctx->nx == 0) {\n\n /* Page address translation */\n\n qemu_log_mask(CPU_LOG_MMU, \"htab_base \" TARGET_FMT_plx\n\n \" htab_mask \" TARGET_FMT_plx\n\n \" hash \" TARGET_FMT_plx \"\\n\",\n\n env->htab_base, env->htab_mask, hash);\n\n ctx->hash[0] = hash;\n\n ctx->hash[1] = ~hash;\n\n\n\n /* Initialize real address with an invalid value */\n\n ctx->raddr = (hwaddr)-1ULL;\n\n /* Software TLB search */\n\n ret = ppc6xx_tlb_check(env, ctx, eaddr, rw, type);\n\n#if defined(DUMP_PAGE_TABLES)\n\n if (qemu_loglevel_mask(CPU_LOG_MMU)) {\n\n CPUState *cs = ENV_GET_CPU(env);\n\n hwaddr curaddr;\n\n uint32_t a0, a1, a2, a3;\n\n\n\n qemu_log(\"Page table: \" TARGET_FMT_plx \" len \" TARGET_FMT_plx\n\n \"\\n\", env->htab_base, env->htab_mask + 0x80);\n\n for (curaddr = env->htab_base;\n\n curaddr < (env->htab_base + env->htab_mask + 0x80);\n\n curaddr += 16) {\n\n a0 = ldl_phys(cs->as, curaddr);\n\n a1 = ldl_phys(cs->as, curaddr + 4);\n\n a2 = ldl_phys(cs->as, curaddr + 8);\n\n a3 = ldl_phys(cs->as, curaddr + 12);\n\n if (a0 != 0 || a1 != 0 || a2 != 0 || a3 != 0) {\n\n qemu_log(TARGET_FMT_plx \": %08x %08x %08x %08x\\n\",\n\n curaddr, a0, a1, a2, a3);\n\n }\n\n }\n\n }\n\n#endif\n\n } else {\n\n qemu_log_mask(CPU_LOG_MMU, \"No access allowed\\n\");\n\n ret = -3;\n\n }\n\n } else {\n\n target_ulong sr;\n\n\n\n qemu_log_mask(CPU_LOG_MMU, \"direct store...\\n\");\n\n /* Direct-store segment : absolutely *BUGGY* for now */\n\n\n\n /* Direct-store implies a 32-bit MMU.\n\n * Check the Segment Register's bus unit ID (BUID).\n\n */\n\n sr = env->sr[eaddr >> 28];\n\n if ((sr & 0x1FF00000) >> 20 == 0x07f) {\n\n /* Memory-forced I/O controller interface access */\n\n /* If T=1 and BUID=x'07F', the 601 performs a memory access\n\n * to SR[28-31] LA[4-31], bypassing all protection mechanisms.\n\n */\n\n ctx->raddr = ((sr & 0xF) << 28) | (eaddr & 0x0FFFFFFF);\n\n ctx->prot = PAGE_READ | PAGE_WRITE | PAGE_EXEC;\n\n return 0;\n\n }\n\n\n\n switch (type) {\n\n case ACCESS_INT:\n\n /* Integer load/store : only access allowed */\n\n break;\n\n case ACCESS_CODE:\n\n /* No code fetch is allowed in direct-store areas */\n\n return -4;\n\n case ACCESS_FLOAT:\n\n /* Floating point load/store */\n\n return -4;\n\n case ACCESS_RES:\n\n /* lwarx, ldarx or srwcx. */\n\n return -4;\n\n case ACCESS_CACHE:\n\n /* dcba, dcbt, dcbtst, dcbf, dcbi, dcbst, dcbz, or icbi */\n\n /* Should make the instruction do no-op.\n\n * As it already do no-op, it's quite easy :-)\n\n */\n\n ctx->raddr = eaddr;\n\n return 0;\n\n case ACCESS_EXT:\n\n /* eciwx or ecowx */\n\n return -4;\n\n default:\n\n qemu_log_mask(CPU_LOG_MMU, \"ERROR: instruction should not need \"\n\n \"address translation\\n\");\n\n return -4;\n\n }\n\n if ((rw == 1 || ctx->key != 1) && (rw == 0 || ctx->key != 0)) {\n\n ctx->raddr = eaddr;\n\n ret = 2;\n\n } else {\n\n ret = -2;\n\n }\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 9215}894{"project": "qemu", "commit_id": "df3c286c53ac51e7267f2761c7a0c62e11b6e815", "target": 0, "func": "static void slirp_socket_save(QEMUFile *f, struct socket *so)\n\n{\n\n qemu_put_be32(f, so->so_urgc);\n\n qemu_put_be16(f, so->so_ffamily);\n\n switch (so->so_ffamily) {\n\n case AF_INET:\n\n qemu_put_be32(f, so->so_faddr.s_addr);\n\n qemu_put_be16(f, so->so_fport);\n\n break;\n\n default:\n\n error_report(\n\n \"so_ffamily unknown, unable to save so_faddr and so_fport\\n\");\n\n }\n\n qemu_put_be16(f, so->so_lfamily);\n\n switch (so->so_lfamily) {\n\n case AF_INET:\n\n qemu_put_be32(f, so->so_laddr.s_addr);\n\n qemu_put_be16(f, so->so_lport);\n\n break;\n\n default:\n\n error_report(\n\n \"so_ffamily unknown, unable to save so_laddr and so_lport\\n\");\n\n }\n\n qemu_put_byte(f, so->so_iptos);\n\n qemu_put_byte(f, so->so_emu);\n\n qemu_put_byte(f, so->so_type);\n\n qemu_put_be32(f, so->so_state);\n\n slirp_sbuf_save(f, &so->so_rcv);\n\n slirp_sbuf_save(f, &so->so_snd);\n\n slirp_tcp_save(f, so->so_tcpcb);\n\n}\n", "idx": 9225}895{"project": "qemu", "commit_id": "8f5d58ef2c92d7b82d9a6eeefd7c8854a183ba4a", "target": 1, "func": "void object_property_allow_set_link(Object *obj, const char *name,\n\n Object *val, Error **errp)\n\n{\n\n /* Allow the link to be set, always */\n\n}\n", "idx": 9231}896{"project": "FFmpeg", "commit_id": "486637af8ef29ec215e0e0b7ecd3b5470f0e04e5", "target": 0, "func": "static inline void mix_3f_1r_to_mono(AC3DecodeContext *ctx)\n\n{\n\n int i;\n\n float (*output)[256] = ctx->audio_block.block_output;\n\n\n\n for (i = 0; i < 256; i++)\n\n output[1][i] = (output[2][i] + output[3][i] + output[4][i]);\n\n memset(output[2], 0, sizeof(output[2]));\n\n memset(output[3], 0, sizeof(output[3]));\n\n memset(output[4], 0, sizeof(output[4]));\n\n}\n", "idx": 9238}897{"project": "FFmpeg", "commit_id": "d1adad3cca407f493c3637e20ecd4f7124e69212", "target": 0, "func": "static inline void RENAME(nv21ToUV)(uint8_t *dstU, uint8_t *dstV,\n\n const uint8_t *src1, const uint8_t *src2,\n\n long width, uint32_t *unused)\n\n{\n\n RENAME(nvXXtoUV)(dstV, dstU, src1, width);\n\n}\n", "idx": 9246}898{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint64_t lan9118_readl(void *opaque, target_phys_addr_t offset,\n\n unsigned size)\n\n{\n\n lan9118_state *s = (lan9118_state *)opaque;\n\n\n\n //DPRINTF(\"Read reg 0x%02x\\n\", (int)offset);\n\n if (offset < 0x20) {\n\n /* RX FIFO */\n\n return rx_fifo_pop(s);\n\n }\n\n switch (offset) {\n\n case 0x40:\n\n return rx_status_fifo_pop(s);\n\n case 0x44:\n\n return s->rx_status_fifo[s->tx_status_fifo_head];\n\n case 0x48:\n\n return tx_status_fifo_pop(s);\n\n case 0x4c:\n\n return s->tx_status_fifo[s->tx_status_fifo_head];\n\n case CSR_ID_REV:\n\n return 0x01180001;\n\n case CSR_IRQ_CFG:\n\n return s->irq_cfg;\n\n case CSR_INT_STS:\n\n return s->int_sts;\n\n case CSR_INT_EN:\n\n return s->int_en;\n\n case CSR_BYTE_TEST:\n\n return 0x87654321;\n\n case CSR_FIFO_INT:\n\n return s->fifo_int;\n\n case CSR_RX_CFG:\n\n return s->rx_cfg;\n\n case CSR_TX_CFG:\n\n return s->tx_cfg;\n\n case CSR_HW_CFG:\n\n return s->hw_cfg;\n\n case CSR_RX_DP_CTRL:\n\n return 0;\n\n case CSR_RX_FIFO_INF:\n\n return (s->rx_status_fifo_used << 16) | (s->rx_fifo_used << 2);\n\n case CSR_TX_FIFO_INF:\n\n return (s->tx_status_fifo_used << 16)\n\n | (s->tx_fifo_size - s->txp->fifo_used);\n\n case CSR_PMT_CTRL:\n\n return s->pmt_ctrl;\n\n case CSR_GPIO_CFG:\n\n return s->gpio_cfg;\n\n case CSR_GPT_CFG:\n\n return s->gpt_cfg;\n\n case CSR_GPT_CNT:\n\n return ptimer_get_count(s->timer);\n\n case CSR_WORD_SWAP:\n\n return s->word_swap;\n\n case CSR_FREE_RUN:\n\n return (qemu_get_clock_ns(vm_clock) / 40) - s->free_timer_start;\n\n case CSR_RX_DROP:\n\n /* TODO: Implement dropped frames counter. */\n\n return 0;\n\n case CSR_MAC_CSR_CMD:\n\n return s->mac_cmd;\n\n case CSR_MAC_CSR_DATA:\n\n return s->mac_data;\n\n case CSR_AFC_CFG:\n\n return s->afc_cfg;\n\n case CSR_E2P_CMD:\n\n return s->e2p_cmd;\n\n case CSR_E2P_DATA:\n\n return s->e2p_data;\n\n }\n\n hw_error(\"lan9118_read: Bad reg 0x%x\\n\", (int)offset);\n\n return 0;\n\n}\n", "idx": 9255}899{"project": "FFmpeg", "commit_id": "c94d551ea7b39c4e467e146cd347c407e8eb38ee", "target": 0, "func": "static int read_low_coeffs(AVCodecContext *avctx, int16_t *dst, int size, int width, ptrdiff_t stride)\n\n{\n\n PixletContext *ctx = avctx->priv_data;\n\n GetBitContext *b = &ctx->gbit;\n\n unsigned cnt1, nbits, k, j = 0, i = 0;\n\n int64_t value, state = 3;\n\n int rlen, escape, flag = 0;\n\n\n\n while (i < size) {\n\n nbits = FFMIN(ff_clz((state >> 8) + 3) ^ 0x1F, 14);\n\n\n\n cnt1 = get_unary(b, 0, 8);\n\n if (cnt1 < 8) {\n\n value = show_bits(b, nbits);\n\n if (value <= 1) {\n\n skip_bits(b, nbits - 1);\n\n escape = ((1 << nbits) - 1) * cnt1;\n\n } else {\n\n skip_bits(b, nbits);\n\n escape = value + ((1 << nbits) - 1) * cnt1 - 1;\n\n }\n\n } else {\n\n escape = get_bits(b, 16);\n\n }\n\n\n\n value = -((escape + flag) & 1) | 1;\n\n dst[j++] = value * ((escape + flag + 1) >> 1);\n\n i++;\n\n if (j == width) {\n\n j = 0;\n\n dst += stride;\n\n }\n\n state = 120 * (escape + flag) + state - (120 * state >> 8);\n\n flag = 0;\n\n\n\n if (state * 4 > 0xFF || i >= size)\n\n continue;\n\n\n\n nbits = ((state + 8) >> 5) + (state ? ff_clz(state) : 32) - 24;\n\n escape = av_mod_uintp2(16383, nbits);\n\n cnt1 = get_unary(b, 0, 8);\n\n if (cnt1 > 7) {\n\n rlen = get_bits(b, 16);\n\n } else {\n\n value = show_bits(b, nbits);\n\n if (value > 1) {\n\n skip_bits(b, nbits);\n\n rlen = value + escape * cnt1 - 1;\n\n } else {\n\n skip_bits(b, nbits - 1);\n\n rlen = escape * cnt1;\n\n }\n\n }\n\n\n\n if (i + rlen > size)\n\n return AVERROR_INVALIDDATA;\n\n i += rlen;\n\n\n\n for (k = 0; k < rlen; k++) {\n\n dst[j++] = 0;\n\n if (j == width) {\n\n j = 0;\n\n dst += stride;\n\n }\n\n }\n\n\n\n state = 0;\n\n flag = rlen < 0xFFFF ? 1 : 0;\n\n }\n\n\n\n align_get_bits(b);\n\n return get_bits_count(b) >> 3;\n\n}\n", "idx": 9258}900{"project": "qemu", "commit_id": "fc19f8a02e45c4d8ad24dd7eb374330b03dfc28e", "target": 0, "func": "static int nbd_co_readv_1(BlockDriverState *bs, int64_t sector_num,\n\n int nb_sectors, QEMUIOVector *qiov,\n\n int offset)\n\n{\n\n BDRVNBDState *s = bs->opaque;\n\n struct nbd_request request;\n\n struct nbd_reply reply;\n\n\n\n request.type = NBD_CMD_READ;\n\n request.from = sector_num * 512;\n\n request.len = nb_sectors * 512;\n\n\n\n nbd_coroutine_start(s, &request);\n\n if (nbd_co_send_request(s, &request, NULL, 0) == -1) {\n\n reply.error = errno;\n\n } else {\n\n nbd_co_receive_reply(s, &request, &reply, qiov->iov, offset);\n\n }\n\n nbd_coroutine_end(s, &request);\n\n return -reply.error;\n\n\n\n}\n", "idx": 9260}901{"project": "FFmpeg", "commit_id": "dd5d61795690e339ae271692e7ab9df66b5eb153", "target": 0, "func": "static int request_frame(AVFilterLink *link)\n\n{\n\n AVFilterContext *ctx = link->src;\n\n IDETContext *idet = ctx->priv;\n\n\n\n do {\n\n int ret;\n\n\n\n if (idet->eof)\n\n return AVERROR_EOF;\n\n\n\n ret = ff_request_frame(link->src->inputs[0]);\n\n\n\n if (ret == AVERROR_EOF && idet->cur) {\n\n AVFrame *next = av_frame_clone(idet->next);\n\n\n\n if (!next)\n\n return AVERROR(ENOMEM);\n\n\n\n filter_frame(link->src->inputs[0], next);\n\n idet->eof = 1;\n\n } else if (ret < 0) {\n\n return ret;\n\n }\n\n } while (!idet->cur);\n\n\n\n return 0;\n\n}\n", "idx": 9282}902{"project": "FFmpeg", "commit_id": "a2085a7e9d83d99aca58bfb385f6db1afa5673dd", "target": 1, "func": "static int dpcm_decode_frame(AVCodecContext *avctx,\n void *data, int *data_size,\n uint8_t *buf, int buf_size)\n{\n DPCMContext *s = avctx->priv_data;\n int in, out = 0;\n int predictor[2];\n int channel_number = 0;\n short *output_samples = data;\n int shift[2];\n unsigned char byte;\n short diff;\n if (!buf_size)\n return 0;\n switch(avctx->codec->id) {\n case CODEC_ID_ROQ_DPCM:\n if (s->channels == 1)\n predictor[0] = AV_RL16(&buf[6]);\n else {\n predictor[0] = buf[7] << 8;\n predictor[1] = buf[6] << 8;\n }\n SE_16BIT(predictor[0]);\n SE_16BIT(predictor[1]);\n /* decode the samples */\n for (in = 8, out = 0; in < buf_size; in++, out++) {\n predictor[channel_number] += s->roq_square_array[buf[in]];\n predictor[channel_number] = av_clip_int16(predictor[channel_number]);\n output_samples[out] = predictor[channel_number];\n /* toggle channel */\n channel_number ^= s->channels - 1;\n }\n break;\n case CODEC_ID_INTERPLAY_DPCM:\n in = 6; /* skip over the stream mask and stream length */\n predictor[0] = AV_RL16(&buf[in]);\n in += 2;\n SE_16BIT(predictor[0])\n output_samples[out++] = predictor[0];\n if (s->channels == 2) {\n predictor[1] = AV_RL16(&buf[in]);\n in += 2;\n SE_16BIT(predictor[1])\n output_samples[out++] = predictor[1];\n }\n while (in < buf_size) {\n predictor[channel_number] += interplay_delta_table[buf[in++]];\n predictor[channel_number] = av_clip_int16(predictor[channel_number]);\n output_samples[out++] = predictor[channel_number];\n /* toggle channel */\n channel_number ^= s->channels - 1;\n }\n break;\n case CODEC_ID_XAN_DPCM:\n in = 0;\n shift[0] = shift[1] = 4;\n predictor[0] = AV_RL16(&buf[in]);\n in += 2;\n SE_16BIT(predictor[0]);\n if (s->channels == 2) {\n predictor[1] = AV_RL16(&buf[in]);\n in += 2;\n SE_16BIT(predictor[1]);\n }\n while (in < buf_size) {\n byte = buf[in++];\n diff = (byte & 0xFC) << 8;\n if ((byte & 0x03) == 3)\n shift[channel_number]++;\n else\n shift[channel_number] -= (2 * (byte & 3));\n /* saturate the shifter to a lower limit of 0 */\n if (shift[channel_number] < 0)\n shift[channel_number] = 0;\n diff >>= shift[channel_number];\n predictor[channel_number] += diff;\n predictor[channel_number] = av_clip_int16(predictor[channel_number]);\n output_samples[out++] = predictor[channel_number];\n /* toggle channel */\n channel_number ^= s->channels - 1;\n }\n break;\n case CODEC_ID_SOL_DPCM:\n in = 0;\n if (avctx->codec_tag != 3) {\n if(*data_size/4 < buf_size)\n while (in < buf_size) {\n int n1, n2;\n n1 = (buf[in] >> 4) & 0xF;\n n2 = buf[in++] & 0xF;\n s->sample[0] += s->sol_table[n1];\n if (s->sample[0] < 0) s->sample[0] = 0;\n if (s->sample[0] > 255) s->sample[0] = 255;\n output_samples[out++] = (s->sample[0] - 128) << 8;\n s->sample[s->channels - 1] += s->sol_table[n2];\n if (s->sample[s->channels - 1] < 0) s->sample[s->channels - 1] = 0;\n if (s->sample[s->channels - 1] > 255) s->sample[s->channels - 1] = 255;\n output_samples[out++] = (s->sample[s->channels - 1] - 128) << 8;\n }\n } else {\n while (in < buf_size) {\n int n;\n n = buf[in++];\n if (n & 0x80) s->sample[channel_number] -= s->sol_table[n & 0x7F];\n else s->sample[channel_number] += s->sol_table[n & 0x7F];\n s->sample[channel_number] = av_clip_int16(s->sample[channel_number]);\n output_samples[out++] = s->sample[channel_number];\n /* toggle channel */\n channel_number ^= s->channels - 1;\n }\n }\n break;\n }\n *data_size = out * sizeof(short);\n return buf_size;\n}", "idx": 9283}903{"project": "FFmpeg", "commit_id": "03abf55f252945c70f4a79eaf4d609cee4d98710", "target": 1, "func": "int ff_rm_read_mdpr_codecdata(AVFormatContext *s, AVIOContext *pb,\n\n AVStream *st, RMStream *rst,\n\n unsigned int codec_data_size, const uint8_t *mime)\n\n{\n\n unsigned int v;\n\n int size;\n\n int64_t codec_pos;\n\n int ret;\n\n\n\n if (codec_data_size > INT_MAX)\n\n return AVERROR_INVALIDDATA;\n\n\n\n avpriv_set_pts_info(st, 64, 1, 1000);\n\n codec_pos = avio_tell(pb);\n\n v = avio_rb32(pb);\n\n\n\n if (v == MKBETAG('M', 'L', 'T', 'I')) {\n\n int number_of_streams = avio_rb16(pb);\n\n int number_of_mdpr;\n\n int i;\n\n for (i = 0; i<number_of_streams; i++)\n\n avio_rb16(pb);\n\n number_of_mdpr = avio_rb16(pb);\n\n if (number_of_mdpr != 1) {\n\n avpriv_request_sample(s, \"MLTI with multiple MDPR\");\n\n }\n\n avio_rb32(pb);\n\n v = avio_rb32(pb);\n\n }\n\n\n\n if (v == MKTAG(0xfd, 'a', 'r', '.')) {\n\n /* ra type header */\n\n if (rm_read_audio_stream_info(s, pb, st, rst, 0))\n\n return -1;\n\n } else if (v == MKBETAG('L', 'S', 'D', ':')) {\n\n avio_seek(pb, -4, SEEK_CUR);\n\n if ((ret = rm_read_extradata(pb, st->codec, codec_data_size)) < 0)\n\n return ret;\n\n\n\n st->codec->codec_type = AVMEDIA_TYPE_AUDIO;\n\n st->codec->codec_tag = AV_RL32(st->codec->extradata);\n\n st->codec->codec_id = ff_codec_get_id(ff_rm_codec_tags,\n\n st->codec->codec_tag);\n\n } else if(mime && !strcmp(mime, \"logical-fileinfo\")){\n\n int stream_count, rule_count, property_count, i;\n\n ff_free_stream(s, st);\n\n if (avio_rb16(pb) != 0) {\n\n av_log(s, AV_LOG_WARNING, \"Unsupported version\\n\");\n\n goto skip;\n\n }\n\n stream_count = avio_rb16(pb);\n\n avio_skip(pb, 6*stream_count);\n\n rule_count = avio_rb16(pb);\n\n avio_skip(pb, 2*rule_count);\n\n property_count = avio_rb16(pb);\n\n for(i=0; i<property_count; i++){\n\n uint8_t name[128], val[128];\n\n avio_rb32(pb);\n\n if (avio_rb16(pb) != 0) {\n\n av_log(s, AV_LOG_WARNING, \"Unsupported Name value property version\\n\");\n\n goto skip; //FIXME skip just this one\n\n }\n\n get_str8(pb, name, sizeof(name));\n\n switch(avio_rb32(pb)) {\n\n case 2: get_strl(pb, val, sizeof(val), avio_rb16(pb));\n\n av_dict_set(&s->metadata, name, val, 0);\n\n break;\n\n default: avio_skip(pb, avio_rb16(pb));\n\n }\n\n }\n\n } else {\n\n int fps;\n\n if (avio_rl32(pb) != MKTAG('V', 'I', 'D', 'O')) {\n\n fail1:\n\n av_log(s, AV_LOG_WARNING, \"Unsupported stream type %08x\\n\", v);\n\n goto skip;\n\n }\n\n st->codec->codec_tag = avio_rl32(pb);\n\n st->codec->codec_id = ff_codec_get_id(ff_rm_codec_tags,\n\n st->codec->codec_tag);\n\n av_dlog(s, \"%X %X\\n\", st->codec->codec_tag, MKTAG('R', 'V', '2', '0'));\n\n if (st->codec->codec_id == AV_CODEC_ID_NONE)\n\n goto fail1;\n\n st->codec->width = avio_rb16(pb);\n\n st->codec->height = avio_rb16(pb);\n\n avio_skip(pb, 2); // looks like bits per sample\n\n avio_skip(pb, 4); // always zero?\n\n st->codec->codec_type = AVMEDIA_TYPE_VIDEO;\n\n st->need_parsing = AVSTREAM_PARSE_TIMESTAMPS;\n\n fps = avio_rb32(pb);\n\n\n\n if ((ret = rm_read_extradata(pb, st->codec, codec_data_size - (avio_tell(pb) - codec_pos))) < 0)\n\n return ret;\n\n\n\n if (fps > 0) {\n\n av_reduce(&st->avg_frame_rate.den, &st->avg_frame_rate.num,\n\n 0x10000, fps, (1 << 30) - 1);\n\n#if FF_API_R_FRAME_RATE\n\n st->r_frame_rate = st->avg_frame_rate;\n\n#endif\n\n } else if (s->error_recognition & AV_EF_EXPLODE) {\n\n av_log(s, AV_LOG_ERROR, \"Invalid framerate\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n }\n\n\n\nskip:\n\n /* skip codec info */\n\n size = avio_tell(pb) - codec_pos;\n\n avio_skip(pb, codec_data_size - size);\n\n\n\n return 0;\n\n}\n", "idx": 9301}904{"project": "qemu", "commit_id": "abda1f37eed86f3501db2e5439c1a7b97171ea22", "target": 1, "func": "int sd_do_command(SDState *sd, SDRequest *req,\n\n uint8_t *response) {\n\n uint32_t last_status = sd->card_status;\n\n sd_rsp_type_t rtype;\n\n int rsplen;\n\n\n\n if (!sd->bdrv || !bdrv_is_inserted(sd->bdrv) || !sd->enable) {\n\n return 0;\n\n }\n\n\n\n if (sd_req_crc_validate(req)) {\n\n sd->card_status &= ~COM_CRC_ERROR;\n\n return 0;\n\n }\n\n\n\n sd->card_status &= ~CARD_STATUS_B;\n\n sd_set_status(sd);\n\n\n\n if (last_status & CARD_IS_LOCKED) {\n\n if (!cmd_valid_while_locked(sd, req)) {\n\n sd->card_status |= ILLEGAL_COMMAND;\n\n fprintf(stderr, \"SD: Card is locked\\n\");\n\n return 0;\n\n }\n\n }\n\n\n\n if (last_status & APP_CMD) {\n\n rtype = sd_app_command(sd, *req);\n\n sd->card_status &= ~APP_CMD;\n\n } else\n\n rtype = sd_normal_command(sd, *req);\n\n\n\n sd->current_cmd = req->cmd;\n\n\n\n switch (rtype) {\n\n case sd_r1:\n\n case sd_r1b:\n\n sd_response_r1_make(sd, response, last_status);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r2_i:\n\n memcpy(response, sd->cid, sizeof(sd->cid));\n\n rsplen = 16;\n\n break;\n\n\n\n case sd_r2_s:\n\n memcpy(response, sd->csd, sizeof(sd->csd));\n\n rsplen = 16;\n\n break;\n\n\n\n case sd_r3:\n\n sd_response_r3_make(sd, response);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r6:\n\n sd_response_r6_make(sd, response);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r7:\n\n sd_response_r7_make(sd, response);\n\n rsplen = 4;\n\n break;\n\n\n\n case sd_r0:\n\n default:\n\n rsplen = 0;\n\n break;\n\n }\n\n\n\n if (sd->card_status & ILLEGAL_COMMAND)\n\n rsplen = 0;\n\n\n\n#ifdef DEBUG_SD\n\n if (rsplen) {\n\n int i;\n\n DPRINTF(\"Response:\");\n\n for (i = 0; i < rsplen; i++)\n\n printf(\" %02x\", response[i]);\n\n printf(\" state %d\\n\", sd->state);\n\n } else {\n\n DPRINTF(\"No response %d\\n\", sd->state);\n\n }\n\n#endif\n\n\n\n return rsplen;\n\n}\n", "idx": 9330}905{"project": "FFmpeg", "commit_id": "76db17dc7d4f19f9a03bdd6de79c2ea37b76888f", "target": 0, "func": "static int dpcm_decode_frame(AVCodecContext *avctx,\n\n void *data, int *data_size,\n\n AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n DPCMContext *s = avctx->priv_data;\n\n int in, out = 0;\n\n int predictor[2];\n\n int ch = 0;\n\n int stereo = s->channels - 1;\n\n short *output_samples = data;\n\n int shift[2];\n\n unsigned char byte;\n\n short diff;\n\n\n\n if (!buf_size)\n\n return 0;\n\n\n\n // almost every DPCM variant expands one byte of data into two\n\n if(*data_size/2 < buf_size)\n\n return -1;\n\n\n\n switch(avctx->codec->id) {\n\n\n\n case CODEC_ID_ROQ_DPCM:\n\n if (stereo) {\n\n predictor[0] = buf[7] << 8;\n\n predictor[1] = buf[6] << 8;\n\n } else {\n\n predictor[0] = AV_RL16(&buf[6]);\n\n }\n\n SE_16BIT(predictor[0]);\n\n SE_16BIT(predictor[1]);\n\n\n\n /* decode the samples */\n\n for (in = 8, out = 0; in < buf_size; in++, out++) {\n\n predictor[ch] += s->roq_square_array[buf[in]];\n\n predictor[ch] = av_clip_int16(predictor[ch]);\n\n output_samples[out] = predictor[ch];\n\n\n\n /* toggle channel */\n\n ch ^= stereo;\n\n }\n\n break;\n\n\n\n case CODEC_ID_INTERPLAY_DPCM:\n\n in = 6; /* skip over the stream mask and stream length */\n\n predictor[0] = AV_RL16(&buf[in]);\n\n in += 2;\n\n SE_16BIT(predictor[0])\n\n output_samples[out++] = predictor[0];\n\n if (stereo) {\n\n predictor[1] = AV_RL16(&buf[in]);\n\n in += 2;\n\n SE_16BIT(predictor[1])\n\n output_samples[out++] = predictor[1];\n\n }\n\n\n\n while (in < buf_size) {\n\n predictor[ch] += interplay_delta_table[buf[in++]];\n\n predictor[ch] = av_clip_int16(predictor[ch]);\n\n output_samples[out++] = predictor[ch];\n\n\n\n /* toggle channel */\n\n ch ^= stereo;\n\n }\n\n\n\n break;\n\n\n\n case CODEC_ID_XAN_DPCM:\n\n in = 0;\n\n shift[0] = shift[1] = 4;\n\n predictor[0] = AV_RL16(&buf[in]);\n\n in += 2;\n\n SE_16BIT(predictor[0]);\n\n if (stereo) {\n\n predictor[1] = AV_RL16(&buf[in]);\n\n in += 2;\n\n SE_16BIT(predictor[1]);\n\n }\n\n\n\n while (in < buf_size) {\n\n byte = buf[in++];\n\n diff = (byte & 0xFC) << 8;\n\n if ((byte & 0x03) == 3)\n\n shift[ch]++;\n\n else\n\n shift[ch] -= (2 * (byte & 3));\n\n /* saturate the shifter to a lower limit of 0 */\n\n if (shift[ch] < 0)\n\n shift[ch] = 0;\n\n\n\n diff >>= shift[ch];\n\n predictor[ch] += diff;\n\n\n\n predictor[ch] = av_clip_int16(predictor[ch]);\n\n output_samples[out++] = predictor[ch];\n\n\n\n /* toggle channel */\n\n ch ^= stereo;\n\n }\n\n break;\n\n case CODEC_ID_SOL_DPCM:\n\n in = 0;\n\n if (avctx->codec_tag != 3) {\n\n if(*data_size/4 < buf_size)\n\n return -1;\n\n while (in < buf_size) {\n\n int n1, n2;\n\n n1 = (buf[in] >> 4) & 0xF;\n\n n2 = buf[in++] & 0xF;\n\n s->sample[0] += s->sol_table[n1];\n\n if (s->sample[0] < 0) s->sample[0] = 0;\n\n if (s->sample[0] > 255) s->sample[0] = 255;\n\n output_samples[out++] = (s->sample[0] - 128) << 8;\n\n s->sample[stereo] += s->sol_table[n2];\n\n if (s->sample[stereo] < 0) s->sample[stereo] = 0;\n\n if (s->sample[stereo] > 255) s->sample[stereo] = 255;\n\n output_samples[out++] = (s->sample[stereo] - 128) << 8;\n\n }\n\n } else {\n\n while (in < buf_size) {\n\n int n;\n\n n = buf[in++];\n\n if (n & 0x80) s->sample[ch] -= s->sol_table[n & 0x7F];\n\n else s->sample[ch] += s->sol_table[n & 0x7F];\n\n s->sample[ch] = av_clip_int16(s->sample[ch]);\n\n output_samples[out++] = s->sample[ch];\n\n /* toggle channel */\n\n ch ^= stereo;\n\n }\n\n }\n\n break;\n\n }\n\n\n\n *data_size = out * sizeof(short);\n\n return buf_size;\n\n}\n", "idx": 9343}906{"project": "FFmpeg", "commit_id": "0f34c0789f855f04dce518ffc93a01bb943ba1aa", "target": 1, "func": "static void picmemset(PicContext *s, AVFrame *frame, unsigned value, int run,\n\n int *x, int *y, int *plane, int bits_per_plane)\n\n{\n\n uint8_t *d;\n\n int shift = *plane * bits_per_plane;\n\n unsigned mask = ((1 << bits_per_plane) - 1) << shift;\n\n value <<= shift;\n\n\n\n while (run > 0) {\n\n int j;\n\n for (j = 8-bits_per_plane; j >= 0; j -= bits_per_plane) {\n\n d = frame->data[0] + *y * frame->linesize[0];\n\n d[*x] |= (value >> j) & mask;\n\n *x += 1;\n\n if (*x == s->width) {\n\n *y -= 1;\n\n *x = 0;\n\n if (*y < 0) {\n\n *y = s->height - 1;\n\n *plane += 1;\n\n if (*plane >= s->nb_planes)\n\n return;\n\n value <<= bits_per_plane;\n\n mask <<= bits_per_plane;\n\n }\n\n }\n\n }\n\n run--;\n\n }\n\n}\n", "idx": 9347}907{"project": "FFmpeg", "commit_id": "aaf78e4d14b4875e4cff30e979421a1087337b9f", "target": 1, "func": "mp_image_t* vf_get_image(vf_instance_t* vf, unsigned int outfmt, int mp_imgtype, int mp_imgflag, int w, int h){\n\n MPContext *m= (MPContext*)(((uint8_t*)vf) - offsetof(MPContext, next_vf));\n\n mp_image_t* mpi=NULL;\n\n int w2;\n\n int number = mp_imgtype >> 16;\n\n\n\n av_assert0(vf->next == NULL); // all existing filters call this just on next\n\n\n\n //vf_dint needs these as it calls vf_get_image() before configuring the output\n\n if(vf->w==0 && w>0) vf->w=w;\n\n if(vf->h==0 && h>0) vf->h=h;\n\n\n\n av_assert0(w == -1 || w >= vf->w);\n\n av_assert0(h == -1 || h >= vf->h);\n\n av_assert0(vf->w > 0);\n\n av_assert0(vf->h > 0);\n\n\n\n av_log(m->avfctx, AV_LOG_DEBUG, \"get_image: %d:%d, vf: %d:%d\\n\", w,h,vf->w,vf->h);\n\n\n\n if (w == -1) w = vf->w;\n\n if (h == -1) h = vf->h;\n\n\n\n w2=(mp_imgflag&MP_IMGFLAG_ACCEPT_ALIGNED_STRIDE)?((w+15)&(~15)):w;\n\n\n\n // Note: we should call libvo first to check if it supports direct rendering\n\n // and if not, then fallback to software buffers:\n\n switch(mp_imgtype & 0xff){\n\n case MP_IMGTYPE_EXPORT:\n\n if(!vf->imgctx.export_images[0]) vf->imgctx.export_images[0]=new_mp_image(w2,h);\n\n mpi=vf->imgctx.export_images[0];\n\n break;\n\n case MP_IMGTYPE_STATIC:\n\n if(!vf->imgctx.static_images[0]) vf->imgctx.static_images[0]=new_mp_image(w2,h);\n\n mpi=vf->imgctx.static_images[0];\n\n break;\n\n case MP_IMGTYPE_TEMP:\n\n if(!vf->imgctx.temp_images[0]) vf->imgctx.temp_images[0]=new_mp_image(w2,h);\n\n mpi=vf->imgctx.temp_images[0];\n\n break;\n\n case MP_IMGTYPE_IPB:\n\n if(!(mp_imgflag&MP_IMGFLAG_READABLE)){ // B frame:\n\n if(!vf->imgctx.temp_images[0]) vf->imgctx.temp_images[0]=new_mp_image(w2,h);\n\n mpi=vf->imgctx.temp_images[0];\n\n break;\n\n }\n\n case MP_IMGTYPE_IP:\n\n if(!vf->imgctx.static_images[vf->imgctx.static_idx]) vf->imgctx.static_images[vf->imgctx.static_idx]=new_mp_image(w2,h);\n\n mpi=vf->imgctx.static_images[vf->imgctx.static_idx];\n\n vf->imgctx.static_idx^=1;\n\n break;\n\n case MP_IMGTYPE_NUMBERED:\n\n if (number == -1) {\n\n int i;\n\n for (i = 0; i < NUM_NUMBERED_MPI; i++)\n\n if (!vf->imgctx.numbered_images[i] || !vf->imgctx.numbered_images[i]->usage_count)\n\n break;\n\n number = i;\n\n }\n\n if (number < 0 || number >= NUM_NUMBERED_MPI) return NULL;\n\n if (!vf->imgctx.numbered_images[number]) vf->imgctx.numbered_images[number] = new_mp_image(w2,h);\n\n mpi = vf->imgctx.numbered_images[number];\n\n mpi->number = number;\n\n break;\n\n }\n\n if(mpi){\n\n mpi->type=mp_imgtype;\n\n mpi->w=vf->w; mpi->h=vf->h;\n\n // keep buffer allocation status & color flags only:\n\n// mpi->flags&=~(MP_IMGFLAG_PRESERVE|MP_IMGFLAG_READABLE|MP_IMGFLAG_DIRECT);\n\n mpi->flags&=MP_IMGFLAG_ALLOCATED|MP_IMGFLAG_TYPE_DISPLAYED|MP_IMGFLAGMASK_COLORS;\n\n // accept restrictions, draw_slice and palette flags only:\n\n mpi->flags|=mp_imgflag&(MP_IMGFLAGMASK_RESTRICTIONS|MP_IMGFLAG_DRAW_CALLBACK|MP_IMGFLAG_RGB_PALETTE);\n\n if(!vf->draw_slice) mpi->flags&=~MP_IMGFLAG_DRAW_CALLBACK;\n\n if(mpi->width!=w2 || mpi->height!=h){\n\n// printf(\"vf.c: MPI parameters changed! %dx%d -> %dx%d \\n\", mpi->width,mpi->height,w2,h);\n\n if(mpi->flags&MP_IMGFLAG_ALLOCATED){\n\n if(mpi->width<w2 || mpi->height<h){\n\n // need to re-allocate buffer memory:\n\n av_free(mpi->planes[0]);\n\n mpi->flags&=~MP_IMGFLAG_ALLOCATED;\n\n mp_msg(MSGT_VFILTER,MSGL_V,\"vf.c: have to REALLOCATE buffer memory :(\\n\");\n\n }\n\n// } else {\n\n } {\n\n mpi->width=w2; mpi->chroma_width=(w2 + (1<<mpi->chroma_x_shift) - 1)>>mpi->chroma_x_shift;\n\n mpi->height=h; mpi->chroma_height=(h + (1<<mpi->chroma_y_shift) - 1)>>mpi->chroma_y_shift;\n\n }\n\n }\n\n if(!mpi->bpp) mp_image_setfmt(mpi,outfmt);\n\n if(!(mpi->flags&MP_IMGFLAG_ALLOCATED) && mpi->type>MP_IMGTYPE_EXPORT){\n\n\n\n av_assert0(!vf->get_image);\n\n // check libvo first!\n\n if(vf->get_image) vf->get_image(vf,mpi);\n\n\n\n if(!(mpi->flags&MP_IMGFLAG_DIRECT)){\n\n // non-direct and not yet allocated image. allocate it!\n\n if (!mpi->bpp) { // no way we can allocate this\n\n mp_msg(MSGT_DECVIDEO, MSGL_FATAL,\n\n \"vf_get_image: Tried to allocate a format that can not be allocated!\\n\");\n\n return NULL;\n\n }\n\n\n\n // check if codec prefer aligned stride:\n\n if(mp_imgflag&MP_IMGFLAG_PREFER_ALIGNED_STRIDE){\n\n int align=(mpi->flags&MP_IMGFLAG_PLANAR &&\n\n mpi->flags&MP_IMGFLAG_YUV) ?\n\n (8<<mpi->chroma_x_shift)-1 : 15; // -- maybe FIXME\n\n w2=((w+align)&(~align));\n\n if(mpi->width!=w2){\n\n#if 0\n\n // we have to change width... check if we CAN co it:\n\n int flags=vf->query_format(vf,outfmt); // should not fail\n\n if(!(flags&3)) mp_msg(MSGT_DECVIDEO,MSGL_WARN,\"??? vf_get_image{vf->query_format(outfmt)} failed!\\n\");\n\n// printf(\"query -> 0x%X \\n\",flags);\n\n if(flags&VFCAP_ACCEPT_STRIDE){\n\n#endif\n\n mpi->width=w2;\n\n mpi->chroma_width=(w2 + (1<<mpi->chroma_x_shift) - 1)>>mpi->chroma_x_shift;\n\n// }\n\n }\n\n }\n\n\n\n mp_image_alloc_planes(mpi);\n\n// printf(\"clearing img!\\n\");\n\n vf_mpi_clear(mpi,0,0,mpi->width,mpi->height);\n\n }\n\n }\n\n av_assert0(!vf->start_slice);\n\n if(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)\n\n if(vf->start_slice) vf->start_slice(vf,mpi);\n\n if(!(mpi->flags&MP_IMGFLAG_TYPE_DISPLAYED)){\n\n mp_msg(MSGT_DECVIDEO,MSGL_V,\"*** [%s] %s%s mp_image_t, %dx%dx%dbpp %s %s, %d bytes\\n\",\n\n \"NULL\"/*vf->info->name*/,\n\n (mpi->type==MP_IMGTYPE_EXPORT)?\"Exporting\":\n\n ((mpi->flags&MP_IMGFLAG_DIRECT)?\"Direct Rendering\":\"Allocating\"),\n\n (mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)?\" (slices)\":\"\",\n\n mpi->width,mpi->height,mpi->bpp,\n\n (mpi->flags&MP_IMGFLAG_YUV)?\"YUV\":((mpi->flags&MP_IMGFLAG_SWAPPED)?\"BGR\":\"RGB\"),\n\n (mpi->flags&MP_IMGFLAG_PLANAR)?\"planar\":\"packed\",\n\n mpi->bpp*mpi->width*mpi->height/8);\n\n mp_msg(MSGT_DECVIDEO,MSGL_DBG2,\"(imgfmt: %x, planes: %p,%p,%p strides: %d,%d,%d, chroma: %dx%d, shift: h:%d,v:%d)\\n\",\n\n mpi->imgfmt, mpi->planes[0], mpi->planes[1], mpi->planes[2],\n\n mpi->stride[0], mpi->stride[1], mpi->stride[2],\n\n mpi->chroma_width, mpi->chroma_height, mpi->chroma_x_shift, mpi->chroma_y_shift);\n\n mpi->flags|=MP_IMGFLAG_TYPE_DISPLAYED;\n\n }\n\n\n\n mpi->qscale = NULL;\n\n }\n\n mpi->usage_count++;\n\n// printf(\"\\rVF_MPI: %p %p %p %d %d %d \\n\",\n\n// mpi->planes[0],mpi->planes[1],mpi->planes[2],\n\n// mpi->stride[0],mpi->stride[1],mpi->stride[2]);\n\n return mpi;\n\n}\n", "idx": 9349}908{"project": "FFmpeg", "commit_id": "e630ca5111077fa8adc972fe8a3d7e2b3e8dc91f", "target": 1, "func": "static int parse_MP4SLDescrTag(MP4DescrParseContext *d, int64_t off, int len)\n\n{\n\n Mp4Descr *descr = d->active_descr;\n\n int predefined;\n\n if (!descr)\n\n return -1;\n\n\n\n predefined = avio_r8(&d->pb);\n\n if (!predefined) {\n\n int lengths;\n\n int flags = avio_r8(&d->pb);\n\n descr->sl.use_au_start = !!(flags & 0x80);\n\n descr->sl.use_au_end = !!(flags & 0x40);\n\n descr->sl.use_rand_acc_pt = !!(flags & 0x20);\n\n descr->sl.use_padding = !!(flags & 0x08);\n\n descr->sl.use_timestamps = !!(flags & 0x04);\n\n descr->sl.use_idle = !!(flags & 0x02);\n\n descr->sl.timestamp_res = avio_rb32(&d->pb);\n\n avio_rb32(&d->pb);\n\n descr->sl.timestamp_len = avio_r8(&d->pb);\n\n\n\n\n\n\n descr->sl.ocr_len = avio_r8(&d->pb);\n\n descr->sl.au_len = avio_r8(&d->pb);\n\n descr->sl.inst_bitrate_len = avio_r8(&d->pb);\n\n lengths = avio_rb16(&d->pb);\n\n descr->sl.degr_prior_len = lengths >> 12;\n\n descr->sl.au_seq_num_len = (lengths >> 7) & 0x1f;\n\n descr->sl.packet_seq_num_len = (lengths >> 2) & 0x1f;\n\n } else {\n\n avpriv_report_missing_feature(d->s, \"Predefined SLConfigDescriptor\");\n\n\n return 0;\n", "idx": 9351}909{"project": "qemu", "commit_id": "85d604af5f96c32734af9974ec6ddb625b6716a2", "target": 1, "func": "target_ulong helper_mul_suov(CPUTriCoreState *env, target_ulong r1,\n\n target_ulong r2)\n\n{\n\n int64_t t1 = extract64(r1, 0, 32);\n\n int64_t t2 = extract64(r2, 0, 32);\n\n int64_t result = t1 * t2;\n\n\n\n return suov32(env, result);\n\n}\n", "idx": 9352}910{"project": "FFmpeg", "commit_id": "ec79b1fc88b2cc6a9ab6cd953efcdbaebedde233", "target": 1, "func": "static int parse_chunks(AVFormatContext *s, int mode, int64_t seekts, int *len_ptr)\n\n{\n\n WtvContext *wtv = s->priv_data;\n\n AVIOContext *pb = wtv->pb;\n\n while (!url_feof(pb)) {\n\n ff_asf_guid g;\n\n int len, sid, consumed;\n\n\n\n ff_get_guid(pb, &g);\n\n len = avio_rl32(pb);\n\n if (len < 32)\n\n break;\n\n sid = avio_rl32(pb) & 0x7FFF;\n\n avio_skip(pb, 8);\n\n consumed = 32;\n\n\n\n if (!ff_guidcmp(g, ff_SBE2_STREAM_DESC_EVENT)) {\n\n if (ff_find_stream_index(s, sid) < 0) {\n\n ff_asf_guid mediatype, subtype, formattype;\n\n int size;\n\n avio_skip(pb, 28);\n\n ff_get_guid(pb, &mediatype);\n\n ff_get_guid(pb, &subtype);\n\n avio_skip(pb, 12);\n\n ff_get_guid(pb, &formattype);\n\n size = avio_rl32(pb);\n\n parse_media_type(s, 0, sid, mediatype, subtype, formattype, size);\n\n consumed += 92 + size;\n\n }\n\n } else if (!ff_guidcmp(g, ff_stream2_guid)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0 && !((WtvStream*)s->streams[stream_index]->priv_data)->seen_data) {\n\n ff_asf_guid mediatype, subtype, formattype;\n\n int size;\n\n avio_skip(pb, 12);\n\n ff_get_guid(pb, &mediatype);\n\n ff_get_guid(pb, &subtype);\n\n avio_skip(pb, 12);\n\n ff_get_guid(pb, &formattype);\n\n size = avio_rl32(pb);\n\n parse_media_type(s, s->streams[stream_index], sid, mediatype, subtype, formattype, size);\n\n consumed += 76 + size;\n\n }\n\n } else if (!ff_guidcmp(g, EVENTID_AudioDescriptorSpanningEvent) ||\n\n !ff_guidcmp(g, EVENTID_CtxADescriptorSpanningEvent) ||\n\n !ff_guidcmp(g, EVENTID_CSDescriptorSpanningEvent) ||\n\n !ff_guidcmp(g, EVENTID_StreamIDSpanningEvent) ||\n\n !ff_guidcmp(g, EVENTID_SubtitleSpanningEvent) ||\n\n !ff_guidcmp(g, EVENTID_TeletextSpanningEvent)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0) {\n\n AVStream *st = s->streams[stream_index];\n\n uint8_t buf[258];\n\n const uint8_t *pbuf = buf;\n\n int buf_size;\n\n\n\n avio_skip(pb, 8);\n\n consumed += 8;\n\n if (!ff_guidcmp(g, EVENTID_CtxADescriptorSpanningEvent) ||\n\n !ff_guidcmp(g, EVENTID_CSDescriptorSpanningEvent)) {\n\n avio_skip(pb, 6);\n\n consumed += 6;\n\n }\n\n\n\n buf_size = FFMIN(len - consumed, sizeof(buf));\n\n avio_read(pb, buf, buf_size);\n\n consumed += buf_size;\n\n ff_parse_mpeg2_descriptor(s, st, 0, &pbuf, buf + buf_size, NULL, 0, 0, NULL);\n\n }\n\n } else if (!ff_guidcmp(g, EVENTID_AudioTypeSpanningEvent)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0) {\n\n AVStream *st = s->streams[stream_index];\n\n int audio_type;\n\n avio_skip(pb, 8);\n\n audio_type = avio_r8(pb);\n\n if (audio_type == 2)\n\n st->disposition |= AV_DISPOSITION_HEARING_IMPAIRED;\n\n else if (audio_type == 3)\n\n st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;\n\n consumed += 9;\n\n }\n\n } else if (!ff_guidcmp(g, EVENTID_DVBScramblingControlSpanningEvent)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0) {\n\n avio_skip(pb, 12);\n\n if (avio_rl32(pb))\n\n av_log(s, AV_LOG_WARNING, \"DVB scrambled stream detected (st:%d), decoding will likely fail\\n\", stream_index);\n\n consumed += 16;\n\n }\n\n } else if (!ff_guidcmp(g, EVENTID_LanguageSpanningEvent)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0) {\n\n AVStream *st = s->streams[stream_index];\n\n uint8_t language[4];\n\n avio_skip(pb, 12);\n\n avio_read(pb, language, 3);\n\n if (language[0]) {\n\n language[3] = 0;\n\n av_dict_set(&st->metadata, \"language\", language, 0);\n\n if (!strcmp(language, \"nar\") || !strcmp(language, \"NAR\"))\n\n st->disposition |= AV_DISPOSITION_VISUAL_IMPAIRED;\n\n }\n\n consumed += 15;\n\n }\n\n } else if (!ff_guidcmp(g, ff_timestamp_guid)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0) {\n\n avio_skip(pb, 8);\n\n wtv->pts = avio_rl64(pb);\n\n consumed += 16;\n\n if (wtv->pts == -1)\n\n wtv->pts = AV_NOPTS_VALUE;\n\n else {\n\n wtv->last_valid_pts = wtv->pts;\n\n if (wtv->epoch == AV_NOPTS_VALUE || wtv->pts < wtv->epoch)\n\n wtv->epoch = wtv->pts;\n\n if (mode == SEEK_TO_PTS && wtv->pts >= seekts) {\n\n avio_skip(pb, WTV_PAD8(len) - consumed);\n\n return 0;\n\n }\n\n }\n\n }\n\n } else if (!ff_guidcmp(g, ff_data_guid)) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (mode == SEEK_TO_DATA && stream_index >= 0 && len > 32 && s->streams[stream_index]->priv_data) {\n\n WtvStream *wst = s->streams[stream_index]->priv_data;\n\n wst->seen_data = 1;\n\n if (len_ptr) {\n\n *len_ptr = len;\n\n }\n\n return stream_index;\n\n }\n\n } else if (!ff_guidcmp(g, /* DSATTRIB_WMDRMProtectionInfo */ (const ff_asf_guid){0x83,0x95,0x74,0x40,0x9D,0x6B,0xEC,0x4E,0xB4,0x3C,0x67,0xA1,0x80,0x1E,0x1A,0x9B})) {\n\n int stream_index = ff_find_stream_index(s, sid);\n\n if (stream_index >= 0)\n\n av_log(s, AV_LOG_WARNING, \"encrypted stream detected (st:%d), decoding will likely fail\\n\", stream_index);\n\n } else if (\n\n !ff_guidcmp(g, /* DSATTRIB_CAPTURE_STREAMTIME */ (const ff_asf_guid){0x14,0x56,0x1A,0x0C,0xCD,0x30,0x40,0x4F,0xBC,0xBF,0xD0,0x3E,0x52,0x30,0x62,0x07}) ||\n\n !ff_guidcmp(g, /* DSATTRIB_PBDATAG_ATTRIBUTE */ (const ff_asf_guid){0x79,0x66,0xB5,0xE0,0xB9,0x12,0xCC,0x43,0xB7,0xDF,0x57,0x8C,0xAA,0x5A,0x7B,0x63}) ||\n\n !ff_guidcmp(g, /* DSATTRIB_PicSampleSeq */ (const ff_asf_guid){0x02,0xAE,0x5B,0x2F,0x8F,0x7B,0x60,0x4F,0x82,0xD6,0xE4,0xEA,0x2F,0x1F,0x4C,0x99}) ||\n\n !ff_guidcmp(g, /* DSATTRIB_TRANSPORT_PROPERTIES */ ff_DSATTRIB_TRANSPORT_PROPERTIES) ||\n\n !ff_guidcmp(g, /* dvr_ms_vid_frame_rep_data */ (const ff_asf_guid){0xCC,0x32,0x64,0xDD,0x29,0xE2,0xDB,0x40,0x80,0xF6,0xD2,0x63,0x28,0xD2,0x76,0x1F}) ||\n\n !ff_guidcmp(g, /* EVENTID_ChannelChangeSpanningEvent */ (const ff_asf_guid){0xE5,0xC5,0x67,0x90,0x5C,0x4C,0x05,0x42,0x86,0xC8,0x7A,0xFE,0x20,0xFE,0x1E,0xFA}) ||\n\n !ff_guidcmp(g, /* EVENTID_ChannelInfoSpanningEvent */ (const ff_asf_guid){0x80,0x6D,0xF3,0x41,0x32,0x41,0xC2,0x4C,0xB1,0x21,0x01,0xA4,0x32,0x19,0xD8,0x1B}) ||\n\n !ff_guidcmp(g, /* EVENTID_ChannelTypeSpanningEvent */ (const ff_asf_guid){0x51,0x1D,0xAB,0x72,0xD2,0x87,0x9B,0x48,0xBA,0x11,0x0E,0x08,0xDC,0x21,0x02,0x43}) ||\n\n !ff_guidcmp(g, /* EVENTID_PIDListSpanningEvent */ (const ff_asf_guid){0x65,0x8F,0xFC,0x47,0xBB,0xE2,0x34,0x46,0x9C,0xEF,0xFD,0xBF,0xE6,0x26,0x1D,0x5C}) ||\n\n !ff_guidcmp(g, /* EVENTID_SignalAndServiceStatusSpanningEvent */ (const ff_asf_guid){0xCB,0xC5,0x68,0x80,0x04,0x3C,0x2B,0x49,0xB4,0x7D,0x03,0x08,0x82,0x0D,0xCE,0x51}) ||\n\n !ff_guidcmp(g, /* EVENTID_StreamTypeSpanningEvent */ (const ff_asf_guid){0xBC,0x2E,0xAF,0x82,0xA6,0x30,0x64,0x42,0xA8,0x0B,0xAD,0x2E,0x13,0x72,0xAC,0x60}) ||\n\n !ff_guidcmp(g, (const ff_asf_guid){0x1E,0xBE,0xC3,0xC5,0x43,0x92,0xDC,0x11,0x85,0xE5,0x00,0x12,0x3F,0x6F,0x73,0xB9}) ||\n\n !ff_guidcmp(g, (const ff_asf_guid){0x3B,0x86,0xA2,0xB1,0xEB,0x1E,0xC3,0x44,0x8C,0x88,0x1C,0xA3,0xFF,0xE3,0xE7,0x6A}) ||\n\n !ff_guidcmp(g, (const ff_asf_guid){0x4E,0x7F,0x4C,0x5B,0xC4,0xD0,0x38,0x4B,0xA8,0x3E,0x21,0x7F,0x7B,0xBF,0x52,0xE7}) ||\n\n !ff_guidcmp(g, (const ff_asf_guid){0x63,0x36,0xEB,0xFE,0xA1,0x7E,0xD9,0x11,0x83,0x08,0x00,0x07,0xE9,0x5E,0xAD,0x8D}) ||\n\n !ff_guidcmp(g, (const ff_asf_guid){0x70,0xE9,0xF1,0xF8,0x89,0xA4,0x4C,0x4D,0x83,0x73,0xB8,0x12,0xE0,0xD5,0xF8,0x1E}) ||\n\n !ff_guidcmp(g, ff_index_guid) ||\n\n !ff_guidcmp(g, ff_sync_guid) ||\n\n !ff_guidcmp(g, ff_stream1_guid) ||\n\n !ff_guidcmp(g, (const ff_asf_guid){0xF7,0x10,0x02,0xB9,0xEE,0x7C,0xED,0x4E,0xBD,0x7F,0x05,0x40,0x35,0x86,0x18,0xA1})) {\n\n //ignore known guids\n\n } else\n\n av_log(s, AV_LOG_WARNING, \"unsupported chunk:\"FF_PRI_GUID\"\\n\", FF_ARG_GUID(g));\n\n\n\n avio_skip(pb, WTV_PAD8(len) - consumed);\n\n }\n\n return AVERROR_EOF;\n\n}\n", "idx": 9366}911{"project": "qemu", "commit_id": "db12451decf7dfe0f083564183e135f2095228b9", "target": 1, "func": "static void virtio_rng_class_init(ObjectClass *klass, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(klass);\n\n VirtioDeviceClass *vdc = VIRTIO_DEVICE_CLASS(klass);\n\n\n\n dc->props = virtio_rng_properties;\n\n set_bit(DEVICE_CATEGORY_MISC, dc->categories);\n\n vdc->realize = virtio_rng_device_realize;\n\n vdc->unrealize = virtio_rng_device_unrealize;\n\n vdc->get_features = get_features;\n\n vdc->load = virtio_rng_load_device;\n\n}\n", "idx": 9399}912{"project": "qemu", "commit_id": "f65ed4c1529f29a7d62d6733eaa50bed24a4b2ed", "target": 1, "func": "int kvm_init(int smp_cpus)\n{\n KVMState *s;\n int ret;\n int i;\n if (smp_cpus > 1)\n return -EINVAL;\n s = qemu_mallocz(sizeof(KVMState));\n if (s == NULL)\n return -ENOMEM;\n for (i = 0; i < ARRAY_SIZE(s->slots); i++)\n s->slots[i].slot = i;\n s->vmfd = -1;\n s->fd = open(\"/dev/kvm\", O_RDWR);\n if (s->fd == -1) {\n fprintf(stderr, \"Could not access KVM kernel module: %m\\n\");\n ret = -errno;\n goto err;\n }\n ret = kvm_ioctl(s, KVM_GET_API_VERSION, 0);\n if (ret < KVM_API_VERSION) {\n ret = -EINVAL;\n fprintf(stderr, \"kvm version too old\\n\");\n goto err;\n }\n if (ret > KVM_API_VERSION) {\n ret = -EINVAL;\n fprintf(stderr, \"kvm version not supported\\n\");\n goto err;\n }\n s->vmfd = kvm_ioctl(s, KVM_CREATE_VM, 0);\n if (s->vmfd < 0)\n goto err;\n /* initially, KVM allocated its own memory and we had to jump through\n * hooks to make phys_ram_base point to this. Modern versions of KVM\n * just use a user allocated buffer so we can use phys_ram_base\n * unmodified. Make sure we have a sufficiently modern version of KVM.\n */\n ret = kvm_ioctl(s, KVM_CHECK_EXTENSION, KVM_CAP_USER_MEMORY);\n if (ret <= 0) {\n if (ret == 0)\n ret = -EINVAL;\n fprintf(stderr, \"kvm does not support KVM_CAP_USER_MEMORY\\n\");\n goto err;\n }\n /* There was a nasty bug in < kvm-80 that prevents memory slots from being\n * destroyed properly. Since we rely on this capability, refuse to work\n * with any kernel without this capability. */\n ret = kvm_ioctl(s, KVM_CHECK_EXTENSION,\n KVM_CAP_DESTROY_MEMORY_REGION_WORKS);\n if (ret <= 0) {\n if (ret == 0)\n ret = -EINVAL;\n fprintf(stderr,\n \"KVM kernel module broken (DESTROY_MEMORY_REGION)\\n\"\n \"Please upgrade to at least kvm-81.\\n\");\n goto err;\n }\n ret = kvm_arch_init(s, smp_cpus);\n if (ret < 0)\n goto err;\n kvm_state = s;\n return 0;\nerr:\n if (s) {\n if (s->vmfd != -1)\n close(s->vmfd);\n if (s->fd != -1)\n close(s->fd);\n }\n qemu_free(s);\n return ret;\n}", "idx": 9418}913{"project": "qemu", "commit_id": "7c24384b3b984f0256ba10eb26d877ec28985019", "target": 1, "func": "static int64_t nfs_client_open(NFSClient *client, const char *filename,\n\n int flags, Error **errp)\n\n{\n\n int ret = -EINVAL, i;\n\n struct stat st;\n\n URI *uri;\n\n QueryParams *qp = NULL;\n\n char *file = NULL, *strp = NULL;\n\n\n\n uri = uri_parse(filename);\n\n if (!uri) {\n\n error_setg(errp, \"Invalid URL specified\");\n\n goto fail;\n\n }\n\n if (!uri->server) {\n\n error_setg(errp, \"Invalid URL specified\");\n\n goto fail;\n\n }\n\n strp = strrchr(uri->path, '/');\n\n if (strp == NULL) {\n\n error_setg(errp, \"Invalid URL specified\");\n\n goto fail;\n\n }\n\n file = g_strdup(strp);\n\n *strp = 0;\n\n\n\n client->context = nfs_init_context();\n\n if (client->context == NULL) {\n\n error_setg(errp, \"Failed to init NFS context\");\n\n goto fail;\n\n }\n\n\n\n qp = query_params_parse(uri->query);\n\n for (i = 0; i < qp->n; i++) {\n\n if (!qp->p[i].value) {\n\n error_setg(errp, \"Value for NFS parameter expected: %s\",\n\n qp->p[i].name);\n\n goto fail;\n\n }\n\n if (!strncmp(qp->p[i].name, \"uid\", 3)) {\n\n nfs_set_uid(client->context, atoi(qp->p[i].value));\n\n } else if (!strncmp(qp->p[i].name, \"gid\", 3)) {\n\n nfs_set_gid(client->context, atoi(qp->p[i].value));\n\n } else if (!strncmp(qp->p[i].name, \"tcp-syncnt\", 10)) {\n\n nfs_set_tcp_syncnt(client->context, atoi(qp->p[i].value));\n\n } else {\n\n error_setg(errp, \"Unknown NFS parameter name: %s\",\n\n qp->p[i].name);\n\n goto fail;\n\n }\n\n }\n\n\n\n ret = nfs_mount(client->context, uri->server, uri->path);\n\n if (ret < 0) {\n\n error_setg(errp, \"Failed to mount nfs share: %s\",\n\n nfs_get_error(client->context));\n\n goto fail;\n\n }\n\n\n\n if (flags & O_CREAT) {\n\n ret = nfs_creat(client->context, file, 0600, &client->fh);\n\n if (ret < 0) {\n\n error_setg(errp, \"Failed to create file: %s\",\n\n nfs_get_error(client->context));\n\n goto fail;\n\n }\n\n } else {\n\n ret = nfs_open(client->context, file, flags, &client->fh);\n\n if (ret < 0) {\n\n error_setg(errp, \"Failed to open file : %s\",\n\n nfs_get_error(client->context));\n\n goto fail;\n\n }\n\n }\n\n\n\n ret = nfs_fstat(client->context, client->fh, &st);\n\n if (ret < 0) {\n\n error_setg(errp, \"Failed to fstat file: %s\",\n\n nfs_get_error(client->context));\n\n goto fail;\n\n }\n\n\n\n ret = DIV_ROUND_UP(st.st_size, BDRV_SECTOR_SIZE);\n\n client->has_zero_init = S_ISREG(st.st_mode);\n\n goto out;\n\nfail:\n\n nfs_client_close(client);\n\nout:\n\n if (qp) {\n\n query_params_free(qp);\n\n }\n\n uri_free(uri);\n\n g_free(file);\n\n return ret;\n\n}\n", "idx": 9434}914{"project": "FFmpeg", "commit_id": "6f7f2396049575fcf2054b4dafa19ca01381638e", "target": 1, "func": "static int nut_read_header(AVFormatContext * avf, AVFormatParameters * ap) {\n\n NUTContext * priv = avf->priv_data;\n\n AVIOContext * bc = avf->pb;\n\n nut_demuxer_opts_tt dopts = {\n\n .input = {\n\n .priv = bc,\n\n .seek = av_seek,\n\n .read = av_read,\n\n .eof = NULL,\n\n .file_pos = 0,\n\n },\n\n .alloc = { av_malloc, av_realloc, av_free },\n\n .read_index = 1,\n\n .cache_syncpoints = 1,\n\n };\n\n nut_context_tt * nut = priv->nut = nut_demuxer_init(&dopts);\n\n nut_stream_header_tt * s;\n\n int ret, i;\n\n\n\n if ((ret = nut_read_headers(nut, &s, NULL))) {\n\n av_log(avf, AV_LOG_ERROR, \" NUT error: %s\\n\", nut_error(ret));\n\n\n return -1;\n\n\n\n\n priv->s = s;\n\n\n\n for (i = 0; s[i].type != -1 && i < 2; i++) {\n\n AVStream * st = avformat_new_stream(avf, NULL);\n\n int j;\n\n\n\n for (j = 0; j < s[i].fourcc_len && j < 8; j++) st->codec->codec_tag |= s[i].fourcc[j]<<(j*8);\n\n\n\n st->codec->has_b_frames = s[i].decode_delay;\n\n\n\n st->codec->extradata_size = s[i].codec_specific_len;\n\n if (st->codec->extradata_size) {\n\n st->codec->extradata = av_mallocz(st->codec->extradata_size);\n\n\n\n\n\n memcpy(st->codec->extradata, s[i].codec_specific, st->codec->extradata_size);\n\n\n\n\n avpriv_set_pts_info(avf->streams[i], 60, s[i].time_base.num, s[i].time_base.den);\n\n st->start_time = 0;\n\n st->duration = s[i].max_pts;\n\n\n\n st->codec->codec_id = ff_codec_get_id(nut_tags, st->codec->codec_tag);\n\n\n\n switch(s[i].type) {\n\n case NUT_AUDIO_CLASS:\n\n st->codec->codec_type = AVMEDIA_TYPE_AUDIO;\n\n if (st->codec->codec_id == CODEC_ID_NONE) st->codec->codec_id = ff_codec_get_id(ff_codec_wav_tags, st->codec->codec_tag);\n\n\n\n st->codec->channels = s[i].channel_count;\n\n st->codec->sample_rate = s[i].samplerate_num / s[i].samplerate_denom;\n\n break;\n\n case NUT_VIDEO_CLASS:\n\n st->codec->codec_type = AVMEDIA_TYPE_VIDEO;\n\n if (st->codec->codec_id == CODEC_ID_NONE) st->codec->codec_id = ff_codec_get_id(ff_codec_bmp_tags, st->codec->codec_tag);\n\n\n\n st->codec->width = s[i].width;\n\n st->codec->height = s[i].height;\n\n st->sample_aspect_ratio.num = s[i].sample_width;\n\n st->sample_aspect_ratio.den = s[i].sample_height;\n\n break;\n\n\n if (st->codec->codec_id == CODEC_ID_NONE) av_log(avf, AV_LOG_ERROR, \"Unknown codec?!\\n\");\n\n\n\n\n return 0;\n", "idx": 9435}915{"project": "qemu", "commit_id": "41264b385c2b324fea026204e5de9bef980733b1", "target": 1, "func": "static void ppc_cpu_realizefn(DeviceState *dev, Error **errp)\n{\n CPUState *cs = CPU(dev);\n PowerPCCPU *cpu = POWERPC_CPU(dev);\n PowerPCCPUClass *pcc = POWERPC_CPU_GET_CLASS(cpu);\n Error *local_err = NULL;\n#if !defined(CONFIG_USER_ONLY)\n int max_smt = kvm_enabled() ? kvmppc_smt_threads() : 1;\n#endif\n#if !defined(CONFIG_USER_ONLY)\n if (smp_threads > max_smt) {\n error_setg(errp, \"Cannot support more than %d threads on PPC with %s\",\n max_smt, kvm_enabled() ? \"KVM\" : \"TCG\");\n if (!is_power_of_2(smp_threads)) {\n error_setg(errp, \"Cannot support %d threads on PPC with %s, \"\n \"threads count must be a power of 2.\",\n smp_threads, kvm_enabled() ? \"KVM\" : \"TCG\");\n#endif\n cpu_exec_init(cs, &local_err);\n if (local_err != NULL) {\n error_propagate(errp, local_err);\n#if !defined(CONFIG_USER_ONLY)\n cpu->cpu_dt_id = (cs->cpu_index / smp_threads) * max_smt\n + (cs->cpu_index % smp_threads);\n#endif\n if (tcg_enabled()) {\n if (ppc_fixup_cpu(cpu) != 0) {\n error_setg(errp, \"Unable to emulate selected CPU with TCG\");\n#if defined(TARGET_PPCEMB)\n if (!ppc_cpu_is_valid(pcc)) {\n error_setg(errp, \"CPU does not possess a BookE or 4xx MMU. \"\n \"Please use qemu-system-ppc or qemu-system-ppc64 instead \"\n \"or choose another CPU model.\");\n#endif\n create_ppc_opcodes(cpu, &local_err);\n if (local_err != NULL) {\n error_propagate(errp, local_err);\n init_ppc_proc(cpu);\n if (pcc->insns_flags & PPC_FLOAT) {\n gdb_register_coprocessor(cs, gdb_get_float_reg, gdb_set_float_reg,\n 33, \"power-fpu.xml\", 0);\n if (pcc->insns_flags & PPC_ALTIVEC) {\n gdb_register_coprocessor(cs, gdb_get_avr_reg, gdb_set_avr_reg,\n 34, \"power-altivec.xml\", 0);\n if (pcc->insns_flags & PPC_SPE) {\n gdb_register_coprocessor(cs, gdb_get_spe_reg, gdb_set_spe_reg,\n 34, \"power-spe.xml\", 0);\n if (pcc->insns_flags2 & PPC2_VSX) {\n gdb_register_coprocessor(cs, gdb_get_vsx_reg, gdb_set_vsx_reg,\n 32, \"power-vsx.xml\", 0);\n qemu_init_vcpu(cs);\n pcc->parent_realize(dev, errp);\n#if defined(PPC_DUMP_CPU)\n {\n CPUPPCState *env = &cpu->env;\n const char *mmu_model, *excp_model, *bus_model;\n switch (env->mmu_model) {\n case POWERPC_MMU_32B:\n mmu_model = \"PowerPC 32\";\n break;\n case POWERPC_MMU_SOFT_6xx:\n mmu_model = \"PowerPC 6xx/7xx with software driven TLBs\";\n break;\n case POWERPC_MMU_SOFT_74xx:\n mmu_model = \"PowerPC 74xx with software driven TLBs\";\n break;\n case POWERPC_MMU_SOFT_4xx:\n mmu_model = \"PowerPC 4xx with software driven TLBs\";\n break;\n case POWERPC_MMU_SOFT_4xx_Z:\n mmu_model = \"PowerPC 4xx with software driven TLBs \"\n \"and zones protections\";\n break;\n case POWERPC_MMU_REAL:\n mmu_model = \"PowerPC real mode only\";\n break;\n case POWERPC_MMU_MPC8xx:\n mmu_model = \"PowerPC MPC8xx\";\n break;\n case POWERPC_MMU_BOOKE:\n mmu_model = \"PowerPC BookE\";\n break;\n case POWERPC_MMU_BOOKE206:\n mmu_model = \"PowerPC BookE 2.06\";\n break;\n case POWERPC_MMU_601:\n mmu_model = \"PowerPC 601\";\n break;\n#if defined (TARGET_PPC64)\n case POWERPC_MMU_64B:\n mmu_model = \"PowerPC 64\";\n break;\n#endif\n default:\n mmu_model = \"Unknown or invalid\";\n break;\n switch (env->excp_model) {\n case POWERPC_EXCP_STD:\n excp_model = \"PowerPC\";\n break;\n case POWERPC_EXCP_40x:\n excp_model = \"PowerPC 40x\";\n break;\n case POWERPC_EXCP_601:\n excp_model = \"PowerPC 601\";\n break;\n case POWERPC_EXCP_602:\n excp_model = \"PowerPC 602\";\n break;\n case POWERPC_EXCP_603:\n excp_model = \"PowerPC 603\";\n break;\n case POWERPC_EXCP_603E:\n excp_model = \"PowerPC 603e\";\n break;\n case POWERPC_EXCP_604:\n excp_model = \"PowerPC 604\";\n break;\n case POWERPC_EXCP_7x0:\n excp_model = \"PowerPC 740/750\";\n break;\n case POWERPC_EXCP_7x5:\n excp_model = \"PowerPC 745/755\";\n break;\n case POWERPC_EXCP_74xx:\n excp_model = \"PowerPC 74xx\";\n break;\n case POWERPC_EXCP_BOOKE:\n excp_model = \"PowerPC BookE\";\n break;\n#if defined (TARGET_PPC64)\n case POWERPC_EXCP_970:\n excp_model = \"PowerPC 970\";\n break;\n#endif\n default:\n excp_model = \"Unknown or invalid\";\n break;\n switch (env->bus_model) {\n case PPC_FLAGS_INPUT_6xx:\n bus_model = \"PowerPC 6xx\";\n break;\n case PPC_FLAGS_INPUT_BookE:\n bus_model = \"PowerPC BookE\";\n break;\n case PPC_FLAGS_INPUT_405:\n bus_model = \"PowerPC 405\";\n break;\n case PPC_FLAGS_INPUT_401:\n bus_model = \"PowerPC 401/403\";\n break;\n case PPC_FLAGS_INPUT_RCPU:\n bus_model = \"RCPU / MPC8xx\";\n break;\n#if defined (TARGET_PPC64)\n case PPC_FLAGS_INPUT_970:\n bus_model = \"PowerPC 970\";\n break;\n#endif\n default:\n bus_model = \"Unknown or invalid\";\n break;\n printf(\"PowerPC %-12s : PVR %08x MSR %016\" PRIx64 \"\\n\"\n \" MMU model : %s\\n\",\n object_class_get_name(OBJECT_CLASS(pcc)),\n pcc->pvr, pcc->msr_mask, mmu_model);\n#if !defined(CONFIG_USER_ONLY)\n if (env->tlb.tlb6) {\n printf(\" %d %s TLB in %d ways\\n\",\n env->nb_tlb, env->id_tlbs ? \"splitted\" : \"merged\",\n env->nb_ways);\n#endif\n printf(\" Exceptions model : %s\\n\"\n \" Bus model : %s\\n\",\n excp_model, bus_model);\n printf(\" MSR features :\\n\");\n if (env->flags & POWERPC_FLAG_SPE)\n printf(\" signal processing engine enable\"\n \"\\n\");\n else if (env->flags & POWERPC_FLAG_VRE)\n printf(\" vector processor enable\\n\");\n if (env->flags & POWERPC_FLAG_TGPR)\n printf(\" temporary GPRs\\n\");\n else if (env->flags & POWERPC_FLAG_CE)\n printf(\" critical input enable\\n\");\n if (env->flags & POWERPC_FLAG_SE)\n printf(\" single-step trace mode\\n\");\n else if (env->flags & POWERPC_FLAG_DWE)\n printf(\" debug wait enable\\n\");\n else if (env->flags & POWERPC_FLAG_UBLE)\n printf(\" user BTB lock enable\\n\");\n if (env->flags & POWERPC_FLAG_BE)\n printf(\" branch-step trace mode\\n\");\n else if (env->flags & POWERPC_FLAG_DE)\n printf(\" debug interrupt enable\\n\");\n if (env->flags & POWERPC_FLAG_PX)\n printf(\" inclusive protection\\n\");\n else if (env->flags & POWERPC_FLAG_PMM)\n printf(\" performance monitor mark\\n\");\n if (env->flags == POWERPC_FLAG_NONE)\n printf(\" none\\n\");\n printf(\" Time-base/decrementer clock source: %s\\n\",\n env->flags & POWERPC_FLAG_RTC_CLK ? \"RTC clock\" : \"bus clock\");\n dump_ppc_insns(env);\n dump_ppc_sprs(env);\n fflush(stdout);\n#endif", "idx": 9437}916{"project": "qemu", "commit_id": "e23a1b33b53d25510320b26d9f154e19c6c99725", "target": 1, "func": "static void ram_init(target_phys_addr_t addr, ram_addr_t RAM_size)\n\n{\n\n DeviceState *dev;\n\n SysBusDevice *s;\n\n RamDevice *d;\n\n\n\n /* allocate RAM */\n\n dev = qdev_create(NULL, \"memory\");\n\n s = sysbus_from_qdev(dev);\n\n\n\n d = FROM_SYSBUS(RamDevice, s);\n\n d->size = RAM_size;\n\n qdev_init(dev);\n\n\n\n sysbus_mmio_map(s, 0, addr);\n\n}\n", "idx": 9443}917{"project": "qemu", "commit_id": "49aa4058ac6dd0081aaa45776f07c98df397ca5e", "target": 1, "func": "QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename)\n\n{\n\n char host[65], port[33], width[8], height[8];\n\n int pos;\n\n const char *p;\n\n QemuOpts *opts;\n\n Error *local_err = NULL;\n\n\n\n opts = qemu_opts_create(qemu_find_opts(\"chardev\"), label, 1, &local_err);\n\n if (error_is_set(&local_err)) {\n\n qerror_report_err(local_err);\n\n error_free(local_err);\n\n return NULL;\n\n }\n\n\n\n if (strstart(filename, \"mon:\", &p)) {\n\n filename = p;\n\n qemu_opt_set(opts, \"mux\", \"on\");\n\n if (strcmp(filename, \"stdio\") == 0) {\n\n /* Monitor is muxed to stdio: do not exit on Ctrl+C by default\n\n * but pass it to the guest. Handle this only for compat syntax,\n\n * for -chardev syntax we have special option for this.\n\n * This is what -nographic did, redirecting+muxing serial+monitor\n\n * to stdio causing Ctrl+C to be passed to guest. */\n\n qemu_opt_set(opts, \"signal\", \"off\");\n\n }\n\n }\n\n\n\n if (strcmp(filename, \"null\") == 0 ||\n\n strcmp(filename, \"pty\") == 0 ||\n\n strcmp(filename, \"msmouse\") == 0 ||\n\n strcmp(filename, \"braille\") == 0 ||\n\n strcmp(filename, \"stdio\") == 0) {\n\n qemu_opt_set(opts, \"backend\", filename);\n\n return opts;\n\n }\n\n if (strstart(filename, \"vc\", &p)) {\n\n qemu_opt_set(opts, \"backend\", \"vc\");\n\n if (*p == ':') {\n\n if (sscanf(p+1, \"%8[0-9]x%8[0-9]\", width, height) == 2) {\n\n /* pixels */\n\n qemu_opt_set(opts, \"width\", width);\n\n qemu_opt_set(opts, \"height\", height);\n\n } else if (sscanf(p+1, \"%8[0-9]Cx%8[0-9]C\", width, height) == 2) {\n\n /* chars */\n\n qemu_opt_set(opts, \"cols\", width);\n\n qemu_opt_set(opts, \"rows\", height);\n\n } else {\n\n goto fail;\n\n }\n\n }\n\n return opts;\n\n }\n\n if (strcmp(filename, \"con:\") == 0) {\n\n qemu_opt_set(opts, \"backend\", \"console\");\n\n return opts;\n\n }\n\n if (strstart(filename, \"COM\", NULL)) {\n\n qemu_opt_set(opts, \"backend\", \"serial\");\n\n qemu_opt_set(opts, \"path\", filename);\n\n return opts;\n\n }\n\n if (strstart(filename, \"file:\", &p)) {\n\n qemu_opt_set(opts, \"backend\", \"file\");\n\n qemu_opt_set(opts, \"path\", p);\n\n return opts;\n\n }\n\n if (strstart(filename, \"pipe:\", &p)) {\n\n qemu_opt_set(opts, \"backend\", \"pipe\");\n\n qemu_opt_set(opts, \"path\", p);\n\n return opts;\n\n }\n\n if (strstart(filename, \"tcp:\", &p) ||\n\n strstart(filename, \"telnet:\", &p)) {\n\n if (sscanf(p, \"%64[^:]:%32[^,]%n\", host, port, &pos) < 2) {\n\n host[0] = 0;\n\n if (sscanf(p, \":%32[^,]%n\", port, &pos) < 1)\n\n goto fail;\n\n }\n\n qemu_opt_set(opts, \"backend\", \"socket\");\n\n qemu_opt_set(opts, \"host\", host);\n\n qemu_opt_set(opts, \"port\", port);\n\n if (p[pos] == ',') {\n\n if (qemu_opts_do_parse(opts, p+pos+1, NULL) != 0)\n\n goto fail;\n\n }\n\n if (strstart(filename, \"telnet:\", &p))\n\n qemu_opt_set(opts, \"telnet\", \"on\");\n\n return opts;\n\n }\n\n if (strstart(filename, \"udp:\", &p)) {\n\n qemu_opt_set(opts, \"backend\", \"udp\");\n\n if (sscanf(p, \"%64[^:]:%32[^@,]%n\", host, port, &pos) < 2) {\n\n host[0] = 0;\n\n if (sscanf(p, \":%32[^@,]%n\", port, &pos) < 1) {\n\n goto fail;\n\n }\n\n }\n\n qemu_opt_set(opts, \"host\", host);\n\n qemu_opt_set(opts, \"port\", port);\n\n if (p[pos] == '@') {\n\n p += pos + 1;\n\n if (sscanf(p, \"%64[^:]:%32[^,]%n\", host, port, &pos) < 2) {\n\n host[0] = 0;\n\n if (sscanf(p, \":%32[^,]%n\", port, &pos) < 1) {\n\n goto fail;\n\n }\n\n }\n\n qemu_opt_set(opts, \"localaddr\", host);\n\n qemu_opt_set(opts, \"localport\", port);\n\n }\n\n return opts;\n\n }\n\n if (strstart(filename, \"unix:\", &p)) {\n\n qemu_opt_set(opts, \"backend\", \"socket\");\n\n if (qemu_opts_do_parse(opts, p, \"path\") != 0)\n\n goto fail;\n\n return opts;\n\n }\n\n if (strstart(filename, \"/dev/parport\", NULL) ||\n\n strstart(filename, \"/dev/ppi\", NULL)) {\n\n qemu_opt_set(opts, \"backend\", \"parport\");\n\n qemu_opt_set(opts, \"path\", filename);\n\n return opts;\n\n }\n\n if (strstart(filename, \"/dev/\", NULL)) {\n\n qemu_opt_set(opts, \"backend\", \"tty\");\n\n qemu_opt_set(opts, \"path\", filename);\n\n return opts;\n\n }\n\n\n\nfail:\n\n qemu_opts_del(opts);\n\n return NULL;\n\n}\n", "idx": 9445}918{"project": "qemu", "commit_id": "c73860803f8f8f56ee01b6e796507bfb4ea073ec", "target": 1, "func": "POWERPC_FAMILY(POWER8)(ObjectClass *oc, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(oc);\n\n PowerPCCPUClass *pcc = POWERPC_CPU_CLASS(oc);\n\n\n\n dc->fw_name = \"PowerPC,POWER8\";\n\n dc->desc = \"POWER8\";\n\n pcc->pvr = CPU_POWERPC_POWER8_BASE;\n\n pcc->pvr_mask = CPU_POWERPC_POWER8_MASK;\n\n pcc->init_proc = init_proc_POWER7;\n\n pcc->check_pow = check_pow_nocheck;\n\n pcc->insns_flags = PPC_INSNS_BASE | PPC_STRING | PPC_MFTB |\n\n PPC_FLOAT | PPC_FLOAT_FSEL | PPC_FLOAT_FRES |\n\n PPC_FLOAT_FSQRT | PPC_FLOAT_FRSQRTE |\n\n PPC_FLOAT_STFIWX |\n\n\n PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ |\n\n PPC_MEM_SYNC | PPC_MEM_EIEIO |\n\n PPC_MEM_TLBIE | PPC_MEM_TLBSYNC |\n\n PPC_64B | PPC_ALTIVEC |\n\n PPC_SEGMENT_64B | PPC_SLBI |\n\n PPC_POPCNTB | PPC_POPCNTWD;\n\n pcc->insns_flags2 = PPC2_VSX | PPC2_VSX207 | PPC2_DFP | PPC2_DBRX |\n\n PPC2_PERM_ISA206 | PPC2_DIVE_ISA206 |\n\n PPC2_ATOMIC_ISA206 | PPC2_FP_CVT_ISA206;\n\n pcc->msr_mask = 0x800000000284FF36ULL;\n\n pcc->mmu_model = POWERPC_MMU_2_06;\n\n#if defined(CONFIG_SOFTMMU)\n\n pcc->handle_mmu_fault = ppc_hash64_handle_mmu_fault;\n\n#endif\n\n pcc->excp_model = POWERPC_EXCP_POWER7;\n\n pcc->bus_model = PPC_FLAGS_INPUT_POWER7;\n\n pcc->bfd_mach = bfd_mach_ppc64;\n\n pcc->flags = POWERPC_FLAG_VRE | POWERPC_FLAG_SE |\n\n POWERPC_FLAG_BE | POWERPC_FLAG_PMM |\n\n POWERPC_FLAG_BUS_CLK | POWERPC_FLAG_CFAR |\n\n POWERPC_FLAG_VSX;\n\n pcc->l1_dcache_size = 0x8000;\n\n pcc->l1_icache_size = 0x8000;\n\n}", "idx": 9457}919{"project": "FFmpeg", "commit_id": "842e98b4d83d8cf297e2bc2761f1f47eb89e49e4", "target": 0, "func": "static int parse_object_segment(AVCodecContext *avctx,\n\n const uint8_t *buf, int buf_size)\n\n{\n\n PGSSubContext *ctx = avctx->priv_data;\n\n PGSSubObject *object;\n\n\n\n uint8_t sequence_desc;\n\n unsigned int rle_bitmap_len, width, height;\n\n int id;\n\n\n\n if (buf_size <= 4)\n\n return AVERROR_INVALIDDATA;\n\n buf_size -= 4;\n\n\n\n id = bytestream_get_be16(&buf);\n\n object = find_object(id, &ctx->objects);\n\n if (!object) {\n\n if (ctx->objects.count >= MAX_EPOCH_OBJECTS) {\n\n av_log(avctx, AV_LOG_ERROR, \"Too many objects in epoch\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n object = &ctx->objects.object[ctx->objects.count++];\n\n object->id = id;\n\n }\n\n\n\n /* skip object version number */\n\n buf += 1;\n\n\n\n /* Read the Sequence Description to determine if start of RLE data or appended to previous RLE */\n\n sequence_desc = bytestream_get_byte(&buf);\n\n\n\n if (!(sequence_desc & 0x80)) {\n\n /* Additional RLE data */\n\n if (buf_size > object->rle_remaining_len)\n\n return AVERROR_INVALIDDATA;\n\n\n\n memcpy(object->rle + object->rle_data_len, buf, buf_size);\n\n object->rle_data_len += buf_size;\n\n object->rle_remaining_len -= buf_size;\n\n\n\n return 0;\n\n }\n\n\n\n if (buf_size <= 7)\n\n return AVERROR_INVALIDDATA;\n\n buf_size -= 7;\n\n\n\n /* Decode rle bitmap length, stored size includes width/height data */\n\n rle_bitmap_len = bytestream_get_be24(&buf) - 2*2;\n\n\n\n if (buf_size > rle_bitmap_len) {\n\n av_log(avctx, AV_LOG_ERROR,\n\n \"Buffer dimension %d larger than the expected RLE data %d\\n\",\n\n buf_size, rle_bitmap_len);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n /* Get bitmap dimensions from data */\n\n width = bytestream_get_be16(&buf);\n\n height = bytestream_get_be16(&buf);\n\n\n\n /* Make sure the bitmap is not too large */\n\n if (avctx->width < width || avctx->height < height || !width || !height) {\n\n av_log(avctx, AV_LOG_ERROR, \"Bitmap dimensions (%dx%d) invalid.\\n\", width, height);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n object->w = width;\n\n object->h = height;\n\n\n\n av_fast_padded_malloc(&object->rle, &object->rle_buffer_size, rle_bitmap_len);\n\n\n\n if (!object->rle)\n\n return AVERROR(ENOMEM);\n\n\n\n memcpy(object->rle, buf, buf_size);\n\n object->rle_data_len = buf_size;\n\n object->rle_remaining_len = rle_bitmap_len - buf_size;\n\n\n\n return 0;\n\n}\n", "idx": 9482}920{"project": "qemu", "commit_id": "97f3ad35517e0d02c0149637d1bb10713c52b057", "target": 1, "func": "static int qemu_rdma_register_and_get_keys(RDMAContext *rdma,\n\n RDMALocalBlock *block, uintptr_t host_addr,\n\n uint32_t *lkey, uint32_t *rkey, int chunk,\n\n uint8_t *chunk_start, uint8_t *chunk_end)\n\n{\n\n if (block->mr) {\n\n if (lkey) {\n\n *lkey = block->mr->lkey;\n\n }\n\n if (rkey) {\n\n *rkey = block->mr->rkey;\n\n }\n\n return 0;\n\n }\n\n\n\n /* allocate memory to store chunk MRs */\n\n if (!block->pmr) {\n\n block->pmr = g_malloc0(block->nb_chunks * sizeof(struct ibv_mr *));\n\n }\n\n\n\n /*\n\n * If 'rkey', then we're the destination, so grant access to the source.\n\n *\n\n * If 'lkey', then we're the source VM, so grant access only to ourselves.\n\n */\n\n if (!block->pmr[chunk]) {\n\n uint64_t len = chunk_end - chunk_start;\n\n\n\n trace_qemu_rdma_register_and_get_keys(len, chunk_start);\n\n\n\n block->pmr[chunk] = ibv_reg_mr(rdma->pd,\n\n chunk_start, len,\n\n (rkey ? (IBV_ACCESS_LOCAL_WRITE |\n\n IBV_ACCESS_REMOTE_WRITE) : 0));\n\n\n\n if (!block->pmr[chunk]) {\n\n perror(\"Failed to register chunk!\");\n\n fprintf(stderr, \"Chunk details: block: %d chunk index %d\"\n\n \" start %\" PRIuPTR \" end %\" PRIuPTR\n\n \" host %\" PRIuPTR\n\n \" local %\" PRIuPTR \" registrations: %d\\n\",\n\n block->index, chunk, (uintptr_t)chunk_start,\n\n (uintptr_t)chunk_end, host_addr,\n\n (uintptr_t)block->local_host_addr,\n\n rdma->total_registrations);\n\n return -1;\n\n }\n\n rdma->total_registrations++;\n\n }\n\n\n\n if (lkey) {\n\n *lkey = block->pmr[chunk]->lkey;\n\n }\n\n if (rkey) {\n\n *rkey = block->pmr[chunk]->rkey;\n\n }\n\n return 0;\n\n}\n", "idx": 9508}921{"project": "qemu", "commit_id": "e3697092228770c3b23d0bf524e18b508b109932", "target": 1, "func": "static void vga_draw_graphic(VGAState *s, int full_update)\n\n{\n\n int y1, y, update, page_min, page_max, linesize, y_start, double_scan, mask, depth;\n\n int width, height, shift_control, line_offset, page0, page1, bwidth, bits;\n\n int disp_width, multi_scan, multi_run;\n\n uint8_t *d;\n\n uint32_t v, addr1, addr;\n\n vga_draw_line_func *vga_draw_line;\n\n\n\n full_update |= update_basic_params(s);\n\n\n\n if (!full_update)\n\n vga_sync_dirty_bitmap(s);\n\n\n\n s->get_resolution(s, &width, &height);\n\n disp_width = width;\n\n\n\n shift_control = (s->gr[0x05] >> 5) & 3;\n\n double_scan = (s->cr[0x09] >> 7);\n\n if (shift_control != 1) {\n\n multi_scan = (((s->cr[0x09] & 0x1f) + 1) << double_scan) - 1;\n\n } else {\n\n /* in CGA modes, multi_scan is ignored */\n\n /* XXX: is it correct ? */\n\n multi_scan = double_scan;\n\n }\n\n multi_run = multi_scan;\n\n if (shift_control != s->shift_control ||\n\n double_scan != s->double_scan) {\n\n full_update = 1;\n\n s->shift_control = shift_control;\n\n s->double_scan = double_scan;\n\n }\n\n\n\n if (shift_control == 0) {\n\n full_update |= update_palette16(s);\n\n if (s->sr[0x01] & 8) {\n\n v = VGA_DRAW_LINE4D2;\n\n disp_width <<= 1;\n\n } else {\n\n v = VGA_DRAW_LINE4;\n\n }\n\n bits = 4;\n\n } else if (shift_control == 1) {\n\n full_update |= update_palette16(s);\n\n if (s->sr[0x01] & 8) {\n\n v = VGA_DRAW_LINE2D2;\n\n disp_width <<= 1;\n\n } else {\n\n v = VGA_DRAW_LINE2;\n\n }\n\n bits = 4;\n\n } else {\n\n switch(s->get_bpp(s)) {\n\n default:\n\n case 0:\n\n full_update |= update_palette256(s);\n\n v = VGA_DRAW_LINE8D2;\n\n bits = 4;\n\n break;\n\n case 8:\n\n full_update |= update_palette256(s);\n\n v = VGA_DRAW_LINE8;\n\n bits = 8;\n\n break;\n\n case 15:\n\n v = VGA_DRAW_LINE15;\n\n bits = 16;\n\n break;\n\n case 16:\n\n v = VGA_DRAW_LINE16;\n\n bits = 16;\n\n break;\n\n case 24:\n\n v = VGA_DRAW_LINE24;\n\n bits = 24;\n\n break;\n\n case 32:\n\n v = VGA_DRAW_LINE32;\n\n bits = 32;\n\n break;\n\n }\n\n }\n\n vga_draw_line = vga_draw_line_table[v * NB_DEPTHS + get_depth_index(s->ds)];\n\n\n\n depth = s->get_bpp(s);\n\n if (s->line_offset != s->last_line_offset ||\n\n disp_width != s->last_width ||\n\n height != s->last_height ||\n\n s->last_depth != depth) {\n\n if (depth == 16 || depth == 32) {\n\n if (is_graphic_console()) {\n\n qemu_free_displaysurface(s->ds->surface);\n\n s->ds->surface = qemu_create_displaysurface_from(disp_width, height, depth,\n\n s->line_offset,\n\n s->vram_ptr + (s->start_addr * 4));\n\n dpy_resize(s->ds);\n\n } else {\n\n qemu_console_resize(s->ds, disp_width, height);\n\n }\n\n } else {\n\n qemu_console_resize(s->ds, disp_width, height);\n\n }\n\n s->last_scr_width = disp_width;\n\n s->last_scr_height = height;\n\n s->last_width = disp_width;\n\n s->last_height = height;\n\n s->last_line_offset = s->line_offset;\n\n s->last_depth = depth;\n\n full_update = 1;\n\n } else if (is_graphic_console() && is_buffer_shared(s->ds->surface) &&\n\n (full_update || s->ds->surface->data != s->vram_ptr + (s->start_addr * 4))) {\n\n s->ds->surface->data = s->vram_ptr + (s->start_addr * 4);\n\n dpy_setdata(s->ds);\n\n }\n\n\n\n s->rgb_to_pixel =\n\n rgb_to_pixel_dup_table[get_depth_index(s->ds)];\n\n\n\n if (!is_buffer_shared(s->ds->surface) && s->cursor_invalidate)\n\n s->cursor_invalidate(s);\n\n\n\n line_offset = s->line_offset;\n\n#if 0\n\n printf(\"w=%d h=%d v=%d line_offset=%d cr[0x09]=0x%02x cr[0x17]=0x%02x linecmp=%d sr[0x01]=0x%02x\\n\",\n\n width, height, v, line_offset, s->cr[9], s->cr[0x17], s->line_compare, s->sr[0x01]);\n\n#endif\n\n addr1 = (s->start_addr * 4);\n\n bwidth = (width * bits + 7) / 8;\n\n y_start = -1;\n\n page_min = 0x7fffffff;\n\n page_max = -1;\n\n d = ds_get_data(s->ds);\n\n linesize = ds_get_linesize(s->ds);\n\n y1 = 0;\n\n for(y = 0; y < height; y++) {\n\n addr = addr1;\n\n if (!(s->cr[0x17] & 1)) {\n\n int shift;\n\n /* CGA compatibility handling */\n\n shift = 14 + ((s->cr[0x17] >> 6) & 1);\n\n addr = (addr & ~(1 << shift)) | ((y1 & 1) << shift);\n\n }\n\n if (!(s->cr[0x17] & 2)) {\n\n addr = (addr & ~0x8000) | ((y1 & 2) << 14);\n\n }\n\n page0 = s->vram_offset + (addr & TARGET_PAGE_MASK);\n\n page1 = s->vram_offset + ((addr + bwidth - 1) & TARGET_PAGE_MASK);\n\n update = full_update |\n\n cpu_physical_memory_get_dirty(page0, VGA_DIRTY_FLAG) |\n\n cpu_physical_memory_get_dirty(page1, VGA_DIRTY_FLAG);\n\n if ((page1 - page0) > TARGET_PAGE_SIZE) {\n\n /* if wide line, can use another page */\n\n update |= cpu_physical_memory_get_dirty(page0 + TARGET_PAGE_SIZE,\n\n VGA_DIRTY_FLAG);\n\n }\n\n /* explicit invalidation for the hardware cursor */\n\n update |= (s->invalidated_y_table[y >> 5] >> (y & 0x1f)) & 1;\n\n if (update) {\n\n if (y_start < 0)\n\n y_start = y;\n\n if (page0 < page_min)\n\n page_min = page0;\n\n if (page1 > page_max)\n\n page_max = page1;\n\n if (!(is_buffer_shared(s->ds->surface))) {\n\n vga_draw_line(s, d, s->vram_ptr + addr, width);\n\n if (s->cursor_draw_line)\n\n s->cursor_draw_line(s, d, y);\n\n }\n\n } else {\n\n if (y_start >= 0) {\n\n /* flush to display */\n\n dpy_update(s->ds, 0, y_start,\n\n disp_width, y - y_start);\n\n y_start = -1;\n\n }\n\n }\n\n if (!multi_run) {\n\n mask = (s->cr[0x17] & 3) ^ 3;\n\n if ((y1 & mask) == mask)\n\n addr1 += line_offset;\n\n y1++;\n\n multi_run = multi_scan;\n\n } else {\n\n multi_run--;\n\n }\n\n /* line compare acts on the displayed lines */\n\n if (y == s->line_compare)\n\n addr1 = 0;\n\n d += linesize;\n\n }\n\n if (y_start >= 0) {\n\n /* flush to display */\n\n dpy_update(s->ds, 0, y_start,\n\n disp_width, y - y_start);\n\n }\n\n /* reset modified pages */\n\n if (page_max != -1) {\n\n cpu_physical_memory_reset_dirty(page_min, page_max + TARGET_PAGE_SIZE,\n\n VGA_DIRTY_FLAG);\n\n }\n\n memset(s->invalidated_y_table, 0, ((height + 31) >> 5) * 4);\n\n}\n", "idx": 9509}922{"project": "qemu", "commit_id": "9e472e101f37233f4e32d181d2fee29014c1cf2f", "target": 1, "func": "static int qemu_signalfd_compat(const sigset_t *mask)\n\n{\n\n pthread_attr_t attr;\n\n pthread_t tid;\n\n struct sigfd_compat_info *info;\n\n int fds[2];\n\n\n\n info = malloc(sizeof(*info));\n\n if (info == NULL) {\n\n errno = ENOMEM;\n\n return -1;\n\n }\n\n\n\n if (pipe(fds) == -1) {\n\n free(info);\n\n return -1;\n\n }\n\n\n\n memcpy(&info->mask, mask, sizeof(*mask));\n\n info->fd = fds[1];\n\n\n\n pthread_attr_init(&attr);\n\n pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n\n\n\n pthread_create(&tid, &attr, sigwait_compat, info);\n\n\n\n pthread_attr_destroy(&attr);\n\n\n\n return fds[0];\n\n}\n", "idx": 9510}923{"project": "qemu", "commit_id": "7364dbdabb7824d5bde1e341bb6d928282f01c83", "target": 1, "func": "static int protocol_client_auth_sasl_start_len(VncState *vs, uint8_t *data, size_t len)\n\n{\n\n uint32_t startlen = read_u32(data, 0);\n\n VNC_DEBUG(\"Got client start len %d\\n\", startlen);\n\n if (startlen > SASL_DATA_MAX_LEN) {\n\n VNC_DEBUG(\"Too much SASL data %d\\n\", startlen);\n\n vnc_client_error(vs);\n\n return -1;\n\n }\n\n\n\n if (startlen == 0)\n\n return protocol_client_auth_sasl_start(vs, NULL, 0);\n\n\n\n vnc_read_when(vs, protocol_client_auth_sasl_start, startlen);\n\n return 0;\n\n}\n", "idx": 9516}924{"project": "FFmpeg", "commit_id": "a0e5f7f363555d2befafb1c9e1579dbe0a2fbca7", "target": 1, "func": "static inline void mv_pred_direct(AVSContext *h, cavs_vector *pmv_fw,\n\n cavs_vector *col_mv)\n\n{\n\n cavs_vector *pmv_bw = pmv_fw + MV_BWD_OFFS;\n\n int den = h->direct_den[col_mv->ref];\n\n int m = FF_SIGNBIT(col_mv->x);\n\n\n\n pmv_fw->dist = h->dist[1];\n\n pmv_bw->dist = h->dist[0];\n\n pmv_fw->ref = 1;\n\n pmv_bw->ref = 0;\n\n /* scale the co-located motion vector according to its temporal span */\n\n pmv_fw->x = (((den + (den * col_mv->x * pmv_fw->dist ^ m) - m - 1) >> 14) ^ m) - m;\n\n pmv_bw->x = m - (((den + (den * col_mv->x * pmv_bw->dist ^ m) - m - 1) >> 14) ^ m);\n\n m = FF_SIGNBIT(col_mv->y);\n\n pmv_fw->y = (((den + (den * col_mv->y * pmv_fw->dist ^ m) - m - 1) >> 14) ^ m) - m;\n\n pmv_bw->y = m - (((den + (den * col_mv->y * pmv_bw->dist ^ m) - m - 1) >> 14) ^ m);\n\n}\n", "idx": 9528}925{"project": "FFmpeg", "commit_id": "22fa38f0c85fb31cddbb0bc22a2df5953c702b95", "target": 0, "func": "static inline void h264_deblock_q1(register vector unsigned char p0,\n\n register vector unsigned char p1,\n\n register vector unsigned char p2,\n\n register vector unsigned char q0,\n\n register vector unsigned char tc0) {\n\n\n\n register vector unsigned char average = vec_avg(p0, q0);\n\n register vector unsigned char temp;\n\n register vector unsigned char uncliped;\n\n register vector unsigned char ones;\n\n register vector unsigned char max;\n\n register vector unsigned char min;\n\n\n\n temp = vec_xor(average, p2);\n\n average = vec_avg(average, p2); /*avg(p2, avg(p0, q0)) */\n\n ones = vec_splat_u8(1);\n\n temp = vec_and(temp, ones); /*(p2^avg(p0, q0)) & 1 */\n\n uncliped = vec_subs(average, temp); /*(p2+((p0+q0+1)>>1))>>1 */\n\n max = vec_adds(p1, tc0);\n\n min = vec_subs(p1, tc0);\n\n p1 = vec_max(min, uncliped);\n\n p1 = vec_min(max, p1);\n\n}\n", "idx": 9533}926{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static inline void gen_branch_a(DisasContext *dc, target_ulong pc1,\n\n target_ulong pc2, TCGv r_cond)\n\n{\n\n int l1;\n\n\n\n l1 = gen_new_label();\n\n\n\n tcg_gen_brcondi_tl(TCG_COND_EQ, r_cond, 0, l1);\n\n\n\n gen_goto_tb(dc, 0, pc2, pc1);\n\n\n\n gen_set_label(l1);\n\n gen_goto_tb(dc, 1, pc2 + 4, pc2 + 8);\n\n}\n", "idx": 9546}927{"project": "qemu", "commit_id": "72cf2d4f0e181d0d3a3122e04129c58a95da713e", "target": 0, "func": "uint64_t qcow2_alloc_cluster_offset(BlockDriverState *bs,\n\n uint64_t offset,\n\n int n_start, int n_end,\n\n int *num, QCowL2Meta *m)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n int l2_index, ret;\n\n uint64_t l2_offset, *l2_table, cluster_offset;\n\n int nb_clusters, i = 0;\n\n QCowL2Meta *old_alloc;\n\n\n\n ret = get_cluster_table(bs, offset, &l2_table, &l2_offset, &l2_index);\n\n if (ret == 0)\n\n return 0;\n\n\n\n nb_clusters = size_to_clusters(s, n_end << 9);\n\n\n\n nb_clusters = MIN(nb_clusters, s->l2_size - l2_index);\n\n\n\n cluster_offset = be64_to_cpu(l2_table[l2_index]);\n\n\n\n /* We keep all QCOW_OFLAG_COPIED clusters */\n\n\n\n if (cluster_offset & QCOW_OFLAG_COPIED) {\n\n nb_clusters = count_contiguous_clusters(nb_clusters, s->cluster_size,\n\n &l2_table[l2_index], 0, 0);\n\n\n\n cluster_offset &= ~QCOW_OFLAG_COPIED;\n\n m->nb_clusters = 0;\n\n\n\n goto out;\n\n }\n\n\n\n /* for the moment, multiple compressed clusters are not managed */\n\n\n\n if (cluster_offset & QCOW_OFLAG_COMPRESSED)\n\n nb_clusters = 1;\n\n\n\n /* how many available clusters ? */\n\n\n\n while (i < nb_clusters) {\n\n i += count_contiguous_clusters(nb_clusters - i, s->cluster_size,\n\n &l2_table[l2_index], i, 0);\n\n\n\n if(be64_to_cpu(l2_table[l2_index + i]))\n\n break;\n\n\n\n i += count_contiguous_free_clusters(nb_clusters - i,\n\n &l2_table[l2_index + i]);\n\n\n\n cluster_offset = be64_to_cpu(l2_table[l2_index + i]);\n\n\n\n if ((cluster_offset & QCOW_OFLAG_COPIED) ||\n\n (cluster_offset & QCOW_OFLAG_COMPRESSED))\n\n break;\n\n }\n\n nb_clusters = i;\n\n\n\n /*\n\n * Check if there already is an AIO write request in flight which allocates\n\n * the same cluster. In this case we need to wait until the previous\n\n * request has completed and updated the L2 table accordingly.\n\n */\n\n LIST_FOREACH(old_alloc, &s->cluster_allocs, next_in_flight) {\n\n\n\n uint64_t end_offset = offset + nb_clusters * s->cluster_size;\n\n uint64_t old_offset = old_alloc->offset;\n\n uint64_t old_end_offset = old_alloc->offset +\n\n old_alloc->nb_clusters * s->cluster_size;\n\n\n\n if (end_offset < old_offset || offset > old_end_offset) {\n\n /* No intersection */\n\n } else {\n\n if (offset < old_offset) {\n\n /* Stop at the start of a running allocation */\n\n nb_clusters = (old_offset - offset) >> s->cluster_bits;\n\n } else {\n\n nb_clusters = 0;\n\n }\n\n\n\n if (nb_clusters == 0) {\n\n /* Set dependency and wait for a callback */\n\n m->depends_on = old_alloc;\n\n m->nb_clusters = 0;\n\n *num = 0;\n\n return 0;\n\n }\n\n }\n\n }\n\n\n\n if (!nb_clusters) {\n\n abort();\n\n }\n\n\n\n LIST_INSERT_HEAD(&s->cluster_allocs, m, next_in_flight);\n\n\n\n /* allocate a new cluster */\n\n\n\n cluster_offset = qcow2_alloc_clusters(bs, nb_clusters * s->cluster_size);\n\n\n\n /* save info needed for meta data update */\n\n m->offset = offset;\n\n m->n_start = n_start;\n\n m->nb_clusters = nb_clusters;\n\n\n\nout:\n\n m->nb_available = MIN(nb_clusters << (s->cluster_bits - 9), n_end);\n\n\n\n *num = m->nb_available - n_start;\n\n\n\n return cluster_offset;\n\n}\n", "idx": 9548}928{"project": "qemu", "commit_id": "ef1e1e0782e99c9dcf2b35e5310cdd8ca9211374", "target": 0, "func": "static int tx_consume(Rocker *r, DescInfo *info)\n\n{\n\n PCIDevice *dev = PCI_DEVICE(r);\n\n char *buf = desc_get_buf(info, true);\n\n RockerTlv *tlv_frag;\n\n RockerTlv *tlvs[ROCKER_TLV_TX_MAX + 1];\n\n struct iovec iov[ROCKER_TX_FRAGS_MAX] = { { 0, }, };\n\n uint32_t pport;\n\n uint32_t port;\n\n uint16_t tx_offload = ROCKER_TX_OFFLOAD_NONE;\n\n uint16_t tx_l3_csum_off = 0;\n\n uint16_t tx_tso_mss = 0;\n\n uint16_t tx_tso_hdr_len = 0;\n\n int iovcnt = 0;\n\n int err = ROCKER_OK;\n\n int rem;\n\n int i;\n\n\n\n if (!buf) {\n\n return -ROCKER_ENXIO;\n\n }\n\n\n\n rocker_tlv_parse(tlvs, ROCKER_TLV_TX_MAX, buf, desc_tlv_size(info));\n\n\n\n if (!tlvs[ROCKER_TLV_TX_FRAGS]) {\n\n return -ROCKER_EINVAL;\n\n }\n\n\n\n pport = rocker_get_pport_by_tx_ring(r, desc_get_ring(info));\n\n if (!fp_port_from_pport(pport, &port)) {\n\n return -ROCKER_EINVAL;\n\n }\n\n\n\n if (tlvs[ROCKER_TLV_TX_OFFLOAD]) {\n\n tx_offload = rocker_tlv_get_u8(tlvs[ROCKER_TLV_TX_OFFLOAD]);\n\n }\n\n\n\n switch (tx_offload) {\n\n case ROCKER_TX_OFFLOAD_L3_CSUM:\n\n if (!tlvs[ROCKER_TLV_TX_L3_CSUM_OFF]) {\n\n return -ROCKER_EINVAL;\n\n }\n\n break;\n\n case ROCKER_TX_OFFLOAD_TSO:\n\n if (!tlvs[ROCKER_TLV_TX_TSO_MSS] ||\n\n !tlvs[ROCKER_TLV_TX_TSO_HDR_LEN]) {\n\n return -ROCKER_EINVAL;\n\n }\n\n break;\n\n }\n\n\n\n if (tlvs[ROCKER_TLV_TX_L3_CSUM_OFF]) {\n\n tx_l3_csum_off = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_L3_CSUM_OFF]);\n\n }\n\n\n\n if (tlvs[ROCKER_TLV_TX_TSO_MSS]) {\n\n tx_tso_mss = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_TSO_MSS]);\n\n }\n\n\n\n if (tlvs[ROCKER_TLV_TX_TSO_HDR_LEN]) {\n\n tx_tso_hdr_len = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_TSO_HDR_LEN]);\n\n }\n\n\n\n rocker_tlv_for_each_nested(tlv_frag, tlvs[ROCKER_TLV_TX_FRAGS], rem) {\n\n hwaddr frag_addr;\n\n uint16_t frag_len;\n\n\n\n if (rocker_tlv_type(tlv_frag) != ROCKER_TLV_TX_FRAG) {\n\n err = -ROCKER_EINVAL;\n\n goto err_bad_attr;\n\n }\n\n\n\n rocker_tlv_parse_nested(tlvs, ROCKER_TLV_TX_FRAG_ATTR_MAX, tlv_frag);\n\n\n\n if (!tlvs[ROCKER_TLV_TX_FRAG_ATTR_ADDR] ||\n\n !tlvs[ROCKER_TLV_TX_FRAG_ATTR_LEN]) {\n\n err = -ROCKER_EINVAL;\n\n goto err_bad_attr;\n\n }\n\n\n\n frag_addr = rocker_tlv_get_le64(tlvs[ROCKER_TLV_TX_FRAG_ATTR_ADDR]);\n\n frag_len = rocker_tlv_get_le16(tlvs[ROCKER_TLV_TX_FRAG_ATTR_LEN]);\n\n\n\n iov[iovcnt].iov_len = frag_len;\n\n iov[iovcnt].iov_base = g_malloc(frag_len);\n\n if (!iov[iovcnt].iov_base) {\n\n err = -ROCKER_ENOMEM;\n\n goto err_no_mem;\n\n }\n\n\n\n if (pci_dma_read(dev, frag_addr, iov[iovcnt].iov_base,\n\n iov[iovcnt].iov_len)) {\n\n err = -ROCKER_ENXIO;\n\n goto err_bad_io;\n\n }\n\n\n\n if (++iovcnt > ROCKER_TX_FRAGS_MAX) {\n\n goto err_too_many_frags;\n\n }\n\n }\n\n\n\n if (iovcnt) {\n\n /* XXX perform Tx offloads */\n\n /* XXX silence compiler for now */\n\n tx_l3_csum_off += tx_tso_mss = tx_tso_hdr_len = 0;\n\n }\n\n\n\n err = fp_port_eg(r->fp_port[port], iov, iovcnt);\n\n\n\nerr_too_many_frags:\n\nerr_bad_io:\n\nerr_no_mem:\n\nerr_bad_attr:\n\n for (i = 0; i < ROCKER_TX_FRAGS_MAX; i++) {\n\n if (iov[i].iov_base) {\n\n g_free(iov[i].iov_base);\n\n }\n\n }\n\n\n\n return err;\n\n}\n", "idx": 9574}929{"project": "FFmpeg", "commit_id": "bd8ae4885b905415f0e86d4e348c4b72be81e6e6", "target": 0, "func": "AVFilterFormats *avfilter_all_colorspaces(void)\n\n{\n\n return avfilter_make_format_list(35,\n\n PIX_FMT_YUV444P, PIX_FMT_YUV422P, PIX_FMT_YUV420P,\n\n PIX_FMT_YUV411P, PIX_FMT_YUV410P,\n\n PIX_FMT_YUYV422, PIX_FMT_UYVY422, PIX_FMT_UYYVYY411,\n\n PIX_FMT_YUVJ444P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ420P,\n\n PIX_FMT_YUV440P, PIX_FMT_YUVJ440P,\n\n PIX_FMT_RGB32, PIX_FMT_BGR32,\n\n PIX_FMT_RGB32_1, PIX_FMT_BGR32_1,\n\n PIX_FMT_RGB24, PIX_FMT_BGR24,\n\n PIX_FMT_RGB565, PIX_FMT_BGR565,\n\n PIX_FMT_RGB555, PIX_FMT_BGR555,\n\n PIX_FMT_RGB8, PIX_FMT_BGR8,\n\n PIX_FMT_RGB4_BYTE,PIX_FMT_BGR4_BYTE,\n\n PIX_FMT_GRAY16BE, PIX_FMT_GRAY16LE,\n\n PIX_FMT_GRAY8, PIX_FMT_PAL8,\n\n PIX_FMT_MONOWHITE,PIX_FMT_MONOBLACK\n\n PIX_FMT_NV12, PIX_FMT_NV21);\n\n}\n", "idx": 9576}930{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "MemoryRegion *escc_init(target_phys_addr_t base, qemu_irq irqA, qemu_irq irqB,\n\n CharDriverState *chrA, CharDriverState *chrB,\n\n int clock, int it_shift)\n\n{\n\n DeviceState *dev;\n\n SysBusDevice *s;\n\n SerialState *d;\n\n\n\n dev = qdev_create(NULL, \"escc\");\n\n qdev_prop_set_uint32(dev, \"disabled\", 0);\n\n qdev_prop_set_uint32(dev, \"frequency\", clock);\n\n qdev_prop_set_uint32(dev, \"it_shift\", it_shift);\n\n qdev_prop_set_chr(dev, \"chrB\", chrB);\n\n qdev_prop_set_chr(dev, \"chrA\", chrA);\n\n qdev_prop_set_uint32(dev, \"chnBtype\", ser);\n\n qdev_prop_set_uint32(dev, \"chnAtype\", ser);\n\n qdev_init_nofail(dev);\n\n s = sysbus_from_qdev(dev);\n\n sysbus_connect_irq(s, 0, irqB);\n\n sysbus_connect_irq(s, 1, irqA);\n\n if (base) {\n\n sysbus_mmio_map(s, 0, base);\n\n }\n\n\n\n d = FROM_SYSBUS(SerialState, s);\n\n return &d->mmio;\n\n}\n", "idx": 9584}931{"project": "FFmpeg", "commit_id": "a744064c4155bde063b9e8a47699542be3b8e5eb", "target": 1, "func": "static void free_geotags(TiffContext *const s)\n\n{\n\n int i;\n\n for (i = 0; i < s->geotag_count; i++) {\n\n if (s->geotags[i].val)\n\n av_freep(&s->geotags[i].val);\n\n }\n\n av_freep(&s->geotags);\n\n\n}", "idx": 9598}932{"project": "FFmpeg", "commit_id": "c3afa4db913668e50ac8ffc0bc66621664adc1f4", "target": 1, "func": "void ff_bink_idct_c(DCTELEM *block)\n\n{\n\n int i;\n\n DCTELEM temp[64];\n\n\n\n for (i = 0; i < 8; i++)\n\n bink_idct_col(&temp[i], &block[i]);\n\n for (i = 0; i < 8; i++) {\n\n IDCT_ROW( (&block[8*i]), (&temp[8*i]) );\n\n }\n\n}\n", "idx": 9607}933{"project": "qemu", "commit_id": "603987488c61ca02ee99890d07cdaecdb118a659", "target": 1, "func": "PCIBus *pci_pmac_init(qemu_irq *pic)\n\n{\n\n DeviceState *dev;\n\n SysBusDevice *s;\n\n UNINState *d;\n\n\n\n /* Use values found on a real PowerMac */\n\n /* Uninorth main bus */\n\n dev = qdev_create(NULL, \"Uni-north main\");\n\n qdev_init_nofail(dev);\n\n s = sysbus_from_qdev(dev);\n\n d = FROM_SYSBUS(UNINState, s);\n\n d->host_state.bus = pci_register_bus(&d->busdev.qdev, \"pci\",\n\n pci_unin_set_irq, pci_unin_map_irq,\n\n pic, 11 << 3, 4);\n\n\n\n pci_create_simple(d->host_state.bus, 11 << 3, \"Uni-north main\");\n\n\n\n sysbus_mmio_map(s, 0, 0xf2800000);\n\n sysbus_mmio_map(s, 1, 0xf2c00000);\n\n\n\n /* DEC 21154 bridge */\n\n#if 0\n\n /* XXX: not activated as PPC BIOS doesn't handle multiple buses properly */\n\n pci_create_simple(d->host_state.bus, 12 << 3, \"DEC 21154\");\n\n#endif\n\n\n\n /* Uninorth AGP bus */\n\n pci_create_simple(d->host_state.bus, 13 << 3, \"Uni-north AGP\");\n\n\n\n /* Uninorth internal bus */\n\n#if 0\n\n /* XXX: not needed for now */\n\n pci_create_simple(d->host_state.bus, 14 << 3, \"Uni-north internal\");\n\n#endif\n\n\n\n return d->host_state.bus;\n\n}\n", "idx": 9616}934{"project": "qemu", "commit_id": "9bada8971173345ceb37ed1a47b00a01a4dd48cf", "target": 0, "func": "static void json_message_process_token(JSONLexer *lexer, GString *input,\n\n JSONTokenType type, int x, int y)\n\n{\n\n JSONMessageParser *parser = container_of(lexer, JSONMessageParser, lexer);\n\n QDict *dict;\n\n\n\n switch (type) {\n\n case JSON_LCURLY:\n\n parser->brace_count++;\n\n break;\n\n case JSON_RCURLY:\n\n parser->brace_count--;\n\n break;\n\n case JSON_LSQUARE:\n\n parser->bracket_count++;\n\n break;\n\n case JSON_RSQUARE:\n\n parser->bracket_count--;\n\n break;\n\n default:\n\n break;\n\n }\n\n\n\n dict = qdict_new();\n\n qdict_put(dict, \"type\", qint_from_int(type));\n\n qdict_put(dict, \"token\", qstring_from_str(input->str));\n\n qdict_put(dict, \"x\", qint_from_int(x));\n\n qdict_put(dict, \"y\", qint_from_int(y));\n\n\n\n parser->token_size += input->len;\n\n\n\n g_queue_push_tail(parser->tokens, dict);\n\n\n\n if (type == JSON_ERROR) {\n\n goto out_emit_bad;\n\n } else if (parser->brace_count < 0 ||\n\n parser->bracket_count < 0 ||\n\n (parser->brace_count == 0 &&\n\n parser->bracket_count == 0)) {\n\n goto out_emit;\n\n } else if (parser->token_size > MAX_TOKEN_SIZE ||\n\n parser->bracket_count + parser->brace_count > MAX_NESTING) {\n\n /* Security consideration, we limit total memory allocated per object\n\n * and the maximum recursion depth that a message can force.\n\n */\n\n goto out_emit_bad;\n\n }\n\n\n\n return;\n\n\n\nout_emit_bad:\n\n /*\n\n * Clear out token list and tell the parser to emit an error\n\n * indication by passing it a NULL list\n\n */\n\n json_message_free_tokens(parser);\n\nout_emit:\n\n /* send current list of tokens to parser and reset tokenizer */\n\n parser->brace_count = 0;\n\n parser->bracket_count = 0;\n\n /* parser->emit takes ownership of parser->tokens. */\n\n parser->emit(parser, parser->tokens);\n\n parser->tokens = g_queue_new();\n\n parser->token_size = 0;\n\n}\n", "idx": 9619}935{"project": "qemu", "commit_id": "041d95f42e39ed1d3a029332cab9966889f0aeb3", "target": 0, "func": "static inline void ppc4xx_tlb_invalidate_virt(CPUPPCState *env,\n\n target_ulong eaddr, uint32_t pid)\n\n{\n\n#if !defined(FLUSH_ALL_TLBS)\n\n CPUState *cs = CPU(ppc_env_get_cpu(env));\n\n ppcemb_tlb_t *tlb;\n\n hwaddr raddr;\n\n target_ulong page, end;\n\n int i;\n\n\n\n for (i = 0; i < env->nb_tlb; i++) {\n\n tlb = &env->tlb.tlbe[i];\n\n if (ppcemb_tlb_check(env, tlb, &raddr, eaddr, pid, 0, i) == 0) {\n\n end = tlb->EPN + tlb->size;\n\n for (page = tlb->EPN; page < end; page += TARGET_PAGE_SIZE) {\n\n tlb_flush_page(cs, page);\n\n }\n\n tlb->prot &= ~PAGE_VALID;\n\n break;\n\n }\n\n }\n\n#else\n\n ppc4xx_tlb_invalidate_all(env);\n\n#endif\n\n}\n", "idx": 9629}936{"project": "qemu", "commit_id": "9cd1e97a7ae2856ec00b5682db0dea17f42fc734", "target": 0, "func": "void pci_bridge_initfn(PCIDevice *dev, const char *typename)\n\n{\n\n PCIBus *parent = dev->bus;\n\n PCIBridge *br = PCI_BRIDGE(dev);\n\n PCIBus *sec_bus = &br->sec_bus;\n\n\n\n pci_word_test_and_set_mask(dev->config + PCI_STATUS,\n\n PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK);\n\n\n\n /*\n\n * TODO: We implement VGA Enable in the Bridge Control Register\n\n * therefore per the PCI to PCI bridge spec we must also implement\n\n * VGA Palette Snooping. When done, set this bit writable:\n\n *\n\n * pci_word_test_and_set_mask(dev->wmask + PCI_COMMAND,\n\n * PCI_COMMAND_VGA_PALETTE);\n\n */\n\n\n\n pci_config_set_class(dev->config, PCI_CLASS_BRIDGE_PCI);\n\n dev->config[PCI_HEADER_TYPE] =\n\n (dev->config[PCI_HEADER_TYPE] & PCI_HEADER_TYPE_MULTI_FUNCTION) |\n\n PCI_HEADER_TYPE_BRIDGE;\n\n pci_set_word(dev->config + PCI_SEC_STATUS,\n\n PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK);\n\n\n\n /*\n\n * If we don't specify the name, the bus will be addressed as <id>.0, where\n\n * id is the device id.\n\n * Since PCI Bridge devices have a single bus each, we don't need the index:\n\n * let users address the bus using the device name.\n\n */\n\n if (!br->bus_name && dev->qdev.id && *dev->qdev.id) {\n\n\t br->bus_name = dev->qdev.id;\n\n }\n\n\n\n qbus_create_inplace(sec_bus, sizeof(br->sec_bus), typename, DEVICE(dev),\n\n br->bus_name);\n\n sec_bus->parent_dev = dev;\n\n sec_bus->map_irq = br->map_irq ? br->map_irq : pci_swizzle_map_irq_fn;\n\n sec_bus->address_space_mem = &br->address_space_mem;\n\n memory_region_init(&br->address_space_mem, OBJECT(br), \"pci_bridge_pci\", UINT64_MAX);\n\n sec_bus->address_space_io = &br->address_space_io;\n\n memory_region_init(&br->address_space_io, OBJECT(br), \"pci_bridge_io\", 65536);\n\n br->windows = pci_bridge_region_init(br);\n\n QLIST_INIT(&sec_bus->child);\n\n QLIST_INSERT_HEAD(&parent->child, sec_bus, sibling);\n\n}\n", "idx": 9630}937{"project": "qemu", "commit_id": "bc210eb163b162ff2e94e5c8f4307715731257f8", "target": 0, "func": "void qemu_pixman_linebuf_fill(pixman_image_t *linebuf, pixman_image_t *fb,\n\n int width, int y)\n\n{\n\n pixman_image_composite(PIXMAN_OP_SRC, fb, NULL, linebuf,\n\n 0, y, 0, 0, 0, 0, width, 1);\n\n}\n", "idx": 9639}938{"project": "qemu", "commit_id": "30b8b68eb574fd68060eebcc4da790fdfe18d668", "target": 0, "func": "static inline abi_long target_to_host_cmsg(struct msghdr *msgh,\n\n struct target_msghdr *target_msgh)\n\n{\n\n struct cmsghdr *cmsg = CMSG_FIRSTHDR(msgh);\n\n abi_long msg_controllen;\n\n abi_ulong target_cmsg_addr;\n\n struct target_cmsghdr *target_cmsg;\n\n socklen_t space = 0;\n\n \n\n msg_controllen = tswapal(target_msgh->msg_controllen);\n\n if (msg_controllen < sizeof (struct target_cmsghdr)) \n\n goto the_end;\n\n target_cmsg_addr = tswapal(target_msgh->msg_control);\n\n target_cmsg = lock_user(VERIFY_READ, target_cmsg_addr, msg_controllen, 1);\n\n if (!target_cmsg)\n\n return -TARGET_EFAULT;\n\n\n\n while (cmsg && target_cmsg) {\n\n void *data = CMSG_DATA(cmsg);\n\n void *target_data = TARGET_CMSG_DATA(target_cmsg);\n\n\n\n int len = tswapal(target_cmsg->cmsg_len)\n\n - TARGET_CMSG_ALIGN(sizeof (struct target_cmsghdr));\n\n\n\n space += CMSG_SPACE(len);\n\n if (space > msgh->msg_controllen) {\n\n space -= CMSG_SPACE(len);\n\n gemu_log(\"Host cmsg overflow\\n\");\n\n break;\n\n }\n\n\n\n if (tswap32(target_cmsg->cmsg_level) == TARGET_SOL_SOCKET) {\n\n cmsg->cmsg_level = SOL_SOCKET;\n\n } else {\n\n cmsg->cmsg_level = tswap32(target_cmsg->cmsg_level);\n\n }\n\n cmsg->cmsg_type = tswap32(target_cmsg->cmsg_type);\n\n cmsg->cmsg_len = CMSG_LEN(len);\n\n\n\n if (cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) {\n\n gemu_log(\"Unsupported ancillary data: %d/%d\\n\", cmsg->cmsg_level, cmsg->cmsg_type);\n\n memcpy(data, target_data, len);\n\n } else {\n\n int *fd = (int *)data;\n\n int *target_fd = (int *)target_data;\n\n int i, numfds = len / sizeof(int);\n\n\n\n for (i = 0; i < numfds; i++)\n\n fd[i] = tswap32(target_fd[i]);\n\n }\n\n\n\n cmsg = CMSG_NXTHDR(msgh, cmsg);\n\n target_cmsg = TARGET_CMSG_NXTHDR(target_msgh, target_cmsg);\n\n }\n\n unlock_user(target_cmsg, target_cmsg_addr, 0);\n\n the_end:\n\n msgh->msg_controllen = space;\n\n return 0;\n\n}\n", "idx": 9643}939{"project": "qemu", "commit_id": "9d6f1b73f83a02fb28438fa9a487f5c7d245e4af", "target": 0, "func": "static bool ga_open_pidfile(const char *pidfile)\n\n{\n\n int pidfd;\n\n char pidstr[32];\n\n\n\n pidfd = open(pidfile, O_CREAT|O_WRONLY, S_IRUSR|S_IWUSR);\n\n if (pidfd == -1 || lockf(pidfd, F_TLOCK, 0)) {\n\n g_critical(\"Cannot lock pid file, %s\", strerror(errno));\n\n if (pidfd != -1) {\n\n close(pidfd);\n\n }\n\n return false;\n\n }\n\n\n\n if (ftruncate(pidfd, 0) || lseek(pidfd, 0, SEEK_SET)) {\n\n g_critical(\"Failed to truncate pid file\");\n\n goto fail;\n\n }\n\n sprintf(pidstr, \"%d\", getpid());\n\n if (write(pidfd, pidstr, strlen(pidstr)) != strlen(pidstr)) {\n\n g_critical(\"Failed to write pid file\");\n\n goto fail;\n\n }\n\n\n\n return true;\n\n\n\nfail:\n\n unlink(pidfile);\n\n return false;\n\n}\n", "idx": 9647}940{"project": "qemu", "commit_id": "3d3efba020da1de57a715e2087cf761ed0ad0904", "target": 1, "func": "static void handle_pending_signal(CPUArchState *cpu_env, int sig)\n\n{\n\n CPUState *cpu = ENV_GET_CPU(cpu_env);\n\n abi_ulong handler;\n\n sigset_t set, old_set;\n\n target_sigset_t target_old_set;\n\n struct target_sigaction *sa;\n\n struct sigqueue *q;\n\n TaskState *ts = cpu->opaque;\n\n struct emulated_sigtable *k = &ts->sigtab[sig - 1];\n\n\n\n trace_user_handle_signal(cpu_env, sig);\n\n /* dequeue signal */\n\n q = k->first;\n\n k->first = q->next;\n\n if (!k->first)\n\n k->pending = 0;\n\n\n\n sig = gdb_handlesig(cpu, sig);\n\n if (!sig) {\n\n sa = NULL;\n\n handler = TARGET_SIG_IGN;\n\n } else {\n\n sa = &sigact_table[sig - 1];\n\n handler = sa->_sa_handler;\n\n }\n\n\n\n if (ts->sigsegv_blocked && sig == TARGET_SIGSEGV) {\n\n /* Guest has blocked SIGSEGV but we got one anyway. Assume this\n\n * is a forced SIGSEGV (ie one the kernel handles via force_sig_info\n\n * because it got a real MMU fault), and treat as if default handler.\n\n */\n\n handler = TARGET_SIG_DFL;\n\n }\n\n\n\n if (handler == TARGET_SIG_DFL) {\n\n /* default handler : ignore some signal. The other are job control or fatal */\n\n if (sig == TARGET_SIGTSTP || sig == TARGET_SIGTTIN || sig == TARGET_SIGTTOU) {\n\n kill(getpid(),SIGSTOP);\n\n } else if (sig != TARGET_SIGCHLD &&\n\n sig != TARGET_SIGURG &&\n\n sig != TARGET_SIGWINCH &&\n\n sig != TARGET_SIGCONT) {\n\n force_sig(sig);\n\n }\n\n } else if (handler == TARGET_SIG_IGN) {\n\n /* ignore sig */\n\n } else if (handler == TARGET_SIG_ERR) {\n\n force_sig(sig);\n\n } else {\n\n /* compute the blocked signals during the handler execution */\n\n target_to_host_sigset(&set, &sa->sa_mask);\n\n /* SA_NODEFER indicates that the current signal should not be\n\n blocked during the handler */\n\n if (!(sa->sa_flags & TARGET_SA_NODEFER))\n\n sigaddset(&set, target_to_host_signal(sig));\n\n\n\n /* block signals in the handler using Linux */\n\n do_sigprocmask(SIG_BLOCK, &set, &old_set);\n\n /* save the previous blocked signal state to restore it at the\n\n end of the signal execution (see do_sigreturn) */\n\n host_to_target_sigset_internal(&target_old_set, &old_set);\n\n\n\n /* if the CPU is in VM86 mode, we restore the 32 bit values */\n\n#if defined(TARGET_I386) && !defined(TARGET_X86_64)\n\n {\n\n CPUX86State *env = cpu_env;\n\n if (env->eflags & VM_MASK)\n\n save_v86_state(env);\n\n }\n\n#endif\n\n /* prepare the stack frame of the virtual CPU */\n\n#if defined(TARGET_ABI_MIPSN32) || defined(TARGET_ABI_MIPSN64) \\\n\n || defined(TARGET_OPENRISC) || defined(TARGET_TILEGX)\n\n /* These targets do not have traditional signals. */\n\n setup_rt_frame(sig, sa, &q->info, &target_old_set, cpu_env);\n\n#else\n\n if (sa->sa_flags & TARGET_SA_SIGINFO)\n\n setup_rt_frame(sig, sa, &q->info, &target_old_set, cpu_env);\n\n else\n\n setup_frame(sig, sa, &target_old_set, cpu_env);\n\n#endif\n\n if (sa->sa_flags & TARGET_SA_RESETHAND) {\n\n sa->_sa_handler = TARGET_SIG_DFL;\n\n }\n\n }\n\n if (q != &k->info)\n\n free_sigqueue(cpu_env, q);\n\n}\n", "idx": 9650}941{"project": "qemu", "commit_id": "d659d94013390238961fac741572306c95496bf5", "target": 1, "func": "static void pcie_pci_bridge_write_config(PCIDevice *d,\n\n uint32_t address, uint32_t val, int len)\n\n{\n\n pci_bridge_write_config(d, address, val, len);\n\n msi_write_config(d, address, val, len);\n\n shpc_cap_write_config(d, address, val, len);\n\n}\n", "idx": 9651}942{"project": "qemu", "commit_id": "62be4e3a5041e84304aa23637da623a205c53ecc", "target": 0, "func": "static ram_addr_t find_ram_offset(ram_addr_t size)\n\n{\n\n RAMBlock *block, *next_block;\n\n ram_addr_t offset = RAM_ADDR_MAX, mingap = RAM_ADDR_MAX;\n\n\n\n assert(size != 0); /* it would hand out same offset multiple times */\n\n\n\n if (QTAILQ_EMPTY(&ram_list.blocks))\n\n return 0;\n\n\n\n QTAILQ_FOREACH(block, &ram_list.blocks, next) {\n\n ram_addr_t end, next = RAM_ADDR_MAX;\n\n\n\n end = block->offset + block->length;\n\n\n\n QTAILQ_FOREACH(next_block, &ram_list.blocks, next) {\n\n if (next_block->offset >= end) {\n\n next = MIN(next, next_block->offset);\n\n }\n\n }\n\n if (next - end >= size && next - end < mingap) {\n\n offset = end;\n\n mingap = next - end;\n\n }\n\n }\n\n\n\n if (offset == RAM_ADDR_MAX) {\n\n fprintf(stderr, \"Failed to find gap of requested size: %\" PRIu64 \"\\n\",\n\n (uint64_t)size);\n\n abort();\n\n }\n\n\n\n return offset;\n\n}\n", "idx": 9670}943{"project": "qemu", "commit_id": "d0d7708ba29cbcc343364a46bff981e0ff88366f", "target": 0, "func": "CharDriverState *qemu_chr_alloc(void)\n\n{\n\n CharDriverState *chr = g_malloc0(sizeof(CharDriverState));\n\n qemu_mutex_init(&chr->chr_write_lock);\n\n return chr;\n\n}\n", "idx": 9683}944{"project": "qemu", "commit_id": "fdaef06917100d97782df550c1807a1da054e27e", "target": 0, "func": "static int scsi_disk_emulate_command(SCSIDiskReq *r, uint8_t *outbuf)\n\n{\n\n SCSIRequest *req = &r->req;\n\n SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev);\n\n uint64_t nb_sectors;\n\n int buflen = 0;\n\n int ret;\n\n\n\n switch (req->cmd.buf[0]) {\n\n case TEST_UNIT_READY:\n\n if (!bdrv_is_inserted(s->bs))\n\n goto not_ready;\n\n break;\n\n case REQUEST_SENSE:\n\n if (req->cmd.xfer < 4)\n\n goto illegal_request;\n\n buflen = scsi_device_get_sense(&s->qdev, outbuf, req->cmd.xfer,\n\n (req->cmd.buf[1] & 1) == 0);\n\n break;\n\n case INQUIRY:\n\n buflen = scsi_disk_emulate_inquiry(req, outbuf);\n\n if (buflen < 0)\n\n goto illegal_request;\n\n break;\n\n case MODE_SENSE:\n\n case MODE_SENSE_10:\n\n buflen = scsi_disk_emulate_mode_sense(req, outbuf);\n\n if (buflen < 0)\n\n goto illegal_request;\n\n break;\n\n case READ_TOC:\n\n buflen = scsi_disk_emulate_read_toc(req, outbuf);\n\n if (buflen < 0)\n\n goto illegal_request;\n\n break;\n\n case RESERVE:\n\n if (req->cmd.buf[1] & 1)\n\n goto illegal_request;\n\n break;\n\n case RESERVE_10:\n\n if (req->cmd.buf[1] & 3)\n\n goto illegal_request;\n\n break;\n\n case RELEASE:\n\n if (req->cmd.buf[1] & 1)\n\n goto illegal_request;\n\n break;\n\n case RELEASE_10:\n\n if (req->cmd.buf[1] & 3)\n\n goto illegal_request;\n\n break;\n\n case START_STOP:\n\n if (s->qdev.type == TYPE_ROM && (req->cmd.buf[4] & 2)) {\n\n /* load/eject medium */\n\n bdrv_eject(s->bs, !(req->cmd.buf[4] & 1));\n\n }\n\n break;\n\n case ALLOW_MEDIUM_REMOVAL:\n\n bdrv_set_locked(s->bs, req->cmd.buf[4] & 1);\n\n break;\n\n case READ_CAPACITY_10:\n\n /* The normal LEN field for this command is zero. */\n\n memset(outbuf, 0, 8);\n\n bdrv_get_geometry(s->bs, &nb_sectors);\n\n if (!nb_sectors)\n\n goto not_ready;\n\n nb_sectors /= s->cluster_size;\n\n /* Returned value is the address of the last sector. */\n\n nb_sectors--;\n\n /* Remember the new size for read/write sanity checking. */\n\n s->max_lba = nb_sectors;\n\n /* Clip to 2TB, instead of returning capacity modulo 2TB. */\n\n if (nb_sectors > UINT32_MAX)\n\n nb_sectors = UINT32_MAX;\n\n outbuf[0] = (nb_sectors >> 24) & 0xff;\n\n outbuf[1] = (nb_sectors >> 16) & 0xff;\n\n outbuf[2] = (nb_sectors >> 8) & 0xff;\n\n outbuf[3] = nb_sectors & 0xff;\n\n outbuf[4] = 0;\n\n outbuf[5] = 0;\n\n outbuf[6] = s->cluster_size * 2;\n\n outbuf[7] = 0;\n\n buflen = 8;\n\n break;\n\n case SYNCHRONIZE_CACHE:\n\n ret = bdrv_flush(s->bs);\n\n if (ret < 0) {\n\n if (scsi_handle_rw_error(r, -ret, SCSI_REQ_STATUS_RETRY_FLUSH)) {\n\n return -1;\n\n }\n\n }\n\n break;\n\n case GET_CONFIGURATION:\n\n memset(outbuf, 0, 8);\n\n /* ??? This should probably return much more information. For now\n\n just return the basic header indicating the CD-ROM profile. */\n\n outbuf[7] = 8; // CD-ROM\n\n buflen = 8;\n\n break;\n\n case SERVICE_ACTION_IN:\n\n /* Service Action In subcommands. */\n\n if ((req->cmd.buf[1] & 31) == 0x10) {\n\n DPRINTF(\"SAI READ CAPACITY(16)\\n\");\n\n memset(outbuf, 0, req->cmd.xfer);\n\n bdrv_get_geometry(s->bs, &nb_sectors);\n\n if (!nb_sectors)\n\n goto not_ready;\n\n nb_sectors /= s->cluster_size;\n\n /* Returned value is the address of the last sector. */\n\n nb_sectors--;\n\n /* Remember the new size for read/write sanity checking. */\n\n s->max_lba = nb_sectors;\n\n outbuf[0] = (nb_sectors >> 56) & 0xff;\n\n outbuf[1] = (nb_sectors >> 48) & 0xff;\n\n outbuf[2] = (nb_sectors >> 40) & 0xff;\n\n outbuf[3] = (nb_sectors >> 32) & 0xff;\n\n outbuf[4] = (nb_sectors >> 24) & 0xff;\n\n outbuf[5] = (nb_sectors >> 16) & 0xff;\n\n outbuf[6] = (nb_sectors >> 8) & 0xff;\n\n outbuf[7] = nb_sectors & 0xff;\n\n outbuf[8] = 0;\n\n outbuf[9] = 0;\n\n outbuf[10] = s->cluster_size * 2;\n\n outbuf[11] = 0;\n\n outbuf[12] = 0;\n\n outbuf[13] = get_physical_block_exp(&s->qdev.conf);\n\n\n\n /* set TPE bit if the format supports discard */\n\n if (s->qdev.conf.discard_granularity) {\n\n outbuf[14] = 0x80;\n\n }\n\n\n\n /* Protection, exponent and lowest lba field left blank. */\n\n buflen = req->cmd.xfer;\n\n break;\n\n }\n\n DPRINTF(\"Unsupported Service Action In\\n\");\n\n goto illegal_request;\n\n case REPORT_LUNS:\n\n if (req->cmd.xfer < 16)\n\n goto illegal_request;\n\n memset(outbuf, 0, 16);\n\n outbuf[3] = 8;\n\n buflen = 16;\n\n break;\n\n case VERIFY_10:\n\n break;\n\n default:\n\n scsi_check_condition(r, SENSE_CODE(INVALID_OPCODE));\n\n return -1;\n\n }\n\n return buflen;\n\n\n\nnot_ready:\n\n if (!bdrv_is_inserted(s->bs)) {\n\n scsi_check_condition(r, SENSE_CODE(NO_MEDIUM));\n\n } else {\n\n scsi_check_condition(r, SENSE_CODE(LUN_NOT_READY));\n\n }\n\n return -1;\n\n\n\nillegal_request:\n\n scsi_check_condition(r, SENSE_CODE(INVALID_FIELD));\n\n return -1;\n\n}\n", "idx": 9706}945{"project": "qemu", "commit_id": "376692b9dc6f02303ee07a4146d08d8727d79c0c", "target": 0, "func": "static void flush_queued_work(CPUState *cpu)\n\n{\n\n struct qemu_work_item *wi;\n\n\n\n if (cpu->queued_work_first == NULL) {\n\n return;\n\n }\n\n\n\n while ((wi = cpu->queued_work_first)) {\n\n cpu->queued_work_first = wi->next;\n\n wi->func(wi->data);\n\n wi->done = true;\n\n if (wi->free) {\n\n g_free(wi);\n\n }\n\n }\n\n cpu->queued_work_last = NULL;\n\n qemu_cond_broadcast(&qemu_work_cond);\n\n}\n", "idx": 9707}946{"project": "qemu", "commit_id": "e568f9df086965813a318ff0558782ba90e59c33", "target": 0, "func": "static int validate_guest_space(unsigned long guest_base,\n\n unsigned long guest_size)\n\n{\n\n unsigned long real_start, test_page_addr;\n\n\n\n /* We need to check that we can force a fault on access to the\n\n * commpage at 0xffff0fxx\n\n */\n\n test_page_addr = guest_base + (0xffff0f00 & qemu_host_page_mask);\n\n\n\n /* If the commpage lies within the already allocated guest space,\n\n * then there is no way we can allocate it.\n\n */\n\n if (test_page_addr >= guest_base\n\n && test_page_addr <= (guest_base + guest_size)) {\n\n return -1;\n\n }\n\n\n\n /* Note it needs to be writeable to let us initialise it */\n\n real_start = (unsigned long)\n\n mmap((void *)test_page_addr, qemu_host_page_size,\n\n PROT_READ | PROT_WRITE,\n\n MAP_ANONYMOUS | MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);\n\n\n\n /* If we can't map it then try another address */\n\n if (real_start == -1ul) {\n\n return 0;\n\n }\n\n\n\n if (real_start != test_page_addr) {\n\n /* OS didn't put the page where we asked - unmap and reject */\n\n munmap((void *)real_start, qemu_host_page_size);\n\n return 0;\n\n }\n\n\n\n /* Leave the page mapped\n\n * Populate it (mmap should have left it all 0'd)\n\n */\n\n\n\n /* Kernel helper versions */\n\n __put_user(5, (uint32_t *)g2h(0xffff0ffcul));\n\n\n\n /* Now it's populated make it RO */\n\n if (mprotect((void *)test_page_addr, qemu_host_page_size, PROT_READ)) {\n\n perror(\"Protecting guest commpage\");\n\n exit(-1);\n\n }\n\n\n\n return 1; /* All good */\n\n}\n", "idx": 9709}947{"project": "qemu", "commit_id": "f5f601afcec6c1081128fe5a0f831788ca9f56ed", "target": 1, "func": "long do_sigreturn(CPUCRISState *env)\n\n{\n\n\tstruct target_signal_frame *frame;\n\n\tabi_ulong frame_addr;\n\n\ttarget_sigset_t target_set;\n\n\tsigset_t set;\n\n\tint i;\n\n\n\n\tframe_addr = env->regs[R_SP];\n\n\t/* Make sure the guest isn't playing games. */\n\n\tif (!lock_user_struct(VERIFY_WRITE, frame, frame_addr, 1))\n\n\t\tgoto badframe;\n\n\n\n\t/* Restore blocked signals */\n\n\tif (__get_user(target_set.sig[0], &frame->sc.oldmask))\n\n\t\tgoto badframe;\n\n\tfor(i = 1; i < TARGET_NSIG_WORDS; i++) {\n\n\t\tif (__get_user(target_set.sig[i], &frame->extramask[i - 1]))\n\n\t\t\tgoto badframe;\n\n\t}\n\n\ttarget_to_host_sigset_internal(&set, &target_set);\n\n do_sigprocmask(SIG_SETMASK, &set, NULL);\n\n\n\n\trestore_sigcontext(&frame->sc, env);\n\n\tunlock_user_struct(frame, frame_addr, 0);\n\n\treturn env->regs[10];\n\n badframe:\n\n\tunlock_user_struct(frame, frame_addr, 0);\n\n\tforce_sig(TARGET_SIGSEGV);\n\n}\n", "idx": 9721}948{"project": "qemu", "commit_id": "4f4321c11ff6e98583846bfd6f0e81954924b003", "target": 1, "func": "static void usbredir_interrupt_packet(void *priv, uint32_t id,\n\n struct usb_redir_interrupt_packet_header *interrupt_packet,\n\n uint8_t *data, int data_len)\n\n{\n\n USBRedirDevice *dev = priv;\n\n uint8_t ep = interrupt_packet->endpoint;\n\n\n\n DPRINTF(\"interrupt-in status %d ep %02X len %d id %u\\n\",\n\n interrupt_packet->status, ep, data_len, id);\n\n\n\n if (dev->endpoint[EP2I(ep)].type != USB_ENDPOINT_XFER_INT) {\n\n ERROR(\"received int packet for non interrupt endpoint %02X\\n\", ep);\n\n free(data);\n\n return;\n\n }\n\n\n\n if (ep & USB_DIR_IN) {\n\n if (dev->endpoint[EP2I(ep)].interrupt_started == 0) {\n\n DPRINTF(\"received int packet while not started ep %02X\\n\", ep);\n\n free(data);\n\n return;\n\n }\n\n\n\n /* bufp_alloc also adds the packet to the ep queue */\n\n bufp_alloc(dev, data, data_len, interrupt_packet->status, ep);\n\n } else {\n\n int len = interrupt_packet->length;\n\n\n\n AsyncURB *aurb = async_find(dev, id);\n\n if (!aurb) {\n\n return;\n\n }\n\n\n\n if (aurb->interrupt_packet.endpoint != interrupt_packet->endpoint) {\n\n ERROR(\"return int packet mismatch, please report this!\\n\");\n\n len = USB_RET_NAK;\n\n }\n\n\n\n if (aurb->packet) {\n\n aurb->packet->len = usbredir_handle_status(dev,\n\n interrupt_packet->status, len);\n\n usb_packet_complete(&dev->dev, aurb->packet);\n\n }\n\n async_free(dev, aurb);\n\n }\n\n}\n", "idx": 9722}949{"project": "FFmpeg", "commit_id": "461cd5bfb5c38e48a81b4a9a5912dfd65da1ba3d", "target": 0, "func": "void mpeg1_encode_mb(MpegEncContext *s,\n\n DCTELEM block[6][64],\n\n int motion_x, int motion_y)\n\n{\n\n int i, cbp;\n\n const int mb_x = s->mb_x;\n\n const int mb_y = s->mb_y;\n\n const int first_mb= mb_x == s->resync_mb_x && mb_y == s->resync_mb_y;\n\n\n\n /* compute cbp */\n\n cbp = 0;\n\n for(i=0;i<6;i++) {\n\n if (s->block_last_index[i] >= 0)\n\n cbp |= 1 << (5 - i);\n\n }\n\n \n\n if (cbp == 0 && !first_mb && (mb_x != s->mb_width - 1 || (mb_y != s->mb_height - 1 && s->codec_id == CODEC_ID_MPEG1VIDEO)) && \n\n ((s->pict_type == P_TYPE && s->mv_type == MV_TYPE_16X16 && (motion_x | motion_y) == 0) ||\n\n (s->pict_type == B_TYPE && s->mv_dir == s->last_mv_dir && (((s->mv_dir & MV_DIR_FORWARD) ? ((s->mv[0][0][0] - s->last_mv[0][0][0])|(s->mv[0][0][1] - s->last_mv[0][0][1])) : 0) |\n\n ((s->mv_dir & MV_DIR_BACKWARD) ? ((s->mv[1][0][0] - s->last_mv[1][0][0])|(s->mv[1][0][1] - s->last_mv[1][0][1])) : 0)) == 0))) {\n\n s->mb_skip_run++;\n\n s->qscale -= s->dquant;\n\n s->skip_count++;\n\n s->misc_bits++;\n\n s->last_bits++;\n\n if(s->pict_type == P_TYPE){\n\n s->last_mv[0][1][0]= s->last_mv[0][0][0]= \n\n s->last_mv[0][1][1]= s->last_mv[0][0][1]= 0;\n\n }\n\n } else {\n\n if(first_mb){\n\n assert(s->mb_skip_run == 0);\n\n encode_mb_skip_run(s, s->mb_x);\n\n }else{\n\n encode_mb_skip_run(s, s->mb_skip_run);\n\n }\n\n \n\n if (s->pict_type == I_TYPE) {\n\n if(s->dquant && cbp){\n\n put_mb_modes(s, 2, 1, 0, 0); /* macroblock_type : macroblock_quant = 1 */\n\n put_bits(&s->pb, 5, s->qscale);\n\n }else{\n\n put_mb_modes(s, 1, 1, 0, 0); /* macroblock_type : macroblock_quant = 0 */\n\n s->qscale -= s->dquant;\n\n }\n\n s->misc_bits+= get_bits_diff(s);\n\n s->i_count++;\n\n } else if (s->mb_intra) {\n\n if(s->dquant && cbp){\n\n put_mb_modes(s, 6, 0x01, 0, 0);\n\n put_bits(&s->pb, 5, s->qscale);\n\n }else{\n\n put_mb_modes(s, 5, 0x03, 0, 0);\n\n s->qscale -= s->dquant;\n\n }\n\n s->misc_bits+= get_bits_diff(s);\n\n s->i_count++;\n\n memset(s->last_mv, 0, sizeof(s->last_mv));\n\n } else if (s->pict_type == P_TYPE) { \n\n if(s->mv_type == MV_TYPE_16X16){\n\n if (cbp != 0) {\n\n if ((motion_x|motion_y) == 0) {\n\n if(s->dquant){\n\n put_mb_modes(s, 5, 1, 0, 0); /* macroblock_pattern & quant */\n\n put_bits(&s->pb, 5, s->qscale);\n\n }else{\n\n put_mb_modes(s, 2, 1, 0, 0); /* macroblock_pattern only */\n\n }\n\n s->misc_bits+= get_bits_diff(s);\n\n } else {\n\n if(s->dquant){\n\n put_mb_modes(s, 5, 2, 1, 0); /* motion + cbp */\n\n put_bits(&s->pb, 5, s->qscale);\n\n }else{\n\n put_mb_modes(s, 1, 1, 1, 0); /* motion + cbp */\n\n }\n\n s->misc_bits+= get_bits_diff(s);\n\n mpeg1_encode_motion(s, motion_x - s->last_mv[0][0][0], s->f_code); // RAL: f_code parameter added\n\n mpeg1_encode_motion(s, motion_y - s->last_mv[0][0][1], s->f_code); // RAL: f_code parameter added\n\n s->mv_bits+= get_bits_diff(s);\n\n }\n\n } else {\n\n put_bits(&s->pb, 3, 1); /* motion only */\n\n if (!s->frame_pred_frame_dct)\n\n put_bits(&s->pb, 2, 2); /* motion_type: frame */\n\n s->misc_bits+= get_bits_diff(s);\n\n mpeg1_encode_motion(s, motion_x - s->last_mv[0][0][0], s->f_code); // RAL: f_code parameter added\n\n mpeg1_encode_motion(s, motion_y - s->last_mv[0][0][1], s->f_code); // RAL: f_code parameter added\n\n s->qscale -= s->dquant;\n\n s->mv_bits+= get_bits_diff(s);\n\n }\n\n s->last_mv[0][1][0]= s->last_mv[0][0][0]= motion_x;\n\n s->last_mv[0][1][1]= s->last_mv[0][0][1]= motion_y;\n\n }else{\n\n assert(!s->frame_pred_frame_dct && s->mv_type == MV_TYPE_FIELD);\n\n\n\n if (cbp) {\n\n if(s->dquant){\n\n put_mb_modes(s, 5, 2, 1, 1); /* motion + cbp */\n\n put_bits(&s->pb, 5, s->qscale);\n\n }else{\n\n put_mb_modes(s, 1, 1, 1, 1); /* motion + cbp */\n\n }\n\n } else {\n\n put_bits(&s->pb, 3, 1); /* motion only */\n\n put_bits(&s->pb, 2, 1); /* motion_type: field */\n\n s->qscale -= s->dquant;\n\n }\n\n s->misc_bits+= get_bits_diff(s);\n\n for(i=0; i<2; i++){\n\n put_bits(&s->pb, 1, s->field_select[0][i]);\n\n mpeg1_encode_motion(s, s->mv[0][i][0] - s->last_mv[0][i][0] , s->f_code);\n\n mpeg1_encode_motion(s, s->mv[0][i][1] - (s->last_mv[0][i][1]>>1), s->f_code);\n\n s->last_mv[0][i][0]= s->mv[0][i][0];\n\n s->last_mv[0][i][1]= 2*s->mv[0][i][1];\n\n }\n\n s->mv_bits+= get_bits_diff(s);\n\n }\n\n if(cbp)\n\n put_bits(&s->pb, mbPatTable[cbp - 1][1], mbPatTable[cbp - 1][0]);\n\n s->f_count++;\n\n } else{ \n\n static const int mb_type_len[4]={0,3,4,2}; //bak,for,bi\n\n\n\n if(s->mv_type == MV_TYPE_16X16){\n\n if (cbp){ // With coded bloc pattern\n\n if (s->dquant) {\n\n if(s->mv_dir == MV_DIR_FORWARD)\n\n put_mb_modes(s, 6, 3, 1, 0);\n\n else\n\n put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 0);\n\n put_bits(&s->pb, 5, s->qscale);\n\n } else {\n\n put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 0);\n\n }\n\n }else{ // No coded bloc pattern\n\n put_bits(&s->pb, mb_type_len[s->mv_dir], 2);\n\n if (!s->frame_pred_frame_dct)\n\n put_bits(&s->pb, 2, 2); /* motion_type: frame */\n\n s->qscale -= s->dquant;\n\n }\n\n s->misc_bits += get_bits_diff(s);\n\n if (s->mv_dir&MV_DIR_FORWARD){\n\n mpeg1_encode_motion(s, s->mv[0][0][0] - s->last_mv[0][0][0], s->f_code); \n\n mpeg1_encode_motion(s, s->mv[0][0][1] - s->last_mv[0][0][1], s->f_code); \n\n s->last_mv[0][0][0]=s->last_mv[0][1][0]= s->mv[0][0][0];\n\n s->last_mv[0][0][1]=s->last_mv[0][1][1]= s->mv[0][0][1];\n\n s->f_count++;\n\n }\n\n if (s->mv_dir&MV_DIR_BACKWARD){\n\n mpeg1_encode_motion(s, s->mv[1][0][0] - s->last_mv[1][0][0], s->b_code); \n\n mpeg1_encode_motion(s, s->mv[1][0][1] - s->last_mv[1][0][1], s->b_code); \n\n s->last_mv[1][0][0]=s->last_mv[1][1][0]= s->mv[1][0][0];\n\n s->last_mv[1][0][1]=s->last_mv[1][1][1]= s->mv[1][0][1];\n\n s->b_count++;\n\n }\n\n }else{\n\n assert(s->mv_type == MV_TYPE_FIELD);\n\n assert(!s->frame_pred_frame_dct);\n\n if (cbp){ // With coded bloc pattern\n\n if (s->dquant) {\n\n if(s->mv_dir == MV_DIR_FORWARD)\n\n put_mb_modes(s, 6, 3, 1, 1);\n\n else\n\n put_mb_modes(s, mb_type_len[s->mv_dir]+3, 2, 1, 1);\n\n put_bits(&s->pb, 5, s->qscale);\n\n } else {\n\n put_mb_modes(s, mb_type_len[s->mv_dir], 3, 1, 1);\n\n }\n\n }else{ // No coded bloc pattern\n\n put_bits(&s->pb, mb_type_len[s->mv_dir], 2);\n\n put_bits(&s->pb, 2, 1); /* motion_type: field */\n\n s->qscale -= s->dquant;\n\n }\n\n s->misc_bits += get_bits_diff(s);\n\n if (s->mv_dir&MV_DIR_FORWARD){\n\n for(i=0; i<2; i++){\n\n put_bits(&s->pb, 1, s->field_select[0][i]);\n\n mpeg1_encode_motion(s, s->mv[0][i][0] - s->last_mv[0][i][0] , s->f_code);\n\n mpeg1_encode_motion(s, s->mv[0][i][1] - (s->last_mv[0][i][1]>>1), s->f_code);\n\n s->last_mv[0][i][0]= s->mv[0][i][0];\n\n s->last_mv[0][i][1]= 2*s->mv[0][i][1];\n\n }\n\n s->f_count++;\n\n }\n\n if (s->mv_dir&MV_DIR_BACKWARD){\n\n for(i=0; i<2; i++){\n\n put_bits(&s->pb, 1, s->field_select[1][i]);\n\n mpeg1_encode_motion(s, s->mv[1][i][0] - s->last_mv[1][i][0] , s->b_code);\n\n mpeg1_encode_motion(s, s->mv[1][i][1] - (s->last_mv[1][i][1]>>1), s->b_code);\n\n s->last_mv[1][i][0]= s->mv[1][i][0];\n\n s->last_mv[1][i][1]= 2*s->mv[1][i][1];\n\n }\n\n s->b_count++;\n\n }\n\n }\n\n s->mv_bits += get_bits_diff(s);\n\n if(cbp)\n\n put_bits(&s->pb, mbPatTable[cbp - 1][1], mbPatTable[cbp - 1][0]);\n\n }\n\n for(i=0;i<6;i++) {\n\n if (cbp & (1 << (5 - i))) {\n\n mpeg1_encode_block(s, block[i], i);\n\n }\n\n }\n\n s->mb_skip_run = 0;\n\n if(s->mb_intra)\n\n s->i_tex_bits+= get_bits_diff(s);\n\n else\n\n s->p_tex_bits+= get_bits_diff(s);\n\n }\n\n}\n", "idx": 9727}950{"project": "qemu", "commit_id": "fb846a094fdee7bb6a88b48aeed0d97a8080a20d", "target": 0, "func": "static void virtio_ccw_device_realize(VirtioCcwDevice *dev, Error **errp)\n\n{\n\n unsigned int cssid = 0;\n\n unsigned int ssid = 0;\n\n unsigned int schid;\n\n unsigned int devno;\n\n bool have_devno = false;\n\n bool found = false;\n\n SubchDev *sch;\n\n int num;\n\n DeviceState *parent = DEVICE(dev);\n\n Error *err = NULL;\n\n VirtIOCCWDeviceClass *k = VIRTIO_CCW_DEVICE_GET_CLASS(dev);\n\n VirtIODevice *vdev;\n\n\n\n sch = g_malloc0(sizeof(SubchDev));\n\n\n\n sch->driver_data = dev;\n\n dev->sch = sch;\n\n\n\n dev->indicators = NULL;\n\n\n\n /* Initialize subchannel structure. */\n\n sch->channel_prog = 0x0;\n\n sch->last_cmd_valid = false;\n\n sch->thinint_active = false;\n\n /*\n\n * Use a device number if provided. Otherwise, fall back to subchannel\n\n * number.\n\n */\n\n if (dev->bus_id) {\n\n num = sscanf(dev->bus_id, \"%x.%x.%04x\", &cssid, &ssid, &devno);\n\n if (num == 3) {\n\n if ((cssid > MAX_CSSID) || (ssid > MAX_SSID)) {\n\n error_setg(errp, \"Invalid cssid or ssid: cssid %x, ssid %x\",\n\n cssid, ssid);\n\n goto out_err;\n\n }\n\n /* Enforce use of virtual cssid. */\n\n if (cssid != VIRTUAL_CSSID) {\n\n error_setg(errp, \"cssid %x not valid for virtio devices\",\n\n cssid);\n\n goto out_err;\n\n }\n\n if (css_devno_used(cssid, ssid, devno)) {\n\n error_setg(errp, \"Device %x.%x.%04x already exists\",\n\n cssid, ssid, devno);\n\n goto out_err;\n\n }\n\n sch->cssid = cssid;\n\n sch->ssid = ssid;\n\n sch->devno = devno;\n\n have_devno = true;\n\n } else {\n\n error_setg(errp, \"Malformed devno parameter '%s'\", dev->bus_id);\n\n goto out_err;\n\n }\n\n }\n\n\n\n /* Find the next free id. */\n\n if (have_devno) {\n\n for (schid = 0; schid <= MAX_SCHID; schid++) {\n\n if (!css_find_subch(1, cssid, ssid, schid)) {\n\n sch->schid = schid;\n\n css_subch_assign(cssid, ssid, schid, devno, sch);\n\n found = true;\n\n break;\n\n }\n\n }\n\n if (!found) {\n\n error_setg(errp, \"No free subchannel found for %x.%x.%04x\",\n\n cssid, ssid, devno);\n\n goto out_err;\n\n }\n\n trace_virtio_ccw_new_device(cssid, ssid, schid, devno,\n\n \"user-configured\");\n\n } else {\n\n cssid = VIRTUAL_CSSID;\n\n for (ssid = 0; ssid <= MAX_SSID; ssid++) {\n\n for (schid = 0; schid <= MAX_SCHID; schid++) {\n\n if (!css_find_subch(1, cssid, ssid, schid)) {\n\n sch->cssid = cssid;\n\n sch->ssid = ssid;\n\n sch->schid = schid;\n\n devno = schid;\n\n /*\n\n * If the devno is already taken, look further in this\n\n * subchannel set.\n\n */\n\n while (css_devno_used(cssid, ssid, devno)) {\n\n if (devno == MAX_SCHID) {\n\n devno = 0;\n\n } else if (devno == schid - 1) {\n\n error_setg(errp, \"No free devno found\");\n\n goto out_err;\n\n } else {\n\n devno++;\n\n }\n\n }\n\n sch->devno = devno;\n\n css_subch_assign(cssid, ssid, schid, devno, sch);\n\n found = true;\n\n break;\n\n }\n\n }\n\n if (found) {\n\n break;\n\n }\n\n }\n\n if (!found) {\n\n error_setg(errp, \"Virtual channel subsystem is full!\");\n\n goto out_err;\n\n }\n\n trace_virtio_ccw_new_device(cssid, ssid, schid, devno,\n\n \"auto-configured\");\n\n }\n\n\n\n /* Build initial schib. */\n\n css_sch_build_virtual_schib(sch, 0, VIRTIO_CCW_CHPID_TYPE);\n\n\n\n sch->ccw_cb = virtio_ccw_cb;\n\n\n\n /* Build senseid data. */\n\n memset(&sch->id, 0, sizeof(SenseId));\n\n sch->id.reserved = 0xff;\n\n sch->id.cu_type = VIRTIO_CCW_CU_TYPE;\n\n\n\n if (k->realize) {\n\n k->realize(dev, &err);\n\n }\n\n if (err) {\n\n error_propagate(errp, err);\n\n css_subch_assign(cssid, ssid, schid, devno, NULL);\n\n goto out_err;\n\n }\n\n\n\n /* device_id is only set after vdev has been realized */\n\n vdev = virtio_ccw_get_vdev(sch);\n\n sch->id.cu_model = vdev->device_id;\n\n\n\n /* Only the first 32 feature bits are used. */\n\n dev->host_features[0] = virtio_bus_get_vdev_features(&dev->bus,\n\n dev->host_features[0]);\n\n\n\n virtio_add_feature(&dev->host_features[0], VIRTIO_F_NOTIFY_ON_EMPTY);\n\n virtio_add_feature(&dev->host_features[0], VIRTIO_F_BAD_FEATURE);\n\n\n\n css_generate_sch_crws(sch->cssid, sch->ssid, sch->schid,\n\n parent->hotplugged, 1);\n\n return;\n\n\n\nout_err:\n\n dev->sch = NULL;\n\n g_free(sch);\n\n}\n", "idx": 9744}951{"project": "qemu", "commit_id": "5e755519ac9d867f7da13f58a9d0c262db82e14c", "target": 0, "func": "void op_cp1_registers(void)\n\n{\n\n if (!(env->CP0_Status & (1 << CP0St_FR)) && (PARAM1 & 1)) {\n\n CALL_FROM_TB1(do_raise_exception, EXCP_RI);\n\n }\n\n RETURN();\n\n}\n", "idx": 9754}952{"project": "FFmpeg", "commit_id": "6e42e6c4b410dbef8b593c2d796a5dad95f89ee4", "target": 1, "func": "static inline void RENAME(rgb24tobgr24)(const uint8_t *src, uint8_t *dst, long src_size)\n\n{\n\n\tunsigned i;\n\n#ifdef HAVE_MMX\n\n\tlong mmx_size= 23 - src_size;\n\n\tasm volatile (\n\n\t\t\"test %%\"REG_a\", %%\"REG_a\"\t\\n\\t\"\n\n\t\t\"jns 2f\t\t\t\t\\n\\t\"\n\n\t\t\"movq \"MANGLE(mask24r)\", %%mm5\t\\n\\t\"\n\n\t\t\"movq \"MANGLE(mask24g)\", %%mm6\t\\n\\t\"\n\n\t\t\"movq \"MANGLE(mask24b)\", %%mm7\t\\n\\t\"\n\n\t\tASMALIGN(4)\n\n\t\t\"1:\t\t\t\t\\n\\t\"\n\n\t\tPREFETCH\" 32(%1, %%\"REG_a\")\t\\n\\t\"\n\n\t\t\"movq (%1, %%\"REG_a\"), %%mm0\t\\n\\t\" // BGR BGR BG\n\n\t\t\"movq (%1, %%\"REG_a\"), %%mm1\t\\n\\t\" // BGR BGR BG\n\n\t\t\"movq 2(%1, %%\"REG_a\"), %%mm2\t\\n\\t\" // R BGR BGR B\n\n\t\t\"psllq $16, %%mm0\t\t\\n\\t\" // 00 BGR BGR\n\n\t\t\"pand %%mm5, %%mm0\t\t\\n\\t\"\n\n\t\t\"pand %%mm6, %%mm1\t\t\\n\\t\"\n\n\t\t\"pand %%mm7, %%mm2\t\t\\n\\t\"\n\n\t\t\"por %%mm0, %%mm1\t\t\\n\\t\"\n\n\t\t\"por %%mm2, %%mm1\t\t\\n\\t\"\n\n\t\t\"movq 6(%1, %%\"REG_a\"), %%mm0\t\\n\\t\" // BGR BGR BG\n\n\t\tMOVNTQ\" %%mm1, (%2, %%\"REG_a\")\\n\\t\" // RGB RGB RG\n\n\t\t\"movq 8(%1, %%\"REG_a\"), %%mm1\t\\n\\t\" // R BGR BGR B\n\n\t\t\"movq 10(%1, %%\"REG_a\"), %%mm2\t\\n\\t\" // GR BGR BGR\n\n\t\t\"pand %%mm7, %%mm0\t\t\\n\\t\"\n\n\t\t\"pand %%mm5, %%mm1\t\t\\n\\t\"\n\n\t\t\"pand %%mm6, %%mm2\t\t\\n\\t\"\n\n\t\t\"por %%mm0, %%mm1\t\t\\n\\t\"\n\n\t\t\"por %%mm2, %%mm1\t\t\\n\\t\"\n\n\t\t\"movq 14(%1, %%\"REG_a\"), %%mm0\t\\n\\t\" // R BGR BGR B\n\n\t\tMOVNTQ\" %%mm1, 8(%2, %%\"REG_a\")\\n\\t\" // B RGB RGB R\n\n\t\t\"movq 16(%1, %%\"REG_a\"), %%mm1\t\\n\\t\" // GR BGR BGR\n\n\t\t\"movq 18(%1, %%\"REG_a\"), %%mm2\t\\n\\t\" // BGR BGR BG\n\n\t\t\"pand %%mm6, %%mm0\t\t\\n\\t\"\n\n\t\t\"pand %%mm7, %%mm1\t\t\\n\\t\"\n\n\t\t\"pand %%mm5, %%mm2\t\t\\n\\t\"\n\n\t\t\"por %%mm0, %%mm1\t\t\\n\\t\"\n\n\t\t\"por %%mm2, %%mm1\t\t\\n\\t\"\n\n\t\tMOVNTQ\" %%mm1, 16(%2, %%\"REG_a\")\\n\\t\"\n\n\t\t\"add $24, %%\"REG_a\"\t\t\\n\\t\"\n\n\t\t\" js 1b\t\t\t\t\\n\\t\"\n\n\t\t\"2:\t\t\t\t\\n\\t\"\n\n\t\t: \"+a\" (mmx_size)\n\n\t\t: \"r\" (src-mmx_size), \"r\"(dst-mmx_size)\n\n\t);\n\n\n\n\t__asm __volatile(SFENCE:::\"memory\");\n\n\t__asm __volatile(EMMS:::\"memory\");\n\n\n\n\tif(mmx_size==23) return; //finihsed, was multiple of 8\n\n\n\n\tsrc+= src_size;\n\n\tdst+= src_size;\n\n\tsrc_size= 23-mmx_size;\n\n\tsrc-= src_size;\n\n\tdst-= src_size;\n\n#endif\n\n\tfor(i=0; i<src_size; i+=3)\n\n\t{\n\n\t\tregister uint8_t x;\n\n\t\tx = src[i + 2];\n\n\t\tdst[i + 1] = src[i + 1];\n\n\t\tdst[i + 2] = src[i + 0];\n\n\t\tdst[i + 0] = x;\n\n\t}\n\n}\n", "idx": 9761}953{"project": "FFmpeg", "commit_id": "ffd7fd79441f97f1edb25181af0603ff6ea9b342", "target": 1, "func": "static int vda_h264_end_frame(AVCodecContext *avctx)\n{\n H264Context *h = avctx->priv_data;\n struct vda_context *vda_ctx = avctx->hwaccel_context;\n AVFrame *frame = &h->cur_pic_ptr->f;\n struct vda_buffer *context;\n AVBufferRef *buffer;\n int status;\n if (!vda_ctx->decoder || !vda_ctx->priv_bitstream)\n status = vda_sync_decode(vda_ctx);\n frame->data[3] = (void*)vda_ctx->cv_buffer;\n if (status)\n av_log(avctx, AV_LOG_ERROR, \"Failed to decode frame (%d)\\n\", status);", "idx": 9772}954{"project": "FFmpeg", "commit_id": "fbaf75b166cd067cf383a75ffcccb1e2b370bf6d", "target": 1, "func": "static int decode_frame(AVCodecContext *avctx, void *data,\n\n int *got_frame, AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n H264Context *h = avctx->priv_data;\n\n AVFrame *pict = data;\n\n int buf_index = 0;\n\n Picture *out;\n\n int i, out_idx;\n\n int ret;\n\n\n\n h->flags = avctx->flags;\n\n\n\n /* end of stream, output what is still in the buffers */\n\n if (buf_size == 0) {\n\n out:\n\n\n\n h->cur_pic_ptr = NULL;\n\n h->first_field = 0;\n\n\n\n // FIXME factorize this with the output code below\n\n out = h->delayed_pic[0];\n\n out_idx = 0;\n\n for (i = 1;\n\n h->delayed_pic[i] &&\n\n !h->delayed_pic[i]->f.key_frame &&\n\n !h->delayed_pic[i]->mmco_reset;\n\n i++)\n\n if (h->delayed_pic[i]->poc < out->poc) {\n\n out = h->delayed_pic[i];\n\n out_idx = i;\n\n }\n\n\n\n for (i = out_idx; h->delayed_pic[i]; i++)\n\n h->delayed_pic[i] = h->delayed_pic[i + 1];\n\n\n\n if (out) {\n\n out->reference &= ~DELAYED_PIC_REF;\n\n ret = output_frame(h, pict, &out->f);\n\n if (ret < 0)\n\n return ret;\n\n *got_frame = 1;\n\n }\n\n\n\n return buf_index;\n\n }\n\n if(h->is_avc && buf_size >= 9 && buf[0]==1 && buf[2]==0 && (buf[4]&0xFC)==0xFC && (buf[5]&0x1F) && buf[8]==0x67){\n\n int cnt= buf[5]&0x1f;\n\n const uint8_t *p= buf+6;\n\n while(cnt--){\n\n int nalsize= AV_RB16(p) + 2;\n\n if(nalsize > buf_size - (p-buf) || p[2]!=0x67)\n\n goto not_extra;\n\n p += nalsize;\n\n }\n\n cnt = *(p++);\n\n if(!cnt)\n\n goto not_extra;\n\n while(cnt--){\n\n int nalsize= AV_RB16(p) + 2;\n\n if(nalsize > buf_size - (p-buf) || p[2]!=0x68)\n\n goto not_extra;\n\n p += nalsize;\n\n }\n\n\n\n return ff_h264_decode_extradata(h, buf, buf_size);\n\n }\n\nnot_extra:\n\n\n\n buf_index = decode_nal_units(h, buf, buf_size, 0);\n\n if (buf_index < 0)\n\n return -1;\n\n\n\n if (!h->cur_pic_ptr && h->nal_unit_type == NAL_END_SEQUENCE) {\n\n av_assert0(buf_index <= buf_size);\n\n goto out;\n\n }\n\n\n\n if (!(avctx->flags2 & CODEC_FLAG2_CHUNKS) && !h->cur_pic_ptr) {\n\n if (avctx->skip_frame >= AVDISCARD_NONREF ||\n\n buf_size >= 4 && !memcmp(\"Q264\", buf, 4))\n\n return buf_size;\n\n av_log(avctx, AV_LOG_ERROR, \"no frame!\\n\");\n\n return -1;\n\n }\n\n\n\n if (!(avctx->flags2 & CODEC_FLAG2_CHUNKS) ||\n\n (h->mb_y >= h->mb_height && h->mb_height)) {\n\n if (avctx->flags2 & CODEC_FLAG2_CHUNKS)\n\n decode_postinit(h, 1);\n\n\n\n field_end(h, 0);\n\n\n\n /* Wait for second field. */\n\n *got_frame = 0;\n\n if (h->next_output_pic && (h->next_output_pic->sync || h->sync>1)) {\n\n ret = output_frame(h, pict, &h->next_output_pic->f);\n\n if (ret < 0)\n\n return ret;\n\n *got_frame = 1;\n\n if (CONFIG_MPEGVIDEO) {\n\n ff_print_debug_info2(h->avctx, h->next_output_pic, pict, h->er.mbskip_table,\n\n &h->low_delay,\n\n h->mb_width, h->mb_height, h->mb_stride, 1);\n\n }\n\n }\n\n }\n\n\n\n assert(pict->data[0] || !*got_frame);\n\n\n\n return get_consumed_bytes(buf_index, buf_size);\n\n}\n", "idx": 9781}955{"project": "qemu", "commit_id": "e853ea1cc68716c3d9c22d04578020c6dd743306", "target": 1, "func": "GIOStatus ga_channel_write_all(GAChannel *c, const char *buf, size_t size)\n\n{\n\n GIOStatus status = G_IO_STATUS_NORMAL;\n\n size_t count;\n\n\n\n while (size) {\n\n status = ga_channel_write(c, buf, size, &count);\n\n if (status == G_IO_STATUS_NORMAL) {\n\n size -= count;\n\n buf += count;\n\n } else if (status != G_IO_STATUS_AGAIN) {\n\n break;\n\n }\n\n }\n\n\n\n return status;\n\n}\n", "idx": 9787}956{"project": "FFmpeg", "commit_id": "22ecfcd4c79cdf812fdf406525ddf0fd1f7114e4", "target": 1, "func": "static int channelmap_query_formats(AVFilterContext *ctx)\n\n{\n\n ChannelMapContext *s = ctx->priv;\n\n\n\n ff_set_common_formats(ctx, ff_planar_sample_fmts());\n\n ff_set_common_samplerates(ctx, ff_all_samplerates());\n\n ff_channel_layouts_ref(ff_all_channel_layouts(), &ctx->inputs[0]->out_channel_layouts);\n\n ff_channel_layouts_ref(s->channel_layouts, &ctx->outputs[0]->in_channel_layouts);\n\n\n\n return 0;\n\n}\n", "idx": 9789}957{"project": "qemu", "commit_id": "0ab07c623c629acfbc792e5a174129c19faefbb7", "target": 0, "func": "static void flush_queued_work(CPUState *env)\n\n{\n\n struct qemu_work_item *wi;\n\n\n\n if (!env->queued_work_first)\n\n return;\n\n\n\n while ((wi = env->queued_work_first)) {\n\n env->queued_work_first = wi->next;\n\n wi->func(wi->data);\n\n wi->done = true;\n\n }\n\n env->queued_work_last = NULL;\n\n qemu_cond_broadcast(&qemu_work_cond);\n\n}\n", "idx": 9805}958{"project": "qemu", "commit_id": "477830727821e4bc337f4ac1fd222ffe0b900e1a", "target": 0, "func": "static int coroutine_fn add_aio_request(BDRVSheepdogState *s, AIOReq *aio_req,\n\n struct iovec *iov, int niov, bool create,\n\n enum AIOCBState aiocb_type)\n\n{\n\n int nr_copies = s->inode.nr_copies;\n\n SheepdogObjReq hdr;\n\n unsigned int wlen;\n\n int ret;\n\n uint64_t oid = aio_req->oid;\n\n unsigned int datalen = aio_req->data_len;\n\n uint64_t offset = aio_req->offset;\n\n uint8_t flags = aio_req->flags;\n\n uint64_t old_oid = aio_req->base_oid;\n\n\n\n if (!nr_copies) {\n\n error_report(\"bug\");\n\n }\n\n\n\n memset(&hdr, 0, sizeof(hdr));\n\n\n\n if (aiocb_type == AIOCB_READ_UDATA) {\n\n wlen = 0;\n\n hdr.opcode = SD_OP_READ_OBJ;\n\n hdr.flags = flags;\n\n } else if (create) {\n\n wlen = datalen;\n\n hdr.opcode = SD_OP_CREATE_AND_WRITE_OBJ;\n\n hdr.flags = SD_FLAG_CMD_WRITE | flags;\n\n } else {\n\n wlen = datalen;\n\n hdr.opcode = SD_OP_WRITE_OBJ;\n\n hdr.flags = SD_FLAG_CMD_WRITE | flags;\n\n }\n\n\n\n if (s->cache_flags) {\n\n hdr.flags |= s->cache_flags;\n\n }\n\n\n\n hdr.oid = oid;\n\n hdr.cow_oid = old_oid;\n\n hdr.copies = s->inode.nr_copies;\n\n\n\n hdr.data_length = datalen;\n\n hdr.offset = offset;\n\n\n\n hdr.id = aio_req->id;\n\n\n\n qemu_co_mutex_lock(&s->lock);\n\n s->co_send = qemu_coroutine_self();\n\n qemu_aio_set_fd_handler(s->fd, co_read_response, co_write_request,\n\n aio_flush_request, s);\n\n socket_set_cork(s->fd, 1);\n\n\n\n /* send a header */\n\n ret = qemu_co_send(s->fd, &hdr, sizeof(hdr));\n\n if (ret < 0) {\n\n qemu_co_mutex_unlock(&s->lock);\n\n error_report(\"failed to send a req, %s\", strerror(errno));\n\n return -errno;\n\n }\n\n\n\n if (wlen) {\n\n ret = qemu_co_sendv(s->fd, iov, niov, aio_req->iov_offset, wlen);\n\n if (ret < 0) {\n\n qemu_co_mutex_unlock(&s->lock);\n\n error_report(\"failed to send a data, %s\", strerror(errno));\n\n return -errno;\n\n }\n\n }\n\n\n\n socket_set_cork(s->fd, 0);\n\n qemu_aio_set_fd_handler(s->fd, co_read_response, NULL,\n\n aio_flush_request, s);\n\n qemu_co_mutex_unlock(&s->lock);\n\n\n\n return 0;\n\n}\n", "idx": 9817}959{"project": "FFmpeg", "commit_id": "5b0ad91b996506632708dcefc22d2835d04a4dba", "target": 1, "func": "static int img_write_packet(AVFormatContext *s, int stream_index,\n\n UINT8 *buf, int size)\n\n{\n\n VideoData *img = s->priv_data;\n\n AVStream *st = s->streams[stream_index];\n\n ByteIOContext pb1, *pb;\n\n AVPicture picture;\n\n int width, height, ret, size1;\n\n char filename[1024];\n\n\n\n width = st->codec.width;\n\n height = st->codec.height;\n\n\n\n switch(st->codec.pix_fmt) {\n\n case PIX_FMT_YUV420P:\n\n size1 = (width * height * 3) / 2;\n\n if (size != size1)\n\n return -EIO;\n\n \n\n picture.data[0] = buf;\n\n picture.data[1] = picture.data[0] + width * height;\n\n picture.data[2] = picture.data[1] + (width * height) / 4;\n\n picture.linesize[0] = width;\n\n picture.linesize[1] = width >> 1; \n\n picture.linesize[2] = width >> 1;\n\n break;\n\n case PIX_FMT_RGB24:\n\n size1 = (width * height * 3);\n\n if (size != size1)\n\n return -EIO;\n\n picture.data[0] = buf;\n\n picture.linesize[0] = width * 3;\n\n break;\n\n default:\n\n return -EIO;\n\n }\n\n \n\n if (get_frame_filename(filename, sizeof(filename), \n\n img->path, img->img_number) < 0)\n\n return -EIO;\n\n\n\n if (!img->is_pipe) {\n\n pb = &pb1;\n\n if (url_fopen(pb, filename, URL_WRONLY) < 0)\n\n return -EIO;\n\n } else {\n\n pb = &s->pb;\n\n }\n\n switch(img->img_fmt) {\n\n case IMGFMT_PGMYUV:\n\n ret = pgm_save(&picture, width, height, pb, 1);\n\n break;\n\n case IMGFMT_PGM:\n\n ret = pgm_save(&picture, width, height, pb, 0);\n\n break;\n\n case IMGFMT_YUV:\n\n ret = yuv_save(&picture, width, height, filename);\n\n break;\n\n case IMGFMT_PPM:\n\n ret = ppm_save(&picture, width, height, pb);\n\n break;\n\n }\n\n if (!img->is_pipe) {\n\n url_fclose(pb);\n\n }\n\n\n\n img->img_number++;\n\n return 0;\n\n}\n", "idx": 9842}960{"project": "qemu", "commit_id": "f51074cdc6e750daa3b6df727d83449a7e42b391", "target": 1, "func": "int pci_drive_hot_add(Monitor *mon, const QDict *qdict, DriveInfo *dinfo)\n\n{\n\n /* On non-x86 we don't do PCI hotplug */\n\n monitor_printf(mon, \"Can't hot-add drive to type %d\\n\", dinfo->type);\n\n return -1;\n\n}\n", "idx": 9845}961{"project": "FFmpeg", "commit_id": "6e42e6c4b410dbef8b593c2d796a5dad95f89ee4", "target": 1, "func": "static inline int yv12toyuy2_unscaled_altivec(SwsContext *c, uint8_t* src[], int srcStride[], int srcSliceY,\n\n int srcSliceH, uint8_t* dstParam[], int dstStride_a[]) {\n\n uint8_t *dst=dstParam[0] + dstStride_a[0]*srcSliceY;\n\n // yv12toyuy2( src[0],src[1],src[2],dst,c->srcW,srcSliceH,srcStride[0],srcStride[1],dstStride[0] );\n\n uint8_t *ysrc = src[0];\n\n uint8_t *usrc = src[1];\n\n uint8_t *vsrc = src[2];\n\n const int width = c->srcW;\n\n const int height = srcSliceH;\n\n const int lumStride = srcStride[0];\n\n const int chromStride = srcStride[1];\n\n const int dstStride = dstStride_a[0];\n\n const vector unsigned char yperm = vec_lvsl(0, ysrc);\n\n const int vertLumPerChroma = 2;\n\n register unsigned int y;\n\n\n\n if(width&15){\n\n yv12toyuy2( ysrc, usrc, vsrc, dst,c->srcW,srcSliceH, lumStride, chromStride, dstStride);\n\n return srcSliceH;\n\n }\n\n\n\n /* this code assume:\n\n\n\n 1) dst is 16 bytes-aligned\n\n 2) dstStride is a multiple of 16\n\n 3) width is a multiple of 16\n\n 4) lum&chrom stride are multiple of 8\n\n */\n\n\n\n for(y=0; y<height; y++)\n\n {\n\n int i;\n\n for (i = 0; i < width - 31; i+= 32) {\n\n\tconst unsigned int j = i >> 1;\n\n\tvector unsigned char v_yA = vec_ld(i, ysrc);\n\n\tvector unsigned char v_yB = vec_ld(i + 16, ysrc);\n\n\tvector unsigned char v_yC = vec_ld(i + 32, ysrc);\n\n\tvector unsigned char v_y1 = vec_perm(v_yA, v_yB, yperm);\n\n\tvector unsigned char v_y2 = vec_perm(v_yB, v_yC, yperm);\n\n\tvector unsigned char v_uA = vec_ld(j, usrc);\n\n\tvector unsigned char v_uB = vec_ld(j + 16, usrc);\n\n\tvector unsigned char v_u = vec_perm(v_uA, v_uB, vec_lvsl(j, usrc));\n\n\tvector unsigned char v_vA = vec_ld(j, vsrc);\n\n\tvector unsigned char v_vB = vec_ld(j + 16, vsrc);\n\n\tvector unsigned char v_v = vec_perm(v_vA, v_vB, vec_lvsl(j, vsrc));\n\n\tvector unsigned char v_uv_a = vec_mergeh(v_u, v_v);\n\n\tvector unsigned char v_uv_b = vec_mergel(v_u, v_v);\n\n\tvector unsigned char v_yuy2_0 = vec_mergeh(v_y1, v_uv_a);\n\n\tvector unsigned char v_yuy2_1 = vec_mergel(v_y1, v_uv_a);\n\n\tvector unsigned char v_yuy2_2 = vec_mergeh(v_y2, v_uv_b);\n\n\tvector unsigned char v_yuy2_3 = vec_mergel(v_y2, v_uv_b);\n\n\tvec_st(v_yuy2_0, (i << 1), dst);\n\n\tvec_st(v_yuy2_1, (i << 1) + 16, dst);\n\n\tvec_st(v_yuy2_2, (i << 1) + 32, dst);\n\n\tvec_st(v_yuy2_3, (i << 1) + 48, dst);\n\n }\n\n if (i < width) {\n\n\tconst unsigned int j = i >> 1;\n\n\tvector unsigned char v_y1 = vec_ld(i, ysrc);\n\n\tvector unsigned char v_u = vec_ld(j, usrc);\n\n\tvector unsigned char v_v = vec_ld(j, vsrc);\n\n\tvector unsigned char v_uv_a = vec_mergeh(v_u, v_v);\n\n\tvector unsigned char v_yuy2_0 = vec_mergeh(v_y1, v_uv_a);\n\n\tvector unsigned char v_yuy2_1 = vec_mergel(v_y1, v_uv_a);\n\n\tvec_st(v_yuy2_0, (i << 1), dst);\n\n\tvec_st(v_yuy2_1, (i << 1) + 16, dst);\n\n }\n\n if((y&(vertLumPerChroma-1))==(vertLumPerChroma-1) )\n\n\t{\n\n\t usrc += chromStride;\n\n\t vsrc += chromStride;\n\n\t}\n\n ysrc += lumStride;\n\n dst += dstStride;\n\n }\n\n\n\n return srcSliceH;\n\n}\n", "idx": 9846}962{"project": "qemu", "commit_id": "338c858c946017cd3ec8c2be06d817e001d94bc3", "target": 0, "func": "void cpu_loop(CPUAlphaState *env)\n\n{\n\n CPUState *cs = CPU(alpha_env_get_cpu(env));\n\n int trapnr;\n\n target_siginfo_t info;\n\n abi_long sysret;\n\n\n\n while (1) {\n\n cpu_exec_start(cs);\n\n trapnr = cpu_alpha_exec(cs);\n\n cpu_exec_end(cs);\n\n\n\n /* All of the traps imply a transition through PALcode, which\n\n implies an REI instruction has been executed. Which means\n\n that the intr_flag should be cleared. */\n\n env->intr_flag = 0;\n\n\n\n switch (trapnr) {\n\n case EXCP_RESET:\n\n fprintf(stderr, \"Reset requested. Exit\\n\");\n\n exit(EXIT_FAILURE);\n\n break;\n\n case EXCP_MCHK:\n\n fprintf(stderr, \"Machine check exception. Exit\\n\");\n\n exit(EXIT_FAILURE);\n\n break;\n\n case EXCP_SMP_INTERRUPT:\n\n case EXCP_CLK_INTERRUPT:\n\n case EXCP_DEV_INTERRUPT:\n\n fprintf(stderr, \"External interrupt. Exit\\n\");\n\n exit(EXIT_FAILURE);\n\n break;\n\n case EXCP_MMFAULT:\n\n env->lock_addr = -1;\n\n info.si_signo = TARGET_SIGSEGV;\n\n info.si_errno = 0;\n\n info.si_code = (page_get_flags(env->trap_arg0) & PAGE_VALID\n\n ? TARGET_SEGV_ACCERR : TARGET_SEGV_MAPERR);\n\n info._sifields._sigfault._addr = env->trap_arg0;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n case EXCP_UNALIGN:\n\n env->lock_addr = -1;\n\n info.si_signo = TARGET_SIGBUS;\n\n info.si_errno = 0;\n\n info.si_code = TARGET_BUS_ADRALN;\n\n info._sifields._sigfault._addr = env->trap_arg0;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n case EXCP_OPCDEC:\n\n do_sigill:\n\n env->lock_addr = -1;\n\n info.si_signo = TARGET_SIGILL;\n\n info.si_errno = 0;\n\n info.si_code = TARGET_ILL_ILLOPC;\n\n info._sifields._sigfault._addr = env->pc;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n case EXCP_ARITH:\n\n env->lock_addr = -1;\n\n info.si_signo = TARGET_SIGFPE;\n\n info.si_errno = 0;\n\n info.si_code = TARGET_FPE_FLTINV;\n\n info._sifields._sigfault._addr = env->pc;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n case EXCP_FEN:\n\n /* No-op. Linux simply re-enables the FPU. */\n\n break;\n\n case EXCP_CALL_PAL:\n\n env->lock_addr = -1;\n\n switch (env->error_code) {\n\n case 0x80:\n\n /* BPT */\n\n info.si_signo = TARGET_SIGTRAP;\n\n info.si_errno = 0;\n\n info.si_code = TARGET_TRAP_BRKPT;\n\n info._sifields._sigfault._addr = env->pc;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n case 0x81:\n\n /* BUGCHK */\n\n info.si_signo = TARGET_SIGTRAP;\n\n info.si_errno = 0;\n\n info.si_code = 0;\n\n info._sifields._sigfault._addr = env->pc;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n case 0x83:\n\n /* CALLSYS */\n\n trapnr = env->ir[IR_V0];\n\n sysret = do_syscall(env, trapnr,\n\n env->ir[IR_A0], env->ir[IR_A1],\n\n env->ir[IR_A2], env->ir[IR_A3],\n\n env->ir[IR_A4], env->ir[IR_A5],\n\n 0, 0);\n\n if (trapnr == TARGET_NR_sigreturn\n\n || trapnr == TARGET_NR_rt_sigreturn) {\n\n break;\n\n }\n\n /* Syscall writes 0 to V0 to bypass error check, similar\n\n to how this is handled internal to Linux kernel.\n\n (Ab)use trapnr temporarily as boolean indicating error. */\n\n trapnr = (env->ir[IR_V0] != 0 && sysret < 0);\n\n env->ir[IR_V0] = (trapnr ? -sysret : sysret);\n\n env->ir[IR_A3] = trapnr;\n\n break;\n\n case 0x86:\n\n /* IMB */\n\n /* ??? We can probably elide the code using page_unprotect\n\n that is checking for self-modifying code. Instead we\n\n could simply call tb_flush here. Until we work out the\n\n changes required to turn off the extra write protection,\n\n this can be a no-op. */\n\n break;\n\n case 0x9E:\n\n /* RDUNIQUE */\n\n /* Handled in the translator for usermode. */\n\n abort();\n\n case 0x9F:\n\n /* WRUNIQUE */\n\n /* Handled in the translator for usermode. */\n\n abort();\n\n case 0xAA:\n\n /* GENTRAP */\n\n info.si_signo = TARGET_SIGFPE;\n\n switch (env->ir[IR_A0]) {\n\n case TARGET_GEN_INTOVF:\n\n info.si_code = TARGET_FPE_INTOVF;\n\n break;\n\n case TARGET_GEN_INTDIV:\n\n info.si_code = TARGET_FPE_INTDIV;\n\n break;\n\n case TARGET_GEN_FLTOVF:\n\n info.si_code = TARGET_FPE_FLTOVF;\n\n break;\n\n case TARGET_GEN_FLTUND:\n\n info.si_code = TARGET_FPE_FLTUND;\n\n break;\n\n case TARGET_GEN_FLTINV:\n\n info.si_code = TARGET_FPE_FLTINV;\n\n break;\n\n case TARGET_GEN_FLTINE:\n\n info.si_code = TARGET_FPE_FLTRES;\n\n break;\n\n case TARGET_GEN_ROPRAND:\n\n info.si_code = 0;\n\n break;\n\n default:\n\n info.si_signo = TARGET_SIGTRAP;\n\n info.si_code = 0;\n\n break;\n\n }\n\n info.si_errno = 0;\n\n info._sifields._sigfault._addr = env->pc;\n\n queue_signal(env, info.si_signo, &info);\n\n break;\n\n default:\n\n goto do_sigill;\n\n }\n\n break;\n\n case EXCP_DEBUG:\n\n info.si_signo = gdb_handlesig(cs, TARGET_SIGTRAP);\n\n if (info.si_signo) {\n\n env->lock_addr = -1;\n\n info.si_errno = 0;\n\n info.si_code = TARGET_TRAP_BRKPT;\n\n queue_signal(env, info.si_signo, &info);\n\n }\n\n break;\n\n case EXCP_STL_C:\n\n case EXCP_STQ_C:\n\n do_store_exclusive(env, env->error_code, trapnr - EXCP_STL_C);\n\n break;\n\n case EXCP_INTERRUPT:\n\n /* Just indicate that signals should be handled asap. */\n\n break;\n\n default:\n\n printf (\"Unhandled trap: 0x%x\\n\", trapnr);\n\n cpu_dump_state(cs, stderr, fprintf, 0);\n\n exit(EXIT_FAILURE);\n\n }\n\n process_pending_signals (env);\n\n }\n\n}\n", "idx": 9864}963{"project": "qemu", "commit_id": "e70377dfa4bbc2e101066ca35675bed4129c5a8c", "target": 0, "func": "static S390PCIBusDevice *s390_pci_find_dev_by_target(const char *target)\n\n{\n\n int i;\n\n S390PCIBusDevice *pbdev;\n\n S390pciState *s = s390_get_phb();\n\n\n\n if (!target) {\n\n return NULL;\n\n }\n\n\n\n for (i = 0; i < PCI_SLOT_MAX; i++) {\n\n pbdev = s->pbdev[i];\n\n if (!pbdev) {\n\n continue;\n\n }\n\n\n\n if (!strcmp(pbdev->target, target)) {\n\n return pbdev;\n\n }\n\n }\n\n\n\n return NULL;\n\n}\n", "idx": 9870}964{"project": "FFmpeg", "commit_id": "c95fefa0420be9cc0f09a95041acf11114aaacd0", "target": 0, "func": "static void cin_decode_lzss(const unsigned char *src, int src_size, unsigned char *dst, int dst_size)\n\n{\n\n uint16_t cmd;\n\n int i, sz, offset, code;\n\n unsigned char *dst_end = dst + dst_size;\n\n const unsigned char *src_end = src + src_size;\n\n\n\n while (src < src_end && dst < dst_end) {\n\n code = *src++;\n\n for (i = 0; i < 8 && src < src_end && dst < dst_end; ++i) {\n\n if (code & (1 << i)) {\n\n *dst++ = *src++;\n\n } else {\n\n cmd = AV_RL16(src); src += 2;\n\n offset = cmd >> 4;\n\n sz = (cmd & 0xF) + 2;\n\n /* don't use memcpy/memmove here as the decoding routine (ab)uses */\n\n /* buffer overlappings to repeat bytes in the destination */\n\n sz = FFMIN(sz, dst_end - dst);\n\n while (sz--) {\n\n *dst = *(dst - offset - 1);\n\n ++dst;\n\n }\n\n }\n\n }\n\n }\n\n}\n", "idx": 9896}965{"project": "FFmpeg", "commit_id": "84f0aba18dc8815c5cd408238909e4dc8b60684f", "target": 1, "func": "ff_rdt_parse_open(AVFormatContext *ic, int first_stream_of_set_idx,\n\n void *priv_data, RTPDynamicProtocolHandler *handler)\n\n{\n\n RDTDemuxContext *s = av_mallocz(sizeof(RDTDemuxContext));\n\n if (!s)\n\n return NULL;\n\n\n\n s->ic = ic;\n\n s->streams = &ic->streams[first_stream_of_set_idx];\n\n do {\n\n s->n_streams++;\n\n } while (first_stream_of_set_idx + s->n_streams < ic->nb_streams &&\n\n s->streams[s->n_streams]->priv_data == s->streams[0]->priv_data);\n\n s->prev_set_id = -1;\n\n s->prev_stream_id = -1;\n\n s->prev_timestamp = -1;\n\n s->parse_packet = handler->parse_packet;\n\n s->dynamic_protocol_context = priv_data;\n\n\n\n return s;\n\n}\n", "idx": 9913}966{"project": "qemu", "commit_id": "ab0997e0afdcb272fd04784a280b2df46b0c759f", "target": 1, "func": "static int qcow2_co_writev(BlockDriverState *bs,\n\n int64_t sector_num,\n\n int remaining_sectors,\n\n QEMUIOVector *qiov)\n\n{\n\n BDRVQcowState *s = bs->opaque;\n\n int index_in_cluster;\n\n int n_end;\n\n int ret;\n\n int cur_nr_sectors; /* number of sectors in current iteration */\n\n QCowL2Meta l2meta;\n\n uint64_t cluster_offset;\n\n QEMUIOVector hd_qiov;\n\n uint64_t bytes_done = 0;\n\n uint8_t *cluster_data = NULL;\n\n\n\n l2meta.nb_clusters = 0;\n\n qemu_co_queue_init(&l2meta.dependent_requests);\n\n\n\n qemu_iovec_init(&hd_qiov, qiov->niov);\n\n\n\n s->cluster_cache_offset = -1; /* disable compressed cache */\n\n\n\n qemu_co_mutex_lock(&s->lock);\n\n\n\n while (remaining_sectors != 0) {\n\n\n\n index_in_cluster = sector_num & (s->cluster_sectors - 1);\n\n n_end = index_in_cluster + remaining_sectors;\n\n if (s->crypt_method &&\n\n n_end > QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors) {\n\n n_end = QCOW_MAX_CRYPT_CLUSTERS * s->cluster_sectors;\n\n }\n\n\n\n ret = qcow2_alloc_cluster_offset(bs, sector_num << 9,\n\n index_in_cluster, n_end, &cur_nr_sectors, &l2meta);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n cluster_offset = l2meta.cluster_offset;\n\n assert((cluster_offset & 511) == 0);\n\n\n\n qemu_iovec_reset(&hd_qiov);\n\n qemu_iovec_copy(&hd_qiov, qiov, bytes_done,\n\n cur_nr_sectors * 512);\n\n\n\n if (s->crypt_method) {\n\n if (!cluster_data) {\n\n cluster_data = g_malloc0(QCOW_MAX_CRYPT_CLUSTERS *\n\n s->cluster_size);\n\n }\n\n\n\n assert(hd_qiov.size <=\n\n QCOW_MAX_CRYPT_CLUSTERS * s->cluster_size);\n\n qemu_iovec_to_buffer(&hd_qiov, cluster_data);\n\n\n\n qcow2_encrypt_sectors(s, sector_num, cluster_data,\n\n cluster_data, cur_nr_sectors, 1, &s->aes_encrypt_key);\n\n\n\n qemu_iovec_reset(&hd_qiov);\n\n qemu_iovec_add(&hd_qiov, cluster_data,\n\n cur_nr_sectors * 512);\n\n }\n\n\n\n BLKDBG_EVENT(bs->file, BLKDBG_WRITE_AIO);\n\n qemu_co_mutex_unlock(&s->lock);\n\n ret = bdrv_co_writev(bs->file,\n\n (cluster_offset >> 9) + index_in_cluster,\n\n cur_nr_sectors, &hd_qiov);\n\n qemu_co_mutex_lock(&s->lock);\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n ret = qcow2_alloc_cluster_link_l2(bs, &l2meta);\n\n\n\n run_dependent_requests(s, &l2meta);\n\n\n\n if (ret < 0) {\n\n goto fail;\n\n }\n\n\n\n remaining_sectors -= cur_nr_sectors;\n\n sector_num += cur_nr_sectors;\n\n bytes_done += cur_nr_sectors * 512;\n\n }\n\n ret = 0;\n\n\n\nfail:\n\n qemu_co_mutex_unlock(&s->lock);\n\n\n\n qemu_iovec_destroy(&hd_qiov);\n\n\n\n\n return ret;\n\n}", "idx": 9922}967{"project": "qemu", "commit_id": "1e7398a140f7a6bd9f5a438e7ad0f1ef50990e25", "target": 1, "func": "int vhost_dev_init(struct vhost_dev *hdev, void *opaque,\n\n VhostBackendType backend_type, bool force)\n\n{\n\n uint64_t features;\n\n int i, r;\n\n\n\n if (vhost_set_backend_type(hdev, backend_type) < 0) {\n\n close((uintptr_t)opaque);\n\n return -1;\n\n }\n\n\n\n if (hdev->vhost_ops->vhost_backend_init(hdev, opaque) < 0) {\n\n close((uintptr_t)opaque);\n\n return -errno;\n\n }\n\n\n\n r = hdev->vhost_ops->vhost_call(hdev, VHOST_SET_OWNER, NULL);\n\n if (r < 0) {\n\n goto fail;\n\n }\n\n\n\n r = hdev->vhost_ops->vhost_call(hdev, VHOST_GET_FEATURES, &features);\n\n if (r < 0) {\n\n goto fail;\n\n }\n\n\n\n for (i = 0; i < hdev->nvqs; ++i) {\n\n r = vhost_virtqueue_init(hdev, hdev->vqs + i, i);\n\n if (r < 0) {\n\n goto fail_vq;\n\n }\n\n }\n\n hdev->features = features;\n\n\n\n hdev->memory_listener = (MemoryListener) {\n\n .begin = vhost_begin,\n\n .commit = vhost_commit,\n\n .region_add = vhost_region_add,\n\n .region_del = vhost_region_del,\n\n .region_nop = vhost_region_nop,\n\n .log_start = vhost_log_start,\n\n .log_stop = vhost_log_stop,\n\n .log_sync = vhost_log_sync,\n\n .log_global_start = vhost_log_global_start,\n\n .log_global_stop = vhost_log_global_stop,\n\n .eventfd_add = vhost_eventfd_add,\n\n .eventfd_del = vhost_eventfd_del,\n\n .priority = 10\n\n };\n\n hdev->migration_blocker = NULL;\n\n if (!(hdev->features & (0x1ULL << VHOST_F_LOG_ALL))) {\n\n error_setg(&hdev->migration_blocker,\n\n \"Migration disabled: vhost lacks VHOST_F_LOG_ALL feature.\");\n\n migrate_add_blocker(hdev->migration_blocker);\n\n }\n\n hdev->mem = g_malloc0(offsetof(struct vhost_memory, regions));\n\n hdev->n_mem_sections = 0;\n\n hdev->mem_sections = NULL;\n\n hdev->log = NULL;\n\n hdev->log_size = 0;\n\n hdev->log_enabled = false;\n\n hdev->started = false;\n\n hdev->memory_changed = false;\n\n memory_listener_register(&hdev->memory_listener, &address_space_memory);\n\n hdev->force = force;\n\n return 0;\n\nfail_vq:\n\n while (--i >= 0) {\n\n vhost_virtqueue_cleanup(hdev->vqs + i);\n\n }\n\nfail:\n\n r = -errno;\n\n hdev->vhost_ops->vhost_backend_cleanup(hdev);\n\n return r;\n\n}\n", "idx": 9929}968{"project": "FFmpeg", "commit_id": "2fed05f53a881b64a02de7a324d67d8c029c6cf1", "target": 1, "func": "int ff_set_systematic_pal2(uint32_t pal[256], enum AVPixelFormat pix_fmt)\n\n{\n\n int i;\n\n\n\n for (i = 0; i < 256; i++) {\n\n int r, g, b;\n\n\n\n switch (pix_fmt) {\n\n case AV_PIX_FMT_RGB8:\n\n r = (i>>5 )*36;\n\n g = ((i>>2)&7)*36;\n\n b = (i&3 )*85;\n\n break;\n\n case AV_PIX_FMT_BGR8:\n\n b = (i>>6 )*85;\n\n g = ((i>>3)&7)*36;\n\n r = (i&7 )*36;\n\n break;\n\n case AV_PIX_FMT_RGB4_BYTE:\n\n r = (i>>3 )*255;\n\n g = ((i>>1)&3)*85;\n\n b = (i&1 )*255;\n\n break;\n\n case AV_PIX_FMT_BGR4_BYTE:\n\n b = (i>>3 )*255;\n\n g = ((i>>1)&3)*85;\n\n r = (i&1 )*255;\n\n break;\n\n case AV_PIX_FMT_GRAY8:\n\n r = b = g = i;\n\n break;\n\n default:\n\n return AVERROR(EINVAL);\n\n }\n\n pal[i] = b + (g<<8) + (r<<16) + (0xFF<<24);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 9934}969{"project": "qemu", "commit_id": "6a8f9661dc3c088ed0d2f5b41d940190407cbdc5", "target": 0, "func": "void qmp_transaction(TransactionActionList *dev_list, Error **errp)\n\n{\n\n TransactionActionList *dev_entry = dev_list;\n\n BlkTransactionState *state, *next;\n\n Error *local_err = NULL;\n\n\n\n QSIMPLEQ_HEAD(snap_bdrv_states, BlkTransactionState) snap_bdrv_states;\n\n QSIMPLEQ_INIT(&snap_bdrv_states);\n\n\n\n /* drain all i/o before any operations */\n\n bdrv_drain_all();\n\n\n\n /* We don't do anything in this loop that commits us to the operations */\n\n while (NULL != dev_entry) {\n\n TransactionAction *dev_info = NULL;\n\n const BdrvActionOps *ops;\n\n\n\n dev_info = dev_entry->value;\n\n dev_entry = dev_entry->next;\n\n\n\n assert(dev_info->kind < ARRAY_SIZE(actions));\n\n\n\n ops = &actions[dev_info->kind];\n\n assert(ops->instance_size > 0);\n\n\n\n state = g_malloc0(ops->instance_size);\n\n state->ops = ops;\n\n state->action = dev_info;\n\n QSIMPLEQ_INSERT_TAIL(&snap_bdrv_states, state, entry);\n\n\n\n state->ops->prepare(state, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n goto delete_and_fail;\n\n }\n\n }\n\n\n\n QSIMPLEQ_FOREACH(state, &snap_bdrv_states, entry) {\n\n if (state->ops->commit) {\n\n state->ops->commit(state);\n\n }\n\n }\n\n\n\n /* success */\n\n goto exit;\n\n\n\ndelete_and_fail:\n\n /* failure, and it is all-or-none; roll back all operations */\n\n QSIMPLEQ_FOREACH(state, &snap_bdrv_states, entry) {\n\n if (state->ops->abort) {\n\n state->ops->abort(state);\n\n }\n\n }\n\nexit:\n\n QSIMPLEQ_FOREACH_SAFE(state, &snap_bdrv_states, entry, next) {\n\n if (state->ops->clean) {\n\n state->ops->clean(state);\n\n }\n\n g_free(state);\n\n }\n\n}\n", "idx": 9943}970{"project": "qemu", "commit_id": "d15fda639ba356148fc7161bba863866fd2797ef", "target": 0, "func": "static int intel_hda_init(PCIDevice *pci)\n\n{\n\n IntelHDAState *d = DO_UPCAST(IntelHDAState, pci, pci);\n\n uint8_t *conf = d->pci.config;\n\n\n\n d->name = d->pci.qdev.info->name;\n\n\n\n pci_config_set_vendor_id(conf, PCI_VENDOR_ID_INTEL);\n\n pci_config_set_device_id(conf, 0x2668);\n\n pci_config_set_revision(conf, 1);\n\n pci_config_set_class(conf, PCI_CLASS_MULTIMEDIA_HD_AUDIO);\n\n pci_config_set_interrupt_pin(conf, 1);\n\n\n\n /* HDCTL off 0x40 bit 0 selects signaling mode (1-HDA, 0 - Ac97) 18.1.19 */\n\n conf[0x40] = 0x01;\n\n\n\n d->mmio_addr = cpu_register_io_memory(intel_hda_mmio_read,\n\n intel_hda_mmio_write, d,\n\n DEVICE_NATIVE_ENDIAN);\n\n pci_register_bar_simple(&d->pci, 0, 0x4000, 0, d->mmio_addr);\n\n if (d->msi) {\n\n msi_init(&d->pci, 0x50, 1, true, false);\n\n }\n\n\n\n hda_codec_bus_init(&d->pci.qdev, &d->codecs,\n\n intel_hda_response, intel_hda_xfer);\n\n\n\n return 0;\n\n}\n", "idx": 9956}971{"project": "qemu", "commit_id": "9ef91a677110ec200d7b2904fc4bcae5a77329ad", "target": 0, "func": "static BlockDriverAIOCB *raw_aio_writev(BlockDriverState *bs,\n\n int64_t sector_num, QEMUIOVector *qiov, int nb_sectors,\n\n BlockDriverCompletionFunc *cb, void *opaque)\n\n{\n\n RawAIOCB *acb;\n\n\n\n acb = raw_aio_setup(bs, sector_num, qiov, nb_sectors, cb, opaque);\n\n if (!acb)\n\n return NULL;\n\n if (qemu_paio_write(&acb->aiocb) < 0) {\n\n raw_aio_remove(acb);\n\n return NULL;\n\n }\n\n return &acb->common;\n\n}\n", "idx": 9961}972{"project": "FFmpeg", "commit_id": "3622988f2162e502727da476a70f5e4f48cd19c5", "target": 0, "func": "static inline void pred_direct_motion(H264Context * const h, int *mb_type){\n\n MpegEncContext * const s = &h->s;\n\n const int mb_xy = s->mb_x + s->mb_y*s->mb_stride;\n\n const int b8_xy = 2*s->mb_x + 2*s->mb_y*h->b8_stride;\n\n const int b4_xy = 4*s->mb_x + 4*s->mb_y*h->b_stride;\n\n const int mb_type_col = h->ref_list[1][0].mb_type[mb_xy];\n\n const int16_t (*l1mv0)[2] = (const int16_t (*)[2]) &h->ref_list[1][0].motion_val[0][b4_xy];\n\n const int8_t *l1ref0 = &h->ref_list[1][0].ref_index[0][b8_xy];\n\n const int is_b8x8 = IS_8X8(*mb_type);\n\n int sub_mb_type;\n\n int i8, i4;\n\n\n\n if(IS_8X8(mb_type_col) && !h->sps.direct_8x8_inference_flag){\n\n /* FIXME save sub mb types from previous frames (or derive from MVs)\n\n * so we know exactly what block size to use */\n\n sub_mb_type = MB_TYPE_8x8|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_4x4 */\n\n *mb_type = MB_TYPE_8x8;\n\n }else if(!is_b8x8 && (IS_16X16(mb_type_col) || IS_INTRA(mb_type_col))){\n\n sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */\n\n *mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_16x16 */\n\n }else{\n\n sub_mb_type = MB_TYPE_16x16|MB_TYPE_P0L0|MB_TYPE_P0L1|MB_TYPE_DIRECT2; /* B_SUB_8x8 */\n\n *mb_type = MB_TYPE_8x8;\n\n }\n\n if(!is_b8x8)\n\n *mb_type |= MB_TYPE_DIRECT2;\n\n\n\n tprintf(\"mb_type = %08x, sub_mb_type = %08x, is_b8x8 = %d, mb_type_col = %08x\\n\", *mb_type, sub_mb_type, is_b8x8, mb_type_col);\n\n \n\n if(h->direct_spatial_mv_pred){\n\n int ref[2];\n\n int mv[2][2];\n\n int list;\n\n\n\n /* ref = min(neighbors) */\n\n for(list=0; list<2; list++){\n\n int refa = h->ref_cache[list][scan8[0] - 1];\n\n int refb = h->ref_cache[list][scan8[0] - 8];\n\n int refc = h->ref_cache[list][scan8[0] - 8 + 4];\n\n if(refc == -2)\n\n refc = h->ref_cache[list][scan8[0] - 8 - 1];\n\n ref[list] = refa;\n\n if(ref[list] < 0 || (refb < ref[list] && refb >= 0))\n\n ref[list] = refb;\n\n if(ref[list] < 0 || (refc < ref[list] && refc >= 0))\n\n ref[list] = refc;\n\n if(ref[list] < 0)\n\n ref[list] = -1;\n\n }\n\n\n\n if(ref[0] < 0 && ref[1] < 0){\n\n ref[0] = ref[1] = 0;\n\n mv[0][0] = mv[0][1] =\n\n mv[1][0] = mv[1][1] = 0;\n\n }else{\n\n for(list=0; list<2; list++){\n\n if(ref[list] >= 0)\n\n pred_motion(h, 0, 4, list, ref[list], &mv[list][0], &mv[list][1]);\n\n else\n\n mv[list][0] = mv[list][1] = 0;\n\n }\n\n }\n\n\n\n if(ref[1] < 0){\n\n *mb_type &= ~MB_TYPE_P0L1;\n\n sub_mb_type &= ~MB_TYPE_P0L1;\n\n }else if(ref[0] < 0){\n\n *mb_type &= ~MB_TYPE_P0L0;\n\n sub_mb_type &= ~MB_TYPE_P0L0;\n\n }\n\n\n\n if(IS_16X16(*mb_type)){\n\n fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, ref[0], 1);\n\n fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, ref[1], 1);\n\n if(!IS_INTRA(mb_type_col) && l1ref0[0] == 0 &&\n\n ABS(l1mv0[0][0]) <= 1 && ABS(l1mv0[0][1]) <= 1){\n\n if(ref[0] > 0)\n\n fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv[0][0],mv[0][1]), 4);\n\n else\n\n fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, 0, 4);\n\n if(ref[1] > 0)\n\n fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, pack16to32(mv[1][0],mv[1][1]), 4);\n\n else\n\n fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, 0, 4);\n\n }else{\n\n fill_rectangle(&h->mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv[0][0],mv[0][1]), 4);\n\n fill_rectangle(&h->mv_cache[1][scan8[0]], 4, 4, 8, pack16to32(mv[1][0],mv[1][1]), 4);\n\n }\n\n }else{\n\n for(i8=0; i8<4; i8++){\n\n const int x8 = i8&1;\n\n const int y8 = i8>>1;\n\n \n\n if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8]))\n\n continue;\n\n h->sub_mb_type[i8] = sub_mb_type;\n\n \n\n fill_rectangle(&h->mv_cache[0][scan8[i8*4]], 2, 2, 8, pack16to32(mv[0][0],mv[0][1]), 4);\n\n fill_rectangle(&h->mv_cache[1][scan8[i8*4]], 2, 2, 8, pack16to32(mv[1][0],mv[1][1]), 4);\n\n fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, ref[0], 1);\n\n fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, ref[1], 1);\n\n \n\n /* col_zero_flag */\n\n if(!IS_INTRA(mb_type_col) && l1ref0[x8 + y8*h->b8_stride] == 0){\n\n for(i4=0; i4<4; i4++){\n\n const int16_t *mv_col = l1mv0[x8*2 + (i4&1) + (y8*2 + (i4>>1))*h->b_stride];\n\n if(ABS(mv_col[0]) <= 1 && ABS(mv_col[1]) <= 1){\n\n if(ref[0] == 0)\n\n *(uint32_t*)h->mv_cache[0][scan8[i8*4+i4]] = 0;\n\n if(ref[1] == 0)\n\n *(uint32_t*)h->mv_cache[1][scan8[i8*4+i4]] = 0;\n\n }\n\n }\n\n }\n\n }\n\n }\n\n }else{ /* direct temporal mv pred */\n\n /* FIXME assumes that L1ref0 used the same ref lists as current frame */\n\n if(IS_16X16(*mb_type)){\n\n fill_rectangle(&h->ref_cache[1][scan8[0]], 4, 4, 8, 0, 1);\n\n if(IS_INTRA(mb_type_col)){\n\n fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, 0, 1);\n\n fill_rectangle(&h-> mv_cache[0][scan8[0]], 4, 4, 8, 0, 4);\n\n fill_rectangle(&h-> mv_cache[1][scan8[0]], 4, 4, 8, 0, 4);\n\n }else{\n\n const int ref0 = l1ref0[0];\n\n const int dist_scale_factor = h->dist_scale_factor[ref0];\n\n const int16_t *mv_col = l1mv0[0];\n\n int mv_l0[2];\n\n mv_l0[0] = (dist_scale_factor * mv_col[0] + 128) >> 8;\n\n mv_l0[1] = (dist_scale_factor * mv_col[1] + 128) >> 8;\n\n fill_rectangle(&h->ref_cache[0][scan8[0]], 4, 4, 8, ref0, 1);\n\n fill_rectangle(&h-> mv_cache[0][scan8[0]], 4, 4, 8, pack16to32(mv_l0[0],mv_l0[1]), 4);\n\n fill_rectangle(&h-> mv_cache[1][scan8[0]], 4, 4, 8, pack16to32(mv_l0[0]-mv_col[0],mv_l0[1]-mv_col[1]), 4);\n\n }\n\n }else{\n\n for(i8=0; i8<4; i8++){\n\n const int x8 = i8&1;\n\n const int y8 = i8>>1;\n\n int ref0, dist_scale_factor;\n\n \n\n if(is_b8x8 && !IS_DIRECT(h->sub_mb_type[i8]))\n\n continue;\n\n h->sub_mb_type[i8] = sub_mb_type;\n\n if(IS_INTRA(mb_type_col)){\n\n fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, 0, 1);\n\n fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, 0, 1);\n\n fill_rectangle(&h-> mv_cache[0][scan8[i8*4]], 2, 2, 8, 0, 4);\n\n fill_rectangle(&h-> mv_cache[1][scan8[i8*4]], 2, 2, 8, 0, 4);\n\n continue;\n\n }\n\n \n\n ref0 = l1ref0[x8 + y8*h->b8_stride];\n\n dist_scale_factor = h->dist_scale_factor[ref0];\n\n \n\n fill_rectangle(&h->ref_cache[0][scan8[i8*4]], 2, 2, 8, ref0, 1);\n\n fill_rectangle(&h->ref_cache[1][scan8[i8*4]], 2, 2, 8, 0, 1);\n\n for(i4=0; i4<4; i4++){\n\n const int16_t *mv_col = l1mv0[x8*2 + (i4&1) + (y8*2 + (i4>>1))*h->b_stride];\n\n int16_t *mv_l0 = h->mv_cache[0][scan8[i8*4+i4]];\n\n mv_l0[0] = (dist_scale_factor * mv_col[0] + 128) >> 8;\n\n mv_l0[1] = (dist_scale_factor * mv_col[1] + 128) >> 8;\n\n *(uint32_t*)h->mv_cache[1][scan8[i8*4+i4]] =\n\n pack16to32(mv_l0[0]-mv_col[0],mv_l0[1]-mv_col[1]);\n\n }\n\n }\n\n }\n\n }\n\n}\n", "idx": 9977}973{"project": "qemu", "commit_id": "e3af7c788b73a6495eb9d94992ef11f6ad6f3c56", "target": 0, "func": "static inline uint32_t insn_get(CPUX86State *env, DisasContext *s, TCGMemOp ot)\n\n{\n\n uint32_t ret;\n\n\n\n switch (ot) {\n\n case MO_8:\n\n ret = cpu_ldub_code(env, s->pc);\n\n s->pc++;\n\n break;\n\n case MO_16:\n\n ret = cpu_lduw_code(env, s->pc);\n\n s->pc += 2;\n\n break;\n\n case MO_32:\n\n#ifdef TARGET_X86_64\n\n case MO_64:\n\n#endif\n\n ret = cpu_ldl_code(env, s->pc);\n\n s->pc += 4;\n\n break;\n\n default:\n\n tcg_abort();\n\n }\n\n return ret;\n\n}\n", "idx": 10000}974{"project": "qemu", "commit_id": "61007b316cd71ee7333ff7a0a749a8949527575f", "target": 0, "func": "static void bdrv_throttle_write_timer_cb(void *opaque)\n\n{\n\n BlockDriverState *bs = opaque;\n\n qemu_co_enter_next(&bs->throttled_reqs[1]);\n\n}\n", "idx": 10026}975{"project": "qemu", "commit_id": "496272a7018ba01aa2b87a1a5ed866ff85133401", "target": 0, "func": "static int find_pte32(CPUPPCState *env, mmu_ctx_t *ctx, int h,\n\n int rw, int type, int target_page_bits)\n\n{\n\n hwaddr pteg_off;\n\n target_ulong pte0, pte1;\n\n int i, good = -1;\n\n int ret, r;\n\n\n\n ret = -1; /* No entry found */\n\n pteg_off = get_pteg_offset(env, ctx->hash[h], HASH_PTE_SIZE_32);\n\n for (i = 0; i < 8; i++) {\n\n if (env->external_htab) {\n\n pte0 = ldl_p(env->external_htab + pteg_off + (i * 8));\n\n pte1 = ldl_p(env->external_htab + pteg_off + (i * 8) + 4);\n\n } else {\n\n pte0 = ldl_phys(env->htab_base + pteg_off + (i * 8));\n\n pte1 = ldl_phys(env->htab_base + pteg_off + (i * 8) + 4);\n\n }\n\n r = pte_check_hash32(ctx, pte0, pte1, h, rw, type);\n\n LOG_MMU(\"Load pte from %08\" HWADDR_PRIx \" => \" TARGET_FMT_lx \" \"\n\n TARGET_FMT_lx \" %d %d %d \" TARGET_FMT_lx \"\\n\",\n\n pteg_off + (i * 8), pte0, pte1, (int)(pte0 >> 31), h,\n\n (int)((pte0 >> 6) & 1), ctx->ptem);\n\n switch (r) {\n\n case -3:\n\n /* PTE inconsistency */\n\n return -1;\n\n case -2:\n\n /* Access violation */\n\n ret = -2;\n\n good = i;\n\n break;\n\n case -1:\n\n default:\n\n /* No PTE match */\n\n break;\n\n case 0:\n\n /* access granted */\n\n /* XXX: we should go on looping to check all PTEs consistency\n\n * but if we can speed-up the whole thing as the\n\n * result would be undefined if PTEs are not consistent.\n\n */\n\n ret = 0;\n\n good = i;\n\n goto done;\n\n }\n\n }\n\n if (good != -1) {\n\n done:\n\n LOG_MMU(\"found PTE at addr %08\" HWADDR_PRIx \" prot=%01x ret=%d\\n\",\n\n ctx->raddr, ctx->prot, ret);\n\n /* Update page flags */\n\n pte1 = ctx->raddr;\n\n if (pte_update_flags(ctx, &pte1, ret, rw) == 1) {\n\n if (env->external_htab) {\n\n stl_p(env->external_htab + pteg_off + (good * 8) + 4,\n\n pte1);\n\n } else {\n\n stl_phys_notdirty(env->htab_base + pteg_off +\n\n (good * 8) + 4, pte1);\n\n }\n\n }\n\n }\n\n\n\n /* We have a TLB that saves 4K pages, so let's\n\n * split a huge page to 4k chunks */\n\n if (target_page_bits != TARGET_PAGE_BITS) {\n\n ctx->raddr |= (ctx->eaddr & ((1 << target_page_bits) - 1))\n\n & TARGET_PAGE_MASK;\n\n }\n\n return ret;\n\n}\n", "idx": 10049}976{"project": "qemu", "commit_id": "b9bec74bcb16519a876ec21cd5277c526a9b512d", "target": 0, "func": "static int kvm_put_xcrs(CPUState *env)\n\n{\n\n#ifdef KVM_CAP_XCRS\n\n struct kvm_xcrs xcrs;\n\n\n\n if (!kvm_has_xcrs())\n\n return 0;\n\n\n\n xcrs.nr_xcrs = 1;\n\n xcrs.flags = 0;\n\n xcrs.xcrs[0].xcr = 0;\n\n xcrs.xcrs[0].value = env->xcr0;\n\n return kvm_vcpu_ioctl(env, KVM_SET_XCRS, &xcrs);\n\n#else\n\n return 0;\n\n#endif\n\n}\n", "idx": 10055}977{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static ExitStatus gen_bcond_internal(DisasContext *ctx, TCGCond cond,\n\n TCGv cmp, int32_t disp)\n\n{\n\n uint64_t dest = ctx->pc + (disp << 2);\n\n int lab_true = gen_new_label();\n\n\n\n if (use_goto_tb(ctx, dest)) {\n\n tcg_gen_brcondi_i64(cond, cmp, 0, lab_true);\n\n\n\n tcg_gen_goto_tb(0);\n\n tcg_gen_movi_i64(cpu_pc, ctx->pc);\n\n tcg_gen_exit_tb((uintptr_t)ctx->tb);\n\n\n\n gen_set_label(lab_true);\n\n tcg_gen_goto_tb(1);\n\n tcg_gen_movi_i64(cpu_pc, dest);\n\n tcg_gen_exit_tb((uintptr_t)ctx->tb + 1);\n\n\n\n return EXIT_GOTO_TB;\n\n } else {\n\n TCGv_i64 z = tcg_const_i64(0);\n\n TCGv_i64 d = tcg_const_i64(dest);\n\n TCGv_i64 p = tcg_const_i64(ctx->pc);\n\n\n\n tcg_gen_movcond_i64(cond, cpu_pc, cmp, z, d, p);\n\n\n\n tcg_temp_free_i64(z);\n\n tcg_temp_free_i64(d);\n\n tcg_temp_free_i64(p);\n\n return EXIT_PC_UPDATED;\n\n }\n\n}\n", "idx": 10064}978{"project": "qemu", "commit_id": "1931e26054fdf2b1b84091f0b9662979eb6931ec", "target": 0, "func": "static uint32_t gt64120_read_config(PCIDevice *d, uint32_t address, int len)\n\n{\n\n uint32_t val = pci_default_read_config(d, address, len);\n\n#ifdef TARGET_WORDS_BIGENDIAN\n\n val = bswap32(val);\n\n#endif\n\n return val;\n\n}\n", "idx": 10081}979{"project": "qemu", "commit_id": "bbade20633a6b4ed7333e03a76038eda98950946", "target": 1, "func": "static void rtas_get_time_of_day(PowerPCCPU *cpu, sPAPREnvironment *spapr,\n\n uint32_t token, uint32_t nargs,\n\n target_ulong args,\n\n uint32_t nret, target_ulong rets)\n\n{\n\n struct tm tm;\n\n\n\n if (nret != 8) {\n\n rtas_st(rets, 0, RTAS_OUT_PARAM_ERROR);\n\n return;\n\n }\n\n\n\n qemu_get_timedate(&tm, spapr->rtc_offset);\n\n\n\n rtas_st(rets, 0, RTAS_OUT_SUCCESS);\n\n rtas_st(rets, 1, tm.tm_year + 1900);\n\n rtas_st(rets, 2, tm.tm_mon + 1);\n\n rtas_st(rets, 3, tm.tm_mday);\n\n rtas_st(rets, 4, tm.tm_hour);\n\n rtas_st(rets, 5, tm.tm_min);\n\n rtas_st(rets, 6, tm.tm_sec);\n\n rtas_st(rets, 7, 0); /* we don't do nanoseconds */\n\n}\n", "idx": 10104}980{"project": "qemu", "commit_id": "3d948cdf3760b52238038626a7ffa7d30913060b", "target": 0, "func": "void qmp_block_job_set_speed(const char *device, int64_t speed, Error **errp)\n\n{\n\n BlockJob *job = find_block_job(device);\n\n\n\n if (!job) {\n\n error_set(errp, QERR_BLOCK_JOB_NOT_ACTIVE, device);\n\n return;\n\n }\n\n\n\n block_job_set_speed(job, speed, errp);\n\n}\n", "idx": 10128}981{"project": "FFmpeg", "commit_id": "e8c4db0d4d07738fed716b1d2f20c85aac944641", "target": 0, "func": "static int create_stream(AVFormatContext *s)\n\n{\n\n XCBGrabContext *c = s->priv_data;\n\n AVStream *st = avformat_new_stream(s, NULL);\n\n xcb_get_geometry_cookie_t gc;\n\n xcb_get_geometry_reply_t *geo;\n\n int ret;\n\n\n\n if (!st)\n\n return AVERROR(ENOMEM);\n\n\n\n ret = av_parse_video_size(&c->width, &c->height, c->video_size);\n\n if (ret < 0)\n\n return ret;\n\n\n\n ret = av_parse_video_rate(&st->avg_frame_rate, c->framerate);\n\n if (ret < 0)\n\n return ret;\n\n\n\n avpriv_set_pts_info(st, 64, 1, 1000000);\n\n\n\n gc = xcb_get_geometry(c->conn, c->screen->root);\n\n geo = xcb_get_geometry_reply(c->conn, gc, NULL);\n\n\n\n c->width = FFMIN(geo->width, c->width);\n\n c->height = FFMIN(geo->height, c->height);\n\n c->time_base = (AVRational){ st->avg_frame_rate.den,\n\n st->avg_frame_rate.num };\n\n c->time_frame = av_gettime();\n\n\n\n st->codec->codec_type = AVMEDIA_TYPE_VIDEO;\n\n st->codec->codec_id = AV_CODEC_ID_RAWVIDEO;\n\n st->codec->width = c->width;\n\n st->codec->height = c->height;\n\n st->codec->time_base = c->time_base;\n\n\n\n ret = pixfmt_from_pixmap_format(s, geo->depth, &st->codec->pix_fmt);\n\n\n\n free(geo);\n\n\n\n return ret;\n\n}\n", "idx": 10161}982{"project": "FFmpeg", "commit_id": "02055b6d40d0cff867a9e41cad48edcaf6e10f2f", "target": 0, "func": "static int vorbis_parse_setup_hdr_codebooks(vorbis_context *vc)\n\n{\n\n unsigned cb;\n\n uint8_t *tmp_vlc_bits;\n\n uint32_t *tmp_vlc_codes;\n\n GetBitContext *gb = &vc->gb;\n\n uint16_t *codebook_multiplicands;\n\n int ret = 0;\n\n\n\n vc->codebook_count = get_bits(gb, 8) + 1;\n\n\n\n av_dlog(NULL, \" Codebooks: %d \\n\", vc->codebook_count);\n\n\n\n vc->codebooks = av_mallocz(vc->codebook_count * sizeof(*vc->codebooks));\n\n tmp_vlc_bits = av_mallocz(V_MAX_VLCS * sizeof(*tmp_vlc_bits));\n\n tmp_vlc_codes = av_mallocz(V_MAX_VLCS * sizeof(*tmp_vlc_codes));\n\n codebook_multiplicands = av_malloc(V_MAX_VLCS * sizeof(*codebook_multiplicands));\n\n\n\n for (cb = 0; cb < vc->codebook_count; ++cb) {\n\n vorbis_codebook *codebook_setup = &vc->codebooks[cb];\n\n unsigned ordered, t, entries, used_entries = 0;\n\n\n\n av_dlog(NULL, \" %u. Codebook\\n\", cb);\n\n\n\n if (get_bits(gb, 24) != 0x564342) {\n\n av_log(vc->avctx, AV_LOG_ERROR,\n\n \" %u. Codebook setup data corrupt.\\n\", cb);\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n\n\n codebook_setup->dimensions=get_bits(gb, 16);\n\n if (codebook_setup->dimensions > 16 || codebook_setup->dimensions == 0) {\n\n av_log(vc->avctx, AV_LOG_ERROR,\n\n \" %u. Codebook's dimension is invalid (%d).\\n\",\n\n cb, codebook_setup->dimensions);\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n entries = get_bits(gb, 24);\n\n if (entries > V_MAX_VLCS) {\n\n av_log(vc->avctx, AV_LOG_ERROR,\n\n \" %u. Codebook has too many entries (%u).\\n\",\n\n cb, entries);\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n\n\n ordered = get_bits1(gb);\n\n\n\n av_dlog(NULL, \" codebook_dimensions %d, codebook_entries %u\\n\",\n\n codebook_setup->dimensions, entries);\n\n\n\n if (!ordered) {\n\n unsigned ce, flag;\n\n unsigned sparse = get_bits1(gb);\n\n\n\n av_dlog(NULL, \" not ordered \\n\");\n\n\n\n if (sparse) {\n\n av_dlog(NULL, \" sparse \\n\");\n\n\n\n used_entries = 0;\n\n for (ce = 0; ce < entries; ++ce) {\n\n flag = get_bits1(gb);\n\n if (flag) {\n\n tmp_vlc_bits[ce] = get_bits(gb, 5) + 1;\n\n ++used_entries;\n\n } else\n\n tmp_vlc_bits[ce] = 0;\n\n }\n\n } else {\n\n av_dlog(NULL, \" not sparse \\n\");\n\n\n\n used_entries = entries;\n\n for (ce = 0; ce < entries; ++ce)\n\n tmp_vlc_bits[ce] = get_bits(gb, 5) + 1;\n\n }\n\n } else {\n\n unsigned current_entry = 0;\n\n unsigned current_length = get_bits(gb, 5) + 1;\n\n\n\n av_dlog(NULL, \" ordered, current length: %u\\n\", current_length); //FIXME\n\n\n\n used_entries = entries;\n\n for (; current_entry < used_entries && current_length <= 32; ++current_length) {\n\n unsigned i, number;\n\n\n\n av_dlog(NULL, \" number bits: %u \", ilog(entries - current_entry));\n\n\n\n number = get_bits(gb, ilog(entries - current_entry));\n\n\n\n av_dlog(NULL, \" number: %u\\n\", number);\n\n\n\n for (i = current_entry; i < number+current_entry; ++i)\n\n if (i < used_entries)\n\n tmp_vlc_bits[i] = current_length;\n\n\n\n current_entry+=number;\n\n }\n\n if (current_entry>used_entries) {\n\n av_log(vc->avctx, AV_LOG_ERROR, \" More codelengths than codes in codebook. \\n\");\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n }\n\n\n\n codebook_setup->lookup_type = get_bits(gb, 4);\n\n\n\n av_dlog(NULL, \" lookup type: %d : %s \\n\", codebook_setup->lookup_type,\n\n codebook_setup->lookup_type ? \"vq\" : \"no lookup\");\n\n\n\n// If the codebook is used for (inverse) VQ, calculate codevectors.\n\n\n\n if (codebook_setup->lookup_type == 1) {\n\n unsigned i, j, k;\n\n unsigned codebook_lookup_values = ff_vorbis_nth_root(entries, codebook_setup->dimensions);\n\n\n\n float codebook_minimum_value = vorbisfloat2float(get_bits_long(gb, 32));\n\n float codebook_delta_value = vorbisfloat2float(get_bits_long(gb, 32));\n\n unsigned codebook_value_bits = get_bits(gb, 4) + 1;\n\n unsigned codebook_sequence_p = get_bits1(gb);\n\n\n\n av_dlog(NULL, \" We expect %d numbers for building the codevectors. \\n\",\n\n codebook_lookup_values);\n\n av_dlog(NULL, \" delta %f minmum %f \\n\",\n\n codebook_delta_value, codebook_minimum_value);\n\n\n\n for (i = 0; i < codebook_lookup_values; ++i) {\n\n codebook_multiplicands[i] = get_bits(gb, codebook_value_bits);\n\n\n\n av_dlog(NULL, \" multiplicands*delta+minmum : %e \\n\",\n\n (float)codebook_multiplicands[i] * codebook_delta_value + codebook_minimum_value);\n\n av_dlog(NULL, \" multiplicand %u\\n\", codebook_multiplicands[i]);\n\n }\n\n\n\n// Weed out unused vlcs and build codevector vector\n\n codebook_setup->codevectors = used_entries ? av_mallocz(used_entries *\n\n codebook_setup->dimensions *\n\n sizeof(*codebook_setup->codevectors))\n\n : NULL;\n\n for (j = 0, i = 0; i < entries; ++i) {\n\n unsigned dim = codebook_setup->dimensions;\n\n\n\n if (tmp_vlc_bits[i]) {\n\n float last = 0.0;\n\n unsigned lookup_offset = i;\n\n\n\n av_dlog(vc->avctx, \"Lookup offset %u ,\", i);\n\n\n\n for (k = 0; k < dim; ++k) {\n\n unsigned multiplicand_offset = lookup_offset % codebook_lookup_values;\n\n codebook_setup->codevectors[j * dim + k] = codebook_multiplicands[multiplicand_offset] * codebook_delta_value + codebook_minimum_value + last;\n\n if (codebook_sequence_p)\n\n last = codebook_setup->codevectors[j * dim + k];\n\n lookup_offset/=codebook_lookup_values;\n\n }\n\n tmp_vlc_bits[j] = tmp_vlc_bits[i];\n\n\n\n av_dlog(vc->avctx, \"real lookup offset %u, vector: \", j);\n\n for (k = 0; k < dim; ++k)\n\n av_dlog(vc->avctx, \" %f \",\n\n codebook_setup->codevectors[j * dim + k]);\n\n av_dlog(vc->avctx, \"\\n\");\n\n\n\n ++j;\n\n }\n\n }\n\n if (j != used_entries) {\n\n av_log(vc->avctx, AV_LOG_ERROR, \"Bug in codevector vector building code. \\n\");\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n entries = used_entries;\n\n } else if (codebook_setup->lookup_type >= 2) {\n\n av_log(vc->avctx, AV_LOG_ERROR, \"Codebook lookup type not supported. \\n\");\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n\n\n// Initialize VLC table\n\n if (ff_vorbis_len2vlc(tmp_vlc_bits, tmp_vlc_codes, entries)) {\n\n av_log(vc->avctx, AV_LOG_ERROR, \" Invalid code lengths while generating vlcs. \\n\");\n\n ret = AVERROR_INVALIDDATA;\n\n goto error;\n\n }\n\n codebook_setup->maxdepth = 0;\n\n for (t = 0; t < entries; ++t)\n\n if (tmp_vlc_bits[t] >= codebook_setup->maxdepth)\n\n codebook_setup->maxdepth = tmp_vlc_bits[t];\n\n\n\n if (codebook_setup->maxdepth > 3 * V_NB_BITS)\n\n codebook_setup->nb_bits = V_NB_BITS2;\n\n else\n\n codebook_setup->nb_bits = V_NB_BITS;\n\n\n\n codebook_setup->maxdepth = (codebook_setup->maxdepth+codebook_setup->nb_bits - 1) / codebook_setup->nb_bits;\n\n\n\n if ((ret = init_vlc(&codebook_setup->vlc, codebook_setup->nb_bits,\n\n entries, tmp_vlc_bits, sizeof(*tmp_vlc_bits),\n\n sizeof(*tmp_vlc_bits), tmp_vlc_codes,\n\n sizeof(*tmp_vlc_codes), sizeof(*tmp_vlc_codes),\n\n INIT_VLC_LE))) {\n\n av_log(vc->avctx, AV_LOG_ERROR, \" Error generating vlc tables. \\n\");\n\n goto error;\n\n }\n\n }\n\n\n\n av_free(tmp_vlc_bits);\n\n av_free(tmp_vlc_codes);\n\n av_free(codebook_multiplicands);\n\n return 0;\n\n\n\n// Error:\n\nerror:\n\n av_free(tmp_vlc_bits);\n\n av_free(tmp_vlc_codes);\n\n av_free(codebook_multiplicands);\n\n return ret;\n\n}\n", "idx": 10175}983{"project": "qemu", "commit_id": "338c25b6929b5436a42aaa106c7e9136cf1ff4dc", "target": 1, "func": "static int htab_save_later_pass(QEMUFile *f, sPAPREnvironment *spapr,\n\n int64_t max_ns)\n\n{\n\n bool final = max_ns < 0;\n\n int htabslots = HTAB_SIZE(spapr) / HASH_PTE_SIZE_64;\n\n int examined = 0, sent = 0;\n\n int index = spapr->htab_save_index;\n\n int64_t starttime = qemu_clock_get_ns(QEMU_CLOCK_REALTIME);\n\n\n\n assert(!spapr->htab_first_pass);\n\n\n\n do {\n\n int chunkstart, invalidstart;\n\n\n\n /* Consume non-dirty HPTEs */\n\n while ((index < htabslots)\n\n && !HPTE_DIRTY(HPTE(spapr->htab, index))) {\n\n index++;\n\n examined++;\n\n }\n\n\n\n chunkstart = index;\n\n /* Consume valid dirty HPTEs */\n\n while ((index < htabslots)\n\n && HPTE_DIRTY(HPTE(spapr->htab, index))\n\n && HPTE_VALID(HPTE(spapr->htab, index))) {\n\n CLEAN_HPTE(HPTE(spapr->htab, index));\n\n index++;\n\n examined++;\n\n }\n\n\n\n invalidstart = index;\n\n /* Consume invalid dirty HPTEs */\n\n while ((index < htabslots)\n\n && HPTE_DIRTY(HPTE(spapr->htab, index))\n\n && !HPTE_VALID(HPTE(spapr->htab, index))) {\n\n CLEAN_HPTE(HPTE(spapr->htab, index));\n\n index++;\n\n examined++;\n\n }\n\n\n\n if (index > chunkstart) {\n\n int n_valid = invalidstart - chunkstart;\n\n int n_invalid = index - invalidstart;\n\n\n\n qemu_put_be32(f, chunkstart);\n\n qemu_put_be16(f, n_valid);\n\n qemu_put_be16(f, n_invalid);\n\n qemu_put_buffer(f, HPTE(spapr->htab, chunkstart),\n\n HASH_PTE_SIZE_64 * n_valid);\n\n sent += index - chunkstart;\n\n\n\n if (!final && (qemu_clock_get_ns(QEMU_CLOCK_REALTIME) - starttime) > max_ns) {\n\n break;\n\n }\n\n }\n\n\n\n if (examined >= htabslots) {\n\n break;\n\n }\n\n\n\n if (index >= htabslots) {\n\n assert(index == htabslots);\n\n index = 0;\n\n }\n\n } while ((examined < htabslots) && (!qemu_file_rate_limit(f) || final));\n\n\n\n if (index >= htabslots) {\n\n assert(index == htabslots);\n\n index = 0;\n\n }\n\n\n\n spapr->htab_save_index = index;\n\n\n\n return (examined >= htabslots) && (sent == 0) ? 1 : 0;\n\n}\n", "idx": 10180}984{"project": "qemu", "commit_id": "6c5b5645ae0b73c052df962e18e48d87bb7385e0", "target": 0, "func": "static abi_long do_socket(int domain, int type, int protocol)\n\n{\n\n int target_type = type;\n\n int ret;\n\n\n\n ret = target_to_host_sock_type(&type);\n\n if (ret) {\n\n return ret;\n\n }\n\n\n\n if (domain == PF_NETLINK)\n\n return -TARGET_EAFNOSUPPORT;\n\n\n\n if (domain == AF_PACKET ||\n\n (domain == AF_INET && type == SOCK_PACKET)) {\n\n protocol = tswap16(protocol);\n\n }\n\n\n\n ret = get_errno(socket(domain, type, protocol));\n\n if (ret >= 0) {\n\n ret = sock_flags_fixup(ret, target_type);\n\n if (type == SOCK_PACKET) {\n\n /* Manage an obsolete case :\n\n * if socket type is SOCK_PACKET, bind by name\n\n */\n\n fd_trans_register(ret, &target_packet_trans);\n\n }\n\n }\n\n return ret;\n\n}\n", "idx": 10190}985{"project": "qemu", "commit_id": "1a61a9ae61cdf7b7d24c3eb711fe772c196c235e", "target": 0, "func": "int kvmppc_get_hypercall(CPUPPCState *env, uint8_t *buf, int buf_len)\n\n{\n\n PowerPCCPU *cpu = ppc_env_get_cpu(env);\n\n CPUState *cs = CPU(cpu);\n\n uint32_t *hc = (uint32_t*)buf;\n\n\n\n struct kvm_ppc_pvinfo pvinfo;\n\n\n\n if (kvm_check_extension(cs->kvm_state, KVM_CAP_PPC_GET_PVINFO) &&\n\n !kvm_vm_ioctl(cs->kvm_state, KVM_PPC_GET_PVINFO, &pvinfo)) {\n\n memcpy(buf, pvinfo.hcall, buf_len);\n\n\n\n return 0;\n\n }\n\n\n\n /*\n\n * Fallback to always fail hypercalls:\n\n *\n\n * li r3, -1\n\n * nop\n\n * nop\n\n * nop\n\n */\n\n\n\n hc[0] = 0x3860ffff;\n\n hc[1] = 0x60000000;\n\n hc[2] = 0x60000000;\n\n hc[3] = 0x60000000;\n\n\n\n return 0;\n\n}\n", "idx": 10192}986{"project": "qemu", "commit_id": "1bcef683bf840a928d633755031ac572d5fdb851", "target": 0, "func": "void process_incoming_migration(QEMUFile *f)\n\n{\n\n if (qemu_loadvm_state(f) < 0) {\n\n fprintf(stderr, \"load of migration failed\\n\");\n\n exit(0);\n\n }\n\n qemu_announce_self();\n\n DPRINTF(\"successfully loaded vm state\\n\");\n\n\n\n incoming_expected = false;\n\n\n\n if (autostart) {\n\n vm_start();\n\n } else {\n\n runstate_set(RSTATE_PRE_LAUNCH);\n\n }\n\n}\n", "idx": 10194}987{"project": "FFmpeg", "commit_id": "979bea13003ef489d95d2538ac2fb1c26c6f103b", "target": 0, "func": "static int rv40_decode_mb_info(RV34DecContext *r)\n\n{\n\n MpegEncContext *s = &r->s;\n\n GetBitContext *gb = &s->gb;\n\n int q, i;\n\n int prev_type = 0;\n\n int mb_pos = s->mb_x + s->mb_y * s->mb_stride;\n\n int blocks[RV34_MB_TYPES] = {0};\n\n int count = 0;\n\n\n\n if(!r->s.mb_skip_run)\n\n r->s.mb_skip_run = svq3_get_ue_golomb(gb) + 1;\n\n\n\n if(--r->s.mb_skip_run)\n\n return RV34_MB_SKIP;\n\n\n\n if(r->avail_cache[6-1])\n\n blocks[r->mb_type[mb_pos - 1]]++;\n\n if(r->avail_cache[6-4]){\n\n blocks[r->mb_type[mb_pos - s->mb_stride]]++;\n\n if(r->avail_cache[6-2])\n\n blocks[r->mb_type[mb_pos - s->mb_stride + 1]]++;\n\n if(r->avail_cache[6-5])\n\n blocks[r->mb_type[mb_pos - s->mb_stride - 1]]++;\n\n }\n\n\n\n for(i = 0; i < RV34_MB_TYPES; i++){\n\n if(blocks[i] > count){\n\n count = blocks[i];\n\n prev_type = i;\n\n }\n\n }\n\n if(s->pict_type == AV_PICTURE_TYPE_P){\n\n prev_type = block_num_to_ptype_vlc_num[prev_type];\n\n q = get_vlc2(gb, ptype_vlc[prev_type].table, PTYPE_VLC_BITS, 1);\n\n if(q < PBTYPE_ESCAPE)\n\n return q;\n\n q = get_vlc2(gb, ptype_vlc[prev_type].table, PTYPE_VLC_BITS, 1);\n\n av_log(s->avctx, AV_LOG_ERROR, \"Dquant for P-frame\\n\");\n\n }else{\n\n prev_type = block_num_to_btype_vlc_num[prev_type];\n\n q = get_vlc2(gb, btype_vlc[prev_type].table, BTYPE_VLC_BITS, 1);\n\n if(q < PBTYPE_ESCAPE)\n\n return q;\n\n q = get_vlc2(gb, btype_vlc[prev_type].table, BTYPE_VLC_BITS, 1);\n\n av_log(s->avctx, AV_LOG_ERROR, \"Dquant for B-frame\\n\");\n\n }\n\n return 0;\n\n}\n", "idx": 10213}988{"project": "FFmpeg", "commit_id": "d1adad3cca407f493c3637e20ecd4f7124e69212", "target": 0, "func": "static inline void RENAME(yvu9_to_yuy2)(const uint8_t *src1, const uint8_t *src2, const uint8_t *src3,\n\n uint8_t *dst,\n\n long width, long height,\n\n long srcStride1, long srcStride2,\n\n long srcStride3, long dstStride)\n\n{\n\n x86_reg x;\n\n long y,w,h;\n\n w=width/2; h=height;\n\n for (y=0;y<h;y++) {\n\n const uint8_t* yp=src1+srcStride1*y;\n\n const uint8_t* up=src2+srcStride2*(y>>2);\n\n const uint8_t* vp=src3+srcStride3*(y>>2);\n\n uint8_t* d=dst+dstStride*y;\n\n x=0;\n\n#if COMPILE_TEMPLATE_MMX\n\n for (;x<w-7;x+=8) {\n\n __asm__ volatile(\n\n PREFETCH\" 32(%1, %0) \\n\\t\"\n\n PREFETCH\" 32(%2, %0) \\n\\t\"\n\n PREFETCH\" 32(%3, %0) \\n\\t\"\n\n \"movq (%1, %0, 4), %%mm0 \\n\\t\" /* Y0Y1Y2Y3Y4Y5Y6Y7 */\n\n \"movq (%2, %0), %%mm1 \\n\\t\" /* U0U1U2U3U4U5U6U7 */\n\n \"movq (%3, %0), %%mm2 \\n\\t\" /* V0V1V2V3V4V5V6V7 */\n\n \"movq %%mm0, %%mm3 \\n\\t\" /* Y0Y1Y2Y3Y4Y5Y6Y7 */\n\n \"movq %%mm1, %%mm4 \\n\\t\" /* U0U1U2U3U4U5U6U7 */\n\n \"movq %%mm2, %%mm5 \\n\\t\" /* V0V1V2V3V4V5V6V7 */\n\n \"punpcklbw %%mm1, %%mm1 \\n\\t\" /* U0U0 U1U1 U2U2 U3U3 */\n\n \"punpcklbw %%mm2, %%mm2 \\n\\t\" /* V0V0 V1V1 V2V2 V3V3 */\n\n \"punpckhbw %%mm4, %%mm4 \\n\\t\" /* U4U4 U5U5 U6U6 U7U7 */\n\n \"punpckhbw %%mm5, %%mm5 \\n\\t\" /* V4V4 V5V5 V6V6 V7V7 */\n\n\n\n \"movq %%mm1, %%mm6 \\n\\t\"\n\n \"punpcklbw %%mm2, %%mm1 \\n\\t\" /* U0V0 U0V0 U1V1 U1V1*/\n\n \"punpcklbw %%mm1, %%mm0 \\n\\t\" /* Y0U0 Y1V0 Y2U0 Y3V0*/\n\n \"punpckhbw %%mm1, %%mm3 \\n\\t\" /* Y4U1 Y5V1 Y6U1 Y7V1*/\n\n MOVNTQ\" %%mm0, (%4, %0, 8) \\n\\t\"\n\n MOVNTQ\" %%mm3, 8(%4, %0, 8) \\n\\t\"\n\n\n\n \"punpckhbw %%mm2, %%mm6 \\n\\t\" /* U2V2 U2V2 U3V3 U3V3*/\n\n \"movq 8(%1, %0, 4), %%mm0 \\n\\t\"\n\n \"movq %%mm0, %%mm3 \\n\\t\"\n\n \"punpcklbw %%mm6, %%mm0 \\n\\t\" /* Y U2 Y V2 Y U2 Y V2*/\n\n \"punpckhbw %%mm6, %%mm3 \\n\\t\" /* Y U3 Y V3 Y U3 Y V3*/\n\n MOVNTQ\" %%mm0, 16(%4, %0, 8) \\n\\t\"\n\n MOVNTQ\" %%mm3, 24(%4, %0, 8) \\n\\t\"\n\n\n\n \"movq %%mm4, %%mm6 \\n\\t\"\n\n \"movq 16(%1, %0, 4), %%mm0 \\n\\t\"\n\n \"movq %%mm0, %%mm3 \\n\\t\"\n\n \"punpcklbw %%mm5, %%mm4 \\n\\t\"\n\n \"punpcklbw %%mm4, %%mm0 \\n\\t\" /* Y U4 Y V4 Y U4 Y V4*/\n\n \"punpckhbw %%mm4, %%mm3 \\n\\t\" /* Y U5 Y V5 Y U5 Y V5*/\n\n MOVNTQ\" %%mm0, 32(%4, %0, 8) \\n\\t\"\n\n MOVNTQ\" %%mm3, 40(%4, %0, 8) \\n\\t\"\n\n\n\n \"punpckhbw %%mm5, %%mm6 \\n\\t\"\n\n \"movq 24(%1, %0, 4), %%mm0 \\n\\t\"\n\n \"movq %%mm0, %%mm3 \\n\\t\"\n\n \"punpcklbw %%mm6, %%mm0 \\n\\t\" /* Y U6 Y V6 Y U6 Y V6*/\n\n \"punpckhbw %%mm6, %%mm3 \\n\\t\" /* Y U7 Y V7 Y U7 Y V7*/\n\n MOVNTQ\" %%mm0, 48(%4, %0, 8) \\n\\t\"\n\n MOVNTQ\" %%mm3, 56(%4, %0, 8) \\n\\t\"\n\n\n\n : \"+r\" (x)\n\n : \"r\"(yp), \"r\" (up), \"r\"(vp), \"r\"(d)\n\n :\"memory\");\n\n }\n\n#endif\n\n for (; x<w; x++) {\n\n const long x2 = x<<2;\n\n d[8*x+0] = yp[x2];\n\n d[8*x+1] = up[x];\n\n d[8*x+2] = yp[x2+1];\n\n d[8*x+3] = vp[x];\n\n d[8*x+4] = yp[x2+2];\n\n d[8*x+5] = up[x];\n\n d[8*x+6] = yp[x2+3];\n\n d[8*x+7] = vp[x];\n\n }\n\n }\n\n#if COMPILE_TEMPLATE_MMX\n\n __asm__(\n\n EMMS\" \\n\\t\"\n\n SFENCE\" \\n\\t\"\n\n ::: \"memory\"\n\n );\n\n#endif\n\n}\n", "idx": 10233}989{"project": "FFmpeg", "commit_id": "381e195b46d080aee1d9b05ef2b6b140e9463519", "target": 0, "func": "static int pcm_decode_frame(AVCodecContext *avctx,\n\n void *data, int *data_size,\n\n AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n PCMDecode *s = avctx->priv_data;\n\n int sample_size, c, n, i;\n\n uint8_t *samples;\n\n const uint8_t *src, *src8, *src2[MAX_CHANNELS];\n\n int32_t *dst_int32_t;\n\n\n\n samples = data;\n\n src = buf;\n\n\n\n if (avctx->sample_fmt!=avctx->codec->sample_fmts[0]) {\n\n av_log(avctx, AV_LOG_ERROR, \"invalid sample_fmt\\n\");\n\n return -1;\n\n }\n\n\n\n if(avctx->channels <= 0 || avctx->channels > MAX_CHANNELS){\n\n av_log(avctx, AV_LOG_ERROR, \"PCM channels out of bounds\\n\");\n\n return -1;\n\n }\n\n\n\n sample_size = av_get_bits_per_sample(avctx->codec_id)/8;\n\n\n\n /* av_get_bits_per_sample returns 0 for CODEC_ID_PCM_DVD */\n\n if (CODEC_ID_PCM_DVD == avctx->codec_id)\n\n /* 2 samples are interleaved per block in PCM_DVD */\n\n sample_size = avctx->bits_per_coded_sample * 2 / 8;\n\n else if (avctx->codec_id == CODEC_ID_PCM_LXF)\n\n /* we process 40-bit blocks per channel for LXF */\n\n sample_size = 5;\n\n\n\n if (sample_size == 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"Invalid sample_size\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n\n\n n = avctx->channels * sample_size;\n\n\n\n if(n && buf_size % n){\n\n if (buf_size < n) {\n\n av_log(avctx, AV_LOG_ERROR, \"invalid PCM packet\\n\");\n\n return -1;\n\n }else\n\n buf_size -= buf_size % n;\n\n }\n\n\n\n buf_size= FFMIN(buf_size, *data_size/2);\n\n\n\n n = buf_size/sample_size;\n\n\n\n switch(avctx->codec->id) {\n\n case CODEC_ID_PCM_U32LE:\n\n DECODE(32, le32, src, samples, n, 0, 0x80000000)\n\n break;\n\n case CODEC_ID_PCM_U32BE:\n\n DECODE(32, be32, src, samples, n, 0, 0x80000000)\n\n break;\n\n case CODEC_ID_PCM_S24LE:\n\n DECODE(32, le24, src, samples, n, 8, 0)\n\n break;\n\n case CODEC_ID_PCM_S24BE:\n\n DECODE(32, be24, src, samples, n, 8, 0)\n\n break;\n\n case CODEC_ID_PCM_U24LE:\n\n DECODE(32, le24, src, samples, n, 8, 0x800000)\n\n break;\n\n case CODEC_ID_PCM_U24BE:\n\n DECODE(32, be24, src, samples, n, 8, 0x800000)\n\n break;\n\n case CODEC_ID_PCM_S24DAUD:\n\n for(;n>0;n--) {\n\n uint32_t v = bytestream_get_be24(&src);\n\n v >>= 4; // sync flags are here\n\n AV_WN16A(samples, av_reverse[(v >> 8) & 0xff] +\n\n (av_reverse[v & 0xff] << 8));\n\n samples += 2;\n\n }\n\n break;\n\n case CODEC_ID_PCM_S16LE_PLANAR:\n\n n /= avctx->channels;\n\n for(c=0;c<avctx->channels;c++)\n\n src2[c] = &src[c*n*2];\n\n for(;n>0;n--)\n\n for(c=0;c<avctx->channels;c++) {\n\n AV_WN16A(samples, bytestream_get_le16(&src2[c]));\n\n samples += 2;\n\n }\n\n src = src2[avctx->channels-1];\n\n break;\n\n case CODEC_ID_PCM_U16LE:\n\n DECODE(16, le16, src, samples, n, 0, 0x8000)\n\n break;\n\n case CODEC_ID_PCM_U16BE:\n\n DECODE(16, be16, src, samples, n, 0, 0x8000)\n\n break;\n\n case CODEC_ID_PCM_S8:\n\n for(;n>0;n--) {\n\n *samples++ = *src++ + 128;\n\n }\n\n break;\n\n#if HAVE_BIGENDIAN\n\n case CODEC_ID_PCM_F64LE:\n\n DECODE(64, le64, src, samples, n, 0, 0)\n\n break;\n\n case CODEC_ID_PCM_S32LE:\n\n case CODEC_ID_PCM_F32LE:\n\n DECODE(32, le32, src, samples, n, 0, 0)\n\n break;\n\n case CODEC_ID_PCM_S16LE:\n\n DECODE(16, le16, src, samples, n, 0, 0)\n\n break;\n\n case CODEC_ID_PCM_F64BE:\n\n case CODEC_ID_PCM_F32BE:\n\n case CODEC_ID_PCM_S32BE:\n\n case CODEC_ID_PCM_S16BE:\n\n#else\n\n case CODEC_ID_PCM_F64BE:\n\n DECODE(64, be64, src, samples, n, 0, 0)\n\n break;\n\n case CODEC_ID_PCM_F32BE:\n\n case CODEC_ID_PCM_S32BE:\n\n DECODE(32, be32, src, samples, n, 0, 0)\n\n break;\n\n case CODEC_ID_PCM_S16BE:\n\n DECODE(16, be16, src, samples, n, 0, 0)\n\n break;\n\n case CODEC_ID_PCM_F64LE:\n\n case CODEC_ID_PCM_F32LE:\n\n case CODEC_ID_PCM_S32LE:\n\n case CODEC_ID_PCM_S16LE:\n\n#endif /* HAVE_BIGENDIAN */\n\n case CODEC_ID_PCM_U8:\n\n memcpy(samples, src, n*sample_size);\n\n src += n*sample_size;\n\n samples += n * sample_size;\n\n break;\n\n case CODEC_ID_PCM_ZORK:\n\n for(;n>0;n--) {\n\n int x= *src++;\n\n if(x&128) x-= 128;\n\n else x = -x;\n\n AV_WN16A(samples, x << 8);\n\n samples += 2;\n\n }\n\n break;\n\n case CODEC_ID_PCM_ALAW:\n\n case CODEC_ID_PCM_MULAW:\n\n for(;n>0;n--) {\n\n AV_WN16A(samples, s->table[*src++]);\n\n samples += 2;\n\n }\n\n break;\n\n case CODEC_ID_PCM_DVD:\n\n dst_int32_t = data;\n\n n /= avctx->channels;\n\n switch (avctx->bits_per_coded_sample) {\n\n case 20:\n\n while (n--) {\n\n c = avctx->channels;\n\n src8 = src + 4*c;\n\n while (c--) {\n\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8 &0xf0) << 8);\n\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8++ &0x0f) << 12);\n\n }\n\n src = src8;\n\n }\n\n break;\n\n case 24:\n\n while (n--) {\n\n c = avctx->channels;\n\n src8 = src + 4*c;\n\n while (c--) {\n\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8++) << 8);\n\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8++) << 8);\n\n }\n\n src = src8;\n\n }\n\n break;\n\n default:\n\n av_log(avctx, AV_LOG_ERROR, \"PCM DVD unsupported sample depth\\n\");\n\n return -1;\n\n }\n\n samples = (uint8_t *) dst_int32_t;\n\n break;\n\n case CODEC_ID_PCM_LXF:\n\n dst_int32_t = data;\n\n n /= avctx->channels;\n\n //unpack and de-planerize\n\n for (i = 0; i < n; i++) {\n\n for (c = 0, src8 = src + i*5; c < avctx->channels; c++, src8 += n*5) {\n\n //extract low 20 bits and expand to 32 bits\n\n *dst_int32_t++ = (src8[2] << 28) | (src8[1] << 20) | (src8[0] << 12) |\n\n ((src8[2] & 0xF) << 8) | src8[1];\n\n }\n\n\n\n for (c = 0, src8 = src + i*5; c < avctx->channels; c++, src8 += n*5) {\n\n //extract high 20 bits and expand to 32 bits\n\n *dst_int32_t++ = (src8[4] << 24) | (src8[3] << 16) |\n\n ((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4);\n\n }\n\n }\n\n src += n * avctx->channels * 5;\n\n samples = (uint8_t *) dst_int32_t;\n\n break;\n\n default:\n\n return -1;\n\n }\n\n *data_size = samples - (uint8_t *)data;\n\n return src - buf;\n\n}\n", "idx": 10244}990{"project": "FFmpeg", "commit_id": "253d0be6a1ecc343d29ff8e1df0ddf961ab9c772", "target": 0, "func": "static int parse_presentation_segment(AVCodecContext *avctx,\n\n const uint8_t *buf, int buf_size,\n\n int64_t pts)\n\n{\n\n PGSSubContext *ctx = avctx->priv_data;\n\n\n\n int x, y, ret;\n\n\n\n int w = bytestream_get_be16(&buf);\n\n int h = bytestream_get_be16(&buf);\n\n\n\n ctx->presentation.pts = pts;\n\n\n\n av_dlog(avctx, \"Video Dimensions %dx%d\\n\",\n\n w, h);\n\n ret = ff_set_dimensions(avctx, w, h);\n\n if (ret < 0)\n\n return ret;\n\n\n\n /* Skip 1 bytes of unknown, frame rate? */\n\n buf++;\n\n\n\n ctx->presentation.id_number = bytestream_get_be16(&buf);\n\n\n\n /*\n\n * Skip 3 bytes of unknown:\n\n * state\n\n * palette_update_flag (0x80),\n\n * palette_id_to_use,\n\n */\n\n buf += 3;\n\n\n\n ctx->presentation.object_number = bytestream_get_byte(&buf);\n\n ctx->presentation.composition_flag = 0;\n\n if (!ctx->presentation.object_number)\n\n return 0;\n\n\n\n /*\n\n * Skip 3 bytes of unknown:\n\n * object_id_ref (2 bytes),\n\n * window_id_ref,\n\n */\n\n buf += 3;\n\n ctx->presentation.composition_flag = bytestream_get_byte(&buf);\n\n\n\n x = bytestream_get_be16(&buf);\n\n y = bytestream_get_be16(&buf);\n\n\n\n /* TODO If cropping, cropping_x, cropping_y, cropping_width, cropping_height (all 2 bytes).*/\n\n\n\n av_dlog(avctx, \"Subtitle Placement x=%d, y=%d\\n\", x, y);\n\n\n\n if (x > avctx->width || y > avctx->height) {\n\n av_log(avctx, AV_LOG_ERROR, \"Subtitle out of video bounds. x = %d, y = %d, video width = %d, video height = %d.\\n\",\n\n x, y, avctx->width, avctx->height);\n\n x = 0; y = 0;\n\n }\n\n\n\n /* Fill in dimensions */\n\n ctx->presentation.x = x;\n\n ctx->presentation.y = y;\n\n\n\n return 0;\n\n}\n", "idx": 10253}991{"project": "qemu", "commit_id": "39a7a362e16bb27e98738d63f24d1ab5811e26a8", "target": 0, "func": "void qemu_coroutine_delete(Coroutine *co_)\n\n{\n\n CoroutineThreadState *s = coroutine_get_thread_state();\n\n CoroutineUContext *co = DO_UPCAST(CoroutineUContext, base, co_);\n\n\n\n if (s->pool_size < POOL_MAX_SIZE) {\n\n QLIST_INSERT_HEAD(&s->pool, &co->base, pool_next);\n\n co->base.caller = NULL;\n\n s->pool_size++;\n\n return;\n\n }\n\n\n\n g_free(co->stack);\n\n g_free(co);\n\n}\n", "idx": 10266}992{"project": "qemu", "commit_id": "f090c9d4ad5812fb92843d6470a1111c15190c4c", "target": 0, "func": "int float64_eq_signaling( float64 a, float64 b STATUS_PARAM )\n\n{\n\n\n\n if ( ( ( extractFloat64Exp( a ) == 0x7FF ) && extractFloat64Frac( a ) )\n\n || ( ( extractFloat64Exp( b ) == 0x7FF ) && extractFloat64Frac( b ) )\n\n ) {\n\n float_raise( float_flag_invalid STATUS_VAR);\n\n return 0;\n\n }\n\n return ( a == b ) || ( (bits64) ( ( a | b )<<1 ) == 0 );\n\n\n\n}\n", "idx": 10268}993{"project": "qemu", "commit_id": "92dcc234ec1f266fb5d59bed77d66320c2c75965", "target": 0, "func": "static int tpm_passthrough_unix_tx_bufs(int tpm_fd,\n\n const uint8_t *in, uint32_t in_len,\n\n uint8_t *out, uint32_t out_len)\n\n{\n\n int ret;\n\n\n\n ret = tpm_passthrough_unix_write(tpm_fd, in, in_len);\n\n if (ret != in_len) {\n\n error_report(\"tpm_passthrough: error while transmitting data \"\n\n \"to TPM: %s (%i)\\n\",\n\n strerror(errno), errno);\n\n goto err_exit;\n\n }\n\n\n\n ret = tpm_passthrough_unix_read(tpm_fd, out, out_len);\n\n if (ret < 0) {\n\n error_report(\"tpm_passthrough: error while reading data from \"\n\n \"TPM: %s (%i)\\n\",\n\n strerror(errno), errno);\n\n } else if (ret < sizeof(struct tpm_resp_hdr) ||\n\n tpm_passthrough_get_size_from_buffer(out) != ret) {\n\n ret = -1;\n\n error_report(\"tpm_passthrough: received invalid response \"\n\n \"packet from TPM\\n\");\n\n }\n\n\n\nerr_exit:\n\n if (ret < 0) {\n\n tpm_write_fatal_error_response(out, out_len);\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 10269}994{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "int cpu_memory_rw_debug(CPUArchState *env, target_ulong addr,\n\n uint8_t *buf, int len, int is_write)\n\n{\n\n int l;\n\n target_phys_addr_t phys_addr;\n\n target_ulong page;\n\n\n\n while (len > 0) {\n\n page = addr & TARGET_PAGE_MASK;\n\n phys_addr = cpu_get_phys_page_debug(env, page);\n\n /* if no physical page mapped, return an error */\n\n if (phys_addr == -1)\n\n return -1;\n\n l = (page + TARGET_PAGE_SIZE) - addr;\n\n if (l > len)\n\n l = len;\n\n phys_addr += (addr & ~TARGET_PAGE_MASK);\n\n if (is_write)\n\n cpu_physical_memory_write_rom(phys_addr, buf, l);\n\n else\n\n cpu_physical_memory_rw(phys_addr, buf, l, is_write);\n\n len -= l;\n\n buf += l;\n\n addr += l;\n\n }\n\n return 0;\n\n}\n", "idx": 10278}995{"project": "qemu", "commit_id": "0919ac787641db11024912651f3bc5764d4f1286", "target": 0, "func": "struct omap_uwire_s *omap_uwire_init(MemoryRegion *system_memory,\n\n target_phys_addr_t base,\n\n qemu_irq *irq, qemu_irq dma, omap_clk clk)\n\n{\n\n struct omap_uwire_s *s = (struct omap_uwire_s *)\n\n g_malloc0(sizeof(struct omap_uwire_s));\n\n\n\n s->txirq = irq[0];\n\n s->rxirq = irq[1];\n\n s->txdrq = dma;\n\n omap_uwire_reset(s);\n\n\n\n memory_region_init_io(&s->iomem, &omap_uwire_ops, s, \"omap-uwire\", 0x800);\n\n memory_region_add_subregion(system_memory, base, &s->iomem);\n\n\n\n return s;\n\n}\n", "idx": 10282}996{"project": "qemu", "commit_id": "66668d197fa40747e835e15617eda2f1bc80982f", "target": 0, "func": "static int send_sub_rect(VncState *vs, int x, int y, int w, int h)\n\n{\n\n VncPalette *palette = &color_count_palette;\n\n uint32_t bg = 0, fg = 0;\n\n int colors;\n\n int ret = 0;\n\n#ifdef CONFIG_VNC_JPEG\n\n bool force_jpeg = false;\n\n bool allow_jpeg = true;\n\n#endif\n\n\n\n vnc_framebuffer_update(vs, x, y, w, h, vs->tight.type);\n\n\n\n vnc_tight_start(vs);\n\n vnc_raw_send_framebuffer_update(vs, x, y, w, h);\n\n vnc_tight_stop(vs);\n\n\n\n#ifdef CONFIG_VNC_JPEG\n\n if (!vs->vd->non_adaptive && vs->tight.quality != (uint8_t)-1) {\n\n double freq = vnc_update_freq(vs, x, y, w, h);\n\n\n\n if (freq < tight_jpeg_conf[vs->tight.quality].jpeg_freq_min) {\n\n allow_jpeg = false;\n\n }\n\n if (freq >= tight_jpeg_conf[vs->tight.quality].jpeg_freq_threshold) {\n\n force_jpeg = true;\n\n vnc_sent_lossy_rect(vs, x, y, w, h);\n\n }\n\n }\n\n#endif\n\n\n\n colors = tight_fill_palette(vs, x, y, w * h, &bg, &fg, palette);\n\n\n\n#ifdef CONFIG_VNC_JPEG\n\n if (allow_jpeg && vs->tight.quality != (uint8_t)-1) {\n\n ret = send_sub_rect_jpeg(vs, x, y, w, h, bg, fg, colors, palette,\n\n force_jpeg);\n\n } else {\n\n ret = send_sub_rect_nojpeg(vs, x, y, w, h, bg, fg, colors, palette);\n\n }\n\n#else\n\n ret = send_sub_rect_nojpeg(vs, x, y, w, h, bg, fg, colors, palette);\n\n#endif\n\n\n\n return ret;\n\n}\n", "idx": 10291}997{"project": "qemu", "commit_id": "5238c88657d751e3acf3e953a9b11f5f24262f75", "target": 0, "func": "static ExitStatus translate_one(DisasContext *ctx, uint32_t insn)\n\n{\n\n uint32_t palcode;\n\n int32_t disp21, disp16;\n\n#ifndef CONFIG_USER_ONLY\n\n int32_t disp12;\n\n#endif\n\n uint16_t fn11;\n\n uint8_t opc, ra, rb, rc, fpfn, fn7, islit, real_islit;\n\n uint8_t lit;\n\n ExitStatus ret;\n\n\n\n /* Decode all instruction fields */\n\n opc = insn >> 26;\n\n ra = (insn >> 21) & 0x1F;\n\n rb = (insn >> 16) & 0x1F;\n\n rc = insn & 0x1F;\n\n real_islit = islit = (insn >> 12) & 1;\n\n if (rb == 31 && !islit) {\n\n islit = 1;\n\n lit = 0;\n\n } else\n\n lit = (insn >> 13) & 0xFF;\n\n palcode = insn & 0x03FFFFFF;\n\n disp21 = ((int32_t)((insn & 0x001FFFFF) << 11)) >> 11;\n\n disp16 = (int16_t)(insn & 0x0000FFFF);\n\n#ifndef CONFIG_USER_ONLY\n\n disp12 = (int32_t)((insn & 0x00000FFF) << 20) >> 20;\n\n#endif\n\n fn11 = (insn >> 5) & 0x000007FF;\n\n fpfn = fn11 & 0x3F;\n\n fn7 = (insn >> 5) & 0x0000007F;\n\n LOG_DISAS(\"opc %02x ra %2d rb %2d rc %2d disp16 %6d\\n\",\n\n opc, ra, rb, rc, disp16);\n\n\n\n ret = NO_EXIT;\n\n switch (opc) {\n\n case 0x00:\n\n /* CALL_PAL */\n\n ret = gen_call_pal(ctx, palcode);\n\n break;\n\n case 0x01:\n\n /* OPC01 */\n\n goto invalid_opc;\n\n case 0x02:\n\n /* OPC02 */\n\n goto invalid_opc;\n\n case 0x03:\n\n /* OPC03 */\n\n goto invalid_opc;\n\n case 0x04:\n\n /* OPC04 */\n\n goto invalid_opc;\n\n case 0x05:\n\n /* OPC05 */\n\n goto invalid_opc;\n\n case 0x06:\n\n /* OPC06 */\n\n goto invalid_opc;\n\n case 0x07:\n\n /* OPC07 */\n\n goto invalid_opc;\n\n case 0x08:\n\n /* LDA */\n\n if (likely(ra != 31)) {\n\n if (rb != 31) {\n\n tcg_gen_addi_i64(cpu_ir[ra], cpu_ir[rb], disp16);\n\n } else {\n\n tcg_gen_movi_i64(cpu_ir[ra], disp16);\n\n }\n\n }\n\n break;\n\n case 0x09:\n\n /* LDAH */\n\n if (likely(ra != 31)) {\n\n if (rb != 31) {\n\n tcg_gen_addi_i64(cpu_ir[ra], cpu_ir[rb], disp16 << 16);\n\n } else {\n\n tcg_gen_movi_i64(cpu_ir[ra], disp16 << 16);\n\n }\n\n }\n\n break;\n\n case 0x0A:\n\n /* LDBU */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_BWX) {\n\n gen_load_mem(ctx, &tcg_gen_qemu_ld8u, ra, rb, disp16, 0, 0);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x0B:\n\n /* LDQ_U */\n\n gen_load_mem(ctx, &tcg_gen_qemu_ld64, ra, rb, disp16, 0, 1);\n\n break;\n\n case 0x0C:\n\n /* LDWU */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_BWX) {\n\n gen_load_mem(ctx, &tcg_gen_qemu_ld16u, ra, rb, disp16, 0, 0);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x0D:\n\n /* STW */\n\n gen_store_mem(ctx, &tcg_gen_qemu_st16, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x0E:\n\n /* STB */\n\n gen_store_mem(ctx, &tcg_gen_qemu_st8, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x0F:\n\n /* STQ_U */\n\n gen_store_mem(ctx, &tcg_gen_qemu_st64, ra, rb, disp16, 0, 1);\n\n break;\n\n case 0x10:\n\n switch (fn7) {\n\n case 0x00:\n\n /* ADDL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_addi_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n } else {\n\n tcg_gen_add_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x02:\n\n /* S4ADDL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 2);\n\n if (islit) {\n\n tcg_gen_addi_i64(tmp, tmp, lit);\n\n } else {\n\n tcg_gen_add_i64(tmp, tmp, cpu_ir[rb]);\n\n }\n\n tcg_gen_ext32s_i64(cpu_ir[rc], tmp);\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x09:\n\n /* SUBL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_subi_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_sub_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], -lit);\n\n } else {\n\n tcg_gen_neg_i64(cpu_ir[rc], cpu_ir[rb]);\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x0B:\n\n /* S4SUBL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 2);\n\n if (islit) {\n\n tcg_gen_subi_i64(tmp, tmp, lit);\n\n } else {\n\n tcg_gen_sub_i64(tmp, tmp, cpu_ir[rb]);\n\n }\n\n tcg_gen_ext32s_i64(cpu_ir[rc], tmp);\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], -lit);\n\n } else {\n\n tcg_gen_neg_i64(cpu_ir[rc], cpu_ir[rb]);\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x0F:\n\n /* CMPBGE */\n\n gen_cmpbge(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x12:\n\n /* S8ADDL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 3);\n\n if (islit) {\n\n tcg_gen_addi_i64(tmp, tmp, lit);\n\n } else {\n\n tcg_gen_add_i64(tmp, tmp, cpu_ir[rb]);\n\n }\n\n tcg_gen_ext32s_i64(cpu_ir[rc], tmp);\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x1B:\n\n /* S8SUBL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 3);\n\n if (islit) {\n\n tcg_gen_subi_i64(tmp, tmp, lit);\n\n } else {\n\n tcg_gen_sub_i64(tmp, tmp, cpu_ir[rb]);\n\n }\n\n tcg_gen_ext32s_i64(cpu_ir[rc], tmp);\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], -lit);\n\n } else {\n\n tcg_gen_neg_i64(cpu_ir[rc], cpu_ir[rb]);\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x1D:\n\n /* CMPULT */\n\n gen_cmp(TCG_COND_LTU, ra, rb, rc, islit, lit);\n\n break;\n\n case 0x20:\n\n /* ADDQ */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_addi_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_add_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x22:\n\n /* S4ADDQ */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 2);\n\n if (islit) {\n\n tcg_gen_addi_i64(cpu_ir[rc], tmp, lit);\n\n } else {\n\n tcg_gen_add_i64(cpu_ir[rc], tmp, cpu_ir[rb]);\n\n }\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x29:\n\n /* SUBQ */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_subi_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_sub_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], -lit);\n\n } else {\n\n tcg_gen_neg_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x2B:\n\n /* S4SUBQ */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 2);\n\n if (islit) {\n\n tcg_gen_subi_i64(cpu_ir[rc], tmp, lit);\n\n } else {\n\n tcg_gen_sub_i64(cpu_ir[rc], tmp, cpu_ir[rb]);\n\n }\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], -lit);\n\n } else {\n\n tcg_gen_neg_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x2D:\n\n /* CMPEQ */\n\n gen_cmp(TCG_COND_EQ, ra, rb, rc, islit, lit);\n\n break;\n\n case 0x32:\n\n /* S8ADDQ */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 3);\n\n if (islit) {\n\n tcg_gen_addi_i64(cpu_ir[rc], tmp, lit);\n\n } else {\n\n tcg_gen_add_i64(cpu_ir[rc], tmp, cpu_ir[rb]);\n\n }\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x3B:\n\n /* S8SUBQ */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_shli_i64(tmp, cpu_ir[ra], 3);\n\n if (islit) {\n\n tcg_gen_subi_i64(cpu_ir[rc], tmp, lit);\n\n } else {\n\n tcg_gen_sub_i64(cpu_ir[rc], tmp, cpu_ir[rb]);\n\n }\n\n tcg_temp_free(tmp);\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], -lit);\n\n } else {\n\n tcg_gen_neg_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x3D:\n\n /* CMPULE */\n\n gen_cmp(TCG_COND_LEU, ra, rb, rc, islit, lit);\n\n break;\n\n case 0x40:\n\n /* ADDL/V */\n\n gen_addlv(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x49:\n\n /* SUBL/V */\n\n gen_sublv(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x4D:\n\n /* CMPLT */\n\n gen_cmp(TCG_COND_LT, ra, rb, rc, islit, lit);\n\n break;\n\n case 0x60:\n\n /* ADDQ/V */\n\n gen_addqv(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x69:\n\n /* SUBQ/V */\n\n gen_subqv(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x6D:\n\n /* CMPLE */\n\n gen_cmp(TCG_COND_LE, ra, rb, rc, islit, lit);\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x11:\n\n switch (fn7) {\n\n case 0x00:\n\n /* AND */\n\n if (likely(rc != 31)) {\n\n if (ra == 31) {\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n } else if (islit) {\n\n tcg_gen_andi_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_and_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n case 0x08:\n\n /* BIC */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_andi_i64(cpu_ir[rc], cpu_ir[ra], ~lit);\n\n } else {\n\n tcg_gen_andc_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n }\n\n break;\n\n case 0x14:\n\n /* CMOVLBS */\n\n gen_cmov(TCG_COND_NE, ra, rb, rc, islit, lit, 1);\n\n break;\n\n case 0x16:\n\n /* CMOVLBC */\n\n gen_cmov(TCG_COND_EQ, ra, rb, rc, islit, lit, 1);\n\n break;\n\n case 0x20:\n\n /* BIS */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_ori_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_or_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x24:\n\n /* CMOVEQ */\n\n gen_cmov(TCG_COND_EQ, ra, rb, rc, islit, lit, 0);\n\n break;\n\n case 0x26:\n\n /* CMOVNE */\n\n gen_cmov(TCG_COND_NE, ra, rb, rc, islit, lit, 0);\n\n break;\n\n case 0x28:\n\n /* ORNOT */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_ori_i64(cpu_ir[rc], cpu_ir[ra], ~lit);\n\n } else {\n\n tcg_gen_orc_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], ~lit);\n\n } else {\n\n tcg_gen_not_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x40:\n\n /* XOR */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_xori_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_xor_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit);\n\n } else {\n\n tcg_gen_mov_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x44:\n\n /* CMOVLT */\n\n gen_cmov(TCG_COND_LT, ra, rb, rc, islit, lit, 0);\n\n break;\n\n case 0x46:\n\n /* CMOVGE */\n\n gen_cmov(TCG_COND_GE, ra, rb, rc, islit, lit, 0);\n\n break;\n\n case 0x48:\n\n /* EQV */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_xori_i64(cpu_ir[rc], cpu_ir[ra], ~lit);\n\n } else {\n\n tcg_gen_eqv_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n } else {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], ~lit);\n\n } else {\n\n tcg_gen_not_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n }\n\n break;\n\n case 0x61:\n\n /* AMASK */\n\n if (likely(rc != 31)) {\n\n uint64_t amask = ctx->tb->flags >> TB_FLAGS_AMASK_SHIFT;\n\n\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], lit & ~amask);\n\n } else {\n\n tcg_gen_andi_i64(cpu_ir[rc], cpu_ir[rb], ~amask);\n\n }\n\n }\n\n break;\n\n case 0x64:\n\n /* CMOVLE */\n\n gen_cmov(TCG_COND_LE, ra, rb, rc, islit, lit, 0);\n\n break;\n\n case 0x66:\n\n /* CMOVGT */\n\n gen_cmov(TCG_COND_GT, ra, rb, rc, islit, lit, 0);\n\n break;\n\n case 0x6C:\n\n /* IMPLVER */\n\n if (rc != 31) {\n\n tcg_gen_movi_i64(cpu_ir[rc], ctx->implver);\n\n }\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x12:\n\n switch (fn7) {\n\n case 0x02:\n\n /* MSKBL */\n\n gen_msk_l(ra, rb, rc, islit, lit, 0x01);\n\n break;\n\n case 0x06:\n\n /* EXTBL */\n\n gen_ext_l(ra, rb, rc, islit, lit, 0x01);\n\n break;\n\n case 0x0B:\n\n /* INSBL */\n\n gen_ins_l(ra, rb, rc, islit, lit, 0x01);\n\n break;\n\n case 0x12:\n\n /* MSKWL */\n\n gen_msk_l(ra, rb, rc, islit, lit, 0x03);\n\n break;\n\n case 0x16:\n\n /* EXTWL */\n\n gen_ext_l(ra, rb, rc, islit, lit, 0x03);\n\n break;\n\n case 0x1B:\n\n /* INSWL */\n\n gen_ins_l(ra, rb, rc, islit, lit, 0x03);\n\n break;\n\n case 0x22:\n\n /* MSKLL */\n\n gen_msk_l(ra, rb, rc, islit, lit, 0x0f);\n\n break;\n\n case 0x26:\n\n /* EXTLL */\n\n gen_ext_l(ra, rb, rc, islit, lit, 0x0f);\n\n break;\n\n case 0x2B:\n\n /* INSLL */\n\n gen_ins_l(ra, rb, rc, islit, lit, 0x0f);\n\n break;\n\n case 0x30:\n\n /* ZAP */\n\n gen_zap(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x31:\n\n /* ZAPNOT */\n\n gen_zapnot(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x32:\n\n /* MSKQL */\n\n gen_msk_l(ra, rb, rc, islit, lit, 0xff);\n\n break;\n\n case 0x34:\n\n /* SRL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_shri_i64(cpu_ir[rc], cpu_ir[ra], lit & 0x3f);\n\n } else {\n\n TCGv shift = tcg_temp_new();\n\n tcg_gen_andi_i64(shift, cpu_ir[rb], 0x3f);\n\n tcg_gen_shr_i64(cpu_ir[rc], cpu_ir[ra], shift);\n\n tcg_temp_free(shift);\n\n }\n\n } else\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n }\n\n break;\n\n case 0x36:\n\n /* EXTQL */\n\n gen_ext_l(ra, rb, rc, islit, lit, 0xff);\n\n break;\n\n case 0x39:\n\n /* SLL */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_shli_i64(cpu_ir[rc], cpu_ir[ra], lit & 0x3f);\n\n } else {\n\n TCGv shift = tcg_temp_new();\n\n tcg_gen_andi_i64(shift, cpu_ir[rb], 0x3f);\n\n tcg_gen_shl_i64(cpu_ir[rc], cpu_ir[ra], shift);\n\n tcg_temp_free(shift);\n\n }\n\n } else\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n }\n\n break;\n\n case 0x3B:\n\n /* INSQL */\n\n gen_ins_l(ra, rb, rc, islit, lit, 0xff);\n\n break;\n\n case 0x3C:\n\n /* SRA */\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n if (islit) {\n\n tcg_gen_sari_i64(cpu_ir[rc], cpu_ir[ra], lit & 0x3f);\n\n } else {\n\n TCGv shift = tcg_temp_new();\n\n tcg_gen_andi_i64(shift, cpu_ir[rb], 0x3f);\n\n tcg_gen_sar_i64(cpu_ir[rc], cpu_ir[ra], shift);\n\n tcg_temp_free(shift);\n\n }\n\n } else\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n }\n\n break;\n\n case 0x52:\n\n /* MSKWH */\n\n gen_msk_h(ra, rb, rc, islit, lit, 0x03);\n\n break;\n\n case 0x57:\n\n /* INSWH */\n\n gen_ins_h(ra, rb, rc, islit, lit, 0x03);\n\n break;\n\n case 0x5A:\n\n /* EXTWH */\n\n gen_ext_h(ra, rb, rc, islit, lit, 0x03);\n\n break;\n\n case 0x62:\n\n /* MSKLH */\n\n gen_msk_h(ra, rb, rc, islit, lit, 0x0f);\n\n break;\n\n case 0x67:\n\n /* INSLH */\n\n gen_ins_h(ra, rb, rc, islit, lit, 0x0f);\n\n break;\n\n case 0x6A:\n\n /* EXTLH */\n\n gen_ext_h(ra, rb, rc, islit, lit, 0x0f);\n\n break;\n\n case 0x72:\n\n /* MSKQH */\n\n gen_msk_h(ra, rb, rc, islit, lit, 0xff);\n\n break;\n\n case 0x77:\n\n /* INSQH */\n\n gen_ins_h(ra, rb, rc, islit, lit, 0xff);\n\n break;\n\n case 0x7A:\n\n /* EXTQH */\n\n gen_ext_h(ra, rb, rc, islit, lit, 0xff);\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x13:\n\n switch (fn7) {\n\n case 0x00:\n\n /* MULL */\n\n if (likely(rc != 31)) {\n\n if (ra == 31) {\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n } else {\n\n if (islit) {\n\n tcg_gen_muli_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_mul_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n tcg_gen_ext32s_i64(cpu_ir[rc], cpu_ir[rc]);\n\n }\n\n }\n\n break;\n\n case 0x20:\n\n /* MULQ */\n\n if (likely(rc != 31)) {\n\n if (ra == 31) {\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n } else if (islit) {\n\n tcg_gen_muli_i64(cpu_ir[rc], cpu_ir[ra], lit);\n\n } else {\n\n tcg_gen_mul_i64(cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n case 0x30:\n\n /* UMULH */\n\n {\n\n TCGv low;\n\n if (unlikely(rc == 31)){\n\n break;\n\n }\n\n if (ra == 31) {\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n break;\n\n }\n\n low = tcg_temp_new();\n\n if (islit) {\n\n tcg_gen_movi_tl(low, lit);\n\n tcg_gen_mulu2_i64(low, cpu_ir[rc], cpu_ir[ra], low);\n\n } else {\n\n tcg_gen_mulu2_i64(low, cpu_ir[rc], cpu_ir[ra], cpu_ir[rb]);\n\n }\n\n tcg_temp_free(low);\n\n }\n\n break;\n\n case 0x40:\n\n /* MULL/V */\n\n gen_mullv(ra, rb, rc, islit, lit);\n\n break;\n\n case 0x60:\n\n /* MULQ/V */\n\n gen_mulqv(ra, rb, rc, islit, lit);\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x14:\n\n switch (fpfn) { /* fn11 & 0x3F */\n\n case 0x04:\n\n /* ITOFS */\n\n if ((ctx->tb->flags & TB_FLAGS_AMASK_FIX) == 0) {\n\n goto invalid_opc;\n\n }\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv_i32 tmp = tcg_temp_new_i32();\n\n tcg_gen_trunc_i64_i32(tmp, cpu_ir[ra]);\n\n gen_helper_memory_to_s(cpu_fir[rc], tmp);\n\n tcg_temp_free_i32(tmp);\n\n } else\n\n tcg_gen_movi_i64(cpu_fir[rc], 0);\n\n }\n\n break;\n\n case 0x0A:\n\n /* SQRTF */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_FIX) {\n\n gen_fsqrtf(rb, rc);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x0B:\n\n /* SQRTS */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_FIX) {\n\n gen_fsqrts(ctx, rb, rc, fn11);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x14:\n\n /* ITOFF */\n\n if ((ctx->tb->flags & TB_FLAGS_AMASK_FIX) == 0) {\n\n goto invalid_opc;\n\n }\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n TCGv_i32 tmp = tcg_temp_new_i32();\n\n tcg_gen_trunc_i64_i32(tmp, cpu_ir[ra]);\n\n gen_helper_memory_to_f(cpu_fir[rc], tmp);\n\n tcg_temp_free_i32(tmp);\n\n } else\n\n tcg_gen_movi_i64(cpu_fir[rc], 0);\n\n }\n\n break;\n\n case 0x24:\n\n /* ITOFT */\n\n if ((ctx->tb->flags & TB_FLAGS_AMASK_FIX) == 0) {\n\n goto invalid_opc;\n\n }\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n tcg_gen_mov_i64(cpu_fir[rc], cpu_ir[ra]);\n\n } else {\n\n tcg_gen_movi_i64(cpu_fir[rc], 0);\n\n }\n\n }\n\n break;\n\n case 0x2A:\n\n /* SQRTG */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_FIX) {\n\n gen_fsqrtg(rb, rc);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x02B:\n\n /* SQRTT */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_FIX) {\n\n gen_fsqrtt(ctx, rb, rc, fn11);\n\n break;\n\n }\n\n goto invalid_opc;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x15:\n\n /* VAX floating point */\n\n /* XXX: rounding mode and trap are ignored (!) */\n\n switch (fpfn) { /* fn11 & 0x3F */\n\n case 0x00:\n\n /* ADDF */\n\n gen_faddf(ra, rb, rc);\n\n break;\n\n case 0x01:\n\n /* SUBF */\n\n gen_fsubf(ra, rb, rc);\n\n break;\n\n case 0x02:\n\n /* MULF */\n\n gen_fmulf(ra, rb, rc);\n\n break;\n\n case 0x03:\n\n /* DIVF */\n\n gen_fdivf(ra, rb, rc);\n\n break;\n\n case 0x1E:\n\n /* CVTDG */\n\n#if 0 // TODO\n\n gen_fcvtdg(rb, rc);\n\n#else\n\n goto invalid_opc;\n\n#endif\n\n break;\n\n case 0x20:\n\n /* ADDG */\n\n gen_faddg(ra, rb, rc);\n\n break;\n\n case 0x21:\n\n /* SUBG */\n\n gen_fsubg(ra, rb, rc);\n\n break;\n\n case 0x22:\n\n /* MULG */\n\n gen_fmulg(ra, rb, rc);\n\n break;\n\n case 0x23:\n\n /* DIVG */\n\n gen_fdivg(ra, rb, rc);\n\n break;\n\n case 0x25:\n\n /* CMPGEQ */\n\n gen_fcmpgeq(ra, rb, rc);\n\n break;\n\n case 0x26:\n\n /* CMPGLT */\n\n gen_fcmpglt(ra, rb, rc);\n\n break;\n\n case 0x27:\n\n /* CMPGLE */\n\n gen_fcmpgle(ra, rb, rc);\n\n break;\n\n case 0x2C:\n\n /* CVTGF */\n\n gen_fcvtgf(rb, rc);\n\n break;\n\n case 0x2D:\n\n /* CVTGD */\n\n#if 0 // TODO\n\n gen_fcvtgd(rb, rc);\n\n#else\n\n goto invalid_opc;\n\n#endif\n\n break;\n\n case 0x2F:\n\n /* CVTGQ */\n\n gen_fcvtgq(rb, rc);\n\n break;\n\n case 0x3C:\n\n /* CVTQF */\n\n gen_fcvtqf(rb, rc);\n\n break;\n\n case 0x3E:\n\n /* CVTQG */\n\n gen_fcvtqg(rb, rc);\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x16:\n\n /* IEEE floating-point */\n\n switch (fpfn) { /* fn11 & 0x3F */\n\n case 0x00:\n\n /* ADDS */\n\n gen_fadds(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x01:\n\n /* SUBS */\n\n gen_fsubs(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x02:\n\n /* MULS */\n\n gen_fmuls(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x03:\n\n /* DIVS */\n\n gen_fdivs(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x20:\n\n /* ADDT */\n\n gen_faddt(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x21:\n\n /* SUBT */\n\n gen_fsubt(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x22:\n\n /* MULT */\n\n gen_fmult(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x23:\n\n /* DIVT */\n\n gen_fdivt(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x24:\n\n /* CMPTUN */\n\n gen_fcmptun(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x25:\n\n /* CMPTEQ */\n\n gen_fcmpteq(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x26:\n\n /* CMPTLT */\n\n gen_fcmptlt(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x27:\n\n /* CMPTLE */\n\n gen_fcmptle(ctx, ra, rb, rc, fn11);\n\n break;\n\n case 0x2C:\n\n if (fn11 == 0x2AC || fn11 == 0x6AC) {\n\n /* CVTST */\n\n gen_fcvtst(ctx, rb, rc, fn11);\n\n } else {\n\n /* CVTTS */\n\n gen_fcvtts(ctx, rb, rc, fn11);\n\n }\n\n break;\n\n case 0x2F:\n\n /* CVTTQ */\n\n gen_fcvttq(ctx, rb, rc, fn11);\n\n break;\n\n case 0x3C:\n\n /* CVTQS */\n\n gen_fcvtqs(ctx, rb, rc, fn11);\n\n break;\n\n case 0x3E:\n\n /* CVTQT */\n\n gen_fcvtqt(ctx, rb, rc, fn11);\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x17:\n\n switch (fn11) {\n\n case 0x010:\n\n /* CVTLQ */\n\n gen_fcvtlq(rb, rc);\n\n break;\n\n case 0x020:\n\n if (likely(rc != 31)) {\n\n if (ra == rb) {\n\n /* FMOV */\n\n if (ra == 31) {\n\n tcg_gen_movi_i64(cpu_fir[rc], 0);\n\n } else {\n\n tcg_gen_mov_i64(cpu_fir[rc], cpu_fir[ra]);\n\n }\n\n } else {\n\n /* CPYS */\n\n gen_fcpys(ra, rb, rc);\n\n }\n\n }\n\n break;\n\n case 0x021:\n\n /* CPYSN */\n\n gen_fcpysn(ra, rb, rc);\n\n break;\n\n case 0x022:\n\n /* CPYSE */\n\n gen_fcpyse(ra, rb, rc);\n\n break;\n\n case 0x024:\n\n /* MT_FPCR */\n\n if (likely(ra != 31)) {\n\n gen_helper_store_fpcr(cpu_env, cpu_fir[ra]);\n\n } else {\n\n TCGv tmp = tcg_const_i64(0);\n\n gen_helper_store_fpcr(cpu_env, tmp);\n\n tcg_temp_free(tmp);\n\n }\n\n break;\n\n case 0x025:\n\n /* MF_FPCR */\n\n if (likely(ra != 31)) {\n\n gen_helper_load_fpcr(cpu_fir[ra], cpu_env);\n\n }\n\n break;\n\n case 0x02A:\n\n /* FCMOVEQ */\n\n gen_fcmov(TCG_COND_EQ, ra, rb, rc);\n\n break;\n\n case 0x02B:\n\n /* FCMOVNE */\n\n gen_fcmov(TCG_COND_NE, ra, rb, rc);\n\n break;\n\n case 0x02C:\n\n /* FCMOVLT */\n\n gen_fcmov(TCG_COND_LT, ra, rb, rc);\n\n break;\n\n case 0x02D:\n\n /* FCMOVGE */\n\n gen_fcmov(TCG_COND_GE, ra, rb, rc);\n\n break;\n\n case 0x02E:\n\n /* FCMOVLE */\n\n gen_fcmov(TCG_COND_LE, ra, rb, rc);\n\n break;\n\n case 0x02F:\n\n /* FCMOVGT */\n\n gen_fcmov(TCG_COND_GT, ra, rb, rc);\n\n break;\n\n case 0x030:\n\n /* CVTQL */\n\n gen_fcvtql(rb, rc);\n\n break;\n\n case 0x130:\n\n /* CVTQL/V */\n\n case 0x530:\n\n /* CVTQL/SV */\n\n /* ??? I'm pretty sure there's nothing that /sv needs to do that\n\n /v doesn't do. The only thing I can think is that /sv is a\n\n valid instruction merely for completeness in the ISA. */\n\n gen_fcvtql_v(ctx, rb, rc);\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x18:\n\n switch ((uint16_t)disp16) {\n\n case 0x0000:\n\n /* TRAPB */\n\n /* No-op. */\n\n break;\n\n case 0x0400:\n\n /* EXCB */\n\n /* No-op. */\n\n break;\n\n case 0x4000:\n\n /* MB */\n\n /* No-op */\n\n break;\n\n case 0x4400:\n\n /* WMB */\n\n /* No-op */\n\n break;\n\n case 0x8000:\n\n /* FETCH */\n\n /* No-op */\n\n break;\n\n case 0xA000:\n\n /* FETCH_M */\n\n /* No-op */\n\n break;\n\n case 0xC000:\n\n /* RPCC */\n\n if (ra != 31) {\n\n if (use_icount) {\n\n gen_io_start();\n\n gen_helper_load_pcc(cpu_ir[ra], cpu_env);\n\n gen_io_end();\n\n ret = EXIT_PC_STALE;\n\n } else {\n\n gen_helper_load_pcc(cpu_ir[ra], cpu_env);\n\n }\n\n }\n\n break;\n\n case 0xE000:\n\n /* RC */\n\n gen_rx(ra, 0);\n\n break;\n\n case 0xE800:\n\n /* ECB */\n\n break;\n\n case 0xF000:\n\n /* RS */\n\n gen_rx(ra, 1);\n\n break;\n\n case 0xF800:\n\n /* WH64 */\n\n /* No-op */\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x19:\n\n /* HW_MFPR (PALcode) */\n\n#ifndef CONFIG_USER_ONLY\n\n if (ctx->tb->flags & TB_FLAGS_PAL_MODE) {\n\n return gen_mfpr(ra, insn & 0xffff);\n\n }\n\n#endif\n\n goto invalid_opc;\n\n case 0x1A:\n\n /* JMP, JSR, RET, JSR_COROUTINE. These only differ by the branch\n\n prediction stack action, which of course we don't implement. */\n\n if (rb != 31) {\n\n tcg_gen_andi_i64(cpu_pc, cpu_ir[rb], ~3);\n\n } else {\n\n tcg_gen_movi_i64(cpu_pc, 0);\n\n }\n\n if (ra != 31) {\n\n tcg_gen_movi_i64(cpu_ir[ra], ctx->pc);\n\n }\n\n ret = EXIT_PC_UPDATED;\n\n break;\n\n case 0x1B:\n\n /* HW_LD (PALcode) */\n\n#ifndef CONFIG_USER_ONLY\n\n if (ctx->tb->flags & TB_FLAGS_PAL_MODE) {\n\n TCGv addr;\n\n\n\n if (ra == 31) {\n\n break;\n\n }\n\n\n\n addr = tcg_temp_new();\n\n if (rb != 31) {\n\n tcg_gen_addi_i64(addr, cpu_ir[rb], disp12);\n\n } else {\n\n tcg_gen_movi_i64(addr, disp12);\n\n }\n\n switch ((insn >> 12) & 0xF) {\n\n case 0x0:\n\n /* Longword physical access (hw_ldl/p) */\n\n gen_helper_ldl_phys(cpu_ir[ra], cpu_env, addr);\n\n break;\n\n case 0x1:\n\n /* Quadword physical access (hw_ldq/p) */\n\n gen_helper_ldq_phys(cpu_ir[ra], cpu_env, addr);\n\n break;\n\n case 0x2:\n\n /* Longword physical access with lock (hw_ldl_l/p) */\n\n gen_helper_ldl_l_phys(cpu_ir[ra], cpu_env, addr);\n\n break;\n\n case 0x3:\n\n /* Quadword physical access with lock (hw_ldq_l/p) */\n\n gen_helper_ldq_l_phys(cpu_ir[ra], cpu_env, addr);\n\n break;\n\n case 0x4:\n\n /* Longword virtual PTE fetch (hw_ldl/v) */\n\n goto invalid_opc;\n\n case 0x5:\n\n /* Quadword virtual PTE fetch (hw_ldq/v) */\n\n goto invalid_opc;\n\n break;\n\n case 0x6:\n\n /* Incpu_ir[ra]id */\n\n goto invalid_opc;\n\n case 0x7:\n\n /* Incpu_ir[ra]id */\n\n goto invalid_opc;\n\n case 0x8:\n\n /* Longword virtual access (hw_ldl) */\n\n goto invalid_opc;\n\n case 0x9:\n\n /* Quadword virtual access (hw_ldq) */\n\n goto invalid_opc;\n\n case 0xA:\n\n /* Longword virtual access with protection check (hw_ldl/w) */\n\n tcg_gen_qemu_ld_i64(cpu_ir[ra], addr, MMU_KERNEL_IDX, MO_LESL);\n\n break;\n\n case 0xB:\n\n /* Quadword virtual access with protection check (hw_ldq/w) */\n\n tcg_gen_qemu_ld_i64(cpu_ir[ra], addr, MMU_KERNEL_IDX, MO_LEQ);\n\n break;\n\n case 0xC:\n\n /* Longword virtual access with alt access mode (hw_ldl/a)*/\n\n goto invalid_opc;\n\n case 0xD:\n\n /* Quadword virtual access with alt access mode (hw_ldq/a) */\n\n goto invalid_opc;\n\n case 0xE:\n\n /* Longword virtual access with alternate access mode and\n\n protection checks (hw_ldl/wa) */\n\n tcg_gen_qemu_ld_i64(cpu_ir[ra], addr, MMU_USER_IDX, MO_LESL);\n\n break;\n\n case 0xF:\n\n /* Quadword virtual access with alternate access mode and\n\n protection checks (hw_ldq/wa) */\n\n tcg_gen_qemu_ld_i64(cpu_ir[ra], addr, MMU_USER_IDX, MO_LEQ);\n\n break;\n\n }\n\n tcg_temp_free(addr);\n\n break;\n\n }\n\n#endif\n\n goto invalid_opc;\n\n case 0x1C:\n\n switch (fn7) {\n\n case 0x00:\n\n /* SEXTB */\n\n if ((ctx->tb->flags & TB_FLAGS_AMASK_BWX) == 0) {\n\n goto invalid_opc;\n\n }\n\n if (likely(rc != 31)) {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], (int64_t)((int8_t)lit));\n\n } else {\n\n tcg_gen_ext8s_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n case 0x01:\n\n /* SEXTW */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_BWX) {\n\n if (likely(rc != 31)) {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], (int64_t)((int16_t)lit));\n\n } else {\n\n tcg_gen_ext16s_i64(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x30:\n\n /* CTPOP */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_CIX) {\n\n if (likely(rc != 31)) {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], ctpop64(lit));\n\n } else {\n\n gen_helper_ctpop(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x31:\n\n /* PERR */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_perr(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x32:\n\n /* CTLZ */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_CIX) {\n\n if (likely(rc != 31)) {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], clz64(lit));\n\n } else {\n\n gen_helper_ctlz(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x33:\n\n /* CTTZ */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_CIX) {\n\n if (likely(rc != 31)) {\n\n if (islit) {\n\n tcg_gen_movi_i64(cpu_ir[rc], ctz64(lit));\n\n } else {\n\n gen_helper_cttz(cpu_ir[rc], cpu_ir[rb]);\n\n }\n\n }\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x34:\n\n /* UNPKBW */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n if (real_islit || ra != 31) {\n\n goto invalid_opc;\n\n }\n\n gen_unpkbw(rb, rc);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x35:\n\n /* UNPKBL */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n if (real_islit || ra != 31) {\n\n goto invalid_opc;\n\n }\n\n gen_unpkbl(rb, rc);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x36:\n\n /* PKWB */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n if (real_islit || ra != 31) {\n\n goto invalid_opc;\n\n }\n\n gen_pkwb(rb, rc);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x37:\n\n /* PKLB */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n if (real_islit || ra != 31) {\n\n goto invalid_opc;\n\n }\n\n gen_pklb(rb, rc);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x38:\n\n /* MINSB8 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_minsb8(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x39:\n\n /* MINSW4 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_minsw4(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x3A:\n\n /* MINUB8 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_minub8(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x3B:\n\n /* MINUW4 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_minuw4(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x3C:\n\n /* MAXUB8 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_maxub8(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x3D:\n\n /* MAXUW4 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_maxuw4(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x3E:\n\n /* MAXSB8 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_maxsb8(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x3F:\n\n /* MAXSW4 */\n\n if (ctx->tb->flags & TB_FLAGS_AMASK_MVI) {\n\n gen_maxsw4(ra, rb, rc, islit, lit);\n\n break;\n\n }\n\n goto invalid_opc;\n\n case 0x70:\n\n /* FTOIT */\n\n if ((ctx->tb->flags & TB_FLAGS_AMASK_FIX) == 0) {\n\n goto invalid_opc;\n\n }\n\n if (likely(rc != 31)) {\n\n if (ra != 31) {\n\n tcg_gen_mov_i64(cpu_ir[rc], cpu_fir[ra]);\n\n } else {\n\n tcg_gen_movi_i64(cpu_ir[rc], 0);\n\n }\n\n }\n\n break;\n\n case 0x78:\n\n /* FTOIS */\n\n if ((ctx->tb->flags & TB_FLAGS_AMASK_FIX) == 0) {\n\n goto invalid_opc;\n\n }\n\n if (rc != 31) {\n\n TCGv_i32 tmp1 = tcg_temp_new_i32();\n\n if (ra != 31) {\n\n gen_helper_s_to_memory(tmp1, cpu_fir[ra]);\n\n } else {\n\n TCGv tmp2 = tcg_const_i64(0);\n\n gen_helper_s_to_memory(tmp1, tmp2);\n\n tcg_temp_free(tmp2);\n\n }\n\n tcg_gen_ext_i32_i64(cpu_ir[rc], tmp1);\n\n tcg_temp_free_i32(tmp1);\n\n }\n\n break;\n\n default:\n\n goto invalid_opc;\n\n }\n\n break;\n\n case 0x1D:\n\n /* HW_MTPR (PALcode) */\n\n#ifndef CONFIG_USER_ONLY\n\n if (ctx->tb->flags & TB_FLAGS_PAL_MODE) {\n\n return gen_mtpr(ctx, rb, insn & 0xffff);\n\n }\n\n#endif\n\n goto invalid_opc;\n\n case 0x1E:\n\n /* HW_RET (PALcode) */\n\n#ifndef CONFIG_USER_ONLY\n\n if (ctx->tb->flags & TB_FLAGS_PAL_MODE) {\n\n if (rb == 31) {\n\n /* Pre-EV6 CPUs interpreted this as HW_REI, loading the return\n\n address from EXC_ADDR. This turns out to be useful for our\n\n emulation PALcode, so continue to accept it. */\n\n TCGv tmp = tcg_temp_new();\n\n tcg_gen_ld_i64(tmp, cpu_env, offsetof(CPUAlphaState, exc_addr));\n\n gen_helper_hw_ret(cpu_env, tmp);\n\n tcg_temp_free(tmp);\n\n } else {\n\n gen_helper_hw_ret(cpu_env, cpu_ir[rb]);\n\n }\n\n ret = EXIT_PC_UPDATED;\n\n break;\n\n }\n\n#endif\n\n goto invalid_opc;\n\n case 0x1F:\n\n /* HW_ST (PALcode) */\n\n#ifndef CONFIG_USER_ONLY\n\n if (ctx->tb->flags & TB_FLAGS_PAL_MODE) {\n\n TCGv addr, val;\n\n addr = tcg_temp_new();\n\n if (rb != 31) {\n\n tcg_gen_addi_i64(addr, cpu_ir[rb], disp12);\n\n } else {\n\n tcg_gen_movi_i64(addr, disp12);\n\n }\n\n if (ra != 31) {\n\n val = cpu_ir[ra];\n\n } else {\n\n val = tcg_temp_new();\n\n tcg_gen_movi_i64(val, 0);\n\n }\n\n switch ((insn >> 12) & 0xF) {\n\n case 0x0:\n\n /* Longword physical access */\n\n gen_helper_stl_phys(cpu_env, addr, val);\n\n break;\n\n case 0x1:\n\n /* Quadword physical access */\n\n gen_helper_stq_phys(cpu_env, addr, val);\n\n break;\n\n case 0x2:\n\n /* Longword physical access with lock */\n\n gen_helper_stl_c_phys(val, cpu_env, addr, val);\n\n break;\n\n case 0x3:\n\n /* Quadword physical access with lock */\n\n gen_helper_stq_c_phys(val, cpu_env, addr, val);\n\n break;\n\n case 0x4:\n\n /* Longword virtual access */\n\n goto invalid_opc;\n\n case 0x5:\n\n /* Quadword virtual access */\n\n goto invalid_opc;\n\n case 0x6:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0x7:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0x8:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0x9:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0xA:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0xB:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0xC:\n\n /* Longword virtual access with alternate access mode */\n\n goto invalid_opc;\n\n case 0xD:\n\n /* Quadword virtual access with alternate access mode */\n\n goto invalid_opc;\n\n case 0xE:\n\n /* Invalid */\n\n goto invalid_opc;\n\n case 0xF:\n\n /* Invalid */\n\n goto invalid_opc;\n\n }\n\n if (ra == 31) {\n\n tcg_temp_free(val);\n\n }\n\n tcg_temp_free(addr);\n\n break;\n\n }\n\n#endif\n\n goto invalid_opc;\n\n case 0x20:\n\n /* LDF */\n\n gen_load_mem(ctx, &gen_qemu_ldf, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x21:\n\n /* LDG */\n\n gen_load_mem(ctx, &gen_qemu_ldg, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x22:\n\n /* LDS */\n\n gen_load_mem(ctx, &gen_qemu_lds, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x23:\n\n /* LDT */\n\n gen_load_mem(ctx, &tcg_gen_qemu_ld64, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x24:\n\n /* STF */\n\n gen_store_mem(ctx, &gen_qemu_stf, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x25:\n\n /* STG */\n\n gen_store_mem(ctx, &gen_qemu_stg, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x26:\n\n /* STS */\n\n gen_store_mem(ctx, &gen_qemu_sts, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x27:\n\n /* STT */\n\n gen_store_mem(ctx, &tcg_gen_qemu_st64, ra, rb, disp16, 1, 0);\n\n break;\n\n case 0x28:\n\n /* LDL */\n\n gen_load_mem(ctx, &tcg_gen_qemu_ld32s, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x29:\n\n /* LDQ */\n\n gen_load_mem(ctx, &tcg_gen_qemu_ld64, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x2A:\n\n /* LDL_L */\n\n gen_load_mem(ctx, &gen_qemu_ldl_l, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x2B:\n\n /* LDQ_L */\n\n gen_load_mem(ctx, &gen_qemu_ldq_l, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x2C:\n\n /* STL */\n\n gen_store_mem(ctx, &tcg_gen_qemu_st32, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x2D:\n\n /* STQ */\n\n gen_store_mem(ctx, &tcg_gen_qemu_st64, ra, rb, disp16, 0, 0);\n\n break;\n\n case 0x2E:\n\n /* STL_C */\n\n ret = gen_store_conditional(ctx, ra, rb, disp16, 0);\n\n break;\n\n case 0x2F:\n\n /* STQ_C */\n\n ret = gen_store_conditional(ctx, ra, rb, disp16, 1);\n\n break;\n\n case 0x30:\n\n /* BR */\n\n ret = gen_bdirect(ctx, ra, disp21);\n\n break;\n\n case 0x31: /* FBEQ */\n\n ret = gen_fbcond(ctx, TCG_COND_EQ, ra, disp21);\n\n break;\n\n case 0x32: /* FBLT */\n\n ret = gen_fbcond(ctx, TCG_COND_LT, ra, disp21);\n\n break;\n\n case 0x33: /* FBLE */\n\n ret = gen_fbcond(ctx, TCG_COND_LE, ra, disp21);\n\n break;\n\n case 0x34:\n\n /* BSR */\n\n ret = gen_bdirect(ctx, ra, disp21);\n\n break;\n\n case 0x35: /* FBNE */\n\n ret = gen_fbcond(ctx, TCG_COND_NE, ra, disp21);\n\n break;\n\n case 0x36: /* FBGE */\n\n ret = gen_fbcond(ctx, TCG_COND_GE, ra, disp21);\n\n break;\n\n case 0x37: /* FBGT */\n\n ret = gen_fbcond(ctx, TCG_COND_GT, ra, disp21);\n\n break;\n\n case 0x38:\n\n /* BLBC */\n\n ret = gen_bcond(ctx, TCG_COND_EQ, ra, disp21, 1);\n\n break;\n\n case 0x39:\n\n /* BEQ */\n\n ret = gen_bcond(ctx, TCG_COND_EQ, ra, disp21, 0);\n\n break;\n\n case 0x3A:\n\n /* BLT */\n\n ret = gen_bcond(ctx, TCG_COND_LT, ra, disp21, 0);\n\n break;\n\n case 0x3B:\n\n /* BLE */\n\n ret = gen_bcond(ctx, TCG_COND_LE, ra, disp21, 0);\n\n break;\n\n case 0x3C:\n\n /* BLBS */\n\n ret = gen_bcond(ctx, TCG_COND_NE, ra, disp21, 1);\n\n break;\n\n case 0x3D:\n\n /* BNE */\n\n ret = gen_bcond(ctx, TCG_COND_NE, ra, disp21, 0);\n\n break;\n\n case 0x3E:\n\n /* BGE */\n\n ret = gen_bcond(ctx, TCG_COND_GE, ra, disp21, 0);\n\n break;\n\n case 0x3F:\n\n /* BGT */\n\n ret = gen_bcond(ctx, TCG_COND_GT, ra, disp21, 0);\n\n break;\n\n invalid_opc:\n\n ret = gen_invalid(ctx);\n\n break;\n\n }\n\n\n\n return ret;\n\n}\n", "idx": 10295}998{"project": "FFmpeg", "commit_id": "53e5462040f6f7273fb6b0d7592eea1f5d26829f", "target": 0, "func": "inline static void RENAME(hcscale)(SwsContext *c, uint16_t *dst, long dstWidth, const uint8_t *src1, const uint8_t *src2,\n\n int srcW, int xInc, int flags, const int16_t *hChrFilter,\n\n const int16_t *hChrFilterPos, int hChrFilterSize,\n\n int srcFormat, uint8_t *formatConvBuffer,\n\n uint32_t *pal)\n\n{\n\n int32_t av_unused *mmx2FilterPos = c->chrMmx2FilterPos;\n\n int16_t av_unused *mmx2Filter = c->chrMmx2Filter;\n\n int av_unused canMMX2BeUsed = c->canMMX2BeUsed;\n\n void av_unused *mmx2FilterCode= c->chrMmx2FilterCode;\n\n\n\n if (isGray(srcFormat) || srcFormat==PIX_FMT_MONOBLACK || srcFormat==PIX_FMT_MONOWHITE)\n\n return;\n\n\n\n if (srcFormat==PIX_FMT_RGB32_1 || srcFormat==PIX_FMT_BGR32_1) {\n\n src1 += ALT32_CORR;\n\n src2 += ALT32_CORR;\n\n }\n\n\n\n if (srcFormat==PIX_FMT_RGB48LE) {\n\n src1++;\n\n src2++;\n\n }\n\n\n\n if (c->hcscale_internal) {\n\n c->hcscale_internal(formatConvBuffer, formatConvBuffer+VOFW, src1, src2, srcW, pal);\n\n src1= formatConvBuffer;\n\n src2= formatConvBuffer+VOFW;\n\n }\n\n\n\n#if COMPILE_TEMPLATE_MMX\n\n // Use the new MMX scaler if the MMX2 one can't be used (it is faster than the x86 ASM one).\n\n if (!(flags&SWS_FAST_BILINEAR) || (!canMMX2BeUsed))\n\n#else\n\n if (!(flags&SWS_FAST_BILINEAR))\n\n#endif\n\n {\n\n c->hScale(dst , dstWidth, src1, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize);\n\n c->hScale(dst+VOFW, dstWidth, src2, srcW, xInc, hChrFilter, hChrFilterPos, hChrFilterSize);\n\n } else { // fast bilinear upscale / crap downscale\n\n#if ARCH_X86 && CONFIG_GPL\n\n#if COMPILE_TEMPLATE_MMX2\n\n int i;\n\n#if defined(PIC)\n\n DECLARE_ALIGNED(8, uint64_t, ebxsave);\n\n#endif\n\n if (canMMX2BeUsed) {\n\n __asm__ volatile(\n\n#if defined(PIC)\n\n \"mov %%\"REG_b\", %6 \\n\\t\"\n\n#endif\n\n \"pxor %%mm7, %%mm7 \\n\\t\"\n\n \"mov %0, %%\"REG_c\" \\n\\t\"\n\n \"mov %1, %%\"REG_D\" \\n\\t\"\n\n \"mov %2, %%\"REG_d\" \\n\\t\"\n\n \"mov %3, %%\"REG_b\" \\n\\t\"\n\n \"xor %%\"REG_a\", %%\"REG_a\" \\n\\t\" // i\n\n PREFETCH\" (%%\"REG_c\") \\n\\t\"\n\n PREFETCH\" 32(%%\"REG_c\") \\n\\t\"\n\n PREFETCH\" 64(%%\"REG_c\") \\n\\t\"\n\n\n\n CALL_MMX2_FILTER_CODE\n\n CALL_MMX2_FILTER_CODE\n\n CALL_MMX2_FILTER_CODE\n\n CALL_MMX2_FILTER_CODE\n\n \"xor %%\"REG_a\", %%\"REG_a\" \\n\\t\" // i\n\n \"mov %5, %%\"REG_c\" \\n\\t\" // src\n\n \"mov %1, %%\"REG_D\" \\n\\t\" // buf1\n\n \"add $\"AV_STRINGIFY(VOF)\", %%\"REG_D\" \\n\\t\"\n\n PREFETCH\" (%%\"REG_c\") \\n\\t\"\n\n PREFETCH\" 32(%%\"REG_c\") \\n\\t\"\n\n PREFETCH\" 64(%%\"REG_c\") \\n\\t\"\n\n\n\n CALL_MMX2_FILTER_CODE\n\n CALL_MMX2_FILTER_CODE\n\n CALL_MMX2_FILTER_CODE\n\n CALL_MMX2_FILTER_CODE\n\n\n\n#if defined(PIC)\n\n \"mov %6, %%\"REG_b\" \\n\\t\"\n\n#endif\n\n :: \"m\" (src1), \"m\" (dst), \"m\" (mmx2Filter), \"m\" (mmx2FilterPos),\n\n \"m\" (mmx2FilterCode), \"m\" (src2)\n\n#if defined(PIC)\n\n ,\"m\" (ebxsave)\n\n#endif\n\n : \"%\"REG_a, \"%\"REG_c, \"%\"REG_d, \"%\"REG_S, \"%\"REG_D\n\n#if !defined(PIC)\n\n ,\"%\"REG_b\n\n#endif\n\n );\n\n for (i=dstWidth-1; (i*xInc)>>16 >=srcW-1; i--) {\n\n //printf(\"%d %d %d\\n\", dstWidth, i, srcW);\n\n dst[i] = src1[srcW-1]*128;\n\n dst[i+VOFW] = src2[srcW-1]*128;\n\n }\n\n } else {\n\n#endif /* COMPILE_TEMPLATE_MMX2 */\n\n x86_reg xInc_shr16 = (x86_reg) (xInc >> 16);\n\n uint16_t xInc_mask = xInc & 0xffff;\n\n __asm__ volatile(\n\n \"xor %%\"REG_a\", %%\"REG_a\" \\n\\t\" // i\n\n \"xor %%\"REG_d\", %%\"REG_d\" \\n\\t\" // xx\n\n \"xorl %%ecx, %%ecx \\n\\t\" // xalpha\n\n ASMALIGN(4)\n\n \"1: \\n\\t\"\n\n \"mov %0, %%\"REG_S\" \\n\\t\"\n\n \"movzbl (%%\"REG_S\", %%\"REG_d\"), %%edi \\n\\t\" //src[xx]\n\n \"movzbl 1(%%\"REG_S\", %%\"REG_d\"), %%esi \\n\\t\" //src[xx+1]\n\n FAST_BILINEAR_X86\n\n \"movw %%si, (%%\"REG_D\", %%\"REG_a\", 2) \\n\\t\"\n\n\n\n \"movzbl (%5, %%\"REG_d\"), %%edi \\n\\t\" //src[xx]\n\n \"movzbl 1(%5, %%\"REG_d\"), %%esi \\n\\t\" //src[xx+1]\n\n FAST_BILINEAR_X86\n\n \"movw %%si, \"AV_STRINGIFY(VOF)\"(%%\"REG_D\", %%\"REG_a\", 2) \\n\\t\"\n\n\n\n \"addw %4, %%cx \\n\\t\" //xalpha += xInc&0xFFFF\n\n \"adc %3, %%\"REG_d\" \\n\\t\" //xx+= xInc>>16 + carry\n\n \"add $1, %%\"REG_a\" \\n\\t\"\n\n \"cmp %2, %%\"REG_a\" \\n\\t\"\n\n \" jb 1b \\n\\t\"\n\n\n\n/* GCC 3.3 makes MPlayer crash on IA-32 machines when using \"g\" operand here,\n\n which is needed to support GCC 4.0. */\n\n#if ARCH_X86_64 && ((__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))\n\n :: \"m\" (src1), \"m\" (dst), \"g\" (dstWidth), \"m\" (xInc_shr16), \"m\" (xInc_mask),\n\n#else\n\n :: \"m\" (src1), \"m\" (dst), \"m\" (dstWidth), \"m\" (xInc_shr16), \"m\" (xInc_mask),\n\n#endif\n\n \"r\" (src2)\n\n : \"%\"REG_a, \"%\"REG_d, \"%ecx\", \"%\"REG_D, \"%esi\"\n\n );\n\n#if COMPILE_TEMPLATE_MMX2\n\n } //if MMX2 can't be used\n\n#endif\n\n#else\n\n c->hcscale_fast(c, dst, dstWidth, src1, src2, srcW, xInc);\n\n#endif /* ARCH_X86 */\n\n }\n\n if(c->srcRange != c->dstRange && !(isRGB(c->dstFormat) || isBGR(c->dstFormat))) {\n\n int i;\n\n //FIXME all pal and rgb srcFormats could do this convertion as well\n\n //FIXME all scalers more complex than bilinear could do half of this transform\n\n if(c->srcRange) {\n\n for (i=0; i<dstWidth; i++) {\n\n dst[i ]= (dst[i ]*1799 + 4081085)>>11; //1469\n\n dst[i+VOFW]= (dst[i+VOFW]*1799 + 4081085)>>11; //1469\n\n }\n\n } else {\n\n for (i=0; i<dstWidth; i++) {\n\n dst[i ]= (FFMIN(dst[i ],30775)*4663 - 9289992)>>12; //-264\n\n dst[i+VOFW]= (FFMIN(dst[i+VOFW],30775)*4663 - 9289992)>>12; //-264\n\n }\n\n }\n\n }\n\n}\n", "idx": 10308}999{"project": "qemu", "commit_id": "e8ede0a8bb5298a6979bcf7ed84ef64a64a4e3fe", "target": 0, "func": "float32 HELPER(ucf64_abss)(float32 a)\n\n{\n\n return float32_abs(a);\n\n}\n", "idx": 10316}1000{"project": "qemu", "commit_id": "b7680cb6078bd7294a3dd86473d3f2fdee991dd0", "target": 0, "func": "int qemu_thread_equal(QemuThread *thread1, QemuThread *thread2)\n\n{\n\n return pthread_equal(thread1->thread, thread2->thread);\n\n}\n", "idx": 10322}1001{"project": "qemu", "commit_id": "1b27d7a1e8609b2eeb6238f2c629eb82217523f6", "target": 0, "func": "static void ivshmem_io_writel(void *opaque, target_phys_addr_t addr,\n\n uint32_t val)\n\n{\n\n IVShmemState *s = opaque;\n\n\n\n uint64_t write_one = 1;\n\n uint16_t dest = val >> 16;\n\n uint16_t vector = val & 0xff;\n\n\n\n addr &= 0xfc;\n\n\n\n IVSHMEM_DPRINTF(\"writing to addr \" TARGET_FMT_plx \"\\n\", addr);\n\n switch (addr)\n\n {\n\n case INTRMASK:\n\n ivshmem_IntrMask_write(s, val);\n\n break;\n\n\n\n case INTRSTATUS:\n\n ivshmem_IntrStatus_write(s, val);\n\n break;\n\n\n\n case DOORBELL:\n\n /* check that dest VM ID is reasonable */\n\n if ((dest < 0) || (dest > s->max_peer)) {\n\n IVSHMEM_DPRINTF(\"Invalid destination VM ID (%d)\\n\", dest);\n\n break;\n\n }\n\n\n\n /* check doorbell range */\n\n if ((vector >= 0) && (vector < s->peers[dest].nb_eventfds)) {\n\n IVSHMEM_DPRINTF(\"Writing %\" PRId64 \" to VM %d on vector %d\\n\",\n\n write_one, dest, vector);\n\n if (write(s->peers[dest].eventfds[vector],\n\n &(write_one), 8) != 8) {\n\n IVSHMEM_DPRINTF(\"error writing to eventfd\\n\");\n\n }\n\n }\n\n break;\n\n default:\n\n IVSHMEM_DPRINTF(\"Invalid VM Doorbell VM %d\\n\", dest);\n\n }\n\n}\n", "idx": 10327}1002{"project": "qemu", "commit_id": "bd79255d2571a3c68820117caf94ea9afe1d527e", "target": 0, "func": "static inline void gen_outs(DisasContext *s, TCGMemOp ot)\n\n{\n\n if (use_icount)\n\n gen_io_start();\n\n gen_string_movl_A0_ESI(s);\n\n gen_op_ld_v(s, ot, cpu_T[0], cpu_A0);\n\n\n\n tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_regs[R_EDX]);\n\n tcg_gen_andi_i32(cpu_tmp2_i32, cpu_tmp2_i32, 0xffff);\n\n tcg_gen_trunc_tl_i32(cpu_tmp3_i32, cpu_T[0]);\n\n gen_helper_out_func(ot, cpu_tmp2_i32, cpu_tmp3_i32);\n\n\n\n gen_op_movl_T0_Dshift(ot);\n\n gen_op_add_reg_T0(s->aflag, R_ESI);\n\n if (use_icount)\n\n gen_io_end();\n\n}\n", "idx": 10333}1003{"project": "qemu", "commit_id": "b2bedb214469af55179d907a60cd67fed6b0779e", "target": 0, "func": "void test_fcmp(double a, double b)\n\n{\n\n long eflags, fpus;\n\n\n\n fpu_clear_exceptions();\n\n asm(\"fcom %2\\n\"\n\n \"fstsw %%ax\\n\"\n\n : \"=a\" (fpus)\n\n : \"t\" (a), \"u\" (b));\n\n printf(\"fcom(%f %f)=%04lx \\n\",\n\n a, b, fpus & (0x4500 | FPUS_EMASK));\n\n fpu_clear_exceptions();\n\n asm(\"fucom %2\\n\"\n\n \"fstsw %%ax\\n\"\n\n : \"=a\" (fpus)\n\n : \"t\" (a), \"u\" (b));\n\n printf(\"fucom(%f %f)=%04lx\\n\",\n\n a, b, fpus & (0x4500 | FPUS_EMASK));\n\n if (TEST_FCOMI) {\n\n /* test f(u)comi instruction */\n\n fpu_clear_exceptions();\n\n asm(\"fcomi %3, %2\\n\"\n\n \"fstsw %%ax\\n\"\n\n \"pushf\\n\"\n\n \"pop %0\\n\"\n\n : \"=r\" (eflags), \"=a\" (fpus)\n\n : \"t\" (a), \"u\" (b));\n\n printf(\"fcomi(%f %f)=%04lx %02lx\\n\",\n\n a, b, fpus & FPUS_EMASK, eflags & (CC_Z | CC_P | CC_C));\n\n fpu_clear_exceptions();\n\n asm(\"fucomi %3, %2\\n\"\n\n \"fstsw %%ax\\n\"\n\n \"pushf\\n\"\n\n \"pop %0\\n\"\n\n : \"=r\" (eflags), \"=a\" (fpus)\n\n : \"t\" (a), \"u\" (b));\n\n printf(\"fucomi(%f %f)=%04lx %02lx\\n\",\n\n a, b, fpus & FPUS_EMASK, eflags & (CC_Z | CC_P | CC_C));\n\n }\n\n fpu_clear_exceptions();\n\n asm volatile(\"fxam\\n\"\n\n \"fstsw %%ax\\n\"\n\n : \"=a\" (fpus)\n\n : \"t\" (a));\n\n printf(\"fxam(%f)=%04lx\\n\", a, fpus & 0x4700);\n\n fpu_clear_exceptions();\n\n}\n", "idx": 10338}1004{"project": "qemu", "commit_id": "b0706b716769494f321a0d2bfd9fa9893992f995", "target": 1, "func": "void tlb_set_page_with_attrs(CPUState *cpu, target_ulong vaddr,\n\n hwaddr paddr, MemTxAttrs attrs, int prot,\n\n int mmu_idx, target_ulong size)\n\n{\n\n CPUArchState *env = cpu->env_ptr;\n\n MemoryRegionSection *section;\n\n unsigned int index;\n\n target_ulong address;\n\n target_ulong code_address;\n\n uintptr_t addend;\n\n CPUTLBEntry *te;\n\n hwaddr iotlb, xlat, sz;\n\n unsigned vidx = env->vtlb_index++ % CPU_VTLB_SIZE;\n\n int asidx = cpu_asidx_from_attrs(cpu, attrs);\n\n\n\n assert_cpu_is_self(cpu);\n\n assert(size >= TARGET_PAGE_SIZE);\n\n if (size != TARGET_PAGE_SIZE) {\n\n tlb_add_large_page(env, vaddr, size);\n\n }\n\n\n\n sz = size;\n\n section = address_space_translate_for_iotlb(cpu, asidx, paddr, &xlat, &sz);\n\n assert(sz >= TARGET_PAGE_SIZE);\n\n\n\n tlb_debug(\"vaddr=\" TARGET_FMT_lx \" paddr=0x\" TARGET_FMT_plx\n\n \" prot=%x idx=%d\\n\",\n\n vaddr, paddr, prot, mmu_idx);\n\n\n\n address = vaddr;\n\n if (!memory_region_is_ram(section->mr) && !memory_region_is_romd(section->mr)) {\n\n /* IO memory case */\n\n address |= TLB_MMIO;\n\n addend = 0;\n\n } else {\n\n /* TLB_MMIO for rom/romd handled below */\n\n addend = (uintptr_t)memory_region_get_ram_ptr(section->mr) + xlat;\n\n }\n\n\n\n code_address = address;\n\n iotlb = memory_region_section_get_iotlb(cpu, section, vaddr, paddr, xlat,\n\n prot, &address);\n\n\n\n index = (vaddr >> TARGET_PAGE_BITS) & (CPU_TLB_SIZE - 1);\n\n te = &env->tlb_table[mmu_idx][index];\n\n\n\n /* do not discard the translation in te, evict it into a victim tlb */\n\n env->tlb_v_table[mmu_idx][vidx] = *te;\n\n env->iotlb_v[mmu_idx][vidx] = env->iotlb[mmu_idx][index];\n\n\n\n /* refill the tlb */\n\n env->iotlb[mmu_idx][index].addr = iotlb - vaddr;\n\n env->iotlb[mmu_idx][index].attrs = attrs;\n\n te->addend = addend - vaddr;\n\n if (prot & PAGE_READ) {\n\n te->addr_read = address;\n\n } else {\n\n te->addr_read = -1;\n\n }\n\n\n\n if (prot & PAGE_EXEC) {\n\n te->addr_code = code_address;\n\n } else {\n\n te->addr_code = -1;\n\n }\n\n if (prot & PAGE_WRITE) {\n\n if ((memory_region_is_ram(section->mr) && section->readonly)\n\n || memory_region_is_romd(section->mr)) {\n\n /* Write access calls the I/O callback. */\n\n te->addr_write = address | TLB_MMIO;\n\n } else if (memory_region_is_ram(section->mr)\n\n && cpu_physical_memory_is_clean(\n\n memory_region_get_ram_addr(section->mr) + xlat)) {\n\n te->addr_write = address | TLB_NOTDIRTY;\n\n } else {\n\n te->addr_write = address;\n\n }\n\n } else {\n\n te->addr_write = -1;\n\n }\n\n}\n", "idx": 10351}1005{"project": "qemu", "commit_id": "3a661f1eabf7e8db66e28489884d9b54aacb94ea", "target": 1, "func": "static int qcrypto_cipher_init_des_rfb(QCryptoCipher *cipher,\n\n const uint8_t *key, size_t nkey,\n\n Error **errp)\n\n{\n\n QCryptoCipherBuiltin *ctxt;\n\n\n\n if (cipher->mode != QCRYPTO_CIPHER_MODE_ECB) {\n\n error_setg(errp, \"Unsupported cipher mode %d\", cipher->mode);\n\n return -1;\n\n }\n\n\n\n ctxt = g_new0(QCryptoCipherBuiltin, 1);\n\n\n\n ctxt->state.desrfb.key = g_new0(uint8_t, nkey);\n\n memcpy(ctxt->state.desrfb.key, key, nkey);\n\n ctxt->state.desrfb.nkey = nkey;\n\n\n\n\n ctxt->free = qcrypto_cipher_free_des_rfb;\n\n ctxt->setiv = qcrypto_cipher_setiv_des_rfb;\n\n ctxt->encrypt = qcrypto_cipher_encrypt_des_rfb;\n\n ctxt->decrypt = qcrypto_cipher_decrypt_des_rfb;\n\n\n\n cipher->opaque = ctxt;\n\n\n\n return 0;\n\n}", "idx": 10355}1006{"project": "qemu", "commit_id": "f57ba05823b7c444133f0862077b45824a6a89b5", "target": 0, "func": "static int virtio_ccw_handle_set_vq(SubchDev *sch, CCW1 ccw, bool check_len,\n\n bool is_legacy)\n\n{\n\n int ret;\n\n VqInfoBlock info;\n\n VqInfoBlockLegacy linfo;\n\n size_t info_len = is_legacy ? sizeof(linfo) : sizeof(info);\n\n\n\n if (check_len) {\n\n if (ccw.count != info_len) {\n\n return -EINVAL;\n\n }\n\n } else if (ccw.count < info_len) {\n\n /* Can't execute command. */\n\n return -EINVAL;\n\n }\n\n if (!ccw.cda) {\n\n return -EFAULT;\n\n }\n\n if (is_legacy) {\n\n linfo.queue = address_space_ldq_be(&address_space_memory, ccw.cda,\n\n MEMTXATTRS_UNSPECIFIED, NULL);\n\n linfo.align = address_space_ldl_be(&address_space_memory,\n\n ccw.cda + sizeof(linfo.queue),\n\n MEMTXATTRS_UNSPECIFIED,\n\n NULL);\n\n linfo.index = address_space_lduw_be(&address_space_memory,\n\n ccw.cda + sizeof(linfo.queue)\n\n + sizeof(linfo.align),\n\n MEMTXATTRS_UNSPECIFIED,\n\n NULL);\n\n linfo.num = address_space_lduw_be(&address_space_memory,\n\n ccw.cda + sizeof(linfo.queue)\n\n + sizeof(linfo.align)\n\n + sizeof(linfo.index),\n\n MEMTXATTRS_UNSPECIFIED,\n\n NULL);\n\n ret = virtio_ccw_set_vqs(sch, NULL, &linfo);\n\n } else {\n\n info.desc = address_space_ldq_be(&address_space_memory, ccw.cda,\n\n MEMTXATTRS_UNSPECIFIED, NULL);\n\n info.index = address_space_lduw_be(&address_space_memory,\n\n ccw.cda + sizeof(info.desc)\n\n + sizeof(info.res0),\n\n MEMTXATTRS_UNSPECIFIED, NULL);\n\n info.num = address_space_lduw_be(&address_space_memory,\n\n ccw.cda + sizeof(info.desc)\n\n + sizeof(info.res0)\n\n + sizeof(info.index),\n\n MEMTXATTRS_UNSPECIFIED, NULL);\n\n info.avail = address_space_ldq_be(&address_space_memory,\n\n ccw.cda + sizeof(info.desc)\n\n + sizeof(info.res0)\n\n + sizeof(info.index)\n\n + sizeof(info.num),\n\n MEMTXATTRS_UNSPECIFIED, NULL);\n\n info.used = address_space_ldq_be(&address_space_memory,\n\n ccw.cda + sizeof(info.desc)\n\n + sizeof(info.res0)\n\n + sizeof(info.index)\n\n + sizeof(info.num)\n\n + sizeof(info.avail),\n\n MEMTXATTRS_UNSPECIFIED, NULL);\n\n ret = virtio_ccw_set_vqs(sch, &info, NULL);\n\n }\n\n sch->curr_status.scsw.count = 0;\n\n return ret;\n\n}\n", "idx": 10364}1007{"project": "qemu", "commit_id": "ddf21908961073199f3d186204da4810f2ea150b", "target": 0, "func": "static void vnc_client_cache_addr(VncState *client)\n\n{\n\n Error *err = NULL;\n\n\n\n client->info = g_malloc0(sizeof(*client->info));\n\n client->info->base = g_malloc0(sizeof(*client->info->base));\n\n vnc_init_basic_info_from_remote_addr(client->csock, client->info->base,\n\n &err);\n\n if (err) {\n\n qapi_free_VncClientInfo(client->info);\n\n client->info = NULL;\n\n error_free(err);\n\n }\n\n}\n", "idx": 10370}1008{"project": "qemu", "commit_id": "b131c74a0e485b084ddaffc8214c8a19af492be7", "target": 0, "func": "int kvm_irqchip_add_irqfd(KVMState *s, int fd, int virq)\n\n{\n\n return kvm_irqchip_assign_irqfd(s, fd, virq, true);\n\n}\n", "idx": 10374}1009{"project": "qemu", "commit_id": "cdbf6e165988ab9d7c01da03b9e27bb8ac0c76aa", "target": 0, "func": "static gboolean udp_chr_read(GIOChannel *chan, GIOCondition cond, void *opaque)\n\n{\n\n CharDriverState *chr = opaque;\n\n NetCharDriver *s = chr->opaque;\n\n gsize bytes_read = 0;\n\n GIOStatus status;\n\n\n\n if (s->max_size == 0)\n\n return FALSE;\n\n status = g_io_channel_read_chars(s->chan, (gchar *)s->buf, sizeof(s->buf),\n\n &bytes_read, NULL);\n\n s->bufcnt = bytes_read;\n\n s->bufptr = s->bufcnt;\n\n if (status != G_IO_STATUS_NORMAL) {\n\n return FALSE;\n\n }\n\n\n\n s->bufptr = 0;\n\n while (s->max_size > 0 && s->bufptr < s->bufcnt) {\n\n qemu_chr_be_write(chr, &s->buf[s->bufptr], 1);\n\n s->bufptr++;\n\n s->max_size = qemu_chr_be_can_write(chr);\n\n }\n\n\n\n return TRUE;\n\n}\n", "idx": 10385}1010{"project": "qemu", "commit_id": "a01d8cadadf4c0dad8fc5157ee56aea8ec323982", "target": 1, "func": "PCIBus *pci_prep_init(qemu_irq *pic)\n\n{\n\n PREPPCIState *s;\n\n PCIDevice *d;\n\n int PPC_io_memory;\n\n\n\n s = qemu_mallocz(sizeof(PREPPCIState));\n\n s->bus = pci_register_bus(prep_set_irq, prep_map_irq, pic, 0, 2);\n\n\n\n register_ioport_write(0xcf8, 4, 4, pci_prep_addr_writel, s);\n\n register_ioport_read(0xcf8, 4, 4, pci_prep_addr_readl, s);\n\n\n\n register_ioport_write(0xcfc, 4, 1, pci_host_data_writeb, s);\n\n register_ioport_write(0xcfc, 4, 2, pci_host_data_writew, s);\n\n register_ioport_write(0xcfc, 4, 4, pci_host_data_writel, s);\n\n register_ioport_read(0xcfc, 4, 1, pci_host_data_readb, s);\n\n register_ioport_read(0xcfc, 4, 2, pci_host_data_readw, s);\n\n register_ioport_read(0xcfc, 4, 4, pci_host_data_readl, s);\n\n\n\n PPC_io_memory = cpu_register_io_memory(0, PPC_PCIIO_read,\n\n PPC_PCIIO_write, s);\n\n cpu_register_physical_memory(0x80800000, 0x00400000, PPC_io_memory);\n\n\n\n /* PCI host bridge */\n\n d = pci_register_device(s->bus, \"PREP Host Bridge - Motorola Raven\",\n\n sizeof(PCIDevice), 0, NULL, NULL);\n\n d->config[0x00] = 0x57; // vendor_id : Motorola\n\n d->config[0x01] = 0x10;\n\n d->config[0x02] = 0x01; // device_id : Raven\n\n d->config[0x03] = 0x48;\n\n d->config[0x08] = 0x00; // revision\n\n d->config[0x0A] = 0x00; // class_sub = pci host\n\n d->config[0x0B] = 0x06; // class_base = PCI_bridge\n\n d->config[0x0C] = 0x08; // cache_line_size\n\n d->config[0x0D] = 0x10; // latency_timer\n\n d->config[0x0E] = 0x00; // header_type\n\n d->config[0x34] = 0x00; // capabilities_pointer\n\n\n\n return s->bus;\n\n}\n", "idx": 10406}1011{"project": "FFmpeg", "commit_id": "6d24231e504f71a76a8fabe87c8d7cfa826da75a", "target": 0, "func": "static int raw_init_encoder(AVCodecContext *avctx)\n\n{\n\n avctx->coded_frame = (AVFrame *)avctx->priv_data;\n\n avctx->coded_frame->pict_type = FF_I_TYPE;\n\n avctx->coded_frame->key_frame = 1;\n\n avctx->codec_tag = findFourCC(avctx->pix_fmt);\n\n return 0;\n\n}\n", "idx": 10410}1012{"project": "FFmpeg", "commit_id": "14f3f3a1ad9aca7599bdaa399cdb8680c52dc696", "target": 1, "func": "static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)\n\n{\n\n v->res_rtm_flag = 1;\n\n v->level = get_bits(gb, 3);\n\n if(v->level >= 5)\n\n {\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Reserved LEVEL %i\\n\",v->level);\n\n }\n\n v->chromaformat = get_bits(gb, 2);\n\n if (v->chromaformat != 1)\n\n {\n\n av_log(v->s.avctx, AV_LOG_ERROR,\n\n \"Only 4:2:0 chroma format supported\\n\");\n\n return -1;\n\n }\n\n\n\n // (fps-2)/4 (->30)\n\n v->frmrtq_postproc = get_bits(gb, 3); //common\n\n // (bitrate-32kbps)/64kbps\n\n v->bitrtq_postproc = get_bits(gb, 5); //common\n\n v->postprocflag = get_bits(gb, 1); //common\n\n\n\n v->s.avctx->coded_width = (get_bits(gb, 12) + 1) << 1;\n\n v->s.avctx->coded_height = (get_bits(gb, 12) + 1) << 1;\n\n v->broadcast = get_bits1(gb);\n\n v->interlace = get_bits1(gb);\n\n if(v->interlace){\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Interlaced mode not supported (yet)\\n\");\n\n return -1;\n\n }\n\n v->tfcntrflag = get_bits1(gb);\n\n v->finterpflag = get_bits1(gb);\n\n get_bits1(gb); // reserved\n\n v->psf = get_bits1(gb);\n\n if(v->psf) { //PsF, 6.1.13\n\n av_log(v->s.avctx, AV_LOG_ERROR, \"Progressive Segmented Frame mode: not supported (yet)\\n\");\n\n return -1;\n\n }\n\n if(get_bits1(gb)) { //Display Info - decoding is not affected by it\n\n int w, h, ar = 0;\n\n av_log(v->s.avctx, AV_LOG_INFO, \"Display extended info:\\n\");\n\n w = get_bits(gb, 14);\n\n h = get_bits(gb, 14);\n\n av_log(v->s.avctx, AV_LOG_INFO, \"Display dimensions: %ix%i\\n\", w, h);\n\n //TODO: store aspect ratio in AVCodecContext\n\n if(get_bits1(gb))\n\n ar = get_bits(gb, 4);\n\n if(ar == 15) {\n\n w = get_bits(gb, 8);\n\n h = get_bits(gb, 8);\n\n }\n\n\n\n if(get_bits1(gb)){ //framerate stuff\n\n if(get_bits1(gb)) {\n\n get_bits(gb, 16);\n\n } else {\n\n get_bits(gb, 8);\n\n get_bits(gb, 4);\n\n }\n\n }\n\n\n\n if(get_bits1(gb)){\n\n v->color_prim = get_bits(gb, 8);\n\n v->transfer_char = get_bits(gb, 8);\n\n v->matrix_coef = get_bits(gb, 8);\n\n }\n\n }\n\n\n\n v->hrd_param_flag = get_bits1(gb);\n\n if(v->hrd_param_flag) {\n\n int i;\n\n v->hrd_num_leaky_buckets = get_bits(gb, 5);\n\n get_bits(gb, 4); //bitrate exponent\n\n get_bits(gb, 4); //buffer size exponent\n\n for(i = 0; i < v->hrd_num_leaky_buckets; i++) {\n\n get_bits(gb, 16); //hrd_rate[n]\n\n get_bits(gb, 16); //hrd_buffer[n]\n\n }\n\n }\n\n return 0;\n\n}\n", "idx": 10414}1013{"project": "qemu", "commit_id": "d02532f08e207419e412ea7cd4eb8b36f04f426d", "target": 1, "func": "int page_unprotect(target_ulong address, uintptr_t pc, void *puc)\n\n{\n\n unsigned int prot;\n\n PageDesc *p;\n\n target_ulong host_start, host_end, addr;\n\n\n\n /* Technically this isn't safe inside a signal handler. However we\n\n know this only ever happens in a synchronous SEGV handler, so in\n\n practice it seems to be ok. */\n\n mmap_lock();\n\n\n\n p = page_find(address >> TARGET_PAGE_BITS);\n\n if (!p) {\n\n mmap_unlock();\n\n return 0;\n\n }\n\n\n\n /* if the page was really writable, then we change its\n\n protection back to writable */\n\n if ((p->flags & PAGE_WRITE_ORG) && !(p->flags & PAGE_WRITE)) {\n\n host_start = address & qemu_host_page_mask;\n\n host_end = host_start + qemu_host_page_size;\n\n\n\n prot = 0;\n\n for (addr = host_start ; addr < host_end ; addr += TARGET_PAGE_SIZE) {\n\n p = page_find(addr >> TARGET_PAGE_BITS);\n\n p->flags |= PAGE_WRITE;\n\n prot |= p->flags;\n\n\n\n /* and since the content will be modified, we must invalidate\n\n the corresponding translated code. */\n\n tb_invalidate_phys_page(addr, pc, puc);\n\n#ifdef DEBUG_TB_CHECK\n\n tb_invalidate_check(addr);\n\n#endif\n\n }\n\n mprotect((void *)g2h(host_start), qemu_host_page_size,\n\n prot & PAGE_BITS);\n\n\n\n mmap_unlock();\n\n return 1;\n\n }\n\n mmap_unlock();\n\n return 0;\n\n}\n", "idx": 10416}1014{"project": "FFmpeg", "commit_id": "662234a9a22f1cd0f0ac83b8bb1ffadedca90c0a", "target": 0, "func": "void ff_put_h264_qpel8_mc23_msa(uint8_t *dst, const uint8_t *src,\n\n ptrdiff_t stride)\n\n{\n\n avc_luma_midv_qrt_8w_msa(src - (2 * stride) - 2, stride, dst, stride, 8, 1);\n\n}\n", "idx": 10429}1015{"project": "FFmpeg", "commit_id": "87e8788680e16c51f6048af26f3f7830c35207a5", "target": 0, "func": "static int film_probe(AVProbeData *p)\n\n{\n\n if (p->buf_size < 4)\n\n return 0;\n\n\n\n if (AV_RB32(&p->buf[0]) != FILM_TAG)\n\n return 0;\n\n\n\n return AVPROBE_SCORE_MAX;\n\n}\n", "idx": 10449}1016{"project": "qemu", "commit_id": "42a268c241183877192c376d03bd9b6d527407c7", "target": 0, "func": "static void gen_store_v10_conditional(DisasContext *dc, TCGv addr, TCGv val,\n\n unsigned int size, int mem_index)\n\n{\n\n int l1 = gen_new_label();\n\n TCGv taddr = tcg_temp_local_new();\n\n TCGv tval = tcg_temp_local_new();\n\n TCGv t1 = tcg_temp_local_new();\n\n dc->postinc = 0;\n\n cris_evaluate_flags(dc);\n\n\n\n tcg_gen_mov_tl(taddr, addr);\n\n tcg_gen_mov_tl(tval, val);\n\n\n\n /* Store only if F flag isn't set */\n\n tcg_gen_andi_tl(t1, cpu_PR[PR_CCS], F_FLAG_V10);\n\n tcg_gen_brcondi_tl(TCG_COND_NE, t1, 0, l1);\n\n if (size == 1) {\n\n tcg_gen_qemu_st8(tval, taddr, mem_index);\n\n } else if (size == 2) {\n\n tcg_gen_qemu_st16(tval, taddr, mem_index);\n\n } else {\n\n tcg_gen_qemu_st32(tval, taddr, mem_index);\n\n }\n\n gen_set_label(l1);\n\n tcg_gen_shri_tl(t1, t1, 1); /* shift F to P position */\n\n tcg_gen_or_tl(cpu_PR[PR_CCS], cpu_PR[PR_CCS], t1); /*P=F*/\n\n tcg_temp_free(t1);\n\n tcg_temp_free(tval);\n\n tcg_temp_free(taddr);\n\n}\n", "idx": 10478}1017{"project": "qemu", "commit_id": "947858b0ba97f4ec097de667e45eff99212867c3", "target": 0, "func": "static void ide_trim_bh_cb(void *opaque)\n\n{\n\n TrimAIOCB *iocb = opaque;\n\n\n\n iocb->common.cb(iocb->common.opaque, iocb->ret);\n\n\n\n qemu_bh_delete(iocb->bh);\n\n iocb->bh = NULL;\n\n qemu_aio_unref(iocb);\n\n}\n", "idx": 10480}1018{"project": "qemu", "commit_id": "ad11ad77748bdd8016370db210751683dc038dd6", "target": 0, "func": "static abi_long do_ioctl_dm(const IOCTLEntry *ie, uint8_t *buf_temp, int fd,\n\n abi_long cmd, abi_long arg)\n\n{\n\n void *argptr;\n\n struct dm_ioctl *host_dm;\n\n abi_long guest_data;\n\n uint32_t guest_data_size;\n\n int target_size;\n\n const argtype *arg_type = ie->arg_type;\n\n abi_long ret;\n\n void *big_buf = NULL;\n\n char *host_data;\n\n\n\n arg_type++;\n\n target_size = thunk_type_size(arg_type, 0);\n\n argptr = lock_user(VERIFY_READ, arg, target_size, 1);\n\n if (!argptr) {\n\n ret = -TARGET_EFAULT;\n\n goto out;\n\n }\n\n thunk_convert(buf_temp, argptr, arg_type, THUNK_HOST);\n\n unlock_user(argptr, arg, 0);\n\n\n\n /* buf_temp is too small, so fetch things into a bigger buffer */\n\n big_buf = g_malloc0(((struct dm_ioctl*)buf_temp)->data_size * 2);\n\n memcpy(big_buf, buf_temp, target_size);\n\n buf_temp = big_buf;\n\n host_dm = big_buf;\n\n\n\n guest_data = arg + host_dm->data_start;\n\n if ((guest_data - arg) < 0) {\n\n ret = -EINVAL;\n\n goto out;\n\n }\n\n guest_data_size = host_dm->data_size - host_dm->data_start;\n\n host_data = (char*)host_dm + host_dm->data_start;\n\n\n\n argptr = lock_user(VERIFY_READ, guest_data, guest_data_size, 1);\n\n switch (ie->host_cmd) {\n\n case DM_REMOVE_ALL:\n\n case DM_LIST_DEVICES:\n\n case DM_DEV_CREATE:\n\n case DM_DEV_REMOVE:\n\n case DM_DEV_SUSPEND:\n\n case DM_DEV_STATUS:\n\n case DM_DEV_WAIT:\n\n case DM_TABLE_STATUS:\n\n case DM_TABLE_CLEAR:\n\n case DM_TABLE_DEPS:\n\n case DM_LIST_VERSIONS:\n\n /* no input data */\n\n break;\n\n case DM_DEV_RENAME:\n\n case DM_DEV_SET_GEOMETRY:\n\n /* data contains only strings */\n\n memcpy(host_data, argptr, guest_data_size);\n\n break;\n\n case DM_TARGET_MSG:\n\n memcpy(host_data, argptr, guest_data_size);\n\n *(uint64_t*)host_data = tswap64(*(uint64_t*)argptr);\n\n break;\n\n case DM_TABLE_LOAD:\n\n {\n\n void *gspec = argptr;\n\n void *cur_data = host_data;\n\n const argtype arg_type[] = { MK_STRUCT(STRUCT_dm_target_spec) };\n\n int spec_size = thunk_type_size(arg_type, 0);\n\n int i;\n\n\n\n for (i = 0; i < host_dm->target_count; i++) {\n\n struct dm_target_spec *spec = cur_data;\n\n uint32_t next;\n\n int slen;\n\n\n\n thunk_convert(spec, gspec, arg_type, THUNK_HOST);\n\n slen = strlen((char*)gspec + spec_size) + 1;\n\n next = spec->next;\n\n spec->next = sizeof(*spec) + slen;\n\n strcpy((char*)&spec[1], gspec + spec_size);\n\n gspec += next;\n\n cur_data += spec->next;\n\n }\n\n break;\n\n }\n\n default:\n\n ret = -TARGET_EINVAL;\n\n goto out;\n\n }\n\n unlock_user(argptr, guest_data, 0);\n\n\n\n ret = get_errno(ioctl(fd, ie->host_cmd, buf_temp));\n\n if (!is_error(ret)) {\n\n guest_data = arg + host_dm->data_start;\n\n guest_data_size = host_dm->data_size - host_dm->data_start;\n\n argptr = lock_user(VERIFY_WRITE, guest_data, guest_data_size, 0);\n\n switch (ie->host_cmd) {\n\n case DM_REMOVE_ALL:\n\n case DM_DEV_CREATE:\n\n case DM_DEV_REMOVE:\n\n case DM_DEV_RENAME:\n\n case DM_DEV_SUSPEND:\n\n case DM_DEV_STATUS:\n\n case DM_TABLE_LOAD:\n\n case DM_TABLE_CLEAR:\n\n case DM_TARGET_MSG:\n\n case DM_DEV_SET_GEOMETRY:\n\n /* no return data */\n\n break;\n\n case DM_LIST_DEVICES:\n\n {\n\n struct dm_name_list *nl = (void*)host_dm + host_dm->data_start;\n\n uint32_t remaining_data = guest_data_size;\n\n void *cur_data = argptr;\n\n const argtype arg_type[] = { MK_STRUCT(STRUCT_dm_name_list) };\n\n int nl_size = 12; /* can't use thunk_size due to alignment */\n\n\n\n while (1) {\n\n uint32_t next = nl->next;\n\n if (next) {\n\n nl->next = nl_size + (strlen(nl->name) + 1);\n\n }\n\n if (remaining_data < nl->next) {\n\n host_dm->flags |= DM_BUFFER_FULL_FLAG;\n\n break;\n\n }\n\n thunk_convert(cur_data, nl, arg_type, THUNK_TARGET);\n\n strcpy(cur_data + nl_size, nl->name);\n\n cur_data += nl->next;\n\n remaining_data -= nl->next;\n\n if (!next) {\n\n break;\n\n }\n\n nl = (void*)nl + next;\n\n }\n\n break;\n\n }\n\n case DM_DEV_WAIT:\n\n case DM_TABLE_STATUS:\n\n {\n\n struct dm_target_spec *spec = (void*)host_dm + host_dm->data_start;\n\n void *cur_data = argptr;\n\n const argtype arg_type[] = { MK_STRUCT(STRUCT_dm_target_spec) };\n\n int spec_size = thunk_type_size(arg_type, 0);\n\n int i;\n\n\n\n for (i = 0; i < host_dm->target_count; i++) {\n\n uint32_t next = spec->next;\n\n int slen = strlen((char*)&spec[1]) + 1;\n\n spec->next = (cur_data - argptr) + spec_size + slen;\n\n if (guest_data_size < spec->next) {\n\n host_dm->flags |= DM_BUFFER_FULL_FLAG;\n\n break;\n\n }\n\n thunk_convert(cur_data, spec, arg_type, THUNK_TARGET);\n\n strcpy(cur_data + spec_size, (char*)&spec[1]);\n\n cur_data = argptr + spec->next;\n\n spec = (void*)host_dm + host_dm->data_start + next;\n\n }\n\n break;\n\n }\n\n case DM_TABLE_DEPS:\n\n {\n\n void *hdata = (void*)host_dm + host_dm->data_start;\n\n int count = *(uint32_t*)hdata;\n\n uint64_t *hdev = hdata + 8;\n\n uint64_t *gdev = argptr + 8;\n\n int i;\n\n\n\n *(uint32_t*)argptr = tswap32(count);\n\n for (i = 0; i < count; i++) {\n\n *gdev = tswap64(*hdev);\n\n gdev++;\n\n hdev++;\n\n }\n\n break;\n\n }\n\n case DM_LIST_VERSIONS:\n\n {\n\n struct dm_target_versions *vers = (void*)host_dm + host_dm->data_start;\n\n uint32_t remaining_data = guest_data_size;\n\n void *cur_data = argptr;\n\n const argtype arg_type[] = { MK_STRUCT(STRUCT_dm_target_versions) };\n\n int vers_size = thunk_type_size(arg_type, 0);\n\n\n\n while (1) {\n\n uint32_t next = vers->next;\n\n if (next) {\n\n vers->next = vers_size + (strlen(vers->name) + 1);\n\n }\n\n if (remaining_data < vers->next) {\n\n host_dm->flags |= DM_BUFFER_FULL_FLAG;\n\n break;\n\n }\n\n thunk_convert(cur_data, vers, arg_type, THUNK_TARGET);\n\n strcpy(cur_data + vers_size, vers->name);\n\n cur_data += vers->next;\n\n remaining_data -= vers->next;\n\n if (!next) {\n\n break;\n\n }\n\n vers = (void*)vers + next;\n\n }\n\n break;\n\n }\n\n default:\n\n ret = -TARGET_EINVAL;\n\n goto out;\n\n }\n\n unlock_user(argptr, guest_data, guest_data_size);\n\n\n\n argptr = lock_user(VERIFY_WRITE, arg, target_size, 0);\n\n if (!argptr) {\n\n ret = -TARGET_EFAULT;\n\n goto out;\n\n }\n\n thunk_convert(argptr, buf_temp, arg_type, THUNK_TARGET);\n\n unlock_user(argptr, arg, target_size);\n\n }\n\nout:\n\n if (big_buf) {\n\n free(big_buf);\n\n }\n\n return ret;\n\n}\n", "idx": 10485}1019{"project": "FFmpeg", "commit_id": "70143a3954e1c4412efb2bf1a3a818adea2d3abf", "target": 0, "func": "static int dxva2_retrieve_data(AVCodecContext *s, AVFrame *frame)\n\n{\n\n InputStream *ist = s->opaque;\n\n DXVA2Context *ctx = ist->hwaccel_ctx;\n\n int ret;\n\n\n\n ret = av_hwframe_transfer_data(ctx->tmp_frame, frame, 0);\n\n if (ret < 0)\n\n return ret;\n\n\n\n ret = av_frame_copy_props(ctx->tmp_frame, frame);\n\n if (ret < 0) {\n\n av_frame_unref(ctx->tmp_frame);\n\n return ret;\n\n }\n\n\n\n av_frame_unref(frame);\n\n av_frame_move_ref(frame, ctx->tmp_frame);\n\n\n\n return 0;\n\n}\n", "idx": 10498}1020{"project": "FFmpeg", "commit_id": "ac4b32df71bd932838043a4838b86d11e169707f", "target": 1, "func": "void decode_mb_mode(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,\n\n uint8_t *segment, uint8_t *ref, int layout)\n\n{\n\n VP56RangeCoder *c = &s->c;\n\n\n\n if (s->segmentation.update_map)\n\n *segment = vp8_rac_get_tree(c, vp8_segmentid_tree, s->prob->segmentid);\n\n else if (s->segmentation.enabled)\n\n *segment = ref ? *ref : *segment;\n\n mb->segment = *segment;\n\n\n\n mb->skip = s->mbskip_enabled ? vp56_rac_get_prob(c, s->prob->mbskip) : 0;\n\n\n\n if (s->keyframe) {\n\n mb->mode = vp8_rac_get_tree(c, vp8_pred16x16_tree_intra,\n\n vp8_pred16x16_prob_intra);\n\n\n\n if (mb->mode == MODE_I4x4) {\n\n decode_intra4x4_modes(s, c, mb, mb_x, 1, layout);\n\n } else {\n\n const uint32_t modes = vp8_pred4x4_mode[mb->mode] * 0x01010101u;\n\n if (s->mb_layout == 1)\n\n AV_WN32A(mb->intra4x4_pred_mode_top, modes);\n\n else\n\n AV_WN32A(s->intra4x4_pred_mode_top + 4 * mb_x, modes);\n\n AV_WN32A(s->intra4x4_pred_mode_left, modes);\n\n }\n\n\n\n mb->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree,\n\n vp8_pred8x8c_prob_intra);\n\n mb->ref_frame = VP56_FRAME_CURRENT;\n\n } else if (vp56_rac_get_prob_branchy(c, s->prob->intra)) {\n\n // inter MB, 16.2\n\n if (vp56_rac_get_prob_branchy(c, s->prob->last))\n\n mb->ref_frame =\n\n vp56_rac_get_prob(c, s->prob->golden) ? VP56_FRAME_GOLDEN2 /* altref */\n\n : VP56_FRAME_GOLDEN;\n\n else\n\n mb->ref_frame = VP56_FRAME_PREVIOUS;\n\n s->ref_count[mb->ref_frame - 1]++;\n\n\n\n // motion vectors, 16.3\n\n decode_mvs(s, mb, mb_x, mb_y, layout);\n\n } else {\n\n // intra MB, 16.1\n\n mb->mode = vp8_rac_get_tree(c, vp8_pred16x16_tree_inter, s->prob->pred16x16);\n\n\n\n if (mb->mode == MODE_I4x4)\n\n decode_intra4x4_modes(s, c, mb, mb_x, 0, layout);\n\n\n\n mb->chroma_pred_mode = vp8_rac_get_tree(c, vp8_pred8x8c_tree,\n\n s->prob->pred8x8c);\n\n mb->ref_frame = VP56_FRAME_CURRENT;\n\n mb->partitioning = VP8_SPLITMVMODE_NONE;\n\n AV_ZERO32(&mb->bmv[0]);\n\n }\n\n}\n", "idx": 10502}1021{"project": "qemu", "commit_id": "240ce26a0533a6e5ee472789fbfbd9f7f939197e", "target": 1, "func": "static int decode_micromips_opc (CPUMIPSState *env, DisasContext *ctx, int *is_branch)\n\n{\n\n uint32_t op;\n\n\n\n /* make sure instructions are on a halfword boundary */\n\n if (ctx->pc & 0x1) {\n\n env->CP0_BadVAddr = ctx->pc;\n\n generate_exception(ctx, EXCP_AdEL);\n\n ctx->bstate = BS_STOP;\n\n return 2;\n\n }\n\n\n\n op = (ctx->opcode >> 10) & 0x3f;\n\n /* Enforce properly-sized instructions in a delay slot */\n\n if (ctx->hflags & MIPS_HFLAG_BMASK) {\n\n int bits = ctx->hflags & MIPS_HFLAG_BMASK_EXT;\n\n\n\n switch (op) {\n\n case POOL32A:\n\n case POOL32B:\n\n case POOL32I:\n\n case POOL32C:\n\n case ADDI32:\n\n case ADDIU32:\n\n case ORI32:\n\n case XORI32:\n\n case SLTI32:\n\n case SLTIU32:\n\n case ANDI32:\n\n case JALX32:\n\n case LBU32:\n\n case LHU32:\n\n case POOL32F:\n\n case JALS32:\n\n case BEQ32:\n\n case BNE32:\n\n case J32:\n\n case JAL32:\n\n case SB32:\n\n case SH32:\n\n case POOL32S:\n\n case ADDIUPC:\n\n case SWC132:\n\n case SDC132:\n\n case SD32:\n\n case SW32:\n\n case LB32:\n\n case LH32:\n\n case DADDIU32:\n\n case LWC132:\n\n case LDC132:\n\n case LD32:\n\n case LW32:\n\n if (bits & MIPS_HFLAG_BDS16) {\n\n generate_exception(ctx, EXCP_RI);\n\n /* Just stop translation; the user is confused. */\n\n ctx->bstate = BS_STOP;\n\n return 2;\n\n }\n\n break;\n\n case POOL16A:\n\n case POOL16B:\n\n case POOL16C:\n\n case LWGP16:\n\n case POOL16F:\n\n case LBU16:\n\n case LHU16:\n\n case LWSP16:\n\n case LW16:\n\n case SB16:\n\n case SH16:\n\n case SWSP16:\n\n case SW16:\n\n case MOVE16:\n\n case ANDI16:\n\n case POOL16D:\n\n case POOL16E:\n\n case BEQZ16:\n\n case BNEZ16:\n\n case B16:\n\n case LI16:\n\n if (bits & MIPS_HFLAG_BDS32) {\n\n generate_exception(ctx, EXCP_RI);\n\n /* Just stop translation; the user is confused. */\n\n ctx->bstate = BS_STOP;\n\n return 2;\n\n }\n\n break;\n\n default:\n\n break;\n\n }\n\n }\n\n switch (op) {\n\n case POOL16A:\n\n {\n\n int rd = mmreg(uMIPS_RD(ctx->opcode));\n\n int rs1 = mmreg(uMIPS_RS1(ctx->opcode));\n\n int rs2 = mmreg(uMIPS_RS2(ctx->opcode));\n\n uint32_t opc = 0;\n\n\n\n switch (ctx->opcode & 0x1) {\n\n case ADDU16:\n\n opc = OPC_ADDU;\n\n break;\n\n case SUBU16:\n\n opc = OPC_SUBU;\n\n break;\n\n }\n\n\n\n gen_arith(ctx, opc, rd, rs1, rs2);\n\n }\n\n break;\n\n case POOL16B:\n\n {\n\n int rd = mmreg(uMIPS_RD(ctx->opcode));\n\n int rs = mmreg(uMIPS_RS(ctx->opcode));\n\n int amount = (ctx->opcode >> 1) & 0x7;\n\n uint32_t opc = 0;\n\n amount = amount == 0 ? 8 : amount;\n\n\n\n switch (ctx->opcode & 0x1) {\n\n case SLL16:\n\n opc = OPC_SLL;\n\n break;\n\n case SRL16:\n\n opc = OPC_SRL;\n\n break;\n\n }\n\n\n\n gen_shift_imm(ctx, opc, rd, rs, amount);\n\n }\n\n break;\n\n case POOL16C:\n\n gen_pool16c_insn(ctx, is_branch);\n\n break;\n\n case LWGP16:\n\n {\n\n int rd = mmreg(uMIPS_RD(ctx->opcode));\n\n int rb = 28; /* GP */\n\n int16_t offset = SIMM(ctx->opcode, 0, 7) << 2;\n\n\n\n gen_ld(ctx, OPC_LW, rd, rb, offset);\n\n }\n\n break;\n\n case POOL16F:\n\n if (ctx->opcode & 1) {\n\n generate_exception(ctx, EXCP_RI);\n\n } else {\n\n /* MOVEP */\n\n int enc_dest = uMIPS_RD(ctx->opcode);\n\n int enc_rt = uMIPS_RS2(ctx->opcode);\n\n int enc_rs = uMIPS_RS1(ctx->opcode);\n\n int rd, rs, re, rt;\n\n static const int rd_enc[] = { 5, 5, 6, 4, 4, 4, 4, 4 };\n\n static const int re_enc[] = { 6, 7, 7, 21, 22, 5, 6, 7 };\n\n static const int rs_rt_enc[] = { 0, 17, 2, 3, 16, 18, 19, 20 };\n\n\n\n rd = rd_enc[enc_dest];\n\n re = re_enc[enc_dest];\n\n rs = rs_rt_enc[enc_rs];\n\n rt = rs_rt_enc[enc_rt];\n\n\n\n gen_arith_imm(ctx, OPC_ADDIU, rd, rs, 0);\n\n gen_arith_imm(ctx, OPC_ADDIU, re, rt, 0);\n\n }\n\n break;\n\n case LBU16:\n\n {\n\n int rd = mmreg(uMIPS_RD(ctx->opcode));\n\n int rb = mmreg(uMIPS_RS(ctx->opcode));\n\n int16_t offset = ZIMM(ctx->opcode, 0, 4);\n\n offset = (offset == 0xf ? -1 : offset);\n\n\n\n gen_ld(ctx, OPC_LBU, rd, rb, offset);\n\n }\n\n break;\n\n case LHU16:\n\n {\n\n int rd = mmreg(uMIPS_RD(ctx->opcode));\n\n int rb = mmreg(uMIPS_RS(ctx->opcode));\n\n int16_t offset = ZIMM(ctx->opcode, 0, 4) << 1;\n\n\n\n gen_ld(ctx, OPC_LHU, rd, rb, offset);\n\n }\n\n break;\n\n case LWSP16:\n\n {\n\n int rd = (ctx->opcode >> 5) & 0x1f;\n\n int rb = 29; /* SP */\n\n int16_t offset = ZIMM(ctx->opcode, 0, 5) << 2;\n\n\n\n gen_ld(ctx, OPC_LW, rd, rb, offset);\n\n }\n\n break;\n\n case LW16:\n\n {\n\n int rd = mmreg(uMIPS_RD(ctx->opcode));\n\n int rb = mmreg(uMIPS_RS(ctx->opcode));\n\n int16_t offset = ZIMM(ctx->opcode, 0, 4) << 2;\n\n\n\n gen_ld(ctx, OPC_LW, rd, rb, offset);\n\n }\n\n break;\n\n case SB16:\n\n {\n\n int rd = mmreg2(uMIPS_RD(ctx->opcode));\n\n int rb = mmreg(uMIPS_RS(ctx->opcode));\n\n int16_t offset = ZIMM(ctx->opcode, 0, 4);\n\n\n\n gen_st(ctx, OPC_SB, rd, rb, offset);\n\n }\n\n break;\n\n case SH16:\n\n {\n\n int rd = mmreg2(uMIPS_RD(ctx->opcode));\n\n int rb = mmreg(uMIPS_RS(ctx->opcode));\n\n int16_t offset = ZIMM(ctx->opcode, 0, 4) << 1;\n\n\n\n gen_st(ctx, OPC_SH, rd, rb, offset);\n\n }\n\n break;\n\n case SWSP16:\n\n {\n\n int rd = (ctx->opcode >> 5) & 0x1f;\n\n int rb = 29; /* SP */\n\n int16_t offset = ZIMM(ctx->opcode, 0, 5) << 2;\n\n\n\n gen_st(ctx, OPC_SW, rd, rb, offset);\n\n }\n\n break;\n\n case SW16:\n\n {\n\n int rd = mmreg2(uMIPS_RD(ctx->opcode));\n\n int rb = mmreg(uMIPS_RS(ctx->opcode));\n\n int16_t offset = ZIMM(ctx->opcode, 0, 4) << 2;\n\n\n\n gen_st(ctx, OPC_SW, rd, rb, offset);\n\n }\n\n break;\n\n case MOVE16:\n\n {\n\n int rd = uMIPS_RD5(ctx->opcode);\n\n int rs = uMIPS_RS5(ctx->opcode);\n\n\n\n gen_arith_imm(ctx, OPC_ADDIU, rd, rs, 0);\n\n }\n\n break;\n\n case ANDI16:\n\n gen_andi16(ctx);\n\n break;\n\n case POOL16D:\n\n switch (ctx->opcode & 0x1) {\n\n case ADDIUS5:\n\n gen_addius5(ctx);\n\n break;\n\n case ADDIUSP:\n\n gen_addiusp(ctx);\n\n break;\n\n }\n\n break;\n\n case POOL16E:\n\n switch (ctx->opcode & 0x1) {\n\n case ADDIUR2:\n\n gen_addiur2(ctx);\n\n break;\n\n case ADDIUR1SP:\n\n gen_addiur1sp(ctx);\n\n break;\n\n }\n\n break;\n\n case B16:\n\n gen_compute_branch(ctx, OPC_BEQ, 2, 0, 0,\n\n SIMM(ctx->opcode, 0, 10) << 1);\n\n *is_branch = 1;\n\n break;\n\n case BNEZ16:\n\n case BEQZ16:\n\n gen_compute_branch(ctx, op == BNEZ16 ? OPC_BNE : OPC_BEQ, 2,\n\n mmreg(uMIPS_RD(ctx->opcode)),\n\n 0, SIMM(ctx->opcode, 0, 7) << 1);\n\n *is_branch = 1;\n\n break;\n\n case LI16:\n\n {\n\n int reg = mmreg(uMIPS_RD(ctx->opcode));\n\n int imm = ZIMM(ctx->opcode, 0, 7);\n\n\n\n imm = (imm == 0x7f ? -1 : imm);\n\n tcg_gen_movi_tl(cpu_gpr[reg], imm);\n\n }\n\n break;\n\n case RES_20:\n\n case RES_28:\n\n case RES_29:\n\n case RES_30:\n\n case RES_31:\n\n case RES_38:\n\n case RES_39:\n\n generate_exception(ctx, EXCP_RI);\n\n break;\n\n default:\n\n decode_micromips32_opc (env, ctx, op, is_branch);\n\n return 4;\n\n }\n\n\n\n return 2;\n\n}\n", "idx": 10504}1022{"project": "FFmpeg", "commit_id": "ccb76ad91f2b97009b06c22ae1b2e0234dbf26ca", "target": 0, "func": "static void decouple_info(COOKContext *q, COOKSubpacket *p, int *decouple_tab)\n\n{\n\n int i;\n\n int vlc = get_bits1(&q->gb);\n\n int start = cplband[p->js_subband_start];\n\n int end = cplband[p->subbands - 1];\n\n int length = end - start + 1;\n\n\n\n if (start > end)\n\n return;\n\n\n\n if (vlc)\n\n for (i = 0; i < length; i++)\n\n decouple_tab[start + i] = get_vlc2(&q->gb, p->ccpl.table, p->ccpl.bits, 2);\n\n else\n\n for (i = 0; i < length; i++)\n\n decouple_tab[start + i] = get_bits(&q->gb, p->js_vlc_bits);\n\n}\n", "idx": 10513}1023{"project": "FFmpeg", "commit_id": "d1f3e475f9807b445ba37ff2fd23f71c4645de79", "target": 1, "func": "static int prepare_packet(AVPacket *pkt,const FailingMuxerPacketData *pkt_data, int64_t pts)\n\n{\n\n int ret;\n\n FailingMuxerPacketData *data = av_malloc(sizeof(*data));\n\n\n\n\n memcpy(data, pkt_data, sizeof(FailingMuxerPacketData));\n\n ret = av_packet_from_data(pkt, (uint8_t*) data, sizeof(*data));\n\n\n\n pkt->pts = pkt->dts = pts;\n\n pkt->duration = 1;\n\n\n\n return ret;\n", "idx": 10520}1024{"project": "FFmpeg", "commit_id": "54b2d317ed99622efa07b10aca217e1a083105d9", "target": 0, "func": "static void find_best_state(uint8_t best_state[256][256], const uint8_t one_state[256]){\n\n int i,j,k,m;\n\n double l2tab[256];\n\n\n\n for(i=1; i<256; i++)\n\n l2tab[i]= log2(i/256.0);\n\n\n\n for(i=0; i<256; i++){\n\n double best_len[256];\n\n double p= i/256.0;\n\n\n\n for(j=0; j<256; j++)\n\n best_len[j]= 1<<30;\n\n\n\n for(j=FFMAX(i-10,1); j<FFMIN(i+11,256); j++){\n\n double occ[256]={0};\n\n double len=0;\n\n occ[j]=1.0;\n\n for(k=0; k<256; k++){\n\n double newocc[256]={0};\n\n for(m=0; m<256; m++){\n\n if(occ[m]){\n\n len -=occ[m]*( p *l2tab[ m]\n\n + (1-p)*l2tab[256-m]);\n\n }\n\n }\n\n if(len < best_len[k]){\n\n best_len[k]= len;\n\n best_state[i][k]= j;\n\n }\n\n for(m=0; m<256; m++){\n\n if(occ[m]){\n\n newocc[ one_state[ m]] += occ[m]* p ;\n\n newocc[256-one_state[256-m]] += occ[m]*(1-p);\n\n }\n\n }\n\n memcpy(occ, newocc, sizeof(occ));\n\n }\n\n }\n\n }\n\n}\n", "idx": 10539}1025{"project": "FFmpeg", "commit_id": "ff486c0f7f6b2ace3f0238660bc06cc35b389676", "target": 0, "func": "static int get_pcm(HEVCContext *s, int x, int y)\n\n{\n\n int log2_min_pu_size = s->sps->log2_min_pu_size;\n\n int x_pu = x >> log2_min_pu_size;\n\n int y_pu = y >> log2_min_pu_size;\n\n\n\n if (x < 0 || x_pu >= s->sps->min_pu_width ||\n\n y < 0 || y_pu >= s->sps->min_pu_height)\n\n return 2;\n\n return s->is_pcm[y_pu * s->sps->min_pu_width + x_pu];\n\n}\n", "idx": 10547}1026{"project": "FFmpeg", "commit_id": "5c2fb561d94fc51d76ab21d6f7cc5b6cc3aa599c", "target": 0, "func": "static int h264_decode_frame(AVCodecContext *avctx, void *data,\n\n int *got_frame, AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n H264Context *h = avctx->priv_data;\n\n AVFrame *pict = data;\n\n int buf_index = 0;\n\n int ret;\n\n const uint8_t *new_extradata;\n\n int new_extradata_size;\n\n\n\n h->flags = avctx->flags;\n\n h->setup_finished = 0;\n\n\n\n /* end of stream, output what is still in the buffers */\n\nout:\n\n if (buf_size == 0) {\n\n H264Picture *out;\n\n int i, out_idx;\n\n\n\n h->cur_pic_ptr = NULL;\n\n\n\n // FIXME factorize this with the output code below\n\n out = h->delayed_pic[0];\n\n out_idx = 0;\n\n for (i = 1;\n\n h->delayed_pic[i] &&\n\n !h->delayed_pic[i]->f->key_frame &&\n\n !h->delayed_pic[i]->mmco_reset;\n\n i++)\n\n if (h->delayed_pic[i]->poc < out->poc) {\n\n out = h->delayed_pic[i];\n\n out_idx = i;\n\n }\n\n\n\n for (i = out_idx; h->delayed_pic[i]; i++)\n\n h->delayed_pic[i] = h->delayed_pic[i + 1];\n\n\n\n if (out) {\n\n ret = output_frame(h, pict, out->f);\n\n if (ret < 0)\n\n return ret;\n\n *got_frame = 1;\n\n }\n\n\n\n return buf_index;\n\n }\n\n\n\n new_extradata_size = 0;\n\n new_extradata = av_packet_get_side_data(avpkt, AV_PKT_DATA_NEW_EXTRADATA,\n\n &new_extradata_size);\n\n if (new_extradata_size > 0 && new_extradata) {\n\n ret = ff_h264_decode_extradata(new_extradata, new_extradata_size,\n\n &h->ps, &h->is_avc, &h->nal_length_size,\n\n avctx->err_recognition, avctx);\n\n if (ret < 0)\n\n return ret;\n\n }\n\n\n\n buf_index = decode_nal_units(h, buf, buf_size);\n\n if (buf_index < 0)\n\n return AVERROR_INVALIDDATA;\n\n\n\n if (!h->cur_pic_ptr && h->nal_unit_type == NAL_END_SEQUENCE) {\n\n buf_size = 0;\n\n goto out;\n\n }\n\n\n\n if (!(avctx->flags2 & AV_CODEC_FLAG2_CHUNKS) && !h->cur_pic_ptr) {\n\n if (avctx->skip_frame >= AVDISCARD_NONREF)\n\n return 0;\n\n av_log(avctx, AV_LOG_ERROR, \"no frame!\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (!(avctx->flags2 & AV_CODEC_FLAG2_CHUNKS) ||\n\n (h->mb_y >= h->mb_height && h->mb_height)) {\n\n if (avctx->flags2 & AV_CODEC_FLAG2_CHUNKS)\n\n decode_postinit(h, 1);\n\n\n\n ff_h264_field_end(h, &h->slice_ctx[0], 0);\n\n\n\n *got_frame = 0;\n\n if (h->next_output_pic && ((avctx->flags & AV_CODEC_FLAG_OUTPUT_CORRUPT) ||\n\n h->next_output_pic->recovered)) {\n\n if (!h->next_output_pic->recovered)\n\n h->next_output_pic->f->flags |= AV_FRAME_FLAG_CORRUPT;\n\n\n\n ret = output_frame(h, pict, h->next_output_pic->f);\n\n if (ret < 0)\n\n return ret;\n\n *got_frame = 1;\n\n }\n\n }\n\n\n\n assert(pict->buf[0] || !*got_frame);\n\n\n\n return get_consumed_bytes(buf_index, buf_size);\n\n}\n", "idx": 10554}1027{"project": "FFmpeg", "commit_id": "0058584580b87feb47898e60e4b80c7f425882ad", "target": 0, "func": "static inline int16_t calc_lowcomp(int16_t a, int16_t b0, int16_t b1, uint8_t bin)\n\n{\n\n if (bin < 7) {\n\n if ((b0 + 256) == b1)\n\n a = 384;\n\n else if (b0 > b1)\n\n a = FFMAX(0, a - 64);\n\n }\n\n else if (bin < 20) {\n\n if ((b0 + 256) == b1)\n\n a = 320;\n\n else if (b0 > b1)\n\n a = FFMAX(0, a - 64);\n\n }\n\n else {\n\n a = FFMAX(0, a - 128);\n\n }\n\n\n\n return a;\n\n}\n", "idx": 10556}1028{"project": "FFmpeg", "commit_id": "d1adad3cca407f493c3637e20ecd4f7124e69212", "target": 0, "func": "static inline void RENAME(yuy2toyv12)(const uint8_t *src, uint8_t *ydst, uint8_t *udst, uint8_t *vdst,\n\n long width, long height,\n\n long lumStride, long chromStride, long srcStride)\n\n{\n\n long y;\n\n const x86_reg chromWidth= width>>1;\n\n for (y=0; y<height; y+=2) {\n\n#if COMPILE_TEMPLATE_MMX\n\n __asm__ volatile(\n\n \"xor %%\"REG_a\", %%\"REG_a\" \\n\\t\"\n\n \"pcmpeqw %%mm7, %%mm7 \\n\\t\"\n\n \"psrlw $8, %%mm7 \\n\\t\" // FF,00,FF,00...\n\n \".p2align 4 \\n\\t\"\n\n \"1: \\n\\t\"\n\n PREFETCH\" 64(%0, %%\"REG_a\", 4) \\n\\t\"\n\n \"movq (%0, %%\"REG_a\", 4), %%mm0 \\n\\t\" // YUYV YUYV(0)\n\n \"movq 8(%0, %%\"REG_a\", 4), %%mm1 \\n\\t\" // YUYV YUYV(4)\n\n \"movq %%mm0, %%mm2 \\n\\t\" // YUYV YUYV(0)\n\n \"movq %%mm1, %%mm3 \\n\\t\" // YUYV YUYV(4)\n\n \"psrlw $8, %%mm0 \\n\\t\" // U0V0 U0V0(0)\n\n \"psrlw $8, %%mm1 \\n\\t\" // U0V0 U0V0(4)\n\n \"pand %%mm7, %%mm2 \\n\\t\" // Y0Y0 Y0Y0(0)\n\n \"pand %%mm7, %%mm3 \\n\\t\" // Y0Y0 Y0Y0(4)\n\n \"packuswb %%mm1, %%mm0 \\n\\t\" // UVUV UVUV(0)\n\n \"packuswb %%mm3, %%mm2 \\n\\t\" // YYYY YYYY(0)\n\n\n\n MOVNTQ\" %%mm2, (%1, %%\"REG_a\", 2) \\n\\t\"\n\n\n\n \"movq 16(%0, %%\"REG_a\", 4), %%mm1 \\n\\t\" // YUYV YUYV(8)\n\n \"movq 24(%0, %%\"REG_a\", 4), %%mm2 \\n\\t\" // YUYV YUYV(12)\n\n \"movq %%mm1, %%mm3 \\n\\t\" // YUYV YUYV(8)\n\n \"movq %%mm2, %%mm4 \\n\\t\" // YUYV YUYV(12)\n\n \"psrlw $8, %%mm1 \\n\\t\" // U0V0 U0V0(8)\n\n \"psrlw $8, %%mm2 \\n\\t\" // U0V0 U0V0(12)\n\n \"pand %%mm7, %%mm3 \\n\\t\" // Y0Y0 Y0Y0(8)\n\n \"pand %%mm7, %%mm4 \\n\\t\" // Y0Y0 Y0Y0(12)\n\n \"packuswb %%mm2, %%mm1 \\n\\t\" // UVUV UVUV(8)\n\n \"packuswb %%mm4, %%mm3 \\n\\t\" // YYYY YYYY(8)\n\n\n\n MOVNTQ\" %%mm3, 8(%1, %%\"REG_a\", 2) \\n\\t\"\n\n\n\n \"movq %%mm0, %%mm2 \\n\\t\" // UVUV UVUV(0)\n\n \"movq %%mm1, %%mm3 \\n\\t\" // UVUV UVUV(8)\n\n \"psrlw $8, %%mm0 \\n\\t\" // V0V0 V0V0(0)\n\n \"psrlw $8, %%mm1 \\n\\t\" // V0V0 V0V0(8)\n\n \"pand %%mm7, %%mm2 \\n\\t\" // U0U0 U0U0(0)\n\n \"pand %%mm7, %%mm3 \\n\\t\" // U0U0 U0U0(8)\n\n \"packuswb %%mm1, %%mm0 \\n\\t\" // VVVV VVVV(0)\n\n \"packuswb %%mm3, %%mm2 \\n\\t\" // UUUU UUUU(0)\n\n\n\n MOVNTQ\" %%mm0, (%3, %%\"REG_a\") \\n\\t\"\n\n MOVNTQ\" %%mm2, (%2, %%\"REG_a\") \\n\\t\"\n\n\n\n \"add $8, %%\"REG_a\" \\n\\t\"\n\n \"cmp %4, %%\"REG_a\" \\n\\t\"\n\n \" jb 1b \\n\\t\"\n\n ::\"r\"(src), \"r\"(ydst), \"r\"(udst), \"r\"(vdst), \"g\" (chromWidth)\n\n : \"memory\", \"%\"REG_a\n\n );\n\n\n\n ydst += lumStride;\n\n src += srcStride;\n\n\n\n __asm__ volatile(\n\n \"xor %%\"REG_a\", %%\"REG_a\" \\n\\t\"\n\n \".p2align 4 \\n\\t\"\n\n \"1: \\n\\t\"\n\n PREFETCH\" 64(%0, %%\"REG_a\", 4) \\n\\t\"\n\n \"movq (%0, %%\"REG_a\", 4), %%mm0 \\n\\t\" // YUYV YUYV(0)\n\n \"movq 8(%0, %%\"REG_a\", 4), %%mm1 \\n\\t\" // YUYV YUYV(4)\n\n \"movq 16(%0, %%\"REG_a\", 4), %%mm2 \\n\\t\" // YUYV YUYV(8)\n\n \"movq 24(%0, %%\"REG_a\", 4), %%mm3 \\n\\t\" // YUYV YUYV(12)\n\n \"pand %%mm7, %%mm0 \\n\\t\" // Y0Y0 Y0Y0(0)\n\n \"pand %%mm7, %%mm1 \\n\\t\" // Y0Y0 Y0Y0(4)\n\n \"pand %%mm7, %%mm2 \\n\\t\" // Y0Y0 Y0Y0(8)\n\n \"pand %%mm7, %%mm3 \\n\\t\" // Y0Y0 Y0Y0(12)\n\n \"packuswb %%mm1, %%mm0 \\n\\t\" // YYYY YYYY(0)\n\n \"packuswb %%mm3, %%mm2 \\n\\t\" // YYYY YYYY(8)\n\n\n\n MOVNTQ\" %%mm0, (%1, %%\"REG_a\", 2) \\n\\t\"\n\n MOVNTQ\" %%mm2, 8(%1, %%\"REG_a\", 2) \\n\\t\"\n\n\n\n \"add $8, %%\"REG_a\" \\n\\t\"\n\n \"cmp %4, %%\"REG_a\" \\n\\t\"\n\n \" jb 1b \\n\\t\"\n\n\n\n ::\"r\"(src), \"r\"(ydst), \"r\"(udst), \"r\"(vdst), \"g\" (chromWidth)\n\n : \"memory\", \"%\"REG_a\n\n );\n\n#else\n\n long i;\n\n for (i=0; i<chromWidth; i++) {\n\n ydst[2*i+0] = src[4*i+0];\n\n udst[i] = src[4*i+1];\n\n ydst[2*i+1] = src[4*i+2];\n\n vdst[i] = src[4*i+3];\n\n }\n\n ydst += lumStride;\n\n src += srcStride;\n\n\n\n for (i=0; i<chromWidth; i++) {\n\n ydst[2*i+0] = src[4*i+0];\n\n ydst[2*i+1] = src[4*i+2];\n\n }\n\n#endif\n\n udst += chromStride;\n\n vdst += chromStride;\n\n ydst += lumStride;\n\n src += srcStride;\n\n }\n\n#if COMPILE_TEMPLATE_MMX\n\n __asm__ volatile(EMMS\" \\n\\t\"\n\n SFENCE\" \\n\\t\"\n\n :::\"memory\");\n\n#endif\n\n}\n", "idx": 10564}1029{"project": "qemu", "commit_id": "2119882c7eb7e2c612b24fc0c8d86f5887d6f1c3", "target": 0, "func": "static BdrvDirtyBitmap *block_dirty_bitmap_lookup(const char *node,\n\n const char *name,\n\n BlockDriverState **pbs,\n\n AioContext **paio,\n\n Error **errp)\n\n{\n\n BlockDriverState *bs;\n\n BdrvDirtyBitmap *bitmap;\n\n AioContext *aio_context;\n\n\n\n if (!node) {\n\n error_setg(errp, \"Node cannot be NULL\");\n\n return NULL;\n\n }\n\n if (!name) {\n\n error_setg(errp, \"Bitmap name cannot be NULL\");\n\n return NULL;\n\n }\n\n bs = bdrv_lookup_bs(node, node, NULL);\n\n if (!bs) {\n\n error_setg(errp, \"Node '%s' not found\", node);\n\n return NULL;\n\n }\n\n\n\n aio_context = bdrv_get_aio_context(bs);\n\n aio_context_acquire(aio_context);\n\n\n\n bitmap = bdrv_find_dirty_bitmap(bs, name);\n\n if (!bitmap) {\n\n error_setg(errp, \"Dirty bitmap '%s' not found\", name);\n\n goto fail;\n\n }\n\n\n\n if (pbs) {\n\n *pbs = bs;\n\n }\n\n if (paio) {\n\n *paio = aio_context;\n\n } else {\n\n aio_context_release(aio_context);\n\n }\n\n\n\n return bitmap;\n\n\n\n fail:\n\n aio_context_release(aio_context);\n\n return NULL;\n\n}\n", "idx": 10583}1030{"project": "qemu", "commit_id": "446f16a6906e9d05aa9ce0dde727d4f731a89298", "target": 1, "func": "void ppce500_init(MachineState *machine, PPCE500Params *params)\n\n{\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n MemoryRegion *ram = g_new(MemoryRegion, 1);\n\n PCIBus *pci_bus;\n\n CPUPPCState *env = NULL;\n\n uint64_t loadaddr;\n\n hwaddr kernel_base = -1LL;\n\n int kernel_size = 0;\n\n hwaddr dt_base = 0;\n\n hwaddr initrd_base = 0;\n\n int initrd_size = 0;\n\n hwaddr cur_base = 0;\n\n char *filename;\n\n hwaddr bios_entry = 0;\n\n target_long bios_size;\n\n struct boot_info *boot_info;\n\n int dt_size;\n\n int i;\n\n /* irq num for pin INTA, INTB, INTC and INTD is 1, 2, 3 and\n\n * 4 respectively */\n\n unsigned int pci_irq_nrs[PCI_NUM_PINS] = {1, 2, 3, 4};\n\n qemu_irq **irqs, *mpic;\n\n DeviceState *dev;\n\n CPUPPCState *firstenv = NULL;\n\n MemoryRegion *ccsr_addr_space;\n\n SysBusDevice *s;\n\n PPCE500CCSRState *ccsr;\n\n\n\n /* Setup CPUs */\n\n if (machine->cpu_model == NULL) {\n\n machine->cpu_model = \"e500v2_v30\";\n\n }\n\n\n\n irqs = g_malloc0(smp_cpus * sizeof(qemu_irq *));\n\n irqs[0] = g_malloc0(smp_cpus * sizeof(qemu_irq) * OPENPIC_OUTPUT_NB);\n\n for (i = 0; i < smp_cpus; i++) {\n\n PowerPCCPU *cpu;\n\n CPUState *cs;\n\n qemu_irq *input;\n\n\n\n cpu = cpu_ppc_init(machine->cpu_model);\n\n if (cpu == NULL) {\n\n fprintf(stderr, \"Unable to initialize CPU!\\n\");\n\n exit(1);\n\n }\n\n env = &cpu->env;\n\n cs = CPU(cpu);\n\n\n\n if (!firstenv) {\n\n firstenv = env;\n\n }\n\n\n\n irqs[i] = irqs[0] + (i * OPENPIC_OUTPUT_NB);\n\n input = (qemu_irq *)env->irq_inputs;\n\n irqs[i][OPENPIC_OUTPUT_INT] = input[PPCE500_INPUT_INT];\n\n irqs[i][OPENPIC_OUTPUT_CINT] = input[PPCE500_INPUT_CINT];\n\n env->spr_cb[SPR_BOOKE_PIR].default_value = cs->cpu_index = i;\n\n env->mpic_iack = params->ccsrbar_base +\n\n MPC8544_MPIC_REGS_OFFSET + 0xa0;\n\n\n\n ppc_booke_timers_init(cpu, 400000000, PPC_TIMER_E500);\n\n\n\n /* Register reset handler */\n\n if (!i) {\n\n /* Primary CPU */\n\n struct boot_info *boot_info;\n\n boot_info = g_malloc0(sizeof(struct boot_info));\n\n qemu_register_reset(ppce500_cpu_reset, cpu);\n\n env->load_info = boot_info;\n\n } else {\n\n /* Secondary CPUs */\n\n qemu_register_reset(ppce500_cpu_reset_sec, cpu);\n\n }\n\n }\n\n\n\n env = firstenv;\n\n\n\n /* Fixup Memory size on a alignment boundary */\n\n ram_size &= ~(RAM_SIZES_ALIGN - 1);\n\n machine->ram_size = ram_size;\n\n\n\n /* Register Memory */\n\n memory_region_allocate_system_memory(ram, NULL, \"mpc8544ds.ram\", ram_size);\n\n memory_region_add_subregion(address_space_mem, 0, ram);\n\n\n\n dev = qdev_create(NULL, \"e500-ccsr\");\n\n object_property_add_child(qdev_get_machine(), \"e500-ccsr\",\n\n OBJECT(dev), NULL);\n\n qdev_init_nofail(dev);\n\n ccsr = CCSR(dev);\n\n ccsr_addr_space = &ccsr->ccsr_space;\n\n memory_region_add_subregion(address_space_mem, params->ccsrbar_base,\n\n ccsr_addr_space);\n\n\n\n mpic = ppce500_init_mpic(params, ccsr_addr_space, irqs);\n\n\n\n /* Serial */\n\n if (serial_hds[0]) {\n\n serial_mm_init(ccsr_addr_space, MPC8544_SERIAL0_REGS_OFFSET,\n\n 0, mpic[42], 399193,\n\n serial_hds[0], DEVICE_BIG_ENDIAN);\n\n }\n\n\n\n if (serial_hds[1]) {\n\n serial_mm_init(ccsr_addr_space, MPC8544_SERIAL1_REGS_OFFSET,\n\n 0, mpic[42], 399193,\n\n serial_hds[1], DEVICE_BIG_ENDIAN);\n\n }\n\n\n\n /* General Utility device */\n\n dev = qdev_create(NULL, \"mpc8544-guts\");\n\n qdev_init_nofail(dev);\n\n s = SYS_BUS_DEVICE(dev);\n\n memory_region_add_subregion(ccsr_addr_space, MPC8544_UTIL_OFFSET,\n\n sysbus_mmio_get_region(s, 0));\n\n\n\n /* PCI */\n\n dev = qdev_create(NULL, \"e500-pcihost\");\n\n qdev_prop_set_uint32(dev, \"first_slot\", params->pci_first_slot);\n\n qdev_prop_set_uint32(dev, \"first_pin_irq\", pci_irq_nrs[0]);\n\n qdev_init_nofail(dev);\n\n s = SYS_BUS_DEVICE(dev);\n\n for (i = 0; i < PCI_NUM_PINS; i++) {\n\n sysbus_connect_irq(s, i, mpic[pci_irq_nrs[i]]);\n\n }\n\n\n\n memory_region_add_subregion(ccsr_addr_space, MPC8544_PCI_REGS_OFFSET,\n\n sysbus_mmio_get_region(s, 0));\n\n\n\n pci_bus = (PCIBus *)qdev_get_child_bus(dev, \"pci.0\");\n\n if (!pci_bus)\n\n printf(\"couldn't create PCI controller!\\n\");\n\n\n\n if (pci_bus) {\n\n /* Register network interfaces. */\n\n for (i = 0; i < nb_nics; i++) {\n\n pci_nic_init_nofail(&nd_table[i], pci_bus, \"virtio\", NULL);\n\n }\n\n }\n\n\n\n /* Register spinning region */\n\n sysbus_create_simple(\"e500-spin\", params->spin_base, NULL);\n\n\n\n if (cur_base < (32 * 1024 * 1024)) {\n\n /* u-boot occupies memory up to 32MB, so load blobs above */\n\n cur_base = (32 * 1024 * 1024);\n\n }\n\n\n\n if (params->has_mpc8xxx_gpio) {\n\n qemu_irq poweroff_irq;\n\n\n\n dev = qdev_create(NULL, \"mpc8xxx_gpio\");\n\n s = SYS_BUS_DEVICE(dev);\n\n qdev_init_nofail(dev);\n\n sysbus_connect_irq(s, 0, mpic[MPC8XXX_GPIO_IRQ]);\n\n memory_region_add_subregion(ccsr_addr_space, MPC8XXX_GPIO_OFFSET,\n\n sysbus_mmio_get_region(s, 0));\n\n\n\n /* Power Off GPIO at Pin 0 */\n\n poweroff_irq = qemu_allocate_irq(ppce500_power_off, NULL, 0);\n\n qdev_connect_gpio_out(dev, 0, poweroff_irq);\n\n }\n\n\n\n /* Platform Bus Device */\n\n if (params->has_platform_bus) {\n\n dev = qdev_create(NULL, TYPE_PLATFORM_BUS_DEVICE);\n\n dev->id = TYPE_PLATFORM_BUS_DEVICE;\n\n qdev_prop_set_uint32(dev, \"num_irqs\", params->platform_bus_num_irqs);\n\n qdev_prop_set_uint32(dev, \"mmio_size\", params->platform_bus_size);\n\n qdev_init_nofail(dev);\n\n s = SYS_BUS_DEVICE(dev);\n\n\n\n for (i = 0; i < params->platform_bus_num_irqs; i++) {\n\n int irqn = params->platform_bus_first_irq + i;\n\n sysbus_connect_irq(s, i, mpic[irqn]);\n\n }\n\n\n\n memory_region_add_subregion(address_space_mem,\n\n params->platform_bus_base,\n\n sysbus_mmio_get_region(s, 0));\n\n }\n\n\n\n /* Load kernel. */\n\n if (machine->kernel_filename) {\n\n kernel_base = cur_base;\n\n kernel_size = load_image_targphys(machine->kernel_filename,\n\n cur_base,\n\n ram_size - cur_base);\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"qemu: could not load kernel '%s'\\n\",\n\n machine->kernel_filename);\n\n exit(1);\n\n }\n\n\n\n cur_base += kernel_size;\n\n }\n\n\n\n /* Load initrd. */\n\n if (machine->initrd_filename) {\n\n initrd_base = (cur_base + INITRD_LOAD_PAD) & ~INITRD_PAD_MASK;\n\n initrd_size = load_image_targphys(machine->initrd_filename, initrd_base,\n\n ram_size - initrd_base);\n\n\n\n if (initrd_size < 0) {\n\n fprintf(stderr, \"qemu: could not load initial ram disk '%s'\\n\",\n\n machine->initrd_filename);\n\n exit(1);\n\n }\n\n\n\n cur_base = initrd_base + initrd_size;\n\n }\n\n\n\n /*\n\n * Smart firmware defaults ahead!\n\n *\n\n * We follow the following table to select which payload we execute.\n\n *\n\n * -kernel | -bios | payload\n\n * ---------+-------+---------\n\n * N | Y | u-boot\n\n * N | N | u-boot\n\n * Y | Y | u-boot\n\n * Y | N | kernel\n\n *\n\n * This ensures backwards compatibility with how we used to expose\n\n * -kernel to users but allows them to run through u-boot as well.\n\n */\n\n if (bios_name == NULL) {\n\n if (machine->kernel_filename) {\n\n bios_name = machine->kernel_filename;\n\n } else {\n\n bios_name = \"u-boot.e500\";\n\n }\n\n }\n\n filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);\n\n\n\n bios_size = load_elf(filename, NULL, NULL, &bios_entry, &loadaddr, NULL,\n\n 1, ELF_MACHINE, 0);\n\n if (bios_size < 0) {\n\n /*\n\n * Hrm. No ELF image? Try a uImage, maybe someone is giving us an\n\n * ePAPR compliant kernel\n\n */\n\n kernel_size = load_uimage(filename, &bios_entry, &loadaddr, NULL,\n\n NULL, NULL);\n\n if (kernel_size < 0) {\n\n fprintf(stderr, \"qemu: could not load firmware '%s'\\n\", filename);\n\n exit(1);\n\n }\n\n }\n\n\n\n /* Reserve space for dtb */\n\n dt_base = (loadaddr + bios_size + DTC_LOAD_PAD) & ~DTC_PAD_MASK;\n\n\n\n dt_size = ppce500_prep_device_tree(machine, params, dt_base,\n\n initrd_base, initrd_size,\n\n kernel_base, kernel_size);\n\n if (dt_size < 0) {\n\n fprintf(stderr, \"couldn't load device tree\\n\");\n\n exit(1);\n\n }\n\n assert(dt_size < DTB_MAX_SIZE);\n\n\n\n boot_info = env->load_info;\n\n boot_info->entry = bios_entry;\n\n boot_info->dt_base = dt_base;\n\n boot_info->dt_size = dt_size;\n\n\n\n if (kvm_enabled()) {\n\n kvmppc_init();\n\n }\n\n}\n", "idx": 10594}1031{"project": "FFmpeg", "commit_id": "a026a3efaeb9c2026668dccbbda339a21ab3206b", "target": 1, "func": "static av_always_inline int coeff_abs_level_remaining_decode(HEVCContext *s, int rc_rice_param)\n\n{\n\n int prefix = 0;\n\n int suffix = 0;\n\n int last_coeff_abs_level_remaining;\n\n int i;\n\n\n\n while (prefix < CABAC_MAX_BIN && get_cabac_bypass(&s->HEVClc->cc))\n\n prefix++;\n\n\n\n if (prefix < 3) {\n\n for (i = 0; i < rc_rice_param; i++)\n\n suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);\n\n last_coeff_abs_level_remaining = (prefix << rc_rice_param) + suffix;\n\n } else {\n\n int prefix_minus3 = prefix - 3;\n\n\n\n if (prefix == CABAC_MAX_BIN) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"CABAC_MAX_BIN : %d\\n\", prefix);\n\n return 0;\n\n }\n\n\n\n for (i = 0; i < prefix_minus3 + rc_rice_param; i++)\n\n suffix = (suffix << 1) | get_cabac_bypass(&s->HEVClc->cc);\n\n last_coeff_abs_level_remaining = (((1 << prefix_minus3) + 3 - 1)\n\n << rc_rice_param) + suffix;\n\n }\n\n return last_coeff_abs_level_remaining;\n\n}\n", "idx": 10609}1032{"project": "FFmpeg", "commit_id": "9f61abc8111c7c43f49ca012e957a108b9cc7610", "target": 0, "func": "static int segment_hls_window(AVFormatContext *s, int last)\n\n{\n\n SegmentContext *seg = s->priv_data;\n\n int i, ret = 0;\n\n char buf[1024];\n\n\n\n if ((ret = avio_open2(&seg->pb, seg->list, AVIO_FLAG_WRITE,\n\n &s->interrupt_callback, NULL)) < 0)\n\n goto fail;\n\n\n\n avio_printf(seg->pb, \"#EXTM3U\\n\");\n\n avio_printf(seg->pb, \"#EXT-X-VERSION:3\\n\");\n\n avio_printf(seg->pb, \"#EXT-X-TARGETDURATION:%d\\n\", (int)seg->time);\n\n avio_printf(seg->pb, \"#EXT-X-MEDIA-SEQUENCE:%d\\n\",\n\n FFMAX(0, seg->number - seg->size));\n\n\n\n av_log(s, AV_LOG_VERBOSE, \"EXT-X-MEDIA-SEQUENCE:%d\\n\",\n\n FFMAX(0, seg->number - seg->size));\n\n\n\n for (i = FFMAX(0, seg->number - seg->size);\n\n i < seg->number; i++) {\n\n avio_printf(seg->pb, \"#EXTINF:%d,\\n\", (int)seg->time);\n\n if (seg->entry_prefix) {\n\n avio_printf(seg->pb, \"%s\", seg->entry_prefix);\n\n }\n\n ret = av_get_frame_filename(buf, sizeof(buf), s->filename, i);\n\n if (ret < 0) {\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n avio_printf(seg->pb, \"%s\\n\", buf);\n\n }\n\n\n\n if (last)\n\n avio_printf(seg->pb, \"#EXT-X-ENDLIST\\n\");\n\nfail:\n\n avio_closep(&seg->pb);\n\n return ret;\n\n}\n", "idx": 10620}1033{"project": "qemu", "commit_id": "21ce148c7ec71ee32834061355a5ecfd1a11f90f", "target": 1, "func": "static inline int cris_addc_pi_m(int a, int **b)\n\n{\n\n\tasm volatile (\"addc [%1+], %0\\n\" : \"+r\" (a), \"+b\" (*b));\n\n\treturn a;\n\n}\n", "idx": 10640}1034{"project": "qemu", "commit_id": "4871b51b9241b10f4fd8e04bbb21577886795e25", "target": 1, "func": "static void vmgenid_query_monitor_test(void)\n\n{\n\n QemuUUID expected, measured;\n\n gchar *cmd;\n\n\n\n g_assert(qemu_uuid_parse(VGID_GUID, &expected) == 0);\n\n\n\n cmd = g_strdup_printf(\"-machine accel=tcg -device vmgenid,id=testvgid,\"\n\n \"guid=%s\", VGID_GUID);\n\n qtest_start(cmd);\n\n\n\n /* Read the GUID via the monitor */\n\n read_guid_from_monitor(&measured);\n\n g_assert(memcmp(measured.data, expected.data, sizeof(measured.data)) == 0);\n\n\n\n qtest_quit(global_qtest);\n\n g_free(cmd);\n\n}\n", "idx": 10648}1035{"project": "FFmpeg", "commit_id": "b4886795108e319a5b3a88370e90207d9c15a01e", "target": 1, "func": "static int decode_frame_byterun1(AVCodecContext *avctx,\n\n void *data, int *data_size,\n\n AVPacket *avpkt)\n\n{\n\n IffContext *s = avctx->priv_data;\n\n const uint8_t *buf = avpkt->size >= 2 ? avpkt->data + AV_RB16(avpkt->data) : NULL;\n\n const int buf_size = avpkt->size >= 2 ? avpkt->size - AV_RB16(avpkt->data) : 0;\n\n const uint8_t *buf_end = buf+buf_size;\n\n int y, plane, res;\n\n\n\n if ((res = extract_header(avctx, avpkt)) < 0)\n\n return res;\n\n if (s->init) {\n\n if ((res = avctx->reget_buffer(avctx, &s->frame)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"reget_buffer() failed\\n\");\n\n return res;\n\n }\n\n } else if ((res = avctx->get_buffer(avctx, &s->frame)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return res;\n\n } else if (avctx->bits_per_coded_sample <= 8 && avctx->pix_fmt != PIX_FMT_GRAY8) {\n\n if ((res = ff_cmap_read_palette(avctx, (uint32_t*)s->frame.data[1])) < 0)\n\n return res;\n\n }\n\n s->init = 1;\n\n\n\n if (avctx->codec_tag == MKTAG('I','L','B','M')) { //interleaved\n\n if (avctx->pix_fmt == PIX_FMT_PAL8 || avctx->pix_fmt == PIX_FMT_GRAY8) {\n\n for(y = 0; y < avctx->height ; y++ ) {\n\n uint8_t *row = &s->frame.data[0][ y*s->frame.linesize[0] ];\n\n memset(row, 0, avctx->width);\n\n for (plane = 0; plane < s->bpp; plane++) {\n\n buf += decode_byterun(s->planebuf, s->planesize, buf, buf_end);\n\n decodeplane8(row, s->planebuf, s->planesize, plane);\n\n }\n\n }\n\n } else if (s->ham) { // HAM to PIX_FMT_BGR32\n\n for (y = 0; y < avctx->height ; y++) {\n\n uint8_t *row = &s->frame.data[0][y*s->frame.linesize[0]];\n\n memset(s->ham_buf, 0, avctx->width);\n\n for (plane = 0; plane < s->bpp; plane++) {\n\n buf += decode_byterun(s->planebuf, s->planesize, buf, buf_end);\n\n decodeplane8(s->ham_buf, s->planebuf, s->planesize, plane);\n\n }\n\n decode_ham_plane32((uint32_t *) row, s->ham_buf, s->ham_palbuf, s->planesize);\n\n }\n\n } else { //PIX_FMT_BGR32\n\n for(y = 0; y < avctx->height ; y++ ) {\n\n uint8_t *row = &s->frame.data[0][y*s->frame.linesize[0]];\n\n memset(row, 0, avctx->width << 2);\n\n for (plane = 0; plane < s->bpp; plane++) {\n\n buf += decode_byterun(s->planebuf, s->planesize, buf, buf_end);\n\n decodeplane32((uint32_t *) row, s->planebuf, s->planesize, plane);\n\n }\n\n }\n\n }\n\n } else if (avctx->pix_fmt == PIX_FMT_PAL8 || avctx->pix_fmt == PIX_FMT_GRAY8) { // IFF-PBM\n\n for(y = 0; y < avctx->height ; y++ ) {\n\n uint8_t *row = &s->frame.data[0][y*s->frame.linesize[0]];\n\n buf += decode_byterun(row, avctx->width, buf, buf_end);\n\n }\n\n } else { // IFF-PBM: HAM to PIX_FMT_BGR32\n\n for (y = 0; y < avctx->height ; y++) {\n\n uint8_t *row = &s->frame.data[0][y*s->frame.linesize[0]];\n\n buf += decode_byterun(s->ham_buf, avctx->width, buf, buf_end);\n\n decode_ham_plane32((uint32_t *) row, s->ham_buf, s->ham_palbuf, avctx->width);\n\n }\n\n }\n\n\n\n *data_size = sizeof(AVFrame);\n\n *(AVFrame*)data = s->frame;\n\n return buf_size;\n\n}\n", "idx": 10665}1036{"project": "FFmpeg", "commit_id": "29d2dc59f973f9495c703b4cab17ded5c24ab3e8", "target": 1, "func": "int alloc_picture(MpegEncContext *s, Picture *pic, int shared){\n\n const int big_mb_num= s->mb_stride*(s->mb_height+1) + 1; //the +1 is needed so memset(,,stride*height) does not sig11\n\n const int mb_array_size= s->mb_stride*s->mb_height;\n\n const int b8_array_size= s->b8_stride*s->mb_height*2;\n\n const int b4_array_size= s->b4_stride*s->mb_height*4;\n\n int i;\n\n\n\n if(shared){\n\n assert(pic->data[0]);\n\n assert(pic->type == 0 || pic->type == FF_BUFFER_TYPE_SHARED);\n\n pic->type= FF_BUFFER_TYPE_SHARED;\n\n }else{\n\n int r;\n\n\n\n assert(!pic->data[0]);\n\n\n\n r= s->avctx->get_buffer(s->avctx, (AVFrame*)pic);\n\n\n\n if(r<0 || !pic->age || !pic->type || !pic->data[0]){\n\n av_log(s->avctx, AV_LOG_ERROR, \"get_buffer() failed (%d %d %d %p)\\n\", r, pic->age, pic->type, pic->data[0]);\n\n return -1;\n\n }\n\n\n\n if(s->linesize && (s->linesize != pic->linesize[0] || s->uvlinesize != pic->linesize[1])){\n\n av_log(s->avctx, AV_LOG_ERROR, \"get_buffer() failed (stride changed)\\n\");\n\n return -1;\n\n }\n\n\n\n if(pic->linesize[1] != pic->linesize[2]){\n\n av_log(s->avctx, AV_LOG_ERROR, \"get_buffer() failed (uv stride mismatch)\\n\");\n\n return -1;\n\n }\n\n\n\n s->linesize = pic->linesize[0];\n\n s->uvlinesize= pic->linesize[1];\n\n }\n\n\n\n if(pic->qscale_table==NULL){\n\n if (s->encoding) {\n\n CHECKED_ALLOCZ(pic->mb_var , mb_array_size * sizeof(int16_t))\n\n CHECKED_ALLOCZ(pic->mc_mb_var, mb_array_size * sizeof(int16_t))\n\n CHECKED_ALLOCZ(pic->mb_mean , mb_array_size * sizeof(int8_t))\n\n }\n\n\n\n CHECKED_ALLOCZ(pic->mbskip_table , mb_array_size * sizeof(uint8_t)+2) //the +2 is for the slice end check\n\n CHECKED_ALLOCZ(pic->qscale_table , mb_array_size * sizeof(uint8_t))\n\n CHECKED_ALLOCZ(pic->mb_type_base , big_mb_num * sizeof(uint32_t))\n\n pic->mb_type= pic->mb_type_base + s->mb_stride+1;\n\n if(s->out_format == FMT_H264){\n\n for(i=0; i<2; i++){\n\n CHECKED_ALLOCZ(pic->motion_val_base[i], 2 * (b4_array_size+4) * sizeof(int16_t))\n\n pic->motion_val[i]= pic->motion_val_base[i]+4;\n\n CHECKED_ALLOCZ(pic->ref_index[i], b8_array_size * sizeof(uint8_t))\n\n }\n\n pic->motion_subsample_log2= 2;\n\n }else if(s->out_format == FMT_H263 || s->encoding || (s->avctx->debug&FF_DEBUG_MV) || (s->avctx->debug_mv)){\n\n for(i=0; i<2; i++){\n\n CHECKED_ALLOCZ(pic->motion_val_base[i], 2 * (b8_array_size+4) * sizeof(int16_t))\n\n pic->motion_val[i]= pic->motion_val_base[i]+4;\n\n CHECKED_ALLOCZ(pic->ref_index[i], b8_array_size * sizeof(uint8_t))\n\n }\n\n pic->motion_subsample_log2= 3;\n\n }\n\n if(s->avctx->debug&FF_DEBUG_DCT_COEFF) {\n\n CHECKED_ALLOCZ(pic->dct_coeff, 64 * mb_array_size * sizeof(DCTELEM)*6)\n\n }\n\n pic->qstride= s->mb_stride;\n\n CHECKED_ALLOCZ(pic->pan_scan , 1 * sizeof(AVPanScan))\n\n }\n\n\n\n /* It might be nicer if the application would keep track of these\n\n * but it would require an API change. */\n\n memmove(s->prev_pict_types+1, s->prev_pict_types, PREV_PICT_TYPES_BUFFER_SIZE-1);\n\n s->prev_pict_types[0]= s->pict_type;\n\n if(pic->age < PREV_PICT_TYPES_BUFFER_SIZE && s->prev_pict_types[pic->age] == B_TYPE)\n\n pic->age= INT_MAX; // Skipped MBs in B-frames are quite rare in MPEG-1/2 and it is a bit tricky to skip them anyway.\n\n\n\n return 0;\n\nfail: //for the CHECKED_ALLOCZ macro\n\n return -1;\n\n}\n", "idx": 10670}1037{"project": "FFmpeg", "commit_id": "fa5dacce143f3fbe8eac14d5a99e926b2787e9e6", "target": 1, "func": "static int decode_pic_hdr(IVI5DecContext *ctx, AVCodecContext *avctx)\n{\n if (get_bits(&ctx->gb, 5) != 0x1F) {\n av_log(avctx, AV_LOG_ERROR, \"Invalid picture start code!\\n\");\n return -1;\n ctx->prev_frame_type = ctx->frame_type;\n ctx->frame_type = get_bits(&ctx->gb, 3);\n if (ctx->frame_type >= 5) {\n av_log(avctx, AV_LOG_ERROR, \"Invalid frame type: %d \\n\", ctx->frame_type);\n return -1;\n ctx->frame_num = get_bits(&ctx->gb, 8);\n if (ctx->frame_type == FRAMETYPE_INTRA) {\n ctx->gop_invalid = 1;\n if (decode_gop_header(ctx, avctx))\n return -1;\n ctx->gop_invalid = 0;\n if (ctx->frame_type != FRAMETYPE_NULL) {\n ctx->frame_flags = get_bits(&ctx->gb, 8);\n ctx->pic_hdr_size = (ctx->frame_flags & 1) ? get_bits_long(&ctx->gb, 24) : 0;\n ctx->checksum = (ctx->frame_flags & 0x10) ? get_bits(&ctx->gb, 16) : 0;\n /* skip unknown extension if any */\n if (ctx->frame_flags & 0x20)\n skip_hdr_extension(&ctx->gb); /* XXX: untested */\n /* decode macroblock huffman codebook */\n if (ff_ivi_dec_huff_desc(&ctx->gb, ctx->frame_flags & 0x40, IVI_MB_HUFF, &ctx->mb_vlc, avctx))\n return -1;\n skip_bits(&ctx->gb, 3); /* FIXME: unknown meaning! */\n align_get_bits(&ctx->gb);\n return 0;", "idx": 10671}1038{"project": "FFmpeg", "commit_id": "64f7db554ee83846f207e82a08946a6a5a6acfe2", "target": 1, "func": "static int mpegts_write_header(AVFormatContext *s)\n\n{\n\n MpegTSWrite *ts = s->priv_data;\n\n MpegTSWriteStream *ts_st;\n\n MpegTSService *service;\n\n AVStream *st, *pcr_st = NULL;\n\n AVDictionaryEntry *title, *provider;\n\n int i, j;\n\n const char *service_name;\n\n const char *provider_name;\n\n int *pids;\n\n int ret;\n\n\n\n if (s->max_delay < 0) /* Not set by the caller */\n\n s->max_delay = 0;\n\n\n\n // round up to a whole number of TS packets\n\n ts->pes_payload_size = (ts->pes_payload_size + 14 + 183) / 184 * 184 - 14;\n\n\n\n ts->tsid = ts->transport_stream_id;\n\n ts->onid = ts->original_network_id;\n\n /* allocate a single DVB service */\n\n title = av_dict_get(s->metadata, \"service_name\", NULL, 0);\n\n if (!title)\n\n title = av_dict_get(s->metadata, \"title\", NULL, 0);\n\n service_name = title ? title->value : DEFAULT_SERVICE_NAME;\n\n provider = av_dict_get(s->metadata, \"service_provider\", NULL, 0);\n\n provider_name = provider ? provider->value : DEFAULT_PROVIDER_NAME;\n\n service = mpegts_add_service(ts, ts->service_id,\n\n provider_name, service_name);\n\n\n\n if (!service)\n\n return AVERROR(ENOMEM);\n\n\n\n service->pmt.write_packet = section_write_packet;\n\n service->pmt.opaque = s;\n\n service->pmt.cc = 15;\n\n\n\n ts->pat.pid = PAT_PID;\n\n /* Initialize at 15 so that it wraps and is equal to 0 for the\n\n * first packet we write. */\n\n ts->pat.cc = 15;\n\n ts->pat.write_packet = section_write_packet;\n\n ts->pat.opaque = s;\n\n\n\n ts->sdt.pid = SDT_PID;\n\n ts->sdt.cc = 15;\n\n ts->sdt.write_packet = section_write_packet;\n\n ts->sdt.opaque = s;\n\n\n\n pids = av_malloc_array(s->nb_streams, sizeof(*pids));\n\n if (!pids) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n\n\n /* assign pids to each stream */\n\n for (i = 0; i < s->nb_streams; i++) {\n\n st = s->streams[i];\n\n\n\n ts_st = av_mallocz(sizeof(MpegTSWriteStream));\n\n if (!ts_st) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n st->priv_data = ts_st;\n\n\n\n ts_st->user_tb = st->time_base;\n\n avpriv_set_pts_info(st, 33, 1, 90000);\n\n\n\n ts_st->payload = av_mallocz(ts->pes_payload_size);\n\n if (!ts_st->payload) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n ts_st->service = service;\n\n /* MPEG pid values < 16 are reserved. Applications which set st->id in\n\n * this range are assigned a calculated pid. */\n\n if (st->id < 16) {\n\n ts_st->pid = ts->start_pid + i;\n\n } else if (st->id < 0x1FFF) {\n\n ts_st->pid = st->id;\n\n } else {\n\n av_log(s, AV_LOG_ERROR,\n\n \"Invalid stream id %d, must be less than 8191\\n\", st->id);\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n if (ts_st->pid == service->pmt.pid) {\n\n av_log(s, AV_LOG_ERROR, \"Duplicate stream id %d\\n\", ts_st->pid);\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n for (j = 0; j < i; j++) {\n\n if (pids[j] == ts_st->pid) {\n\n av_log(s, AV_LOG_ERROR, \"Duplicate stream id %d\\n\", ts_st->pid);\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n }\n\n pids[i] = ts_st->pid;\n\n ts_st->payload_pts = AV_NOPTS_VALUE;\n\n ts_st->payload_dts = AV_NOPTS_VALUE;\n\n ts_st->first_pts_check = 1;\n\n ts_st->cc = 15;\n\n /* update PCR pid by using the first video stream */\n\n if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO &&\n\n service->pcr_pid == 0x1fff) {\n\n service->pcr_pid = ts_st->pid;\n\n pcr_st = st;\n\n }\n\n if (st->codec->codec_id == AV_CODEC_ID_AAC &&\n\n st->codec->extradata_size > 0) {\n\n AVStream *ast;\n\n ts_st->amux = avformat_alloc_context();\n\n if (!ts_st->amux) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n ts_st->amux->oformat =\n\n av_guess_format((ts->flags & MPEGTS_FLAG_AAC_LATM) ? \"latm\" : \"adts\",\n\n NULL, NULL);\n\n if (!ts_st->amux->oformat) {\n\n ret = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n if (!(ast = avformat_new_stream(ts_st->amux, NULL))) {\n\n ret = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n ret = avcodec_copy_context(ast->codec, st->codec);\n\n if (ret != 0)\n\n goto fail;\n\n ast->time_base = st->time_base;\n\n ret = avformat_write_header(ts_st->amux, NULL);\n\n if (ret < 0)\n\n goto fail;\n\n }\n\n if (st->codec->codec_id == AV_CODEC_ID_OPUS) {\n\n ts_st->opus_pending_trim_start = st->codec->initial_padding * 48000 / st->codec->sample_rate;\n\n }\n\n }\n\n\n\n av_freep(&pids);\n\n\n\n /* if no video stream, use the first stream as PCR */\n\n if (service->pcr_pid == 0x1fff && s->nb_streams > 0) {\n\n pcr_st = s->streams[0];\n\n ts_st = pcr_st->priv_data;\n\n service->pcr_pid = ts_st->pid;\n\n } else\n\n ts_st = pcr_st->priv_data;\n\n\n\n if (ts->mux_rate > 1) {\n\n service->pcr_packet_period = (ts->mux_rate * ts->pcr_period) /\n\n (TS_PACKET_SIZE * 8 * 1000);\n\n ts->sdt_packet_period = (ts->mux_rate * SDT_RETRANS_TIME) /\n\n (TS_PACKET_SIZE * 8 * 1000);\n\n ts->pat_packet_period = (ts->mux_rate * PAT_RETRANS_TIME) /\n\n (TS_PACKET_SIZE * 8 * 1000);\n\n\n\n if (ts->copyts < 1)\n\n ts->first_pcr = av_rescale(s->max_delay, PCR_TIME_BASE, AV_TIME_BASE);\n\n } else {\n\n /* Arbitrary values, PAT/PMT will also be written on video key frames */\n\n ts->sdt_packet_period = 200;\n\n ts->pat_packet_period = 40;\n\n if (pcr_st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {\n\n if (!pcr_st->codec->frame_size) {\n\n av_log(s, AV_LOG_WARNING, \"frame size not set\\n\");\n\n service->pcr_packet_period =\n\n pcr_st->codec->sample_rate / (10 * 512);\n\n } else {\n\n service->pcr_packet_period =\n\n pcr_st->codec->sample_rate / (10 * pcr_st->codec->frame_size);\n\n }\n\n } else {\n\n // max delta PCR 0.1s\n\n // TODO: should be avg_frame_rate\n\n service->pcr_packet_period =\n\n ts_st->user_tb.den / (10 * ts_st->user_tb.num);\n\n }\n\n if (!service->pcr_packet_period)\n\n service->pcr_packet_period = 1;\n\n }\n\n\n\n ts->last_pat_ts = AV_NOPTS_VALUE;\n\n ts->last_sdt_ts = AV_NOPTS_VALUE;\n\n // The user specified a period, use only it\n\n if (ts->pat_period < INT_MAX/2) {\n\n ts->pat_packet_period = INT_MAX;\n\n }\n\n if (ts->sdt_period < INT_MAX/2) {\n\n ts->sdt_packet_period = INT_MAX;\n\n }\n\n\n\n // output a PCR as soon as possible\n\n service->pcr_packet_count = service->pcr_packet_period;\n\n ts->pat_packet_count = ts->pat_packet_period - 1;\n\n ts->sdt_packet_count = ts->sdt_packet_period - 1;\n\n\n\n if (ts->mux_rate == 1)\n\n av_log(s, AV_LOG_VERBOSE, \"muxrate VBR, \");\n\n else\n\n av_log(s, AV_LOG_VERBOSE, \"muxrate %d, \", ts->mux_rate);\n\n av_log(s, AV_LOG_VERBOSE,\n\n \"pcr every %d pkts, sdt every %d, pat/pmt every %d pkts\\n\",\n\n service->pcr_packet_period,\n\n ts->sdt_packet_period, ts->pat_packet_period);\n\n\n\n if (ts->m2ts_mode == -1) {\n\n if (av_match_ext(s->filename, \"m2ts\")) {\n\n ts->m2ts_mode = 1;\n\n } else {\n\n ts->m2ts_mode = 0;\n\n }\n\n }\n\n\n\n return 0;\n\n\n\nfail:\n\n av_freep(&pids);\n\n for (i = 0; i < s->nb_streams; i++) {\n\n st = s->streams[i];\n\n ts_st = st->priv_data;\n\n if (ts_st) {\n\n av_freep(&ts_st->payload);\n\n if (ts_st->amux) {\n\n avformat_free_context(ts_st->amux);\n\n ts_st->amux = NULL;\n\n }\n\n }\n\n av_freep(&st->priv_data);\n\n }\n\n\n\n for (i = 0; i < ts->nb_services; i++) {\n\n service = ts->services[i];\n\n av_freep(&service->provider_name);\n\n av_freep(&service->name);\n\n av_freep(&service);\n\n }\n\n av_freep(&ts->services);\n\n return ret;\n\n}\n", "idx": 10672}1039{"project": "FFmpeg", "commit_id": "15ccaa344c4f645ae791aafecdef3d886e196127", "target": 1, "func": "void dct32(INTFLOAT *out, const INTFLOAT *tab)\n\n{\n\n INTFLOAT tmp0, tmp1;\n\n\n\n INTFLOAT val0 , val1 , val2 , val3 , val4 , val5 , val6 , val7 ,\n\n val8 , val9 , val10, val11, val12, val13, val14, val15,\n\n val16, val17, val18, val19, val20, val21, val22, val23,\n\n val24, val25, val26, val27, val28, val29, val30, val31;\n\n\n\n /* pass 1 */\n\n BF0( 0, 31, COS0_0 , 1);\n\n BF0(15, 16, COS0_15, 5);\n\n /* pass 2 */\n\n BF( 0, 15, COS1_0 , 1);\n\n BF(16, 31,-COS1_0 , 1);\n\n /* pass 1 */\n\n BF0( 7, 24, COS0_7 , 1);\n\n BF0( 8, 23, COS0_8 , 1);\n\n /* pass 2 */\n\n BF( 7, 8, COS1_7 , 4);\n\n BF(23, 24,-COS1_7 , 4);\n\n /* pass 3 */\n\n BF( 0, 7, COS2_0 , 1);\n\n BF( 8, 15,-COS2_0 , 1);\n\n BF(16, 23, COS2_0 , 1);\n\n BF(24, 31,-COS2_0 , 1);\n\n /* pass 1 */\n\n BF0( 3, 28, COS0_3 , 1);\n\n BF0(12, 19, COS0_12, 2);\n\n /* pass 2 */\n\n BF( 3, 12, COS1_3 , 1);\n\n BF(19, 28,-COS1_3 , 1);\n\n /* pass 1 */\n\n BF0( 4, 27, COS0_4 , 1);\n\n BF0(11, 20, COS0_11, 2);\n\n /* pass 2 */\n\n BF( 4, 11, COS1_4 , 1);\n\n BF(20, 27,-COS1_4 , 1);\n\n /* pass 3 */\n\n BF( 3, 4, COS2_3 , 3);\n\n BF(11, 12,-COS2_3 , 3);\n\n BF(19, 20, COS2_3 , 3);\n\n BF(27, 28,-COS2_3 , 3);\n\n /* pass 4 */\n\n BF( 0, 3, COS3_0 , 1);\n\n BF( 4, 7,-COS3_0 , 1);\n\n BF( 8, 11, COS3_0 , 1);\n\n BF(12, 15,-COS3_0 , 1);\n\n BF(16, 19, COS3_0 , 1);\n\n BF(20, 23,-COS3_0 , 1);\n\n BF(24, 27, COS3_0 , 1);\n\n BF(28, 31,-COS3_0 , 1);\n\n\n\n\n\n\n\n /* pass 1 */\n\n BF0( 1, 30, COS0_1 , 1);\n\n BF0(14, 17, COS0_14, 3);\n\n /* pass 2 */\n\n BF( 1, 14, COS1_1 , 1);\n\n BF(17, 30,-COS1_1 , 1);\n\n /* pass 1 */\n\n BF0( 6, 25, COS0_6 , 1);\n\n BF0( 9, 22, COS0_9 , 1);\n\n /* pass 2 */\n\n BF( 6, 9, COS1_6 , 2);\n\n BF(22, 25,-COS1_6 , 2);\n\n /* pass 3 */\n\n BF( 1, 6, COS2_1 , 1);\n\n BF( 9, 14,-COS2_1 , 1);\n\n BF(17, 22, COS2_1 , 1);\n\n BF(25, 30,-COS2_1 , 1);\n\n\n\n /* pass 1 */\n\n BF0( 2, 29, COS0_2 , 1);\n\n BF0(13, 18, COS0_13, 3);\n\n /* pass 2 */\n\n BF( 2, 13, COS1_2 , 1);\n\n BF(18, 29,-COS1_2 , 1);\n\n /* pass 1 */\n\n BF0( 5, 26, COS0_5 , 1);\n\n BF0(10, 21, COS0_10, 1);\n\n /* pass 2 */\n\n BF( 5, 10, COS1_5 , 2);\n\n BF(21, 26,-COS1_5 , 2);\n\n /* pass 3 */\n\n BF( 2, 5, COS2_2 , 1);\n\n BF(10, 13,-COS2_2 , 1);\n\n BF(18, 21, COS2_2 , 1);\n\n BF(26, 29,-COS2_2 , 1);\n\n /* pass 4 */\n\n BF( 1, 2, COS3_1 , 2);\n\n BF( 5, 6,-COS3_1 , 2);\n\n BF( 9, 10, COS3_1 , 2);\n\n BF(13, 14,-COS3_1 , 2);\n\n BF(17, 18, COS3_1 , 2);\n\n BF(21, 22,-COS3_1 , 2);\n\n BF(25, 26, COS3_1 , 2);\n\n BF(29, 30,-COS3_1 , 2);\n\n\n\n /* pass 5 */\n\n BF1( 0, 1, 2, 3);\n\n BF2( 4, 5, 6, 7);\n\n BF1( 8, 9, 10, 11);\n\n BF2(12, 13, 14, 15);\n\n BF1(16, 17, 18, 19);\n\n BF2(20, 21, 22, 23);\n\n BF1(24, 25, 26, 27);\n\n BF2(28, 29, 30, 31);\n\n\n\n /* pass 6 */\n\n\n\n ADD( 8, 12);\n\n ADD(12, 10);\n\n ADD(10, 14);\n\n ADD(14, 9);\n\n ADD( 9, 13);\n\n ADD(13, 11);\n\n ADD(11, 15);\n\n\n\n out[ 0] = val0;\n\n out[16] = val1;\n\n out[ 8] = val2;\n\n out[24] = val3;\n\n out[ 4] = val4;\n\n out[20] = val5;\n\n out[12] = val6;\n\n out[28] = val7;\n\n out[ 2] = val8;\n\n out[18] = val9;\n\n out[10] = val10;\n\n out[26] = val11;\n\n out[ 6] = val12;\n\n out[22] = val13;\n\n out[14] = val14;\n\n out[30] = val15;\n\n\n\n ADD(24, 28);\n\n ADD(28, 26);\n\n ADD(26, 30);\n\n ADD(30, 25);\n\n ADD(25, 29);\n\n ADD(29, 27);\n\n ADD(27, 31);\n\n\n\n out[ 1] = val16 + val24;\n\n out[17] = val17 + val25;\n\n out[ 9] = val18 + val26;\n\n out[25] = val19 + val27;\n\n out[ 5] = val20 + val28;\n\n out[21] = val21 + val29;\n\n out[13] = val22 + val30;\n\n out[29] = val23 + val31;\n\n out[ 3] = val24 + val20;\n\n out[19] = val25 + val21;\n\n out[11] = val26 + val22;\n\n out[27] = val27 + val23;\n\n out[ 7] = val28 + val18;\n\n out[23] = val29 + val19;\n\n out[15] = val30 + val17;\n\n out[31] = val31;\n\n}\n", "idx": 10699}1040{"project": "qemu", "commit_id": "3558f8055f37a34762b7a2a0f02687e6eeab893d", "target": 0, "func": "static inline void gen_op_movl_seg_T0_vm(int seg_reg)\n\n{\n\n tcg_gen_andi_tl(cpu_T[0], cpu_T[0], 0xffff);\n\n tcg_gen_st32_tl(cpu_T[0], cpu_env, \n\n offsetof(CPUX86State,segs[seg_reg].selector));\n\n tcg_gen_shli_tl(cpu_T[0], cpu_T[0], 4);\n\n tcg_gen_st_tl(cpu_T[0], cpu_env, \n\n offsetof(CPUX86State,segs[seg_reg].base));\n\n}\n", "idx": 10721}1041{"project": "FFmpeg", "commit_id": "5a446bc88e49cc6400d0c646ca1eb540a727c9de", "target": 1, "func": "static void vc1_v_overlap_c(uint8_t* src, int stride)\n\n{\n\n int i;\n\n int a, b, c, d;\n\n int d1, d2;\n\n int rnd = 1;\n\n for(i = 0; i < 8; i++) {\n\n a = src[-2*stride];\n\n b = src[-stride];\n\n c = src[0];\n\n d = src[stride];\n\n d1 = (a - d + 3 + rnd) >> 3;\n\n d2 = (a - d + b - c + 4 - rnd) >> 3;\n\n\n\n src[-2*stride] = a - d1;\n\n src[-stride] = b - d2;\n\n src[0] = c + d2;\n\n src[stride] = d + d1;\n\n src++;\n\n rnd = !rnd;\n\n }\n\n}\n", "idx": 10723}1042{"project": "qemu", "commit_id": "b4ba67d9a702507793c2724e56f98e9b0f7be02b", "target": 1, "func": "void qvirtio_pci_set_msix_configuration_vector(QVirtioPCIDevice *d,\n\n QGuestAllocator *alloc, uint16_t entry)\n\n{\n\n uint16_t vector;\n\n uint32_t control;\n\n void *addr;\n\n\n\n g_assert(d->pdev->msix_enabled);\n\n addr = d->pdev->msix_table + (entry * 16);\n\n\n\n g_assert_cmpint(entry, >=, 0);\n\n g_assert_cmpint(entry, <, qpci_msix_table_size(d->pdev));\n\n d->config_msix_entry = entry;\n\n\n\n d->config_msix_data = 0x12345678;\n\n d->config_msix_addr = guest_alloc(alloc, 4);\n\n\n\n qpci_io_writel(d->pdev, addr + PCI_MSIX_ENTRY_LOWER_ADDR,\n\n d->config_msix_addr & ~0UL);\n\n qpci_io_writel(d->pdev, addr + PCI_MSIX_ENTRY_UPPER_ADDR,\n\n (d->config_msix_addr >> 32) & ~0UL);\n\n qpci_io_writel(d->pdev, addr + PCI_MSIX_ENTRY_DATA, d->config_msix_data);\n\n\n\n control = qpci_io_readl(d->pdev, addr + PCI_MSIX_ENTRY_VECTOR_CTRL);\n\n qpci_io_writel(d->pdev, addr + PCI_MSIX_ENTRY_VECTOR_CTRL,\n\n control & ~PCI_MSIX_ENTRY_CTRL_MASKBIT);\n\n\n\n qpci_io_writew(d->pdev, d->addr + VIRTIO_MSI_CONFIG_VECTOR, entry);\n\n vector = qpci_io_readw(d->pdev, d->addr + VIRTIO_MSI_CONFIG_VECTOR);\n\n g_assert_cmphex(vector, !=, VIRTIO_MSI_NO_VECTOR);\n\n}\n", "idx": 10727}1043{"project": "qemu", "commit_id": "d279279e2b5cd40dbcc863fb66a695990f304077", "target": 1, "func": "static void gen_rdhwr(DisasContext *ctx, int rt, int rd)\n\n{\n\n TCGv t0;\n\n\n\n#if !defined(CONFIG_USER_ONLY)\n\n /* The Linux kernel will emulate rdhwr if it's not supported natively.\n\n Therefore only check the ISA in system mode. */\n\n check_insn(ctx, ISA_MIPS32R2);\n\n#endif\n\n t0 = tcg_temp_new();\n\n\n\n switch (rd) {\n\n case 0:\n\n save_cpu_state(ctx, 1);\n\n gen_helper_rdhwr_cpunum(t0, cpu_env);\n\n gen_store_gpr(t0, rt);\n\n break;\n\n case 1:\n\n save_cpu_state(ctx, 1);\n\n gen_helper_rdhwr_synci_step(t0, cpu_env);\n\n gen_store_gpr(t0, rt);\n\n break;\n\n case 2:\n\n save_cpu_state(ctx, 1);\n\n gen_helper_rdhwr_cc(t0, cpu_env);\n\n gen_store_gpr(t0, rt);\n\n break;\n\n case 3:\n\n save_cpu_state(ctx, 1);\n\n gen_helper_rdhwr_ccres(t0, cpu_env);\n\n gen_store_gpr(t0, rt);\n\n break;\n\n case 29:\n\n#if defined(CONFIG_USER_ONLY)\n\n tcg_gen_ld_tl(t0, cpu_env, offsetof(CPUMIPSState, tls_value));\n\n gen_store_gpr(t0, rt);\n\n break;\n\n#else\n\n /* XXX: Some CPUs implement this in hardware.\n\n Not supported yet. */\n\n#endif\n\n default: /* Invalid */\n\n MIPS_INVAL(\"rdhwr\");\n\n generate_exception(ctx, EXCP_RI);\n\n break;\n\n }\n\n tcg_temp_free(t0);\n\n}\n", "idx": 10730}1044{"project": "qemu", "commit_id": "af01492755b82ccaf0d15014477b34ba3ea643fc", "target": 1, "func": "static void usb_msd_realize_bot(USBDevice *dev, Error **errp)\n\n{\n\n MSDState *s = DO_UPCAST(MSDState, dev, dev);\n\n\n\n usb_desc_create_serial(dev);\n\n usb_desc_init(dev);\n\n scsi_bus_new(&s->bus, sizeof(s->bus), DEVICE(dev),\n\n &usb_msd_scsi_info_bot, NULL);\n\n s->bus.qbus.allow_hotplug = 0;\n\n usb_msd_handle_reset(dev);\n\n}\n", "idx": 10735}1045{"project": "FFmpeg", "commit_id": "4bb1070c154e49d35805fbcdac9c9e92f702ef96", "target": 0, "func": "static int decode_slice_header(FFV1Context *f, FFV1Context *fs)\n\n{\n\n RangeCoder *c = &fs->c;\n\n uint8_t state[CONTEXT_SIZE];\n\n unsigned ps, i, context_count;\n\n memset(state, 128, sizeof(state));\n\n\n\n if (fs->ac > 1) {\n\n for (i = 1; i < 256; i++) {\n\n fs->c.one_state[i] = f->state_transition[i];\n\n fs->c.zero_state[256 - i] = 256 - fs->c.one_state[i];\n\n }\n\n }\n\n\n\n fs->slice_x = get_symbol(c, state, 0) * f->width;\n\n fs->slice_y = get_symbol(c, state, 0) * f->height;\n\n fs->slice_width = (get_symbol(c, state, 0) + 1) * f->width + fs->slice_x;\n\n fs->slice_height = (get_symbol(c, state, 0) + 1) * f->height + fs->slice_y;\n\n\n\n fs->slice_x /= f->num_h_slices;\n\n fs->slice_y /= f->num_v_slices;\n\n fs->slice_width = fs->slice_width / f->num_h_slices - fs->slice_x;\n\n fs->slice_height = fs->slice_height / f->num_v_slices - fs->slice_y;\n\n if ((unsigned)fs->slice_width > f->width ||\n\n (unsigned)fs->slice_height > f->height)\n\n return AVERROR_INVALIDDATA;\n\n if ((unsigned)fs->slice_x + (uint64_t)fs->slice_width > f->width ||\n\n (unsigned)fs->slice_y + (uint64_t)fs->slice_height > f->height)\n\n return AVERROR_INVALIDDATA;\n\n\n\n for (i = 0; i < f->plane_count; i++) {\n\n PlaneContext *const p = &fs->plane[i];\n\n int idx = get_symbol(c, state, 0);\n\n if (idx > (unsigned)f->quant_table_count) {\n\n av_log(f->avctx, AV_LOG_ERROR, \"quant_table_index out of range\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n p->quant_table_index = idx;\n\n memcpy(p->quant_table, f->quant_tables[idx], sizeof(p->quant_table));\n\n context_count = f->context_count[idx];\n\n\n\n if (p->context_count < context_count) {\n\n av_freep(&p->state);\n\n av_freep(&p->vlc_state);\n\n }\n\n p->context_count = context_count;\n\n }\n\n\n\n ps = get_symbol(c, state, 0);\n\n if (ps == 1) {\n\n f->cur->interlaced_frame = 1;\n\n f->cur->top_field_first = 1;\n\n } else if (ps == 2) {\n\n f->cur->interlaced_frame = 1;\n\n f->cur->top_field_first = 0;\n\n } else if (ps == 3) {\n\n f->cur->interlaced_frame = 0;\n\n }\n\n f->cur->sample_aspect_ratio.num = get_symbol(c, state, 0);\n\n f->cur->sample_aspect_ratio.den = get_symbol(c, state, 0);\n\n\n\n if (av_image_check_sar(f->width, f->height,\n\n f->cur->sample_aspect_ratio) < 0) {\n\n av_log(f->avctx, AV_LOG_WARNING, \"ignoring invalid SAR: %u/%u\\n\",\n\n f->cur->sample_aspect_ratio.num,\n\n f->cur->sample_aspect_ratio.den);\n\n f->cur->sample_aspect_ratio = (AVRational){ 0, 1 };\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 10738}1046{"project": "qemu", "commit_id": "b60fae32ff33cbaab76d14cc5f55b979cf58516d", "target": 1, "func": "int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint *bp)\n\n{\n\n\n\n if (cpu_memory_rw_debug(cs, bp->pc, (uint8_t *)&bp->saved_insn,\n\n sizeof(diag_501), 0) ||\n\n cpu_memory_rw_debug(cs, bp->pc, (uint8_t *)diag_501,\n\n sizeof(diag_501), 1)) {\n\n return -EINVAL;\n\n }\n\n return 0;\n\n}\n", "idx": 10741}1047{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static inline uint8_t *ram_chunk_start(const RDMALocalBlock *rdma_ram_block,\n\n uint64_t i)\n\n{\n\n return (uint8_t *) (((uintptr_t) rdma_ram_block->local_host_addr)\n\n + (i << RDMA_REG_CHUNK_SHIFT));\n\n}\n", "idx": 10744}1048{"project": "FFmpeg", "commit_id": "a1e093a6fb324612266d40e3168a14f58adab265", "target": 0, "func": "static int decode_element(AVCodecContext *avctx, void *data, int ch_index,\n\n int channels)\n\n{\n\n ALACContext *alac = avctx->priv_data;\n\n int has_size, bps, is_compressed, decorr_shift, decorr_left_weight, ret;\n\n uint32_t output_samples;\n\n int i, ch;\n\n\n\n skip_bits(&alac->gb, 4); /* element instance tag */\n\n skip_bits(&alac->gb, 12); /* unused header bits */\n\n\n\n /* the number of output samples is stored in the frame */\n\n has_size = get_bits1(&alac->gb);\n\n\n\n alac->extra_bits = get_bits(&alac->gb, 2) << 3;\n\n bps = alac->sample_size - alac->extra_bits + channels - 1;\n\n if (bps > 32) {\n\n av_log(avctx, AV_LOG_ERROR, \"bps is unsupported: %d\\n\", bps);\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n /* whether the frame is compressed */\n\n is_compressed = !get_bits1(&alac->gb);\n\n\n\n if (has_size)\n\n output_samples = get_bits_long(&alac->gb, 32);\n\n else\n\n output_samples = alac->max_samples_per_frame;\n\n if (!output_samples || output_samples > alac->max_samples_per_frame) {\n\n av_log(avctx, AV_LOG_ERROR, \"invalid samples per frame: %d\\n\",\n\n output_samples);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n if (!alac->nb_samples) {\n\n /* get output buffer */\n\n alac->frame.nb_samples = output_samples;\n\n if ((ret = avctx->get_buffer(avctx, &alac->frame)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return ret;\n\n }\n\n } else if (output_samples != alac->nb_samples) {\n\n av_log(avctx, AV_LOG_ERROR, \"sample count mismatch: %u != %d\\n\",\n\n output_samples, alac->nb_samples);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n alac->nb_samples = output_samples;\n\n if (alac->direct_output) {\n\n for (ch = 0; ch < channels; ch++)\n\n alac->output_samples_buffer[ch] = (int32_t *)alac->frame.extended_data[ch_index + ch];\n\n }\n\n\n\n if (is_compressed) {\n\n int16_t lpc_coefs[2][32];\n\n int lpc_order[2];\n\n int prediction_type[2];\n\n int lpc_quant[2];\n\n int rice_history_mult[2];\n\n\n\n decorr_shift = get_bits(&alac->gb, 8);\n\n decorr_left_weight = get_bits(&alac->gb, 8);\n\n\n\n for (ch = 0; ch < channels; ch++) {\n\n prediction_type[ch] = get_bits(&alac->gb, 4);\n\n lpc_quant[ch] = get_bits(&alac->gb, 4);\n\n rice_history_mult[ch] = get_bits(&alac->gb, 3);\n\n lpc_order[ch] = get_bits(&alac->gb, 5);\n\n\n\n /* read the predictor table */\n\n for (i = lpc_order[ch] - 1; i >= 0; i--)\n\n lpc_coefs[ch][i] = get_sbits(&alac->gb, 16);\n\n }\n\n\n\n if (alac->extra_bits) {\n\n for (i = 0; i < alac->nb_samples; i++) {\n\n if(get_bits_left(&alac->gb) <= 0)\n\n return -1;\n\n for (ch = 0; ch < channels; ch++)\n\n alac->extra_bits_buffer[ch][i] = get_bits(&alac->gb, alac->extra_bits);\n\n }\n\n }\n\n for (ch = 0; ch < channels; ch++) {\n\n int ret=rice_decompress(alac, alac->predict_error_buffer[ch],\n\n alac->nb_samples, bps,\n\n rice_history_mult[ch] * alac->rice_history_mult / 4);\n\n if(ret<0)\n\n return ret;\n\n\n\n /* adaptive FIR filter */\n\n if (prediction_type[ch] == 15) {\n\n /* Prediction type 15 runs the adaptive FIR twice.\n\n * The first pass uses the special-case coef_num = 31, while\n\n * the second pass uses the coefs from the bitstream.\n\n *\n\n * However, this prediction type is not currently used by the\n\n * reference encoder.\n\n */\n\n lpc_prediction(alac->predict_error_buffer[ch],\n\n alac->predict_error_buffer[ch],\n\n alac->nb_samples, bps, NULL, 31, 0);\n\n } else if (prediction_type[ch] > 0) {\n\n av_log(avctx, AV_LOG_WARNING, \"unknown prediction type: %i\\n\",\n\n prediction_type[ch]);\n\n }\n\n lpc_prediction(alac->predict_error_buffer[ch],\n\n alac->output_samples_buffer[ch], alac->nb_samples,\n\n bps, lpc_coefs[ch], lpc_order[ch], lpc_quant[ch]);\n\n }\n\n } else {\n\n /* not compressed, easy case */\n\n for (i = 0; i < alac->nb_samples; i++) {\n\n if(get_bits_left(&alac->gb) <= 0)\n\n return -1;\n\n for (ch = 0; ch < channels; ch++) {\n\n alac->output_samples_buffer[ch][i] =\n\n get_sbits_long(&alac->gb, alac->sample_size);\n\n }\n\n }\n\n alac->extra_bits = 0;\n\n decorr_shift = 0;\n\n decorr_left_weight = 0;\n\n }\n\n\n\n if (channels == 2 && decorr_left_weight) {\n\n decorrelate_stereo(alac->output_samples_buffer, alac->nb_samples,\n\n decorr_shift, decorr_left_weight);\n\n }\n\n\n\n if (alac->extra_bits) {\n\n append_extra_bits(alac->output_samples_buffer, alac->extra_bits_buffer,\n\n alac->extra_bits, channels, alac->nb_samples);\n\n }\n\n\n\n if(av_sample_fmt_is_planar(avctx->sample_fmt)) {\n\n switch(alac->sample_size) {\n\n case 16: {\n\n for (ch = 0; ch < channels; ch++) {\n\n int16_t *outbuffer = (int16_t *)alac->frame.extended_data[ch_index + ch];\n\n for (i = 0; i < alac->nb_samples; i++)\n\n *outbuffer++ = alac->output_samples_buffer[ch][i];\n\n }}\n\n break;\n\n case 24: {\n\n for (ch = 0; ch < channels; ch++) {\n\n for (i = 0; i < alac->nb_samples; i++)\n\n alac->output_samples_buffer[ch][i] <<= 8;\n\n }}\n\n break;\n\n }\n\n }else{\n\n switch(alac->sample_size) {\n\n case 16: {\n\n int16_t *outbuffer = ((int16_t *)alac->frame.extended_data[0]) + ch_index;\n\n for (i = 0; i < alac->nb_samples; i++) {\n\n for (ch = 0; ch < channels; ch++)\n\n *outbuffer++ = alac->output_samples_buffer[ch][i];\n\n outbuffer += alac->channels - channels;\n\n }\n\n }\n\n break;\n\n case 24: {\n\n int32_t *outbuffer = ((int32_t *)alac->frame.extended_data[0]) + ch_index;\n\n for (i = 0; i < alac->nb_samples; i++) {\n\n for (ch = 0; ch < channels; ch++)\n\n *outbuffer++ = alac->output_samples_buffer[ch][i] << 8;\n\n outbuffer += alac->channels - channels;\n\n }\n\n }\n\n break;\n\n case 32: {\n\n int32_t *outbuffer = ((int32_t *)alac->frame.extended_data[0]) + ch_index;\n\n for (i = 0; i < alac->nb_samples; i++) {\n\n for (ch = 0; ch < channels; ch++)\n\n *outbuffer++ = alac->output_samples_buffer[ch][i];\n\n outbuffer += alac->channels - channels;\n\n }\n\n }\n\n break;\n\n }\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 10750}1049{"project": "FFmpeg", "commit_id": "57cc1ad35fd488c7a879661498f6f3508038d5a9", "target": 0, "func": "static av_always_inline float quantize_and_encode_band_cost_template(\n\n struct AACEncContext *s,\n\n PutBitContext *pb, const float *in,\n\n const float *scaled, int size, int scale_idx,\n\n int cb, const float lambda, const float uplim,\n\n int *bits, int BT_ZERO, int BT_UNSIGNED,\n\n int BT_PAIR, int BT_ESC)\n\n{\n\n const float IQ = ff_aac_pow2sf_tab[200 + scale_idx - SCALE_ONE_POS + SCALE_DIV_512];\n\n const float Q = ff_aac_pow2sf_tab[200 - scale_idx + SCALE_ONE_POS - SCALE_DIV_512];\n\n const float CLIPPED_ESCAPE = 165140.0f*IQ;\n\n int i, j, k;\n\n float cost = 0;\n\n const int dim = BT_PAIR ? 2 : 4;\n\n int resbits = 0;\n\n const float Q34 = sqrtf(Q * sqrtf(Q));\n\n const int range = aac_cb_range[cb];\n\n const int maxval = aac_cb_maxval[cb];\n\n int off;\n\n\n\n if (BT_ZERO) {\n\n for (i = 0; i < size; i++)\n\n cost += in[i]*in[i];\n\n if (bits)\n\n *bits = 0;\n\n return cost * lambda;\n\n }\n\n if (!scaled) {\n\n abs_pow34_v(s->scoefs, in, size);\n\n scaled = s->scoefs;\n\n }\n\n quantize_bands(s->qcoefs, in, scaled, size, Q34, !BT_UNSIGNED, maxval);\n\n if (BT_UNSIGNED) {\n\n off = 0;\n\n } else {\n\n off = maxval;\n\n }\n\n for (i = 0; i < size; i += dim) {\n\n const float *vec;\n\n int *quants = s->qcoefs + i;\n\n int curidx = 0;\n\n int curbits;\n\n float rd = 0.0f;\n\n for (j = 0; j < dim; j++) {\n\n curidx *= range;\n\n curidx += quants[j] + off;\n\n }\n\n curbits = ff_aac_spectral_bits[cb-1][curidx];\n\n vec = &ff_aac_codebook_vectors[cb-1][curidx*dim];\n\n if (BT_UNSIGNED) {\n\n for (k = 0; k < dim; k++) {\n\n float t = fabsf(in[i+k]);\n\n float di;\n\n if (BT_ESC && vec[k] == 64.0f) { //FIXME: slow\n\n if (t >= CLIPPED_ESCAPE) {\n\n di = t - CLIPPED_ESCAPE;\n\n curbits += 21;\n\n } else {\n\n int c = av_clip(quant(t, Q), 0, 8191);\n\n di = t - c*cbrtf(c)*IQ;\n\n curbits += av_log2(c)*2 - 4 + 1;\n\n }\n\n } else {\n\n di = t - vec[k]*IQ;\n\n }\n\n if (vec[k] != 0.0f)\n\n curbits++;\n\n rd += di*di;\n\n }\n\n } else {\n\n for (k = 0; k < dim; k++) {\n\n float di = in[i+k] - vec[k]*IQ;\n\n rd += di*di;\n\n }\n\n }\n\n cost += rd * lambda + curbits;\n\n resbits += curbits;\n\n if (cost >= uplim)\n\n return uplim;\n\n if (pb) {\n\n put_bits(pb, ff_aac_spectral_bits[cb-1][curidx], ff_aac_spectral_codes[cb-1][curidx]);\n\n if (BT_UNSIGNED)\n\n for (j = 0; j < dim; j++)\n\n if (ff_aac_codebook_vectors[cb-1][curidx*dim+j] != 0.0f)\n\n put_bits(pb, 1, in[i+j] < 0.0f);\n\n if (BT_ESC) {\n\n for (j = 0; j < 2; j++) {\n\n if (ff_aac_codebook_vectors[cb-1][curidx*2+j] == 64.0f) {\n\n int coef = av_clip(quant(fabsf(in[i+j]), Q), 0, 8191);\n\n int len = av_log2(coef);\n\n\n\n put_bits(pb, len - 4 + 1, (1 << (len - 4 + 1)) - 2);\n\n put_bits(pb, len, coef & ((1 << len) - 1));\n\n }\n\n }\n\n }\n\n }\n\n }\n\n\n\n if (bits)\n\n *bits = resbits;\n\n return cost;\n\n}\n", "idx": 10765}1050{"project": "FFmpeg", "commit_id": "ba571f6b4d15a998d6fde387509cd84177fccd96", "target": 0, "func": "static void event_loop(VideoState *cur_stream)\n\n{\n\n SDL_Event event;\n\n double incr, pos, frac;\n\n\n\n for(;;) {\n\n double x;\n\n SDL_WaitEvent(&event);\n\n switch(event.type) {\n\n case SDL_KEYDOWN:\n\n if (exit_on_keydown) {\n\n do_exit(cur_stream);\n\n break;\n\n }\n\n switch(event.key.keysym.sym) {\n\n case SDLK_ESCAPE:\n\n case SDLK_q:\n\n do_exit(cur_stream);\n\n break;\n\n case SDLK_f:\n\n toggle_full_screen(cur_stream);\n\n break;\n\n case SDLK_p:\n\n case SDLK_SPACE:\n\n if (cur_stream)\n\n toggle_pause(cur_stream);\n\n break;\n\n case SDLK_s: //S: Step to next frame\n\n if (cur_stream)\n\n step_to_next_frame(cur_stream);\n\n break;\n\n case SDLK_a:\n\n if (cur_stream)\n\n stream_cycle_channel(cur_stream, AVMEDIA_TYPE_AUDIO);\n\n break;\n\n case SDLK_v:\n\n if (cur_stream)\n\n stream_cycle_channel(cur_stream, AVMEDIA_TYPE_VIDEO);\n\n break;\n\n case SDLK_t:\n\n if (cur_stream)\n\n stream_cycle_channel(cur_stream, AVMEDIA_TYPE_SUBTITLE);\n\n break;\n\n case SDLK_w:\n\n if (cur_stream)\n\n toggle_audio_display(cur_stream);\n\n break;\n\n case SDLK_LEFT:\n\n incr = -10.0;\n\n goto do_seek;\n\n case SDLK_RIGHT:\n\n incr = 10.0;\n\n goto do_seek;\n\n case SDLK_UP:\n\n incr = 60.0;\n\n goto do_seek;\n\n case SDLK_DOWN:\n\n incr = -60.0;\n\n do_seek:\n\n if (cur_stream) {\n\n if (seek_by_bytes) {\n\n if (cur_stream->video_stream >= 0 && cur_stream->video_current_pos>=0){\n\n pos= cur_stream->video_current_pos;\n\n }else if(cur_stream->audio_stream >= 0 && cur_stream->audio_pkt.pos>=0){\n\n pos= cur_stream->audio_pkt.pos;\n\n }else\n\n pos = avio_tell(cur_stream->ic->pb);\n\n if (cur_stream->ic->bit_rate)\n\n incr *= cur_stream->ic->bit_rate / 8.0;\n\n else\n\n incr *= 180000.0;\n\n pos += incr;\n\n stream_seek(cur_stream, pos, incr, 1);\n\n } else {\n\n pos = get_master_clock(cur_stream);\n\n pos += incr;\n\n stream_seek(cur_stream, (int64_t)(pos * AV_TIME_BASE), (int64_t)(incr * AV_TIME_BASE), 0);\n\n }\n\n }\n\n break;\n\n default:\n\n break;\n\n }\n\n break;\n\n case SDL_MOUSEBUTTONDOWN:\n\n if (exit_on_mousedown) {\n\n do_exit(cur_stream);\n\n break;\n\n }\n\n case SDL_MOUSEMOTION:\n\n if(event.type ==SDL_MOUSEBUTTONDOWN){\n\n x= event.button.x;\n\n }else{\n\n if(event.motion.state != SDL_PRESSED)\n\n break;\n\n x= event.motion.x;\n\n }\n\n if (cur_stream) {\n\n if(seek_by_bytes || cur_stream->ic->duration<=0){\n\n uint64_t size= avio_size(cur_stream->ic->pb);\n\n stream_seek(cur_stream, size*x/cur_stream->width, 0, 1);\n\n }else{\n\n int64_t ts;\n\n int ns, hh, mm, ss;\n\n int tns, thh, tmm, tss;\n\n tns = cur_stream->ic->duration/1000000LL;\n\n thh = tns/3600;\n\n tmm = (tns%3600)/60;\n\n tss = (tns%60);\n\n frac = x/cur_stream->width;\n\n ns = frac*tns;\n\n hh = ns/3600;\n\n mm = (ns%3600)/60;\n\n ss = (ns%60);\n\n fprintf(stderr, \"Seek to %2.0f%% (%2d:%02d:%02d) of total duration (%2d:%02d:%02d) \\n\", frac*100,\n\n hh, mm, ss, thh, tmm, tss);\n\n ts = frac*cur_stream->ic->duration;\n\n if (cur_stream->ic->start_time != AV_NOPTS_VALUE)\n\n ts += cur_stream->ic->start_time;\n\n stream_seek(cur_stream, ts, 0, 0);\n\n }\n\n }\n\n break;\n\n case SDL_VIDEORESIZE:\n\n if (cur_stream) {\n\n screen = SDL_SetVideoMode(event.resize.w, event.resize.h, 0,\n\n SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL);\n\n screen_width = cur_stream->width = event.resize.w;\n\n screen_height= cur_stream->height= event.resize.h;\n\n }\n\n break;\n\n case SDL_QUIT:\n\n case FF_QUIT_EVENT:\n\n do_exit(cur_stream);\n\n break;\n\n case FF_ALLOC_EVENT:\n\n video_open(event.user.data1);\n\n alloc_picture(event.user.data1);\n\n break;\n\n case FF_REFRESH_EVENT:\n\n video_refresh(event.user.data1);\n\n cur_stream->refresh=0;\n\n break;\n\n default:\n\n break;\n\n }\n\n }\n\n}\n", "idx": 10767}1051{"project": "FFmpeg", "commit_id": "7effbee66cf457c62f795d9b9ed3a1110b364b89", "target": 1, "func": "static int sox_read_packet(AVFormatContext *s,\n\n AVPacket *pkt)\n\n{\n\n int ret, size;\n\n\n\n if (url_feof(s->pb))\n\n return AVERROR_EOF;\n\n\n\n size = SOX_SAMPLES*s->streams[0]->codec->block_align;\n\n ret = av_get_packet(s->pb, pkt, size);\n\n if (ret < 0)\n\n return AVERROR(EIO);\n\n\n pkt->stream_index = 0;\n\n pkt->size = ret;\n\n\n\n return 0;\n\n}", "idx": 10772}1052{"project": "FFmpeg", "commit_id": "d094052c8e8a036666ac02bfc52bf221ad39e4c8", "target": 1, "func": "static av_cold int svq1_encode_init(AVCodecContext *avctx)\n\n{\n\n SVQ1Context * const s = avctx->priv_data;\n\n\n\n dsputil_init(&s->dsp, avctx);\n\n avctx->coded_frame= (AVFrame*)&s->picture;\n\n\n\n s->frame_width = avctx->width;\n\n s->frame_height = avctx->height;\n\n\n\n s->y_block_width = (s->frame_width + 15) / 16;\n\n s->y_block_height = (s->frame_height + 15) / 16;\n\n\n\n s->c_block_width = (s->frame_width / 4 + 15) / 16;\n\n s->c_block_height = (s->frame_height / 4 + 15) / 16;\n\n\n\n s->avctx= avctx;\n\n s->m.avctx= avctx;\n\n\n s->m.me.scratchpad= av_mallocz((avctx->width+64)*2*16*2*sizeof(uint8_t));\n\n s->m.me.map = av_mallocz(ME_MAP_SIZE*sizeof(uint32_t));\n\n s->m.me.score_map = av_mallocz(ME_MAP_SIZE*sizeof(uint32_t));\n\n s->mb_type = av_mallocz((s->y_block_width+1)*s->y_block_height*sizeof(int16_t));\n\n s->dummy = av_mallocz((s->y_block_width+1)*s->y_block_height*sizeof(int32_t));\n\n h263_encode_init(&s->m); //mv_penalty\n\n\n\n return 0;\n\n}", "idx": 10773}1053{"project": "qemu", "commit_id": "d02f8adc6d2a178bcbf77d0413f9a96fdbed53f0", "target": 1, "func": "static int ahci_populate_sglist(AHCIDevice *ad, QEMUSGList *sglist, int offset)\n\n{\n\n AHCICmdHdr *cmd = ad->cur_cmd;\n\n uint32_t opts = le32_to_cpu(cmd->opts);\n\n uint64_t prdt_addr = le64_to_cpu(cmd->tbl_addr) + 0x80;\n\n int sglist_alloc_hint = opts >> AHCI_CMD_HDR_PRDT_LEN;\n\n dma_addr_t prdt_len = (sglist_alloc_hint * sizeof(AHCI_SG));\n\n dma_addr_t real_prdt_len = prdt_len;\n\n uint8_t *prdt;\n\n int i;\n\n int r = 0;\n\n int sum = 0;\n\n int off_idx = -1;\n\n int off_pos = -1;\n\n int tbl_entry_size;\n\n IDEBus *bus = &ad->port;\n\n BusState *qbus = BUS(bus);\n\n\n\n if (!sglist_alloc_hint) {\n\n DPRINTF(ad->port_no, \"no sg list given by guest: 0x%08x\\n\", opts);\n\n return -1;\n\n }\n\n\n\n /* map PRDT */\n\n if (!(prdt = dma_memory_map(ad->hba->as, prdt_addr, &prdt_len,\n\n DMA_DIRECTION_TO_DEVICE))){\n\n DPRINTF(ad->port_no, \"map failed\\n\");\n\n return -1;\n\n }\n\n\n\n if (prdt_len < real_prdt_len) {\n\n DPRINTF(ad->port_no, \"mapped less than expected\\n\");\n\n r = -1;\n\n goto out;\n\n }\n\n\n\n /* Get entries in the PRDT, init a qemu sglist accordingly */\n\n if (sglist_alloc_hint > 0) {\n\n AHCI_SG *tbl = (AHCI_SG *)prdt;\n\n sum = 0;\n\n for (i = 0; i < sglist_alloc_hint; i++) {\n\n /* flags_size is zero-based */\n\n tbl_entry_size = (le32_to_cpu(tbl[i].flags_size) + 1);\n\n if (offset <= (sum + tbl_entry_size)) {\n\n off_idx = i;\n\n off_pos = offset - sum;\n\n break;\n\n }\n\n sum += tbl_entry_size;\n\n }\n\n if ((off_idx == -1) || (off_pos < 0) || (off_pos > tbl_entry_size)) {\n\n DPRINTF(ad->port_no, \"%s: Incorrect offset! \"\n\n \"off_idx: %d, off_pos: %d\\n\",\n\n __func__, off_idx, off_pos);\n\n r = -1;\n\n goto out;\n\n }\n\n\n\n qemu_sglist_init(sglist, qbus->parent, (sglist_alloc_hint - off_idx),\n\n ad->hba->as);\n\n qemu_sglist_add(sglist, le64_to_cpu(tbl[off_idx].addr + off_pos),\n\n le32_to_cpu(tbl[off_idx].flags_size) + 1 - off_pos);\n\n\n\n for (i = off_idx + 1; i < sglist_alloc_hint; i++) {\n\n /* flags_size is zero-based */\n\n qemu_sglist_add(sglist, le64_to_cpu(tbl[i].addr),\n\n le32_to_cpu(tbl[i].flags_size) + 1);\n\n }\n\n }\n\n\n\nout:\n\n dma_memory_unmap(ad->hba->as, prdt, prdt_len,\n\n DMA_DIRECTION_TO_DEVICE, prdt_len);\n\n return r;\n\n}\n", "idx": 10801}1054{"project": "FFmpeg", "commit_id": "9b6aafba6c06ef62783dd5e9c5ed668f3a095128", "target": 1, "func": "static av_always_inline void mpeg_motion_lowres(MpegEncContext *s,\n\n uint8_t *dest_y,\n\n uint8_t *dest_cb,\n\n uint8_t *dest_cr,\n\n int field_based,\n\n int bottom_field,\n\n int field_select,\n\n uint8_t **ref_picture,\n\n h264_chroma_mc_func *pix_op,\n\n int motion_x, int motion_y,\n\n int h, int mb_y)\n\n{\n\n uint8_t *ptr_y, *ptr_cb, *ptr_cr;\n\n int mx, my, src_x, src_y, uvsrc_x, uvsrc_y, uvlinesize, linesize, sx, sy,\n\n uvsx, uvsy;\n\n const int lowres = s->avctx->lowres;\n\n const int op_index = FFMIN(lowres, 2);\n\n const int block_s = 8>>lowres;\n\n const int s_mask = (2 << lowres) - 1;\n\n const int h_edge_pos = s->h_edge_pos >> lowres;\n\n const int v_edge_pos = s->v_edge_pos >> lowres;\n\n linesize = s->current_picture.f.linesize[0] << field_based;\n\n uvlinesize = s->current_picture.f.linesize[1] << field_based;\n\n\n\n // FIXME obviously not perfect but qpel will not work in lowres anyway\n\n if (s->quarter_sample) {\n\n motion_x /= 2;\n\n motion_y /= 2;\n\n }\n\n\n\n if (field_based) {\n\n motion_y += (bottom_field - field_select) * (1 << lowres - 1);\n\n }\n\n\n\n sx = motion_x & s_mask;\n\n sy = motion_y & s_mask;\n\n src_x = s->mb_x * 2 * block_s + (motion_x >> lowres + 1);\n\n src_y = (mb_y * 2 * block_s >> field_based) + (motion_y >> lowres + 1);\n\n\n\n if (s->out_format == FMT_H263) {\n\n uvsx = ((motion_x >> 1) & s_mask) | (sx & 1);\n\n uvsy = ((motion_y >> 1) & s_mask) | (sy & 1);\n\n uvsrc_x = src_x >> 1;\n\n uvsrc_y = src_y >> 1;\n\n } else if (s->out_format == FMT_H261) {\n\n // even chroma mv's are full pel in H261\n\n mx = motion_x / 4;\n\n my = motion_y / 4;\n\n uvsx = (2 * mx) & s_mask;\n\n uvsy = (2 * my) & s_mask;\n\n uvsrc_x = s->mb_x * block_s + (mx >> lowres);\n\n uvsrc_y = mb_y * block_s + (my >> lowres);\n\n } else {\n\n mx = motion_x / 2;\n\n my = motion_y / 2;\n\n uvsx = mx & s_mask;\n\n uvsy = my & s_mask;\n\n uvsrc_x = s->mb_x * block_s + (mx >> lowres + 1);\n\n uvsrc_y = (mb_y * block_s >> field_based) + (my >> lowres + 1);\n\n }\n\n\n\n ptr_y = ref_picture[0] + src_y * linesize + src_x;\n\n ptr_cb = ref_picture[1] + uvsrc_y * uvlinesize + uvsrc_x;\n\n ptr_cr = ref_picture[2] + uvsrc_y * uvlinesize + uvsrc_x;\n\n\n\n if ((unsigned) src_x > h_edge_pos - (!!sx) - 2 * block_s ||\n\n (unsigned) src_y > (v_edge_pos >> field_based) - (!!sy) - h) {\n\n s->dsp.emulated_edge_mc(s->edge_emu_buffer, ptr_y,\n\n s->linesize, 17, 17 + field_based,\n\n src_x, src_y << field_based, h_edge_pos,\n\n v_edge_pos);\n\n ptr_y = s->edge_emu_buffer;\n\n if (!CONFIG_GRAY || !(s->flags & CODEC_FLAG_GRAY)) {\n\n uint8_t *uvbuf = s->edge_emu_buffer + 18 * s->linesize;\n\n s->dsp.emulated_edge_mc(uvbuf , ptr_cb, s->uvlinesize, 9,\n\n 9 + field_based,\n\n uvsrc_x, uvsrc_y << field_based,\n\n h_edge_pos >> 1, v_edge_pos >> 1);\n\n s->dsp.emulated_edge_mc(uvbuf + 16, ptr_cr, s->uvlinesize, 9,\n\n 9 + field_based,\n\n uvsrc_x, uvsrc_y << field_based,\n\n h_edge_pos >> 1, v_edge_pos >> 1);\n\n ptr_cb = uvbuf;\n\n ptr_cr = uvbuf + 16;\n\n }\n\n }\n\n\n\n // FIXME use this for field pix too instead of the obnoxious hack which changes picture.f.data\n\n if (bottom_field) {\n\n dest_y += s->linesize;\n\n dest_cb += s->uvlinesize;\n\n dest_cr += s->uvlinesize;\n\n }\n\n\n\n if (field_select) {\n\n ptr_y += s->linesize;\n\n ptr_cb += s->uvlinesize;\n\n ptr_cr += s->uvlinesize;\n\n }\n\n\n\n sx = (sx << 2) >> lowres;\n\n sy = (sy << 2) >> lowres;\n\n pix_op[lowres - 1](dest_y, ptr_y, linesize, h, sx, sy);\n\n\n\n if (!CONFIG_GRAY || !(s->flags & CODEC_FLAG_GRAY)) {\n\n uvsx = (uvsx << 2) >> lowres;\n\n uvsy = (uvsy << 2) >> lowres;\n\n pix_op[op_index](dest_cb, ptr_cb, uvlinesize, h >> s->chroma_y_shift,\n\n uvsx, uvsy);\n\n pix_op[op_index](dest_cr, ptr_cr, uvlinesize, h >> s->chroma_y_shift,\n\n uvsx, uvsy);\n\n }\n\n // FIXME h261 lowres loop filter\n\n}\n", "idx": 10836}1055{"project": "FFmpeg", "commit_id": "1178868683d25c0f358b0364eb55f69b563b24f3", "target": 1, "func": "static int decode_frame(AVCodecContext *avctx,\n\n void *data,\n\n int *got_frame,\n\n AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n unsigned int buf_size = avpkt->size;\n\n const uint8_t *buf_end = buf + buf_size;\n\n\n\n const AVPixFmtDescriptor *desc;\n\n EXRContext *const s = avctx->priv_data;\n\n AVFrame *picture = data;\n\n AVFrame *const p = &s->picture;\n\n uint8_t *ptr;\n\n\n\n int i, x, y, stride, magic_number, version, flags, ret;\n\n int w = 0;\n\n int h = 0;\n\n unsigned int xmin = ~0;\n\n unsigned int xmax = ~0;\n\n unsigned int ymin = ~0;\n\n unsigned int ymax = ~0;\n\n unsigned int xdelta = ~0;\n\n\n\n int out_line_size;\n\n int bxmin, axmax;\n\n int scan_lines_per_block;\n\n unsigned long scan_line_size;\n\n unsigned long uncompressed_size;\n\n\n\n unsigned int current_channel_offset = 0;\n\n\n\n s->channel_offsets[0] = -1;\n\n s->channel_offsets[1] = -1;\n\n s->channel_offsets[2] = -1;\n\n s->channel_offsets[3] = -1;\n\n s->bits_per_color_id = -1;\n\n s->compr = -1;\n\n\n\n if (buf_size < 10) {\n\n av_log(avctx, AV_LOG_ERROR, \"Too short header to parse\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n magic_number = bytestream_get_le32(&buf);\n\n if (magic_number != 20000630) { // As per documentation of OpenEXR it's supposed to be int 20000630 little-endian\n\n av_log(avctx, AV_LOG_ERROR, \"Wrong magic number %d\\n\", magic_number);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n version = bytestream_get_byte(&buf);\n\n if (version != 2) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unsupported version %d\\n\", version);\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n flags = bytestream_get_le24(&buf);\n\n if (flags & 0x2) {\n\n av_log(avctx, AV_LOG_ERROR, \"Tile based images are not supported\\n\");\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n // Parse the header\n\n while (buf < buf_end && buf[0]) {\n\n unsigned int variable_buffer_data_size;\n\n // Process the channel list\n\n if (check_header_variable(avctx, &buf, buf_end, \"channels\", \"chlist\", 38, &variable_buffer_data_size) >= 0) {\n\n const uint8_t *channel_list_end;\n\n if (!variable_buffer_data_size)\n\n return AVERROR_INVALIDDATA;\n\n\n\n channel_list_end = buf + variable_buffer_data_size;\n\n while (channel_list_end - buf >= 19) {\n\n int current_bits_per_color_id = -1;\n\n int channel_index = -1;\n\n\n\n if (!strcmp(buf, \"R\"))\n\n channel_index = 0;\n\n else if (!strcmp(buf, \"G\"))\n\n channel_index = 1;\n\n else if (!strcmp(buf, \"B\"))\n\n channel_index = 2;\n\n else if (!strcmp(buf, \"A\"))\n\n channel_index = 3;\n\n else\n\n av_log(avctx, AV_LOG_WARNING, \"Unsupported channel %.256s\\n\", buf);\n\n\n\n while (bytestream_get_byte(&buf) && buf < channel_list_end)\n\n continue; /* skip */\n\n\n\n if (channel_list_end - * &buf < 4) {\n\n av_log(avctx, AV_LOG_ERROR, \"Incomplete header\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n current_bits_per_color_id = bytestream_get_le32(&buf);\n\n if (current_bits_per_color_id > 2) {\n\n av_log(avctx, AV_LOG_ERROR, \"Unknown color format\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (channel_index >= 0) {\n\n if (s->bits_per_color_id != -1 && s->bits_per_color_id != current_bits_per_color_id) {\n\n av_log(avctx, AV_LOG_ERROR, \"RGB channels not of the same depth\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n s->bits_per_color_id = current_bits_per_color_id;\n\n s->channel_offsets[channel_index] = current_channel_offset;\n\n }\n\n\n\n current_channel_offset += 1 << current_bits_per_color_id;\n\n buf += 12;\n\n }\n\n\n\n /* Check if all channels are set with an offset or if the channels\n\n * are causing an overflow */\n\n\n\n if (FFMIN3(s->channel_offsets[0],\n\n s->channel_offsets[1],\n\n s->channel_offsets[2]) < 0) {\n\n if (s->channel_offsets[0] < 0)\n\n av_log(avctx, AV_LOG_ERROR, \"Missing red channel\\n\");\n\n if (s->channel_offsets[1] < 0)\n\n av_log(avctx, AV_LOG_ERROR, \"Missing green channel\\n\");\n\n if (s->channel_offsets[2] < 0)\n\n av_log(avctx, AV_LOG_ERROR, \"Missing blue channel\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n buf = channel_list_end;\n\n continue;\n\n } else if (check_header_variable(avctx, &buf, buf_end, \"dataWindow\", \"box2i\", 31, &variable_buffer_data_size) >= 0) {\n\n if (!variable_buffer_data_size)\n\n return AVERROR_INVALIDDATA;\n\n\n\n xmin = AV_RL32(buf);\n\n ymin = AV_RL32(buf + 4);\n\n xmax = AV_RL32(buf + 8);\n\n ymax = AV_RL32(buf + 12);\n\n xdelta = (xmax-xmin) + 1;\n\n\n\n buf += variable_buffer_data_size;\n\n continue;\n\n } else if (check_header_variable(avctx, &buf, buf_end, \"displayWindow\", \"box2i\", 34, &variable_buffer_data_size) >= 0) {\n\n if (!variable_buffer_data_size)\n\n return AVERROR_INVALIDDATA;\n\n\n\n w = AV_RL32(buf + 8) + 1;\n\n h = AV_RL32(buf + 12) + 1;\n\n\n\n buf += variable_buffer_data_size;\n\n continue;\n\n } else if (check_header_variable(avctx, &buf, buf_end, \"lineOrder\", \"lineOrder\", 25, &variable_buffer_data_size) >= 0) {\n\n if (!variable_buffer_data_size)\n\n return AVERROR_INVALIDDATA;\n\n\n\n if (*buf) {\n\n av_log(avctx, AV_LOG_ERROR, \"Doesn't support this line order : %d\\n\", *buf);\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n buf += variable_buffer_data_size;\n\n continue;\n\n } else if (check_header_variable(avctx, &buf, buf_end, \"pixelAspectRatio\", \"float\", 31, &variable_buffer_data_size) >= 0) {\n\n if (!variable_buffer_data_size)\n\n return AVERROR_INVALIDDATA;\n\n\n\n avctx->sample_aspect_ratio = av_d2q(av_int2float(AV_RL32(buf)), 255);\n\n\n\n buf += variable_buffer_data_size;\n\n continue;\n\n } else if (check_header_variable(avctx, &buf, buf_end, \"compression\", \"compression\", 29, &variable_buffer_data_size) >= 0) {\n\n if (!variable_buffer_data_size)\n\n return AVERROR_INVALIDDATA;\n\n\n\n if (s->compr == -1)\n\n s->compr = *buf;\n\n else\n\n av_log(avctx, AV_LOG_WARNING, \"Found more than one compression attribute\\n\");\n\n\n\n buf += variable_buffer_data_size;\n\n continue;\n\n }\n\n\n\n // Check if there is enough bytes for a header\n\n if (buf_end - buf <= 9) {\n\n av_log(avctx, AV_LOG_ERROR, \"Incomplete header\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n // Process unknown variables\n\n for (i = 0; i < 2; i++) {\n\n // Skip variable name/type\n\n while (++buf < buf_end)\n\n if (buf[0] == 0x0)\n\n break;\n\n }\n\n buf++;\n\n // Skip variable length\n\n if (buf_end - buf >= 5) {\n\n variable_buffer_data_size = get_header_variable_length(&buf, buf_end);\n\n if (!variable_buffer_data_size) {\n\n av_log(avctx, AV_LOG_ERROR, \"Incomplete header\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n buf += variable_buffer_data_size;\n\n }\n\n }\n\n\n\n if (s->compr == -1) {\n\n av_log(avctx, AV_LOG_ERROR, \"Missing compression attribute\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (buf >= buf_end) {\n\n av_log(avctx, AV_LOG_ERROR, \"Incomplete frame\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n buf++;\n\n\n\n switch (s->bits_per_color_id) {\n\n case 2: // 32-bit\n\n case 1: // 16-bit\n\n if (s->channel_offsets[3] >= 0)\n\n avctx->pix_fmt = AV_PIX_FMT_RGBA64;\n\n else\n\n avctx->pix_fmt = AV_PIX_FMT_RGB48;\n\n break;\n\n // 8-bit\n\n case 0:\n\n av_log_missing_feature(avctx, \"8-bit OpenEXR\", 1);\n\n return AVERROR_PATCHWELCOME;\n\n default:\n\n av_log(avctx, AV_LOG_ERROR, \"Unknown color format : %d\\n\", s->bits_per_color_id);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n switch (s->compr) {\n\n case EXR_RAW:\n\n case EXR_RLE:\n\n case EXR_ZIP1:\n\n scan_lines_per_block = 1;\n\n break;\n\n case EXR_ZIP16:\n\n scan_lines_per_block = 16;\n\n break;\n\n default:\n\n av_log(avctx, AV_LOG_ERROR, \"Compression type %d is not supported\\n\", s->compr);\n\n return AVERROR_PATCHWELCOME;\n\n }\n\n\n\n if (s->picture.data[0])\n\n ff_thread_release_buffer(avctx, &s->picture);\n\n if (av_image_check_size(w, h, 0, avctx))\n\n return AVERROR_INVALIDDATA;\n\n\n\n // Verify the xmin, xmax, ymin, ymax and xdelta before setting the actual image size\n\n if (xmin > xmax || ymin > ymax || xdelta != xmax - xmin + 1 || xmax >= w || ymax >= h) {\n\n av_log(avctx, AV_LOG_ERROR, \"Wrong sizing or missing size information\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (w != avctx->width || h != avctx->height) {\n\n avcodec_set_dimensions(avctx, w, h);\n\n }\n\n\n\n desc = av_pix_fmt_desc_get(avctx->pix_fmt);\n\n bxmin = xmin * 2 * desc->nb_components;\n\n axmax = (avctx->width - (xmax + 1)) * 2 * desc->nb_components;\n\n out_line_size = avctx->width * 2 * desc->nb_components;\n\n scan_line_size = xdelta * current_channel_offset;\n\n uncompressed_size = scan_line_size * scan_lines_per_block;\n\n\n\n if (s->compr != EXR_RAW) {\n\n av_fast_padded_malloc(&s->uncompressed_data, &s->uncompressed_size, uncompressed_size);\n\n av_fast_padded_malloc(&s->tmp, &s->tmp_size, uncompressed_size);\n\n if (!s->uncompressed_data || !s->tmp)\n\n return AVERROR(ENOMEM);\n\n }\n\n\n\n if ((ret = ff_thread_get_buffer(avctx, p)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"get_buffer() failed\\n\");\n\n return ret;\n\n }\n\n\n\n ptr = p->data[0];\n\n stride = p->linesize[0];\n\n\n\n // Zero out the start if ymin is not 0\n\n for (y = 0; y < ymin; y++) {\n\n memset(ptr, 0, out_line_size);\n\n ptr += stride;\n\n }\n\n\n\n // Process the actual scan line blocks\n\n for (y = ymin; y <= ymax; y += scan_lines_per_block) {\n\n uint16_t *ptr_x = (uint16_t *)ptr;\n\n if (buf_end - buf > 8) {\n\n /* Read the lineoffset from the line offset table and add 8 bytes\n\n to skip the coordinates and data size fields */\n\n const uint64_t line_offset = bytestream_get_le64(&buf) + 8;\n\n int32_t data_size;\n\n\n\n // Check if the buffer has the required bytes needed from the offset\n\n if ((line_offset > buf_size) ||\n\n (s->compr == EXR_RAW && line_offset > avpkt->size - xdelta * current_channel_offset) ||\n\n (s->compr != EXR_RAW && line_offset > buf_size - (data_size = AV_RL32(avpkt->data + line_offset - 4)))) {\n\n // Line offset is probably wrong and not inside the buffer\n\n av_log(avctx, AV_LOG_WARNING, \"Line offset for line %d is out of reach setting it to black\\n\", y);\n\n for (i = 0; i < scan_lines_per_block && y + i <= ymax; i++, ptr += stride) {\n\n ptr_x = (uint16_t *)ptr;\n\n memset(ptr_x, 0, out_line_size);\n\n }\n\n } else {\n\n const uint8_t *red_channel_buffer, *green_channel_buffer, *blue_channel_buffer, *alpha_channel_buffer = 0;\n\n\n\n if (scan_lines_per_block > 1)\n\n uncompressed_size = scan_line_size * FFMIN(scan_lines_per_block, ymax - y + 1);\n\n if ((s->compr == EXR_ZIP1 || s->compr == EXR_ZIP16) && data_size < uncompressed_size) {\n\n unsigned long dest_len = uncompressed_size;\n\n\n\n if (uncompress(s->tmp, &dest_len, avpkt->data + line_offset, data_size) != Z_OK ||\n\n dest_len != uncompressed_size) {\n\n av_log(avctx, AV_LOG_ERROR, \"error during zlib decompression\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n } else if (s->compr == EXR_RLE && data_size < uncompressed_size) {\n\n if (rle_uncompress(avpkt->data + line_offset, data_size, s->tmp, uncompressed_size)) {\n\n av_log(avctx, AV_LOG_ERROR, \"error during rle decompression\\n\");\n\n return AVERROR(EINVAL);\n\n }\n\n }\n\n\n\n if (s->compr != EXR_RAW && data_size < uncompressed_size) {\n\n predictor(s->tmp, uncompressed_size);\n\n reorder_pixels(s->tmp, s->uncompressed_data, uncompressed_size);\n\n\n\n red_channel_buffer = s->uncompressed_data + xdelta * s->channel_offsets[0];\n\n green_channel_buffer = s->uncompressed_data + xdelta * s->channel_offsets[1];\n\n blue_channel_buffer = s->uncompressed_data + xdelta * s->channel_offsets[2];\n\n if (s->channel_offsets[3] >= 0)\n\n alpha_channel_buffer = s->uncompressed_data + xdelta * s->channel_offsets[3];\n\n } else {\n\n red_channel_buffer = avpkt->data + line_offset + xdelta * s->channel_offsets[0];\n\n green_channel_buffer = avpkt->data + line_offset + xdelta * s->channel_offsets[1];\n\n blue_channel_buffer = avpkt->data + line_offset + xdelta * s->channel_offsets[2];\n\n if (s->channel_offsets[3] >= 0)\n\n alpha_channel_buffer = avpkt->data + line_offset + xdelta * s->channel_offsets[3];\n\n }\n\n\n\n for (i = 0; i < scan_lines_per_block && y + i <= ymax; i++, ptr += stride) {\n\n const uint8_t *r, *g, *b, *a;\n\n\n\n r = red_channel_buffer;\n\n g = green_channel_buffer;\n\n b = blue_channel_buffer;\n\n if (alpha_channel_buffer)\n\n a = alpha_channel_buffer;\n\n\n\n ptr_x = (uint16_t *)ptr;\n\n\n\n // Zero out the start if xmin is not 0\n\n memset(ptr_x, 0, bxmin);\n\n ptr_x += xmin * desc->nb_components;\n\n if (s->bits_per_color_id == 2) {\n\n // 32-bit\n\n for (x = 0; x < xdelta; x++) {\n\n *ptr_x++ = exr_flt2uint(bytestream_get_le32(&r));\n\n *ptr_x++ = exr_flt2uint(bytestream_get_le32(&g));\n\n *ptr_x++ = exr_flt2uint(bytestream_get_le32(&b));\n\n if (alpha_channel_buffer)\n\n *ptr_x++ = exr_flt2uint(bytestream_get_le32(&a));\n\n }\n\n } else {\n\n // 16-bit\n\n for (x = 0; x < xdelta; x++) {\n\n *ptr_x++ = exr_halflt2uint(bytestream_get_le16(&r));\n\n *ptr_x++ = exr_halflt2uint(bytestream_get_le16(&g));\n\n *ptr_x++ = exr_halflt2uint(bytestream_get_le16(&b));\n\n if (alpha_channel_buffer)\n\n *ptr_x++ = exr_halflt2uint(bytestream_get_le16(&a));\n\n }\n\n }\n\n\n\n // Zero out the end if xmax+1 is not w\n\n memset(ptr_x, 0, axmax);\n\n\n\n red_channel_buffer += scan_line_size;\n\n green_channel_buffer += scan_line_size;\n\n blue_channel_buffer += scan_line_size;\n\n if (alpha_channel_buffer)\n\n alpha_channel_buffer += scan_line_size;\n\n }\n\n }\n\n }\n\n }\n\n\n\n // Zero out the end if ymax+1 is not h\n\n for (y = ymax + 1; y < avctx->height; y++) {\n\n memset(ptr, 0, out_line_size);\n\n ptr += stride;\n\n }\n\n\n\n *picture = s->picture;\n\n *got_frame = 1;\n\n\n\n return buf_size;\n\n}\n", "idx": 10842}1056{"project": "qemu", "commit_id": "141af038dd1e73ed32e473046adeb822537c1152", "target": 1, "func": "static void csrhci_reset(struct csrhci_s *s)\n\n{\n\n s->out_len = 0;\n\n s->out_size = FIFO_LEN;\n\n s->in_len = 0;\n\n s->baud_delay = NANOSECONDS_PER_SECOND;\n\n s->enable = 0;\n\n s->in_hdr = INT_MAX;\n\n s->in_data = INT_MAX;\n\n\n\n s->modem_state = 0;\n\n /* After a while... (but sooner than 10ms) */\n\n s->modem_state |= CHR_TIOCM_CTS;\n\n\n\n memset(&s->bd_addr, 0, sizeof(bdaddr_t));\n\n}\n", "idx": 10847}1057{"project": "FFmpeg", "commit_id": "7f526efd17973ec6d2204f7a47b6923e2be31363", "target": 1, "func": "void rgb15tobgr15(const uint8_t *src, uint8_t *dst, unsigned int src_size)\n\n{\n\n\tunsigned i;\n\n\tunsigned num_pixels = src_size >> 1;\n\n\t\n\n\tfor(i=0; i<num_pixels; i++)\n\n\t{\n\n\t unsigned b,g,r;\n\n\t register uint16_t rgb;\n\n\t rgb = src[2*i];\n\n\t r = rgb&0x1F;\n\n\t g = (rgb&0x3E0)>>5;\n\n\t b = (rgb&0x7C00)>>10;\n\n\t dst[2*i] = (b&0x1F) | ((g&0x1F)<<5) | ((r&0x1F)<<10);\n\n\t}\n\n}\n", "idx": 10849}1058{"project": "qemu", "commit_id": "0a73336d96397c80881219d080518fac6f1ecacb", "target": 1, "func": "int net_init_vhost_user(const Netdev *netdev, const char *name,\n\n NetClientState *peer, Error **errp)\n\n{\n\n int queues;\n\n const NetdevVhostUserOptions *vhost_user_opts;\n\n CharDriverState *chr;\n\n\n\n assert(netdev->type == NET_CLIENT_DRIVER_VHOST_USER);\n\n vhost_user_opts = &netdev->u.vhost_user;\n\n\n\n chr = net_vhost_parse_chardev(vhost_user_opts, errp);\n\n if (!chr) {\n\n return -1;\n\n }\n\n\n\n /* verify net frontend */\n\n if (qemu_opts_foreach(qemu_find_opts(\"device\"), net_vhost_check_net,\n\n (char *)name, errp)) {\n\n return -1;\n\n }\n\n\n\n queues = vhost_user_opts->has_queues ? vhost_user_opts->queues : 1;\n\n if (queues < 1 || queues > MAX_QUEUE_NUM) {\n\n error_setg(errp,\n\n \"vhost-user number of queues must be in range [1, %d]\",\n\n MAX_QUEUE_NUM);\n\n return -1;\n\n }\n\n\n\n return net_vhost_user_init(peer, \"vhost_user\", name, chr, queues);\n\n}\n", "idx": 10857}1059{"project": "FFmpeg", "commit_id": "35dcc8a0405788de392ed116dd628aef2772003d", "target": 1, "func": "static int lag_decode_prob(GetBitContext *gb, uint32_t *value)\n\n{\n\n static const uint8_t series[] = { 1, 2, 3, 5, 8, 13, 21 };\n\n int i;\n\n int bit = 0;\n\n int bits = 0;\n\n int prevbit = 0;\n\n unsigned val;\n\n\n\n for (i = 0; i < 7; i++) {\n\n if (prevbit && bit)\n\n break;\n\n prevbit = bit;\n\n bit = get_bits1(gb);\n\n if (bit && !prevbit)\n\n bits += series[i];\n\n }\n\n bits--;\n\n if (bits < 0 || bits > 31) {\n\n *value = 0;\n\n return -1;\n\n } else if (bits == 0) {\n\n *value = 0;\n\n return 0;\n\n }\n\n\n\n val = get_bits_long(gb, bits);\n\n val |= 1 << bits;\n\n\n\n *value = val - 1;\n\n\n\n return 0;\n\n}\n", "idx": 10868}1060{"project": "FFmpeg", "commit_id": "09ce5519f3b44873ac242e9a2f89db7d459de532", "target": 1, "func": "static void check_add_res(HEVCDSPContext h, int bit_depth)\n\n{\n\n int i;\n\n LOCAL_ALIGNED_32(int16_t, res0, [32 * 32]);\n\n LOCAL_ALIGNED_32(int16_t, res1, [32 * 32]);\n\n LOCAL_ALIGNED_32(uint8_t, dst0, [32 * 32 * 2]);\n\n LOCAL_ALIGNED_32(uint8_t, dst1, [32 * 32 * 2]);\n\n\n\n for (i = 2; i <= 5; i++) {\n\n int block_size = 1 << i;\n\n int size = block_size * block_size;\n\n ptrdiff_t stride = block_size << (bit_depth > 8);\n\n declare_func_emms(AV_CPU_FLAG_MMX, void, uint8_t *dst, int16_t *res, ptrdiff_t stride);\n\n\n\n randomize_buffers(res0, size);\n\n randomize_buffers2(dst0, size);\n\n memcpy(res1, res0, sizeof(*res0) * size);\n\n memcpy(dst1, dst0, size);\n\n\n\n if (check_func(h.add_residual[i - 2], \"add_res_%dx%d_%d\", block_size, block_size, bit_depth)) {\n\n call_ref(dst0, res0, stride);\n\n call_new(dst1, res1, stride);\n\n if (memcmp(dst0, dst1, size))\n\n fail();\n\n bench_new(dst1, res1, stride);\n\n }\n\n }\n\n}\n", "idx": 10869}1061{"project": "qemu", "commit_id": "0fb6395c0cb5046432a80d608ddde7a3b2f8a9ae", "target": 0, "func": "static void test_validate_fail_union_flat(TestInputVisitorData *data,\n\n const void *unused)\n\n{\n\n UserDefFlatUnion *tmp = NULL;\n\n Error *errp = NULL;\n\n Visitor *v;\n\n\n\n v = validate_test_init(data, \"{ 'string': 'c', 'integer': 41, 'boolean': true }\");\n\n\n\n visit_type_UserDefFlatUnion(v, &tmp, NULL, &errp);\n\n g_assert(error_is_set(&errp));\n\n qapi_free_UserDefFlatUnion(tmp);\n\n}\n", "idx": 10875}1062{"project": "qemu", "commit_id": "a9321a4d49d65d29c2926a51aedc5b91a01f3591", "target": 0, "func": "void cpu_x86_update_cr4(CPUX86State *env, uint32_t new_cr4)\n\n{\n\n#if defined(DEBUG_MMU)\n\n printf(\"CR4 update: CR4=%08x\\n\", (uint32_t)env->cr[4]);\n\n#endif\n\n if ((new_cr4 & (CR4_PGE_MASK | CR4_PAE_MASK | CR4_PSE_MASK)) !=\n\n (env->cr[4] & (CR4_PGE_MASK | CR4_PAE_MASK | CR4_PSE_MASK))) {\n\n tlb_flush(env, 1);\n\n }\n\n /* SSE handling */\n\n if (!(env->cpuid_features & CPUID_SSE))\n\n new_cr4 &= ~CR4_OSFXSR_MASK;\n\n if (new_cr4 & CR4_OSFXSR_MASK)\n\n env->hflags |= HF_OSFXSR_MASK;\n\n else\n\n env->hflags &= ~HF_OSFXSR_MASK;\n\n\n\n env->cr[4] = new_cr4;\n\n}\n", "idx": 10877}1063{"project": "qemu", "commit_id": "ffad4116b96e29e0fbe892806f97c0a6c903d30d", "target": 0, "func": "int drive_init(struct drive_opt *arg, int snapshot, void *opaque)\n\n{\n\n char buf[128];\n\n char file[1024];\n\n char devname[128];\n\n char serial[21];\n\n const char *mediastr = \"\";\n\n BlockInterfaceType type;\n\n enum { MEDIA_DISK, MEDIA_CDROM } media;\n\n int bus_id, unit_id;\n\n int cyls, heads, secs, translation;\n\n BlockDriverState *bdrv;\n\n BlockDriver *drv = NULL;\n\n QEMUMachine *machine = opaque;\n\n int max_devs;\n\n int index;\n\n int cache;\n\n int bdrv_flags, onerror;\n\n int drives_table_idx;\n\n char *str = arg->opt;\n\n static const char * const params[] = { \"bus\", \"unit\", \"if\", \"index\",\n\n \"cyls\", \"heads\", \"secs\", \"trans\",\n\n \"media\", \"snapshot\", \"file\",\n\n \"cache\", \"format\", \"serial\", \"werror\",\n\n NULL };\n\n\n\n if (check_params(buf, sizeof(buf), params, str) < 0) {\n\n fprintf(stderr, \"qemu: unknown parameter '%s' in '%s'\\n\",\n\n buf, str);\n\n return -1;\n\n }\n\n\n\n file[0] = 0;\n\n cyls = heads = secs = 0;\n\n bus_id = 0;\n\n unit_id = -1;\n\n translation = BIOS_ATA_TRANSLATION_AUTO;\n\n index = -1;\n\n cache = 3;\n\n\n\n if (machine->use_scsi) {\n\n type = IF_SCSI;\n\n max_devs = MAX_SCSI_DEVS;\n\n pstrcpy(devname, sizeof(devname), \"scsi\");\n\n } else {\n\n type = IF_IDE;\n\n max_devs = MAX_IDE_DEVS;\n\n pstrcpy(devname, sizeof(devname), \"ide\");\n\n }\n\n media = MEDIA_DISK;\n\n\n\n /* extract parameters */\n\n\n\n if (get_param_value(buf, sizeof(buf), \"bus\", str)) {\n\n bus_id = strtol(buf, NULL, 0);\n\n\tif (bus_id < 0) {\n\n\t fprintf(stderr, \"qemu: '%s' invalid bus id\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"unit\", str)) {\n\n unit_id = strtol(buf, NULL, 0);\n\n\tif (unit_id < 0) {\n\n\t fprintf(stderr, \"qemu: '%s' invalid unit id\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"if\", str)) {\n\n pstrcpy(devname, sizeof(devname), buf);\n\n if (!strcmp(buf, \"ide\")) {\n\n\t type = IF_IDE;\n\n max_devs = MAX_IDE_DEVS;\n\n } else if (!strcmp(buf, \"scsi\")) {\n\n\t type = IF_SCSI;\n\n max_devs = MAX_SCSI_DEVS;\n\n } else if (!strcmp(buf, \"floppy\")) {\n\n\t type = IF_FLOPPY;\n\n max_devs = 0;\n\n } else if (!strcmp(buf, \"pflash\")) {\n\n\t type = IF_PFLASH;\n\n max_devs = 0;\n\n\t} else if (!strcmp(buf, \"mtd\")) {\n\n\t type = IF_MTD;\n\n max_devs = 0;\n\n\t} else if (!strcmp(buf, \"sd\")) {\n\n\t type = IF_SD;\n\n max_devs = 0;\n\n } else if (!strcmp(buf, \"virtio\")) {\n\n type = IF_VIRTIO;\n\n max_devs = 0;\n\n\t} else if (!strcmp(buf, \"xen\")) {\n\n\t type = IF_XEN;\n\n max_devs = 0;\n\n\t} else {\n\n fprintf(stderr, \"qemu: '%s' unsupported bus type '%s'\\n\", str, buf);\n\n return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"index\", str)) {\n\n index = strtol(buf, NULL, 0);\n\n\tif (index < 0) {\n\n\t fprintf(stderr, \"qemu: '%s' invalid index\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"cyls\", str)) {\n\n cyls = strtol(buf, NULL, 0);\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"heads\", str)) {\n\n heads = strtol(buf, NULL, 0);\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"secs\", str)) {\n\n secs = strtol(buf, NULL, 0);\n\n }\n\n\n\n if (cyls || heads || secs) {\n\n if (cyls < 1 || cyls > 16383) {\n\n fprintf(stderr, \"qemu: '%s' invalid physical cyls number\\n\", str);\n\n\t return -1;\n\n\t}\n\n if (heads < 1 || heads > 16) {\n\n fprintf(stderr, \"qemu: '%s' invalid physical heads number\\n\", str);\n\n\t return -1;\n\n\t}\n\n if (secs < 1 || secs > 63) {\n\n fprintf(stderr, \"qemu: '%s' invalid physical secs number\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"trans\", str)) {\n\n if (!cyls) {\n\n fprintf(stderr,\n\n \"qemu: '%s' trans must be used with cyls,heads and secs\\n\",\n\n str);\n\n return -1;\n\n }\n\n if (!strcmp(buf, \"none\"))\n\n translation = BIOS_ATA_TRANSLATION_NONE;\n\n else if (!strcmp(buf, \"lba\"))\n\n translation = BIOS_ATA_TRANSLATION_LBA;\n\n else if (!strcmp(buf, \"auto\"))\n\n translation = BIOS_ATA_TRANSLATION_AUTO;\n\n\telse {\n\n fprintf(stderr, \"qemu: '%s' invalid translation type\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"media\", str)) {\n\n if (!strcmp(buf, \"disk\")) {\n\n\t media = MEDIA_DISK;\n\n\t} else if (!strcmp(buf, \"cdrom\")) {\n\n if (cyls || secs || heads) {\n\n fprintf(stderr,\n\n \"qemu: '%s' invalid physical CHS format\\n\", str);\n\n\t return -1;\n\n }\n\n\t media = MEDIA_CDROM;\n\n\t} else {\n\n\t fprintf(stderr, \"qemu: '%s' invalid media\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"snapshot\", str)) {\n\n if (!strcmp(buf, \"on\"))\n\n\t snapshot = 1;\n\n else if (!strcmp(buf, \"off\"))\n\n\t snapshot = 0;\n\n\telse {\n\n\t fprintf(stderr, \"qemu: '%s' invalid snapshot option\\n\", str);\n\n\t return -1;\n\n\t}\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"cache\", str)) {\n\n if (!strcmp(buf, \"off\") || !strcmp(buf, \"none\"))\n\n cache = 0;\n\n else if (!strcmp(buf, \"writethrough\"))\n\n cache = 1;\n\n else if (!strcmp(buf, \"writeback\"))\n\n cache = 2;\n\n else {\n\n fprintf(stderr, \"qemu: invalid cache option\\n\");\n\n return -1;\n\n }\n\n }\n\n\n\n if (get_param_value(buf, sizeof(buf), \"format\", str)) {\n\n if (strcmp(buf, \"?\") == 0) {\n\n fprintf(stderr, \"qemu: Supported formats:\");\n\n bdrv_iterate_format(bdrv_format_print, NULL);\n\n fprintf(stderr, \"\\n\");\n\n\t return -1;\n\n }\n\n drv = bdrv_find_format(buf);\n\n if (!drv) {\n\n fprintf(stderr, \"qemu: '%s' invalid format\\n\", buf);\n\n return -1;\n\n }\n\n }\n\n\n\n if (arg->file == NULL)\n\n get_param_value(file, sizeof(file), \"file\", str);\n\n else\n\n pstrcpy(file, sizeof(file), arg->file);\n\n\n\n if (!get_param_value(serial, sizeof(serial), \"serial\", str))\n\n\t memset(serial, 0, sizeof(serial));\n\n\n\n onerror = BLOCK_ERR_STOP_ENOSPC;\n\n if (get_param_value(buf, sizeof(serial), \"werror\", str)) {\n\n if (type != IF_IDE && type != IF_SCSI && type != IF_VIRTIO) {\n\n fprintf(stderr, \"werror is no supported by this format\\n\");\n\n return -1;\n\n }\n\n if (!strcmp(buf, \"ignore\"))\n\n onerror = BLOCK_ERR_IGNORE;\n\n else if (!strcmp(buf, \"enospc\"))\n\n onerror = BLOCK_ERR_STOP_ENOSPC;\n\n else if (!strcmp(buf, \"stop\"))\n\n onerror = BLOCK_ERR_STOP_ANY;\n\n else if (!strcmp(buf, \"report\"))\n\n onerror = BLOCK_ERR_REPORT;\n\n else {\n\n fprintf(stderr, \"qemu: '%s' invalid write error action\\n\", buf);\n\n return -1;\n\n }\n\n }\n\n\n\n /* compute bus and unit according index */\n\n\n\n if (index != -1) {\n\n if (bus_id != 0 || unit_id != -1) {\n\n fprintf(stderr,\n\n \"qemu: '%s' index cannot be used with bus and unit\\n\", str);\n\n return -1;\n\n }\n\n if (max_devs == 0)\n\n {\n\n unit_id = index;\n\n bus_id = 0;\n\n } else {\n\n unit_id = index % max_devs;\n\n bus_id = index / max_devs;\n\n }\n\n }\n\n\n\n /* if user doesn't specify a unit_id,\n\n * try to find the first free\n\n */\n\n\n\n if (unit_id == -1) {\n\n unit_id = 0;\n\n while (drive_get_index(type, bus_id, unit_id) != -1) {\n\n unit_id++;\n\n if (max_devs && unit_id >= max_devs) {\n\n unit_id -= max_devs;\n\n bus_id++;\n\n }\n\n }\n\n }\n\n\n\n /* check unit id */\n\n\n\n if (max_devs && unit_id >= max_devs) {\n\n fprintf(stderr, \"qemu: '%s' unit %d too big (max is %d)\\n\",\n\n str, unit_id, max_devs - 1);\n\n return -1;\n\n }\n\n\n\n /*\n\n * ignore multiple definitions\n\n */\n\n\n\n if (drive_get_index(type, bus_id, unit_id) != -1)\n\n return -2;\n\n\n\n /* init */\n\n\n\n if (type == IF_IDE || type == IF_SCSI)\n\n mediastr = (media == MEDIA_CDROM) ? \"-cd\" : \"-hd\";\n\n if (max_devs)\n\n snprintf(buf, sizeof(buf), \"%s%i%s%i\",\n\n devname, bus_id, mediastr, unit_id);\n\n else\n\n snprintf(buf, sizeof(buf), \"%s%s%i\",\n\n devname, mediastr, unit_id);\n\n bdrv = bdrv_new(buf);\n\n drives_table_idx = drive_get_free_idx();\n\n drives_table[drives_table_idx].bdrv = bdrv;\n\n drives_table[drives_table_idx].type = type;\n\n drives_table[drives_table_idx].bus = bus_id;\n\n drives_table[drives_table_idx].unit = unit_id;\n\n drives_table[drives_table_idx].onerror = onerror;\n\n drives_table[drives_table_idx].drive_opt_idx = arg - drives_opt;\n\n strncpy(drives_table[nb_drives].serial, serial, sizeof(serial));\n\n nb_drives++;\n\n\n\n switch(type) {\n\n case IF_IDE:\n\n case IF_SCSI:\n\n case IF_XEN:\n\n switch(media) {\n\n\tcase MEDIA_DISK:\n\n if (cyls != 0) {\n\n bdrv_set_geometry_hint(bdrv, cyls, heads, secs);\n\n bdrv_set_translation_hint(bdrv, translation);\n\n }\n\n\t break;\n\n\tcase MEDIA_CDROM:\n\n bdrv_set_type_hint(bdrv, BDRV_TYPE_CDROM);\n\n\t break;\n\n\t}\n\n break;\n\n case IF_SD:\n\n /* FIXME: This isn't really a floppy, but it's a reasonable\n\n approximation. */\n\n case IF_FLOPPY:\n\n bdrv_set_type_hint(bdrv, BDRV_TYPE_FLOPPY);\n\n break;\n\n case IF_PFLASH:\n\n case IF_MTD:\n\n case IF_VIRTIO:\n\n break;\n\n }\n\n if (!file[0])\n\n return -2;\n\n bdrv_flags = 0;\n\n if (snapshot) {\n\n bdrv_flags |= BDRV_O_SNAPSHOT;\n\n cache = 2; /* always use write-back with snapshot */\n\n }\n\n if (cache == 0) /* no caching */\n\n bdrv_flags |= BDRV_O_NOCACHE;\n\n else if (cache == 2) /* write-back */\n\n bdrv_flags |= BDRV_O_CACHE_WB;\n\n else if (cache == 3) /* not specified */\n\n bdrv_flags |= BDRV_O_CACHE_DEF;\n\n if (bdrv_open2(bdrv, file, bdrv_flags, drv) < 0) {\n\n fprintf(stderr, \"qemu: could not open disk image %s\\n\",\n\n file);\n\n return -1;\n\n }\n\n if (bdrv_key_required(bdrv))\n\n autostart = 0;\n\n return drives_table_idx;\n\n}\n", "idx": 10899}1064{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static void unix_wait_for_connect(int fd, Error *err, void *opaque)\n\n{\n\n MigrationState *s = opaque;\n\n\n\n if (fd < 0) {\n\n DPRINTF(\"migrate connect error: %s\\n\", error_get_pretty(err));\n\n s->file = NULL;\n\n migrate_fd_error(s);\n\n } else {\n\n DPRINTF(\"migrate connect success\\n\");\n\n s->file = qemu_fopen_socket(fd, \"wb\");\n\n migrate_fd_connect(s);\n\n }\n\n}\n", "idx": 10914}1065{"project": "FFmpeg", "commit_id": "2862b63783b5556f7f3fb2d097629bc6879f833a", "target": 0, "func": "static int ljpeg_encode_frame(AVCodecContext *avctx, AVPacket *pkt,\n\n const AVFrame *pict, int *got_packet)\n\n{\n\n LJpegEncContext *s = avctx->priv_data;\n\n PutBitContext pb;\n\n const int width = avctx->width;\n\n const int height = avctx->height;\n\n const int mb_width = (width + s->hsample[0] - 1) / s->hsample[0];\n\n const int mb_height = (height + s->vsample[0] - 1) / s->vsample[0];\n\n int max_pkt_size = AV_INPUT_BUFFER_MIN_SIZE;\n\n int ret, header_bits;\n\n\n\n if (avctx->pix_fmt == AV_PIX_FMT_BGR24)\n\n max_pkt_size += width * height * 3 * 3;\n\n else {\n\n max_pkt_size += mb_width * mb_height * 3 * 4\n\n * s->hsample[0] * s->vsample[0];\n\n }\n\n if ((ret = ff_alloc_packet(pkt, max_pkt_size)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"Error getting output packet of size %d.\\n\", max_pkt_size);\n\n return ret;\n\n }\n\n\n\n init_put_bits(&pb, pkt->data, pkt->size);\n\n\n\n ff_mjpeg_encode_picture_header(avctx, &pb, &s->scantable,\n\n s->matrix);\n\n\n\n header_bits = put_bits_count(&pb);\n\n\n\n if (avctx->pix_fmt == AV_PIX_FMT_BGR24)\n\n ret = ljpeg_encode_bgr(avctx, &pb, pict);\n\n else\n\n ret = ljpeg_encode_yuv(avctx, &pb, pict);\n\n if (ret < 0)\n\n return ret;\n\n\n\n emms_c();\n\n\n\n ff_mjpeg_encode_picture_trailer(&pb, header_bits);\n\n\n\n flush_put_bits(&pb);\n\n pkt->size = put_bits_ptr(&pb) - pb.buf;\n\n pkt->flags |= AV_PKT_FLAG_KEY;\n\n *got_packet = 1;\n\n\n\n return 0;\n\n}\n", "idx": 10950}1066{"project": "FFmpeg", "commit_id": "27bcf55f459e038e81f09c17e72e6d44898b9015", "target": 1, "func": "int av_vsrc_buffer_add_video_buffer_ref(AVFilterContext *buffer_filter, AVFilterBufferRef *picref)\n\n{\n\n BufferSourceContext *c = buffer_filter->priv;\n\n AVFilterLink *outlink = buffer_filter->outputs[0];\n\n int ret;\n\n\n\n if (c->picref) {\n\n av_log(buffer_filter, AV_LOG_ERROR,\n\n \"Buffering several frames is not supported. \"\n\n \"Please consume all available frames before adding a new one.\\n\"\n\n );\n\n //return -1;\n\n }\n\n\n\n if (picref->video->w != c->w || picref->video->h != c->h || picref->format != c->pix_fmt) {\n\n AVFilterContext *scale = buffer_filter->outputs[0]->dst;\n\n AVFilterLink *link;\n\n char scale_param[1024];\n\n\n\n av_log(buffer_filter, AV_LOG_INFO,\n\n \"Buffer video input changed from size:%dx%d fmt:%s to size:%dx%d fmt:%s\\n\",\n\n c->w, c->h, av_pix_fmt_descriptors[c->pix_fmt].name,\n\n picref->video->w, picref->video->h, av_pix_fmt_descriptors[picref->format].name);\n\n\n\n if (!scale || strcmp(scale->filter->name, \"scale\")) {\n\n AVFilter *f = avfilter_get_by_name(\"scale\");\n\n\n\n av_log(buffer_filter, AV_LOG_INFO, \"Inserting scaler filter\\n\");\n\n if ((ret = avfilter_open(&scale, f, \"Input equalizer\")) < 0)\n\n return ret;\n\n\n\n snprintf(scale_param, sizeof(scale_param)-1, \"%d:%d:%s\", c->w, c->h, c->sws_param);\n\n if ((ret = avfilter_init_filter(scale, scale_param, NULL)) < 0) {\n\n avfilter_free(scale);\n\n return ret;\n\n }\n\n\n\n if ((ret = avfilter_insert_filter(buffer_filter->outputs[0], scale, 0, 0)) < 0) {\n\n avfilter_free(scale);\n\n return ret;\n\n }\n\n scale->outputs[0]->time_base = scale->inputs[0]->time_base;\n\n\n\n scale->outputs[0]->format= c->pix_fmt;\n\n } else if (!strcmp(scale->filter->name, \"scale\")) {\n\n snprintf(scale_param, sizeof(scale_param)-1, \"%d:%d:%s\",\n\n scale->outputs[0]->w, scale->outputs[0]->h, c->sws_param);\n\n scale->filter->init(scale, scale_param, NULL);\n\n }\n\n\n\n c->pix_fmt = scale->inputs[0]->format = picref->format;\n\n c->w = scale->inputs[0]->w = picref->video->w;\n\n c->h = scale->inputs[0]->h = picref->video->h;\n\n\n\n link = scale->outputs[0];\n\n if ((ret = link->srcpad->config_props(link)) < 0)\n\n return ret;\n\n }\n\n\n\n c->picref = avfilter_get_video_buffer(outlink, AV_PERM_WRITE,\n\n picref->video->w, picref->video->h);\n\n av_image_copy(c->picref->data, c->picref->linesize,\n\n picref->data, picref->linesize,\n\n picref->format, picref->video->w, picref->video->h);\n\n avfilter_copy_buffer_ref_props(c->picref, picref);\n\n\n\n return 0;\n\n}\n", "idx": 10962}1067{"project": "FFmpeg", "commit_id": "9568b2e425f127031ddc91dd78cb9b9f2cae206d", "target": 1, "func": "int ff_h264_decode_picture_parameter_set(GetBitContext *gb, AVCodecContext *avctx,\n H264ParamSets *ps, int bit_length)\n{\n AVBufferRef *pps_buf;\n const SPS *sps;\n unsigned int pps_id = get_ue_golomb(gb);\n PPS *pps;\n int qp_bd_offset;\n int bits_left;\n int ret;\n if (pps_id >= MAX_PPS_COUNT) {\n av_log(avctx, AV_LOG_ERROR, \"pps_id %u out of range\\n\", pps_id);\n return AVERROR_INVALIDDATA;\n pps_buf = av_buffer_allocz(sizeof(*pps));\n if (!pps_buf)\n return AVERROR(ENOMEM);\n pps = (PPS*)pps_buf->data;\n pps->data_size = gb->buffer_end - gb->buffer;\n if (pps->data_size > sizeof(pps->data)) {\n av_log(avctx, AV_LOG_WARNING, \"Truncating likely oversized PPS \"\n \"(%\"SIZE_SPECIFIER\" > %\"SIZE_SPECIFIER\")\\n\",\n pps->data_size, sizeof(pps->data));\n pps->data_size = sizeof(pps->data);\n memcpy(pps->data, gb->buffer, pps->data_size);\n pps->sps_id = get_ue_golomb_31(gb);\n if ((unsigned)pps->sps_id >= MAX_SPS_COUNT ||\n !ps->sps_list[pps->sps_id]) {\n av_log(avctx, AV_LOG_ERROR, \"sps_id %u out of range\\n\", pps->sps_id);\n sps = (const SPS*)ps->sps_list[pps->sps_id]->data;\n if (sps->bit_depth_luma > 14) {\n av_log(avctx, AV_LOG_ERROR,\n \"Invalid luma bit depth=%d\\n\",\n sps->bit_depth_luma);\n } else if (sps->bit_depth_luma == 11 || sps->bit_depth_luma == 13) {\n av_log(avctx, AV_LOG_ERROR,\n \"Unimplemented luma bit depth=%d\\n\",\n sps->bit_depth_luma);\n ret = AVERROR_PATCHWELCOME;\n pps->cabac = get_bits1(gb);\n pps->pic_order_present = get_bits1(gb);\n pps->slice_group_count = get_ue_golomb(gb) + 1;\n if (pps->slice_group_count > 1) {\n pps->mb_slice_group_map_type = get_ue_golomb(gb);\n av_log(avctx, AV_LOG_ERROR, \"FMO not supported\\n\");\n switch (pps->mb_slice_group_map_type) {\n case 0:\n#if 0\n | for (i = 0; i <= num_slice_groups_minus1; i++) | | |\n | run_length[i] |1 |ue(v) |\n#endif\n break;\n case 2:\n#if 0\n | for (i = 0; i < num_slice_groups_minus1; i++) { | | |\n | top_left_mb[i] |1 |ue(v) |\n | bottom_right_mb[i] |1 |ue(v) |\n | } | | |\n#endif\n break;\n case 3:\n case 4:\n case 5:\n#if 0\n | slice_group_change_direction_flag |1 |u(1) |\n | slice_group_change_rate_minus1 |1 |ue(v) |\n#endif\n break;\n case 6:\n#if 0\n | slice_group_id_cnt_minus1 |1 |ue(v) |\n | for (i = 0; i <= slice_group_id_cnt_minus1; i++)| | |\n | slice_group_id[i] |1 |u(v) |\n#endif\n break;\n pps->ref_count[0] = get_ue_golomb(gb) + 1;\n pps->ref_count[1] = get_ue_golomb(gb) + 1;\n if (pps->ref_count[0] - 1 > 32 - 1 || pps->ref_count[1] - 1 > 32 - 1) {\n av_log(avctx, AV_LOG_ERROR, \"reference overflow (pps)\\n\");\n qp_bd_offset = 6 * (sps->bit_depth_luma - 8);\n pps->weighted_pred = get_bits1(gb);\n pps->weighted_bipred_idc = get_bits(gb, 2);\n pps->init_qp = get_se_golomb(gb) + 26 + qp_bd_offset;\n pps->init_qs = get_se_golomb(gb) + 26 + qp_bd_offset;\n pps->chroma_qp_index_offset[0] = get_se_golomb(gb);\n pps->deblocking_filter_parameters_present = get_bits1(gb);\n pps->constrained_intra_pred = get_bits1(gb);\n pps->redundant_pic_cnt_present = get_bits1(gb);\n pps->transform_8x8_mode = 0;\n memcpy(pps->scaling_matrix4, sps->scaling_matrix4,\n sizeof(pps->scaling_matrix4));\n memcpy(pps->scaling_matrix8, sps->scaling_matrix8,\n sizeof(pps->scaling_matrix8));\n bits_left = bit_length - get_bits_count(gb);\n if (bits_left > 0 && more_rbsp_data_in_pps(sps, avctx)) {\n pps->transform_8x8_mode = get_bits1(gb);\n decode_scaling_matrices(gb, sps, pps, 0,\n pps->scaling_matrix4, pps->scaling_matrix8);\n // second_chroma_qp_index_offset\n pps->chroma_qp_index_offset[1] = get_se_golomb(gb);\n if (pps->chroma_qp_index_offset[1] < -12 || pps->chroma_qp_index_offset[1] > 12) {\n } else {\n pps->chroma_qp_index_offset[1] = pps->chroma_qp_index_offset[0];\n build_qp_table(pps, 0, pps->chroma_qp_index_offset[0],\n sps->bit_depth_luma);\n build_qp_table(pps, 1, pps->chroma_qp_index_offset[1],\n sps->bit_depth_luma);\n init_dequant_tables(pps, sps);\n if (pps->chroma_qp_index_offset[0] != pps->chroma_qp_index_offset[1])\n pps->chroma_qp_diff = 1;\n if (avctx->debug & FF_DEBUG_PICT_INFO) {\n av_log(avctx, AV_LOG_DEBUG,\n \"pps:%u sps:%u %s slice_groups:%d ref:%u/%u %s qp:%d/%d/%d/%d %s %s %s %s\\n\",\n pps_id, pps->sps_id,\n pps->cabac ? \"CABAC\" : \"CAVLC\",\n pps->slice_group_count,\n pps->ref_count[0], pps->ref_count[1],\n pps->weighted_pred ? \"weighted\" : \"\",\n pps->init_qp, pps->init_qs, pps->chroma_qp_index_offset[0], pps->chroma_qp_index_offset[1],\n pps->deblocking_filter_parameters_present ? \"LPAR\" : \"\",\n pps->constrained_intra_pred ? \"CONSTR\" : \"\",\n pps->redundant_pic_cnt_present ? \"REDU\" : \"\",\n pps->transform_8x8_mode ? \"8x8DCT\" : \"\");\n remove_pps(ps, pps_id);\n ps->pps_list[pps_id] = pps_buf;\n return 0;\nfail:\n av_buffer_unref(&pps_buf);\n return ret;", "idx": 10971}1068{"project": "qemu", "commit_id": "a52b2cbf218d52f9e357961acb271a98a2bdff71", "target": 1, "func": "static void qxl_spice_monitors_config_async(PCIQXLDevice *qxl, int replay)\n\n{\n\n trace_qxl_spice_monitors_config(qxl->id);\n\n if (replay) {\n\n /*\n\n * don't use QXL_COOKIE_TYPE_IO:\n\n * - we are not running yet (post_load), we will assert\n\n * in send_events\n\n * - this is not a guest io, but a reply, so async_io isn't set.\n\n */\n\n spice_qxl_monitors_config_async(&qxl->ssd.qxl,\n\n qxl->guest_monitors_config,\n\n MEMSLOT_GROUP_GUEST,\n\n (uintptr_t)qxl_cookie_new(\n\n QXL_COOKIE_TYPE_POST_LOAD_MONITORS_CONFIG,\n\n 0));\n\n } else {\n\n#if SPICE_SERVER_VERSION >= 0x000c06 /* release 0.12.6 */\n\n if (qxl->max_outputs) {\n\n spice_qxl_set_monitors_config_limit(&qxl->ssd.qxl,\n\n qxl->max_outputs);\n\n }\n\n#endif\n\n qxl->guest_monitors_config = qxl->ram->monitors_config;\n\n spice_qxl_monitors_config_async(&qxl->ssd.qxl,\n\n qxl->ram->monitors_config,\n\n MEMSLOT_GROUP_GUEST,\n\n (uintptr_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO,\n\n QXL_IO_MONITORS_CONFIG_ASYNC));\n\n }\n\n}\n", "idx": 10974}1069{"project": "qemu", "commit_id": "086abc1ccd0fa5103345adda819e6c6436949579", "target": 0, "func": "static void virtio_net_vhost_status(VirtIONet *n, uint8_t status)\n\n{\n\n VirtIODevice *vdev = VIRTIO_DEVICE(n);\n\n NetClientState *nc = qemu_get_queue(n->nic);\n\n int queues = n->multiqueue ? n->max_queues : 1;\n\n\n\n if (!get_vhost_net(nc->peer)) {\n\n return;\n\n }\n\n\n\n if (!!n->vhost_started ==\n\n (virtio_net_started(n, status) && !nc->peer->link_down)) {\n\n return;\n\n }\n\n if (!n->vhost_started) {\n\n int r;\n\n if (!vhost_net_query(get_vhost_net(nc->peer), vdev)) {\n\n return;\n\n }\n\n n->vhost_started = 1;\n\n r = vhost_net_start(vdev, n->nic->ncs, queues);\n\n if (r < 0) {\n\n error_report(\"unable to start vhost net: %d: \"\n\n \"falling back on userspace virtio\", -r);\n\n n->vhost_started = 0;\n\n }\n\n } else {\n\n vhost_net_stop(vdev, n->nic->ncs, queues);\n\n n->vhost_started = 0;\n\n }\n\n}\n", "idx": 10982}1070{"project": "qemu", "commit_id": "7ebaf7955603cc50988e0eafd5e6074320fefc70", "target": 0, "func": "static void spapr_cpu_core_host_initfn(Object *obj)\n\n{\n\n sPAPRCPUCore *core = SPAPR_CPU_CORE(obj);\n\n char *name = g_strdup_printf(\"%s-\" TYPE_POWERPC_CPU, \"host\");\n\n ObjectClass *oc = object_class_by_name(name);\n\n\n\n g_assert(oc);\n\n g_free((void *)name);\n\n core->cpu_class = oc;\n\n}\n", "idx": 10984}1071{"project": "FFmpeg", "commit_id": "892fc83e88a20f9543c6c5be3626712be7a2e6f2", "target": 0, "func": "static void init_block_mapping(Vp3DecodeContext *s) \n\n{\n\n int i, j;\n\n signed int hilbert_walk_y[16];\n\n signed int hilbert_walk_c[16];\n\n signed int hilbert_walk_mb[4];\n\n\n\n int current_fragment = 0;\n\n int current_width = 0;\n\n int current_height = 0;\n\n int right_edge = 0;\n\n int bottom_edge = 0;\n\n int superblock_row_inc = 0;\n\n int *hilbert = NULL;\n\n int mapping_index = 0;\n\n\n\n int current_macroblock;\n\n int c_fragment;\n\n\n\n signed char travel_width[16] = {\n\n 1, 1, 0, -1, \n\n 0, 0, 1, 0,\n\n 1, 0, 1, 0,\n\n 0, -1, 0, 1\n\n };\n\n\n\n signed char travel_height[16] = {\n\n 0, 0, 1, 0,\n\n 1, 1, 0, -1,\n\n 0, 1, 0, -1,\n\n -1, 0, -1, 0\n\n };\n\n\n\n signed char travel_width_mb[4] = {\n\n 1, 0, 1, 0\n\n };\n\n\n\n signed char travel_height_mb[4] = {\n\n 0, 1, 0, -1\n\n };\n\n\n\n debug_vp3(\" vp3: initialize block mapping tables\\n\");\n\n\n\n /* figure out hilbert pattern per these frame dimensions */\n\n hilbert_walk_y[0] = 1;\n\n hilbert_walk_y[1] = 1;\n\n hilbert_walk_y[2] = s->fragment_width;\n\n hilbert_walk_y[3] = -1;\n\n hilbert_walk_y[4] = s->fragment_width;\n\n hilbert_walk_y[5] = s->fragment_width;\n\n hilbert_walk_y[6] = 1;\n\n hilbert_walk_y[7] = -s->fragment_width;\n\n hilbert_walk_y[8] = 1;\n\n hilbert_walk_y[9] = s->fragment_width;\n\n hilbert_walk_y[10] = 1;\n\n hilbert_walk_y[11] = -s->fragment_width;\n\n hilbert_walk_y[12] = -s->fragment_width;\n\n hilbert_walk_y[13] = -1;\n\n hilbert_walk_y[14] = -s->fragment_width;\n\n hilbert_walk_y[15] = 1;\n\n\n\n hilbert_walk_c[0] = 1;\n\n hilbert_walk_c[1] = 1;\n\n hilbert_walk_c[2] = s->fragment_width / 2;\n\n hilbert_walk_c[3] = -1;\n\n hilbert_walk_c[4] = s->fragment_width / 2;\n\n hilbert_walk_c[5] = s->fragment_width / 2;\n\n hilbert_walk_c[6] = 1;\n\n hilbert_walk_c[7] = -s->fragment_width / 2;\n\n hilbert_walk_c[8] = 1;\n\n hilbert_walk_c[9] = s->fragment_width / 2;\n\n hilbert_walk_c[10] = 1;\n\n hilbert_walk_c[11] = -s->fragment_width / 2;\n\n hilbert_walk_c[12] = -s->fragment_width / 2;\n\n hilbert_walk_c[13] = -1;\n\n hilbert_walk_c[14] = -s->fragment_width / 2;\n\n hilbert_walk_c[15] = 1;\n\n\n\n hilbert_walk_mb[0] = 1;\n\n hilbert_walk_mb[1] = s->macroblock_width;\n\n hilbert_walk_mb[2] = 1;\n\n hilbert_walk_mb[3] = -s->macroblock_width;\n\n\n\n /* iterate through each superblock (all planes) and map the fragments */\n\n for (i = 0; i < s->superblock_count; i++) {\n\n debug_init(\" superblock %d (u starts @ %d, v starts @ %d)\\n\",\n\n i, s->u_superblock_start, s->v_superblock_start);\n\n\n\n /* time to re-assign the limits? */\n\n if (i == 0) {\n\n\n\n /* start of Y superblocks */\n\n right_edge = s->fragment_width;\n\n bottom_edge = s->fragment_height;\n\n current_width = 0;\n\n current_height = 0;\n\n superblock_row_inc = 3 * s->fragment_width;\n\n hilbert = hilbert_walk_y;\n\n\n\n /* the first operation for this variable is to advance by 1 */\n\n current_fragment = -1;\n\n\n\n } else if (i == s->u_superblock_start) {\n\n\n\n /* start of U superblocks */\n\n right_edge = s->fragment_width / 2;\n\n bottom_edge = s->fragment_height / 2;\n\n current_width = 0;\n\n current_height = 0;\n\n superblock_row_inc = 3 * (s->fragment_width / 2);\n\n hilbert = hilbert_walk_c;\n\n\n\n /* the first operation for this variable is to advance by 1 */\n\n current_fragment = s->u_fragment_start - 1;\n\n\n\n } else if (i == s->v_superblock_start) {\n\n\n\n /* start of V superblocks */\n\n right_edge = s->fragment_width / 2;\n\n bottom_edge = s->fragment_height / 2;\n\n current_width = 0;\n\n current_height = 0;\n\n superblock_row_inc = 3 * (s->fragment_width / 2);\n\n hilbert = hilbert_walk_c;\n\n\n\n /* the first operation for this variable is to advance by 1 */\n\n current_fragment = s->v_fragment_start - 1;\n\n\n\n }\n\n\n\n if (current_width >= right_edge) {\n\n /* reset width and move to next superblock row */\n\n current_width = 0;\n\n current_height += 4;\n\n\n\n /* fragment is now at the start of a new superblock row */\n\n current_fragment += superblock_row_inc;\n\n }\n\n\n\n /* iterate through all 16 fragments in a superblock */\n\n for (j = 0; j < 16; j++) {\n\n current_fragment += hilbert[j];\n\n current_height += travel_height[j];\n\n\n\n /* check if the fragment is in bounds */\n\n if ((current_width <= right_edge) &&\n\n (current_height < bottom_edge)) {\n\n s->superblock_fragments[mapping_index] = current_fragment;\n\n debug_init(\" mapping fragment %d to superblock %d, position %d\\n\", \n\n s->superblock_fragments[mapping_index], i, j);\n\n } else {\n\n s->superblock_fragments[mapping_index] = -1;\n\n debug_init(\" superblock %d, position %d has no fragment\\n\", \n\n i, j);\n\n }\n\n\n\n current_width += travel_width[j];\n\n mapping_index++;\n\n }\n\n }\n\n\n\n /* initialize the superblock <-> macroblock mapping; iterate through\n\n * all of the Y plane superblocks to build this mapping */\n\n right_edge = s->macroblock_width;\n\n bottom_edge = s->macroblock_height;\n\n current_width = 0;\n\n current_height = 0;\n\n superblock_row_inc = s->macroblock_width;\n\n hilbert = hilbert_walk_mb;\n\n mapping_index = 0;\n\n current_macroblock = -1;\n\n for (i = 0; i < s->u_superblock_start; i++) {\n\n\n\n if (current_width >= right_edge) {\n\n /* reset width and move to next superblock row */\n\n current_width = 0;\n\n current_height += 2;\n\n\n\n /* macroblock is now at the start of a new superblock row */\n\n current_macroblock += superblock_row_inc;\n\n }\n\n\n\n /* iterate through each potential macroblock in the superblock */\n\n for (j = 0; j < 4; j++) {\n\n current_macroblock += hilbert_walk_mb[j];\n\n current_height += travel_height_mb[j];\n\n\n\n /* check if the macroblock is in bounds */\n\n if ((current_width <= right_edge) &&\n\n (current_height < bottom_edge)) {\n\n s->superblock_macroblocks[mapping_index] = current_macroblock;\n\n debug_init(\" mapping macroblock %d to superblock %d, position %d\\n\",\n\n s->superblock_macroblocks[mapping_index], i, j);\n\n } else {\n\n s->superblock_macroblocks[mapping_index] = -1;\n\n debug_init(\" superblock %d, position %d has no macroblock\\n\",\n\n i, j);\n\n }\n\n\n\n current_width += travel_width_mb[j];\n\n mapping_index++;\n\n }\n\n }\n\n\n\n /* initialize the macroblock <-> fragment mapping */\n\n current_fragment = 0;\n\n current_macroblock = 0;\n\n mapping_index = 0;\n\n for (i = 0; i < s->fragment_height; i += 2) {\n\n\n\n for (j = 0; j < s->fragment_width; j += 2) {\n\n\n\n debug_init(\" macroblock %d contains fragments: \", current_macroblock);\n\n s->all_fragments[current_fragment].macroblock = current_macroblock;\n\n s->macroblock_fragments[mapping_index++] = current_fragment;\n\n debug_init(\"%d \", current_fragment);\n\n\n\n if (j + 1 < s->fragment_width) {\n\n s->all_fragments[current_fragment + 1].macroblock = current_macroblock;\n\n s->macroblock_fragments[mapping_index++] = current_fragment + 1;\n\n debug_init(\"%d \", current_fragment + 1);\n\n } else\n\n s->macroblock_fragments[mapping_index++] = -1;\n\n\n\n if (i + 1 < s->fragment_height) {\n\n s->all_fragments[current_fragment + s->fragment_width].macroblock = \n\n current_macroblock;\n\n s->macroblock_fragments[mapping_index++] = \n\n current_fragment + s->fragment_width;\n\n debug_init(\"%d \", current_fragment + s->fragment_width);\n\n } else\n\n s->macroblock_fragments[mapping_index++] = -1;\n\n\n\n if ((j + 1 < s->fragment_width) && (i + 1 < s->fragment_height)) {\n\n s->all_fragments[current_fragment + s->fragment_width + 1].macroblock = \n\n current_macroblock;\n\n s->macroblock_fragments[mapping_index++] = \n\n current_fragment + s->fragment_width + 1;\n\n debug_init(\"%d \", current_fragment + s->fragment_width + 1);\n\n } else\n\n s->macroblock_fragments[mapping_index++] = -1;\n\n\n\n /* C planes */\n\n c_fragment = s->u_fragment_start + \n\n (i * s->fragment_width / 4) + (j / 2);\n\n s->all_fragments[c_fragment].macroblock = s->macroblock_count;\n\n s->macroblock_fragments[mapping_index++] = c_fragment;\n\n debug_init(\"%d \", c_fragment);\n\n\n\n c_fragment = s->v_fragment_start + \n\n (i * s->fragment_width / 4) + (j / 2);\n\n s->all_fragments[c_fragment].macroblock = s->macroblock_count;\n\n s->macroblock_fragments[mapping_index++] = c_fragment;\n\n debug_init(\"%d \", c_fragment);\n\n\n\n debug_init(\"\\n\");\n\n\n\n if (j + 2 <= s->fragment_width)\n\n current_fragment += 2;\n\n else \n\n current_fragment++;\n\n current_macroblock++;\n\n }\n\n\n\n current_fragment += s->fragment_width;\n\n }\n\n}\n", "idx": 10992}1072{"project": "qemu", "commit_id": "9a78eead0c74333a394c0f7bbfc4423ac746fcd5", "target": 0, "func": "void m68k_cpu_list(FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, ...))\n\n{\n\n unsigned int i;\n\n\n\n for (i = 0; m68k_cpu_defs[i].name; i++) {\n\n (*cpu_fprintf)(f, \"%s\\n\", m68k_cpu_defs[i].name);\n\n }\n\n}\n", "idx": 10999}1073{"project": "qemu", "commit_id": "5a2223ca26b1a34e131b5b9a63599d9426d2c25c", "target": 0, "func": "int acpi_pcihp_device_hotplug(AcpiPciHpState *s, PCIDevice *dev,\n\n PCIHotplugState state)\n\n{\n\n int slot = PCI_SLOT(dev->devfn);\n\n int bsel = acpi_pcihp_get_bsel(dev->bus);\n\n if (bsel < 0) {\n\n return -1;\n\n }\n\n\n\n /* Don't send event when device is enabled during qemu machine creation:\n\n * it is present on boot, no hotplug event is necessary. We do send an\n\n * event when the device is disabled later. */\n\n if (state == PCI_COLDPLUG_ENABLED) {\n\n s->acpi_pcihp_pci_status[bsel].device_present |= (1U << slot);\n\n return 0;\n\n }\n\n\n\n if (state == PCI_HOTPLUG_ENABLED) {\n\n enable_device(s, bsel, slot);\n\n } else {\n\n disable_device(s, bsel, slot);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 11016}1074{"project": "FFmpeg", "commit_id": "af8aa846fa5b9f2c7dcde451c872426528b8b561", "target": 0, "func": "static void frame_start(H264Context *h){\n\n MpegEncContext * const s = &h->s;\n\n int i;\n\n\n\n MPV_frame_start(s, s->avctx);\n\n ff_er_frame_start(s);\n\n\n\n assert(s->linesize && s->uvlinesize);\n\n\n\n for(i=0; i<16; i++){\n\n h->block_offset[i]= 4*((scan8[i] - scan8[0])&7) + 4*s->linesize*((scan8[i] - scan8[0])>>3);\n\n h->block_offset[24+i]= 4*((scan8[i] - scan8[0])&7) + 8*s->linesize*((scan8[i] - scan8[0])>>3);\n\n }\n\n for(i=0; i<4; i++){\n\n h->block_offset[16+i]=\n\n h->block_offset[20+i]= 4*((scan8[i] - scan8[0])&7) + 4*s->uvlinesize*((scan8[i] - scan8[0])>>3);\n\n h->block_offset[24+16+i]=\n\n h->block_offset[24+20+i]= 4*((scan8[i] - scan8[0])&7) + 8*s->uvlinesize*((scan8[i] - scan8[0])>>3);\n\n }\n\n\n\n /* can't be in alloc_tables because linesize isn't known there.\n\n * FIXME: redo bipred weight to not require extra buffer? */\n\n if(!s->obmc_scratchpad)\n\n s->obmc_scratchpad = av_malloc(16*s->linesize + 2*8*s->uvlinesize);\n\n\n\n// s->decode= (s->flags&CODEC_FLAG_PSNR) || !s->encoding || s->current_picture.reference /*|| h->contains_intra*/ || 1;\n\n}\n", "idx": 11026}1075{"project": "qemu", "commit_id": "f5aa4bdc766190b95d18be27d5cdf4d80c35b33c", "target": 1, "func": "static void test_flush_nodev(void)\n\n{\n\n QPCIDevice *dev;\n\n QPCIBar bmdma_bar, ide_bar;\n\n\n\n ide_test_start(\"\");\n\n\n\n dev = get_pci_device(&bmdma_bar, &ide_bar);\n\n\n\n /* FLUSH CACHE command on device 0*/\n\n qpci_io_writeb(dev, ide_bar, reg_device, 0);\n\n qpci_io_writeb(dev, ide_bar, reg_command, CMD_FLUSH_CACHE);\n\n\n\n /* Just testing that qemu doesn't crash... */\n\n\n\n\n ide_test_quit();\n\n}", "idx": 11046}1076{"project": "qemu", "commit_id": "895b00f62a7e86724dc7352d67c7808d37366130", "target": 1, "func": "void qmp_guest_file_flush(int64_t handle, Error **errp)\n\n{\n\n GuestFileHandle *gfh = guest_file_handle_find(handle, errp);\n\n FILE *fh;\n\n int ret;\n\n\n\n if (!gfh) {\n\n return;\n\n }\n\n\n\n fh = gfh->fh;\n\n ret = fflush(fh);\n\n if (ret == EOF) {\n\n error_setg_errno(errp, errno, \"failed to flush file\");\n\n\n\n }\n\n}", "idx": 11070}1077{"project": "FFmpeg", "commit_id": "c9aab8a123c0bcf6adeab390db1ec783326456ca", "target": 0, "func": "static void fill_colmap(H264Context *h, int map[2][16+32], int list, int field, int colfield, int mbafi){\n\n MpegEncContext * const s = &h->s;\n\n Picture * const ref1 = &h->ref_list[1][0];\n\n int j, old_ref, rfield;\n\n int start= mbafi ? 16 : 0;\n\n int end = mbafi ? 16+2*h->ref_count[0] : h->ref_count[0];\n\n int interl= mbafi || s->picture_structure != PICT_FRAME;\n\n\n\n /* bogus; fills in for missing frames */\n\n memset(map[list], 0, sizeof(map[list]));\n\n\n\n for(rfield=0; rfield<2; rfield++){\n\n for(old_ref=0; old_ref<ref1->ref_count[colfield][list]; old_ref++){\n\n int poc = ref1->ref_poc[colfield][list][old_ref];\n\n\n\n if (!interl)\n\n poc |= 3;\n\n else if( interl && (poc&3) == 3) //FIXME store all MBAFF references so this isnt needed\n\n poc= (poc&~3) + rfield + 1;\n\n\n\n for(j=start; j<end; j++){\n\n if (4 * h->ref_list[0][j].frame_num + (h->ref_list[0][j].f.reference & 3) == poc) {\n\n int cur_ref= mbafi ? (j-16)^field : j;\n\n map[list][2*old_ref + (rfield^field) + 16] = cur_ref;\n\n if(rfield == field || !interl)\n\n map[list][old_ref] = cur_ref;\n\n break;\n\n }\n\n }\n\n }\n\n }\n\n}\n", "idx": 11080}1078{"project": "FFmpeg", "commit_id": "3c895fc098f7637f6d5ec3a9d6766e724a8b9e41", "target": 0, "func": "static void compute_frame_duration(int *pnum, int *pden,\n\n AVFormatContext *s, AVStream *st, \n\n AVCodecParserContext *pc, AVPacket *pkt)\n\n{\n\n int frame_size;\n\n\n\n *pnum = 0;\n\n *pden = 0;\n\n switch(st->codec.codec_type) {\n\n case CODEC_TYPE_VIDEO:\n\n *pnum = st->codec.frame_rate_base;\n\n *pden = st->codec.frame_rate;\n\n if (pc && pc->repeat_pict) {\n\n *pden *= 2;\n\n *pnum = (*pnum) * (2 + pc->repeat_pict);\n\n }\n\n break;\n\n case CODEC_TYPE_AUDIO:\n\n frame_size = get_audio_frame_size(&st->codec, pkt->size);\n\n if (frame_size < 0)\n\n break;\n\n *pnum = frame_size;\n\n *pden = st->codec.sample_rate;\n\n break;\n\n default:\n\n break;\n\n }\n\n}\n", "idx": 11084}1079{"project": "qemu", "commit_id": "ecbddbb106114f90008024b4e6c3ba1c38d7ca0e", "target": 1, "func": "static int os_host_main_loop_wait(int64_t timeout)\n{\n GMainContext *context = g_main_context_default();\n GPollFD poll_fds[1024 * 2]; /* this is probably overkill */\n int select_ret = 0;\n int g_poll_ret, ret, i, n_poll_fds;\n PollingEntry *pe;\n WaitObjects *w = &wait_objects;\n gint poll_timeout;\n int64_t poll_timeout_ns;\n static struct timeval tv0;\n fd_set rfds, wfds, xfds;\n int nfds;\n /* XXX: need to suppress polling by better using win32 events */\n ret = 0;\n for (pe = first_polling_entry; pe != NULL; pe = pe->next) {\n ret |= pe->func(pe->opaque);\n }\n if (ret != 0) {\n return ret;\n }\n FD_ZERO(&rfds);\n FD_ZERO(&wfds);\n FD_ZERO(&xfds);\n nfds = pollfds_fill(gpollfds, &rfds, &wfds, &xfds);\n if (nfds >= 0) {\n select_ret = select(nfds + 1, &rfds, &wfds, &xfds, &tv0);\n if (select_ret != 0) {\n timeout = 0;\n }\n if (select_ret > 0) {\n pollfds_poll(gpollfds, nfds, &rfds, &wfds, &xfds);\n }\n }\n g_main_context_prepare(context, &max_priority);\n n_poll_fds = g_main_context_query(context, max_priority, &poll_timeout,\n poll_fds, ARRAY_SIZE(poll_fds));\n g_assert(n_poll_fds <= ARRAY_SIZE(poll_fds));\n for (i = 0; i < w->num; i++) {\n poll_fds[n_poll_fds + i].fd = (DWORD_PTR)w->events[i];\n poll_fds[n_poll_fds + i].events = G_IO_IN;\n }\n if (poll_timeout < 0) {\n poll_timeout_ns = -1;\n } else {\n poll_timeout_ns = (int64_t)poll_timeout * (int64_t)SCALE_MS;\n }\n poll_timeout_ns = qemu_soonest_timeout(poll_timeout_ns, timeout);\n qemu_mutex_unlock_iothread();\n g_poll_ret = qemu_poll_ns(poll_fds, n_poll_fds + w->num, poll_timeout_ns);\n qemu_mutex_lock_iothread();\n if (g_poll_ret > 0) {\n for (i = 0; i < w->num; i++) {\n w->revents[i] = poll_fds[n_poll_fds + i].revents;\n }\n for (i = 0; i < w->num; i++) {\n if (w->revents[i] && w->func[i]) {\n w->func[i](w->opaque[i]);\n }\n }\n }\n if (g_main_context_check(context, max_priority, poll_fds, n_poll_fds)) {\n g_main_context_dispatch(context);\n }\n return select_ret || g_poll_ret;\n}", "idx": 11113}1080{"project": "qemu", "commit_id": "a89d89d3e65800fa4a8e00de7af0ea8272bef779", "target": 1, "func": "int bdrv_snapshot_delete(BlockDriverState *bs, const char *snapshot_id)\n\n{\n\n BlockDriver *drv = bs->drv;\n\n if (!drv) {\n\n return -ENOMEDIUM;\n\n }\n\n if (drv->bdrv_snapshot_delete) {\n\n return drv->bdrv_snapshot_delete(bs, snapshot_id);\n\n }\n\n if (bs->file) {\n\n return bdrv_snapshot_delete(bs->file, snapshot_id);\n\n }\n\n return -ENOTSUP;\n\n}\n", "idx": 11117}1081{"project": "qemu", "commit_id": "a8170e5e97ad17ca169c64ba87ae2f53850dab4c", "target": 0, "func": "static uint32_t pci_apb_ioreadl (void *opaque, target_phys_addr_t addr)\n\n{\n\n uint32_t val;\n\n\n\n val = bswap32(cpu_inl(addr & IOPORTS_MASK));\n\n return val;\n\n}\n", "idx": 11126}1082{"project": "qemu", "commit_id": "5dafc53f1fb091d242f2179ffcb43bb28af36d1e", "target": 0, "func": "static void qemu_fill_buffer(QEMUFile *f)\n\n{\n\n int len;\n\n\n\n if (f->is_writable)\n\n return;\n\n if (f->is_file) {\n\n fseek(f->outfile, f->buf_offset, SEEK_SET);\n\n len = fread(f->buf, 1, IO_BUF_SIZE, f->outfile);\n\n if (len < 0)\n\n len = 0;\n\n } else {\n\n len = bdrv_pread(f->bs, f->base_offset + f->buf_offset,\n\n f->buf, IO_BUF_SIZE);\n\n if (len < 0)\n\n len = 0;\n\n }\n\n f->buf_index = 0;\n\n f->buf_size = len;\n\n f->buf_offset += len;\n\n}\n", "idx": 11127}1083{"project": "qemu", "commit_id": "8297be80f7cf71e09617669a8bd8b2836dcfd4c3", "target": 0, "func": "void net_hub_check_clients(void)\n\n{\n\n NetHub *hub;\n\n NetHubPort *port;\n\n NetClientState *peer;\n\n\n\n QLIST_FOREACH(hub, &hubs, next) {\n\n int has_nic = 0, has_host_dev = 0;\n\n\n\n QLIST_FOREACH(port, &hub->ports, next) {\n\n peer = port->nc.peer;\n\n if (!peer) {\n\n fprintf(stderr, \"Warning: hub port %s has no peer\\n\",\n\n port->nc.name);\n\n continue;\n\n }\n\n\n\n switch (peer->info->type) {\n\n case NET_CLIENT_DRIVER_NIC:\n\n has_nic = 1;\n\n break;\n\n case NET_CLIENT_DRIVER_USER:\n\n case NET_CLIENT_DRIVER_TAP:\n\n case NET_CLIENT_DRIVER_SOCKET:\n\n case NET_CLIENT_DRIVER_VDE:\n\n case NET_CLIENT_DRIVER_VHOST_USER:\n\n has_host_dev = 1;\n\n break;\n\n default:\n\n break;\n\n }\n\n }\n\n if (has_host_dev && !has_nic) {\n\n warn_report(\"vlan %d with no nics\", hub->id);\n\n }\n\n if (has_nic && !has_host_dev) {\n\n fprintf(stderr,\n\n \"Warning: vlan %d is not connected to host network\\n\",\n\n hub->id);\n\n }\n\n }\n\n}\n", "idx": 11128}1084{"project": "FFmpeg", "commit_id": "c4e554701ec27b31b1b6396130b8bb2aaa0d4ad0", "target": 0, "func": "DVDemuxContext* dv_init_demux(AVFormatContext *s)\n\n{\n\n DVDemuxContext *c;\n\n\n\n c = av_mallocz(sizeof(DVDemuxContext));\n\n if (!c)\n\n return NULL;\n\n\n\n c->vst = av_new_stream(s, 0);\n\n c->ast[0] = av_new_stream(s, 0);\n\n if (!c->vst || !c->ast[0])\n\n goto fail;\n\n av_set_pts_info(c->vst, 64, 1, 30000);\n\n av_set_pts_info(c->ast[0], 64, 1, 30000);\n\n\n\n c->fctx = s;\n\n c->ast[1] = NULL;\n\n c->ach = 0;\n\n c->frames = 0;\n\n c->abytes = 0;\n\n c->audio_pkt[0].size = 0;\n\n c->audio_pkt[1].size = 0;\n\n \n\n c->vst->codec.codec_type = CODEC_TYPE_VIDEO;\n\n c->vst->codec.codec_id = CODEC_ID_DVVIDEO;\n\n c->vst->codec.bit_rate = 25000000;\n\n \n\n c->ast[0]->codec.codec_type = CODEC_TYPE_AUDIO;\n\n c->ast[0]->codec.codec_id = CODEC_ID_PCM_S16LE;\n\n \n\n s->ctx_flags |= AVFMTCTX_NOHEADER; \n\n \n\n return c;\n\n \n\nfail:\n\n if (c->vst)\n\n av_free(c->vst);\n\n if (c->ast[0])\n\n av_free(c->ast[0]);\n\n av_free(c);\n\n return NULL;\n\n}\n", "idx": 11140}1085{"project": "qemu", "commit_id": "cb2e28780c7080af489e72227683fe374f05022d", "target": 0, "func": "static int coroutine_fn bdrv_co_do_pwrite_zeroes(BlockDriverState *bs,\n\n int64_t offset, int bytes, BdrvRequestFlags flags)\n\n{\n\n BlockDriver *drv = bs->drv;\n\n QEMUIOVector qiov;\n\n struct iovec iov = {0};\n\n int ret = 0;\n\n bool need_flush = false;\n\n int head = 0;\n\n int tail = 0;\n\n\n\n int max_write_zeroes = MIN_NON_ZERO(bs->bl.max_pwrite_zeroes, INT_MAX);\n\n int alignment = MAX(bs->bl.pwrite_zeroes_alignment,\n\n bs->bl.request_alignment);\n\n int max_transfer = MIN_NON_ZERO(bs->bl.max_transfer,\n\n MAX_WRITE_ZEROES_BOUNCE_BUFFER);\n\n\n\n assert(alignment % bs->bl.request_alignment == 0);\n\n head = offset % alignment;\n\n tail = (offset + bytes) % alignment;\n\n max_write_zeroes = QEMU_ALIGN_DOWN(max_write_zeroes, alignment);\n\n assert(max_write_zeroes >= bs->bl.request_alignment);\n\n\n\n while (bytes > 0 && !ret) {\n\n int num = bytes;\n\n\n\n /* Align request. Block drivers can expect the \"bulk\" of the request\n\n * to be aligned, and that unaligned requests do not cross cluster\n\n * boundaries.\n\n */\n\n if (head) {\n\n /* Make a small request up to the first aligned sector. For\n\n * convenience, limit this request to max_transfer even if\n\n * we don't need to fall back to writes. */\n\n num = MIN(MIN(bytes, max_transfer), alignment - head);\n\n head = (head + num) % alignment;\n\n assert(num < max_write_zeroes);\n\n } else if (tail && num > alignment) {\n\n /* Shorten the request to the last aligned sector. */\n\n num -= tail;\n\n }\n\n\n\n /* limit request size */\n\n if (num > max_write_zeroes) {\n\n num = max_write_zeroes;\n\n }\n\n\n\n ret = -ENOTSUP;\n\n /* First try the efficient write zeroes operation */\n\n if (drv->bdrv_co_pwrite_zeroes) {\n\n ret = drv->bdrv_co_pwrite_zeroes(bs, offset, num,\n\n flags & bs->supported_zero_flags);\n\n if (ret != -ENOTSUP && (flags & BDRV_REQ_FUA) &&\n\n !(bs->supported_zero_flags & BDRV_REQ_FUA)) {\n\n need_flush = true;\n\n }\n\n } else {\n\n assert(!bs->supported_zero_flags);\n\n }\n\n\n\n if (ret == -ENOTSUP) {\n\n /* Fall back to bounce buffer if write zeroes is unsupported */\n\n BdrvRequestFlags write_flags = flags & ~BDRV_REQ_ZERO_WRITE;\n\n\n\n if ((flags & BDRV_REQ_FUA) &&\n\n !(bs->supported_write_flags & BDRV_REQ_FUA)) {\n\n /* No need for bdrv_driver_pwrite() to do a fallback\n\n * flush on each chunk; use just one at the end */\n\n write_flags &= ~BDRV_REQ_FUA;\n\n need_flush = true;\n\n }\n\n num = MIN(num, max_transfer);\n\n iov.iov_len = num;\n\n if (iov.iov_base == NULL) {\n\n iov.iov_base = qemu_try_blockalign(bs, num);\n\n if (iov.iov_base == NULL) {\n\n ret = -ENOMEM;\n\n goto fail;\n\n }\n\n memset(iov.iov_base, 0, num);\n\n }\n\n qemu_iovec_init_external(&qiov, &iov, 1);\n\n\n\n ret = bdrv_driver_pwritev(bs, offset, num, &qiov, write_flags);\n\n\n\n /* Keep bounce buffer around if it is big enough for all\n\n * all future requests.\n\n */\n\n if (num < max_transfer) {\n\n qemu_vfree(iov.iov_base);\n\n iov.iov_base = NULL;\n\n }\n\n }\n\n\n\n offset += num;\n\n bytes -= num;\n\n }\n\n\n\nfail:\n\n if (ret == 0 && need_flush) {\n\n ret = bdrv_co_flush(bs);\n\n }\n\n qemu_vfree(iov.iov_base);\n\n return ret;\n\n}\n", "idx": 11141}1086{"project": "qemu", "commit_id": "e69a17f65e9f12f33c48b04a789e49d40a8993f5", "target": 0, "func": "static void openpic_save_IRQ_queue(QEMUFile* f, IRQQueue *q)\n\n{\n\n unsigned int i;\n\n\n\n for (i = 0; i < BF_WIDTH(MAX_IRQ); i++)\n\n qemu_put_be32s(f, &q->queue[i]);\n\n\n\n qemu_put_sbe32s(f, &q->next);\n\n qemu_put_sbe32s(f, &q->priority);\n\n}\n", "idx": 11142}1087{"project": "qemu", "commit_id": "68d553587c0aa271c3eb2902921b503740d775b6", "target": 0, "func": "static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci, int async)\n\n{\n\n uint32_t entry;\n\n EHCIQueue *q;\n\n int reload;\n\n\n\n entry = ehci_get_fetch_addr(ehci, async);\n\n q = ehci_find_queue_by_qh(ehci, entry);\n\n if (NULL == q) {\n\n q = ehci_alloc_queue(ehci, async);\n\n }\n\n q->qhaddr = entry;\n\n q->seen++;\n\n\n\n if (q->seen > 1) {\n\n /* we are going in circles -- stop processing */\n\n ehci_set_state(ehci, async, EST_ACTIVE);\n\n q = NULL;\n\n goto out;\n\n }\n\n\n\n get_dwords(NLPTR_GET(q->qhaddr), (uint32_t *) &q->qh, sizeof(EHCIqh) >> 2);\n\n ehci_trace_qh(q, NLPTR_GET(q->qhaddr), &q->qh);\n\n\n\n if (q->async == EHCI_ASYNC_INFLIGHT) {\n\n /* I/O still in progress -- skip queue */\n\n ehci_set_state(ehci, async, EST_HORIZONTALQH);\n\n goto out;\n\n }\n\n if (q->async == EHCI_ASYNC_FINISHED) {\n\n /* I/O finished -- continue processing queue */\n\n trace_usb_ehci_queue_action(q, \"resume\");\n\n ehci_set_state(ehci, async, EST_EXECUTING);\n\n goto out;\n\n }\n\n\n\n if (async && (q->qh.epchar & QH_EPCHAR_H)) {\n\n\n\n /* EHCI spec version 1.0 Section 4.8.3 & 4.10.1 */\n\n if (ehci->usbsts & USBSTS_REC) {\n\n ehci_clear_usbsts(ehci, USBSTS_REC);\n\n } else {\n\n DPRINTF(\"FETCHQH: QH 0x%08x. H-bit set, reclamation status reset\"\n\n \" - done processing\\n\", q->qhaddr);\n\n ehci_set_state(ehci, async, EST_ACTIVE);\n\n q = NULL;\n\n goto out;\n\n }\n\n }\n\n\n\n#if EHCI_DEBUG\n\n if (q->qhaddr != q->qh.next) {\n\n DPRINTF(\"FETCHQH: QH 0x%08x (h %x halt %x active %x) next 0x%08x\\n\",\n\n q->qhaddr,\n\n q->qh.epchar & QH_EPCHAR_H,\n\n q->qh.token & QTD_TOKEN_HALT,\n\n q->qh.token & QTD_TOKEN_ACTIVE,\n\n q->qh.next);\n\n }\n\n#endif\n\n\n\n reload = get_field(q->qh.epchar, QH_EPCHAR_RL);\n\n if (reload) {\n\n set_field(&q->qh.altnext_qtd, reload, QH_ALTNEXT_NAKCNT);\n\n }\n\n\n\n if (q->qh.token & QTD_TOKEN_HALT) {\n\n ehci_set_state(ehci, async, EST_HORIZONTALQH);\n\n\n\n } else if ((q->qh.token & QTD_TOKEN_ACTIVE) && (q->qh.current_qtd > 0x1000)) {\n\n q->qtdaddr = q->qh.current_qtd;\n\n ehci_set_state(ehci, async, EST_FETCHQTD);\n\n\n\n } else {\n\n /* EHCI spec version 1.0 Section 4.10.2 */\n\n ehci_set_state(ehci, async, EST_ADVANCEQUEUE);\n\n }\n\n\n\nout:\n\n return q;\n\n}\n", "idx": 11143}1088{"project": "qemu", "commit_id": "7bd427d801e1e3293a634d3c83beadaa90ffb911", "target": 0, "func": "static void omap_rtc_reset(struct omap_rtc_s *s)\n\n{\n\n struct tm tm;\n\n\n\n s->interrupts = 0;\n\n s->comp_reg = 0;\n\n s->running = 0;\n\n s->pm_am = 0;\n\n s->auto_comp = 0;\n\n s->round = 0;\n\n s->tick = qemu_get_clock(rt_clock);\n\n memset(&s->alarm_tm, 0, sizeof(s->alarm_tm));\n\n s->alarm_tm.tm_mday = 0x01;\n\n s->status = 1 << 7;\n\n qemu_get_timedate(&tm, 0);\n\n s->ti = mktimegm(&tm);\n\n\n\n omap_rtc_alarm_update(s);\n\n omap_rtc_tick(s);\n\n}\n", "idx": 11167}1089{"project": "qemu", "commit_id": "f8ed85ac992c48814d916d5df4d44f9a971c5de4", "target": 1, "func": "static void tosa_init(MachineState *machine)\n\n{\n\n const char *cpu_model = machine->cpu_model;\n\n const char *kernel_filename = machine->kernel_filename;\n\n const char *kernel_cmdline = machine->kernel_cmdline;\n\n const char *initrd_filename = machine->initrd_filename;\n\n MemoryRegion *address_space_mem = get_system_memory();\n\n MemoryRegion *rom = g_new(MemoryRegion, 1);\n\n PXA2xxState *mpu;\n\n TC6393xbState *tmio;\n\n DeviceState *scp0, *scp1;\n\n\n\n if (!cpu_model)\n\n cpu_model = \"pxa255\";\n\n\n\n mpu = pxa255_init(address_space_mem, tosa_binfo.ram_size);\n\n\n\n memory_region_init_ram(rom, NULL, \"tosa.rom\", TOSA_ROM, &error_abort);\n\n vmstate_register_ram_global(rom);\n\n memory_region_set_readonly(rom, true);\n\n memory_region_add_subregion(address_space_mem, 0, rom);\n\n\n\n tmio = tc6393xb_init(address_space_mem, 0x10000000,\n\n qdev_get_gpio_in(mpu->gpio, TOSA_GPIO_TC6393XB_INT));\n\n\n\n scp0 = sysbus_create_simple(\"scoop\", 0x08800000, NULL);\n\n scp1 = sysbus_create_simple(\"scoop\", 0x14800040, NULL);\n\n\n\n tosa_gpio_setup(mpu, scp0, scp1, tmio);\n\n\n\n tosa_microdrive_attach(mpu);\n\n\n\n tosa_tg_init(mpu);\n\n\n\n tosa_binfo.kernel_filename = kernel_filename;\n\n tosa_binfo.kernel_cmdline = kernel_cmdline;\n\n tosa_binfo.initrd_filename = initrd_filename;\n\n tosa_binfo.board_id = 0x208;\n\n arm_load_kernel(mpu->cpu, &tosa_binfo);\n\n sl_bootparam_write(SL_PXA_PARAM_BASE);\n\n}\n", "idx": 11193}1090{"project": "qemu", "commit_id": "73d60fa5fae60c8e07e1f295d8c7fd5d04320160", "target": 1, "func": "static void get_sensor_evt_enable(IPMIBmcSim *ibs,\n\n uint8_t *cmd, unsigned int cmd_len,\n\n uint8_t *rsp, unsigned int *rsp_len,\n\n unsigned int max_rsp_len)\n\n{\n\n IPMISensor *sens;\n\n\n\n IPMI_CHECK_CMD_LEN(3);\n\n if ((cmd[2] > MAX_SENSORS) ||\n\n !IPMI_SENSOR_GET_PRESENT(ibs->sensors + cmd[2])) {\n\n rsp[2] = IPMI_CC_REQ_ENTRY_NOT_PRESENT;\n\n return;\n\n }\n\n sens = ibs->sensors + cmd[2];\n\n IPMI_ADD_RSP_DATA(IPMI_SENSOR_GET_RET_STATUS(sens));\n\n IPMI_ADD_RSP_DATA(sens->assert_enable & 0xff);\n\n IPMI_ADD_RSP_DATA((sens->assert_enable >> 8) & 0xff);\n\n IPMI_ADD_RSP_DATA(sens->deassert_enable & 0xff);\n\n IPMI_ADD_RSP_DATA((sens->deassert_enable >> 8) & 0xff);\n\n}\n", "idx": 11202}1091{"project": "qemu", "commit_id": "b45c03f585ea9bb1af76c73e82195418c294919d", "target": 1, "func": "struct omap_uart_s *omap_uart_init(hwaddr base,\n\n qemu_irq irq, omap_clk fclk, omap_clk iclk,\n\n qemu_irq txdma, qemu_irq rxdma,\n\n const char *label, CharDriverState *chr)\n\n{\n\n struct omap_uart_s *s = (struct omap_uart_s *)\n\n g_malloc0(sizeof(struct omap_uart_s));\n\n\n\n s->base = base;\n\n s->fclk = fclk;\n\n s->irq = irq;\n\n s->serial = serial_mm_init(get_system_memory(), base, 2, irq,\n\n omap_clk_getrate(fclk)/16,\n\n chr ?: qemu_chr_new(label, \"null\", NULL),\n\n DEVICE_NATIVE_ENDIAN);\n\n return s;\n\n}\n", "idx": 11235}1092{"project": "qemu", "commit_id": "fef6070eff233400015cede968b0afe46c80bb0f", "target": 0, "func": "static int create_dynamic_disk(int fd, uint8_t *buf, int64_t total_sectors)\n\n{\n\n VHDDynDiskHeader *dyndisk_header =\n\n (VHDDynDiskHeader *) buf;\n\n size_t block_size, num_bat_entries;\n\n int i;\n\n int ret = -EIO;\n\n\n\n // Write the footer (twice: at the beginning and at the end)\n\n block_size = 0x200000;\n\n num_bat_entries = (total_sectors + block_size / 512) / (block_size / 512);\n\n\n\n if (write(fd, buf, HEADER_SIZE) != HEADER_SIZE) {\n\n goto fail;\n\n }\n\n\n\n if (lseek(fd, 1536 + ((num_bat_entries * 4 + 511) & ~511), SEEK_SET) < 0) {\n\n goto fail;\n\n }\n\n if (write(fd, buf, HEADER_SIZE) != HEADER_SIZE) {\n\n goto fail;\n\n }\n\n\n\n // Write the initial BAT\n\n if (lseek(fd, 3 * 512, SEEK_SET) < 0) {\n\n goto fail;\n\n }\n\n\n\n memset(buf, 0xFF, 512);\n\n for (i = 0; i < (num_bat_entries * 4 + 511) / 512; i++) {\n\n if (write(fd, buf, 512) != 512) {\n\n goto fail;\n\n }\n\n }\n\n\n\n // Prepare the Dynamic Disk Header\n\n memset(buf, 0, 1024);\n\n\n\n memcpy(dyndisk_header->magic, \"cxsparse\", 8);\n\n\n\n /*\n\n * Note: The spec is actually wrong here for data_offset, it says\n\n * 0xFFFFFFFF, but MS tools expect all 64 bits to be set.\n\n */\n\n dyndisk_header->data_offset = be64_to_cpu(0xFFFFFFFFFFFFFFFFULL);\n\n dyndisk_header->table_offset = be64_to_cpu(3 * 512);\n\n dyndisk_header->version = be32_to_cpu(0x00010000);\n\n dyndisk_header->block_size = be32_to_cpu(block_size);\n\n dyndisk_header->max_table_entries = be32_to_cpu(num_bat_entries);\n\n\n\n dyndisk_header->checksum = be32_to_cpu(vpc_checksum(buf, 1024));\n\n\n\n // Write the header\n\n if (lseek(fd, 512, SEEK_SET) < 0) {\n\n goto fail;\n\n }\n\n\n\n if (write(fd, buf, 1024) != 1024) {\n\n goto fail;\n\n }\n\n ret = 0;\n\n\n\n fail:\n\n return ret;\n\n}\n", "idx": 11268}1093{"project": "qemu", "commit_id": "b9c532903fa528891c0eceb34ea40a0c47bfb5db", "target": 0, "func": "static int qemu_rbd_snap_list(BlockDriverState *bs,\n\n QEMUSnapshotInfo **psn_tab)\n\n{\n\n BDRVRBDState *s = bs->opaque;\n\n QEMUSnapshotInfo *sn_info, *sn_tab = NULL;\n\n int i, snap_count;\n\n rbd_snap_info_t *snaps;\n\n int max_snaps = RBD_MAX_SNAPS;\n\n\n\n do {\n\n snaps = g_malloc(sizeof(*snaps) * max_snaps);\n\n snap_count = rbd_snap_list(s->image, snaps, &max_snaps);\n\n if (snap_count < 0) {\n\n g_free(snaps);\n\n }\n\n } while (snap_count == -ERANGE);\n\n\n\n if (snap_count <= 0) {\n\n return snap_count;\n\n }\n\n\n\n sn_tab = g_malloc0(snap_count * sizeof(QEMUSnapshotInfo));\n\n\n\n for (i = 0; i < snap_count; i++) {\n\n const char *snap_name = snaps[i].name;\n\n\n\n sn_info = sn_tab + i;\n\n pstrcpy(sn_info->id_str, sizeof(sn_info->id_str), snap_name);\n\n pstrcpy(sn_info->name, sizeof(sn_info->name), snap_name);\n\n\n\n sn_info->vm_state_size = snaps[i].size;\n\n sn_info->date_sec = 0;\n\n sn_info->date_nsec = 0;\n\n sn_info->vm_clock_nsec = 0;\n\n }\n\n rbd_snap_list_end(snaps);\n\n\n\n *psn_tab = sn_tab;\n\n return snap_count;\n\n}\n", "idx": 11303}1094{"project": "qemu", "commit_id": "62c58ee0b24eafb44c06402fe059fbd7972eb409", "target": 0, "func": "static bool get_phys_addr_pmsav8(CPUARMState *env, uint32_t address,\n\n MMUAccessType access_type, ARMMMUIdx mmu_idx,\n\n hwaddr *phys_ptr, int *prot, uint32_t *fsr)\n\n{\n\n ARMCPU *cpu = arm_env_get_cpu(env);\n\n bool is_user = regime_is_user(env, mmu_idx);\n\n int n;\n\n int matchregion = -1;\n\n bool hit = false;\n\n\n\n *phys_ptr = address;\n\n *prot = 0;\n\n\n\n /* Unlike the ARM ARM pseudocode, we don't need to check whether this\n\n * was an exception vector read from the vector table (which is always\n\n * done using the default system address map), because those accesses\n\n * are done in arm_v7m_load_vector(), which always does a direct\n\n * read using address_space_ldl(), rather than going via this function.\n\n */\n\n if (regime_translation_disabled(env, mmu_idx)) { /* MPU disabled */\n\n hit = true;\n\n } else if (m_is_ppb_region(env, address)) {\n\n hit = true;\n\n } else if (pmsav7_use_background_region(cpu, mmu_idx, is_user)) {\n\n hit = true;\n\n } else {\n\n for (n = (int)cpu->pmsav7_dregion - 1; n >= 0; n--) {\n\n /* region search */\n\n /* Note that the base address is bits [31:5] from the register\n\n * with bits [4:0] all zeroes, but the limit address is bits\n\n * [31:5] from the register with bits [4:0] all ones.\n\n */\n\n uint32_t base = env->pmsav8.rbar[n] & ~0x1f;\n\n uint32_t limit = env->pmsav8.rlar[n] | 0x1f;\n\n\n\n if (!(env->pmsav8.rlar[n] & 0x1)) {\n\n /* Region disabled */\n\n continue;\n\n }\n\n\n\n if (address < base || address > limit) {\n\n continue;\n\n }\n\n\n\n if (hit) {\n\n /* Multiple regions match -- always a failure (unlike\n\n * PMSAv7 where highest-numbered-region wins)\n\n */\n\n *fsr = 0x00d; /* permission fault */\n\n return true;\n\n }\n\n\n\n matchregion = n;\n\n hit = true;\n\n\n\n if (base & ~TARGET_PAGE_MASK) {\n\n qemu_log_mask(LOG_UNIMP,\n\n \"MPU_RBAR[%d]: No support for MPU region base\"\n\n \"address of 0x%\" PRIx32 \". Minimum alignment is \"\n\n \"%d\\n\",\n\n n, base, TARGET_PAGE_BITS);\n\n continue;\n\n }\n\n if ((limit + 1) & ~TARGET_PAGE_MASK) {\n\n qemu_log_mask(LOG_UNIMP,\n\n \"MPU_RBAR[%d]: No support for MPU region limit\"\n\n \"address of 0x%\" PRIx32 \". Minimum alignment is \"\n\n \"%d\\n\",\n\n n, limit, TARGET_PAGE_BITS);\n\n continue;\n\n }\n\n }\n\n }\n\n\n\n if (!hit) {\n\n /* background fault */\n\n *fsr = 0;\n\n return true;\n\n }\n\n\n\n if (matchregion == -1) {\n\n /* hit using the background region */\n\n get_phys_addr_pmsav7_default(env, mmu_idx, address, prot);\n\n } else {\n\n uint32_t ap = extract32(env->pmsav8.rbar[matchregion], 1, 2);\n\n uint32_t xn = extract32(env->pmsav8.rbar[matchregion], 0, 1);\n\n\n\n if (m_is_system_region(env, address)) {\n\n /* System space is always execute never */\n\n xn = 1;\n\n }\n\n\n\n *prot = simple_ap_to_rw_prot(env, mmu_idx, ap);\n\n if (*prot && !xn) {\n\n *prot |= PAGE_EXEC;\n\n }\n\n /* We don't need to look the attribute up in the MAIR0/MAIR1\n\n * registers because that only tells us about cacheability.\n\n */\n\n }\n\n\n\n *fsr = 0x00d; /* Permission fault */\n\n return !(*prot & (1 << access_type));\n\n}\n", "idx": 11316}1095{"project": "qemu", "commit_id": "7e55d65c56a03dcd2c5d7c49d37c5a74b55d4bd6", "target": 1, "func": "static int v9fs_xattr_read(V9fsState *s, V9fsPDU *pdu, V9fsFidState *fidp,\n\n uint64_t off, uint32_t max_count)\n\n{\n\n ssize_t err;\n\n size_t offset = 7;\n\n int read_count;\n\n int64_t xattr_len;\n\n V9fsVirtioState *v = container_of(s, V9fsVirtioState, state);\n\n VirtQueueElement *elem = v->elems[pdu->idx];\n\n\n\n xattr_len = fidp->fs.xattr.len;\n\n read_count = xattr_len - off;\n\n if (read_count > max_count) {\n\n read_count = max_count;\n\n } else if (read_count < 0) {\n\n /*\n\n * read beyond XATTR value\n\n */\n\n read_count = 0;\n\n }\n\n err = pdu_marshal(pdu, offset, \"d\", read_count);\n\n if (err < 0) {\n\n return err;\n\n }\n\n offset += err;\n\n\n\n err = v9fs_pack(elem->in_sg, elem->in_num, offset,\n\n ((char *)fidp->fs.xattr.value) + off,\n\n read_count);\n\n if (err < 0) {\n\n return err;\n\n }\n\n offset += err;\n\n return offset;\n\n}\n", "idx": 11328}1096{"project": "qemu", "commit_id": "cdeaf1f15909e2e8af38f45aea7cfa467a729c52", "target": 1, "func": "static coroutine_fn int vmdk_co_write(BlockDriverState *bs, int64_t sector_num,\n\n const uint8_t *buf, int nb_sectors)\n\n{\n\n int ret;\n\n BDRVVmdkState *s = bs->opaque;\n\n qemu_co_mutex_lock(&s->lock);\n\n ret = vmdk_write(bs, sector_num, buf, nb_sectors);\n\n qemu_co_mutex_unlock(&s->lock);\n\n return ret;\n\n}\n", "idx": 11334}1097{"project": "qemu", "commit_id": "968fc24d843c9e9b24231ca1960b47ef2fc724ea", "target": 1, "func": "int xbzrle_encode_buffer(uint8_t *old_buf, uint8_t *new_buf, int slen,\n\n uint8_t *dst, int dlen)\n\n{\n\n uint32_t zrun_len = 0, nzrun_len = 0;\n\n int d = 0, i = 0;\n\n long res, xor;\n\n uint8_t *nzrun_start = NULL;\n\n\n\n g_assert(!(((uintptr_t)old_buf | (uintptr_t)new_buf | slen) %\n\n sizeof(long)));\n\n\n\n while (i < slen) {\n\n /* overflow */\n\n if (d + 2 > dlen) {\n\n return -1;\n\n }\n\n\n\n /* not aligned to sizeof(long) */\n\n res = (slen - i) % sizeof(long);\n\n while (res && old_buf[i] == new_buf[i]) {\n\n zrun_len++;\n\n i++;\n\n res--;\n\n }\n\n\n\n /* word at a time for speed */\n\n if (!res) {\n\n while (i < slen &&\n\n (*(long *)(old_buf + i)) == (*(long *)(new_buf + i))) {\n\n i += sizeof(long);\n\n zrun_len += sizeof(long);\n\n }\n\n\n\n /* go over the rest */\n\n while (i < slen && old_buf[i] == new_buf[i]) {\n\n zrun_len++;\n\n i++;\n\n }\n\n }\n\n\n\n /* buffer unchanged */\n\n if (zrun_len == slen) {\n\n return 0;\n\n }\n\n\n\n /* skip last zero run */\n\n if (i == slen) {\n\n return d;\n\n }\n\n\n\n d += uleb128_encode_small(dst + d, zrun_len);\n\n\n\n zrun_len = 0;\n\n nzrun_start = new_buf + i;\n\n\n\n /* overflow */\n\n if (d + 2 > dlen) {\n\n return -1;\n\n }\n\n /* not aligned to sizeof(long) */\n\n res = (slen - i) % sizeof(long);\n\n while (res && old_buf[i] != new_buf[i]) {\n\n i++;\n\n nzrun_len++;\n\n res--;\n\n }\n\n\n\n /* word at a time for speed, use of 32-bit long okay */\n\n if (!res) {\n\n /* truncation to 32-bit long okay */\n\n long mask = (long)0x0101010101010101ULL;\n\n while (i < slen) {\n\n xor = *(long *)(old_buf + i) ^ *(long *)(new_buf + i);\n\n if ((xor - mask) & ~xor & (mask << 7)) {\n\n /* found the end of an nzrun within the current long */\n\n while (old_buf[i] != new_buf[i]) {\n\n nzrun_len++;\n\n i++;\n\n }\n\n break;\n\n } else {\n\n i += sizeof(long);\n\n nzrun_len += sizeof(long);\n\n }\n\n }\n\n }\n\n\n\n d += uleb128_encode_small(dst + d, nzrun_len);\n\n /* overflow */\n\n if (d + nzrun_len > dlen) {\n\n return -1;\n\n }\n\n memcpy(dst + d, nzrun_start, nzrun_len);\n\n d += nzrun_len;\n\n nzrun_len = 0;\n\n }\n\n\n\n return d;\n\n}\n", "idx": 11359}1098{"project": "FFmpeg", "commit_id": "a28cccf6d62dc770757491510c248ed632a836ce", "target": 1, "func": "static av_cold void init_atrac3_transforms(ATRAC3Context *q) {\n\n float enc_window[256];\n\n int i;\n\n\n\n /* Generate the mdct window, for details see\n\n * http://wiki.multimedia.cx/index.php?title=RealAudio_atrc#Windows */\n\n for (i=0 ; i<256; i++)\n\n enc_window[i] = (sin(((i + 0.5) / 256.0 - 0.5) * M_PI) + 1.0) * 0.5;\n\n\n\n if (!mdct_window[0])\n\n for (i=0 ; i<256; i++) {\n\n mdct_window[i] = enc_window[i]/(enc_window[i]*enc_window[i] + enc_window[255-i]*enc_window[255-i]);\n\n mdct_window[511-i] = mdct_window[i];\n\n }\n\n\n\n /* Initialize the MDCT transform. */\n\n ff_mdct_init(&mdct_ctx, 9, 1, 1.0);\n\n}\n", "idx": 11361}1099{"project": "qemu", "commit_id": "21ef45d71221b4577330fe3aacfb06afad91ad46", "target": 1, "func": "static void gd_resize(DisplayChangeListener *dcl,\n\n DisplayState *ds)\n\n{\n\n GtkDisplayState *s = ds->opaque;\n\n cairo_format_t kind;\n\n int stride;\n\n\n\n DPRINTF(\"resize(width=%d, height=%d)\\n\",\n\n ds_get_width(ds), ds_get_height(ds));\n\n\n\n if (s->surface) {\n\n cairo_surface_destroy(s->surface);\n\n }\n\n\n\n switch (ds->surface->pf.bits_per_pixel) {\n\n case 8:\n\n kind = CAIRO_FORMAT_A8;\n\n break;\n\n case 16:\n\n kind = CAIRO_FORMAT_RGB16_565;\n\n break;\n\n case 32:\n\n kind = CAIRO_FORMAT_RGB24;\n\n break;\n\n default:\n\n g_assert_not_reached();\n\n break;\n\n }\n\n\n\n stride = cairo_format_stride_for_width(kind, ds_get_width(ds));\n\n g_assert(ds_get_linesize(ds) == stride);\n\n\n\n s->surface = cairo_image_surface_create_for_data(ds_get_data(ds),\n\n kind,\n\n ds_get_width(ds),\n\n ds_get_height(ds),\n\n ds_get_linesize(ds));\n\n\n\n if (!s->full_screen) {\n\n GtkRequisition req;\n\n double sx, sy;\n\n\n\n if (s->free_scale) {\n\n sx = s->scale_x;\n\n sy = s->scale_y;\n\n\n\n s->scale_y = 1.0;\n\n s->scale_x = 1.0;\n\n } else {\n\n sx = 1.0;\n\n sy = 1.0;\n\n }\n\n\n\n gtk_widget_set_size_request(s->drawing_area,\n\n ds_get_width(ds) * s->scale_x,\n\n ds_get_height(ds) * s->scale_y);\n\n#if GTK_CHECK_VERSION(3, 0, 0)\n\n gtk_widget_get_preferred_size(s->vbox, NULL, &req);\n\n#else\n\n gtk_widget_size_request(s->vbox, &req);\n\n#endif\n\n\n\n gtk_window_resize(GTK_WINDOW(s->window),\n\n req.width * sx, req.height * sy);\n\n }\n\n}\n", "idx": 11368}1100{"project": "qemu", "commit_id": "6ab3fc32ea640026726bc5f9f4db622d0954fb8a", "target": 1, "func": "void lm32_juart_set_jtx(DeviceState *d, uint32_t jtx)\n\n{\n\n LM32JuartState *s = LM32_JUART(d);\n\n unsigned char ch = jtx & 0xff;\n\n\n\n trace_lm32_juart_set_jtx(s->jtx);\n\n\n\n s->jtx = jtx;\n\n if (s->chr) {\n\n\n\n qemu_chr_fe_write_all(s->chr, &ch, 1);\n\n }\n\n}", "idx": 11381}1101{"project": "FFmpeg", "commit_id": "3df2be9fa7365646f22a93cfde1e4097467f498e", "target": 1, "func": "static void matroska_fix_ass_packet(MatroskaDemuxContext *matroska,\n\n AVPacket *pkt, uint64_t display_duration)\n\n{\n\n char *line, *layer, *ptr = pkt->data, *end = ptr+pkt->size;\n\n for (; *ptr!=',' && ptr<end-1; ptr++);\n\n if (*ptr == ',')\n\n layer = ++ptr;\n\n for (; *ptr!=',' && ptr<end-1; ptr++);\n\n if (*ptr == ',') {\n\n int64_t end_pts = pkt->pts + display_duration;\n\n int sc = matroska->time_scale * pkt->pts / 10000000;\n\n int ec = matroska->time_scale * end_pts / 10000000;\n\n int sh, sm, ss, eh, em, es, len;\n\n sh = sc/360000; sc -= 360000*sh;\n\n sm = sc/ 6000; sc -= 6000*sm;\n\n ss = sc/ 100; sc -= 100*ss;\n\n eh = ec/360000; ec -= 360000*eh;\n\n em = ec/ 6000; ec -= 6000*em;\n\n es = ec/ 100; ec -= 100*es;\n\n *ptr++ = '\\0';\n\n len = 50 + end-ptr + FF_INPUT_BUFFER_PADDING_SIZE;\n\n if (!(line = av_malloc(len)))\n\n return;\n\n snprintf(line,len,\"Dialogue: %s,%d:%02d:%02d.%02d,%d:%02d:%02d.%02d,%s\",\n\n layer, sh, sm, ss, sc, eh, em, es, ec, ptr);\n\n av_free(pkt->data);\n\n pkt->data = line;\n\n pkt->size = strlen(line);\n\n }\n\n}\n", "idx": 11383}1102{"project": "qemu", "commit_id": "2a0c46da967e5dc8cfe73b1b6fe7a1600c04f461", "target": 0, "func": "send_msg(\n\n VSCMsgType type,\n\n uint32_t reader_id,\n\n const void *msg,\n\n unsigned int length\n\n) {\n\n VSCMsgHeader mhHeader;\n\n\n\n qemu_mutex_lock(&socket_to_send_lock);\n\n\n\n if (verbose > 10) {\n\n printf(\"sending type=%d id=%u, len =%u (0x%x)\\n\",\n\n type, reader_id, length, length);\n\n }\n\n\n\n mhHeader.type = htonl(type);\n\n mhHeader.reader_id = 0;\n\n mhHeader.length = htonl(length);\n\n g_byte_array_append(socket_to_send, (guint8 *)&mhHeader, sizeof(mhHeader));\n\n g_byte_array_append(socket_to_send, (guint8 *)msg, length);\n\n g_idle_add(socket_prepare_sending, NULL);\n\n\n\n qemu_mutex_unlock(&socket_to_send_lock);\n\n\n\n return 0;\n\n}\n", "idx": 11400}1103{"project": "FFmpeg", "commit_id": "1acd7d594c15aa491729c837ad3519d3469e620a", "target": 0, "func": "void FUNCC(ff_h264_idct_dc_add)(uint8_t *_dst, int16_t *block, int stride){\n\n int i, j;\n\n int dc = (((dctcoef*)block)[0] + 32) >> 6;\n\n pixel *dst = (pixel*)_dst;\n\n stride >>= sizeof(pixel)-1;\n\n for( j = 0; j < 4; j++ )\n\n {\n\n for( i = 0; i < 4; i++ )\n\n dst[i] = av_clip_pixel( dst[i] + dc );\n\n dst += stride;\n\n }\n\n}\n", "idx": 11423}1104{"project": "FFmpeg", "commit_id": "2862b63783b5556f7f3fb2d097629bc6879f833a", "target": 0, "func": "static int encode_picture_ls(AVCodecContext *avctx, AVPacket *pkt,\n\n const AVFrame *pict, int *got_packet)\n\n{\n\n const AVFrame *const p = pict;\n\n const int near = avctx->prediction_method;\n\n PutBitContext pb, pb2;\n\n GetBitContext gb;\n\n uint8_t *buf2 = NULL;\n\n uint8_t *zero = NULL;\n\n uint8_t *cur = NULL;\n\n uint8_t *last = NULL;\n\n JLSState *state;\n\n int i, size, ret;\n\n int comps;\n\n\n\n if (avctx->pix_fmt == AV_PIX_FMT_GRAY8 ||\n\n avctx->pix_fmt == AV_PIX_FMT_GRAY16)\n\n comps = 1;\n\n else\n\n comps = 3;\n\n\n\n if ((ret = ff_alloc_packet(pkt, avctx->width * avctx->height * comps * 4 +\n\n AV_INPUT_BUFFER_MIN_SIZE)) < 0) {\n\n av_log(avctx, AV_LOG_ERROR, \"Error getting output packet.\\n\");\n\n return ret;\n\n }\n\n\n\n buf2 = av_malloc(pkt->size);\n\n if (!buf2)\n\n goto memfail;\n\n\n\n init_put_bits(&pb, pkt->data, pkt->size);\n\n init_put_bits(&pb2, buf2, pkt->size);\n\n\n\n /* write our own JPEG header, can't use mjpeg_picture_header */\n\n put_marker(&pb, SOI);\n\n put_marker(&pb, SOF48);\n\n put_bits(&pb, 16, 8 + comps * 3); // header size depends on components\n\n put_bits(&pb, 8, (avctx->pix_fmt == AV_PIX_FMT_GRAY16) ? 16 : 8); // bpp\n\n put_bits(&pb, 16, avctx->height);\n\n put_bits(&pb, 16, avctx->width);\n\n put_bits(&pb, 8, comps); // components\n\n for (i = 1; i <= comps; i++) {\n\n put_bits(&pb, 8, i); // component ID\n\n put_bits(&pb, 8, 0x11); // subsampling: none\n\n put_bits(&pb, 8, 0); // Tiq, used by JPEG-LS ext\n\n }\n\n\n\n put_marker(&pb, SOS);\n\n put_bits(&pb, 16, 6 + comps * 2);\n\n put_bits(&pb, 8, comps);\n\n for (i = 1; i <= comps; i++) {\n\n put_bits(&pb, 8, i); // component ID\n\n put_bits(&pb, 8, 0); // mapping index: none\n\n }\n\n put_bits(&pb, 8, near);\n\n put_bits(&pb, 8, (comps > 1) ? 1 : 0); // interleaving: 0 - plane, 1 - line\n\n put_bits(&pb, 8, 0); // point transform: none\n\n\n\n state = av_mallocz(sizeof(JLSState));\n\n if (!state)\n\n goto memfail;\n\n\n\n /* initialize JPEG-LS state from JPEG parameters */\n\n state->near = near;\n\n state->bpp = (avctx->pix_fmt == AV_PIX_FMT_GRAY16) ? 16 : 8;\n\n ff_jpegls_reset_coding_parameters(state, 0);\n\n ff_jpegls_init_state(state);\n\n\n\n ls_store_lse(state, &pb);\n\n\n\n zero = last = av_mallocz(p->linesize[0]);\n\n if (!zero)\n\n goto memfail;\n\n\n\n cur = p->data[0];\n\n if (avctx->pix_fmt == AV_PIX_FMT_GRAY8) {\n\n int t = 0;\n\n\n\n for (i = 0; i < avctx->height; i++) {\n\n ls_encode_line(state, &pb2, last, cur, t, avctx->width, 1, 0, 8);\n\n t = last[0];\n\n last = cur;\n\n cur += p->linesize[0];\n\n }\n\n } else if (avctx->pix_fmt == AV_PIX_FMT_GRAY16) {\n\n int t = 0;\n\n\n\n for (i = 0; i < avctx->height; i++) {\n\n ls_encode_line(state, &pb2, last, cur, t, avctx->width, 1, 0, 16);\n\n t = *((uint16_t *)last);\n\n last = cur;\n\n cur += p->linesize[0];\n\n }\n\n } else if (avctx->pix_fmt == AV_PIX_FMT_RGB24) {\n\n int j, width;\n\n int Rc[3] = { 0, 0, 0 };\n\n\n\n width = avctx->width * 3;\n\n for (i = 0; i < avctx->height; i++) {\n\n for (j = 0; j < 3; j++) {\n\n ls_encode_line(state, &pb2, last + j, cur + j, Rc[j],\n\n width, 3, j, 8);\n\n Rc[j] = last[j];\n\n }\n\n last = cur;\n\n cur += p->linesize[0];\n\n }\n\n } else if (avctx->pix_fmt == AV_PIX_FMT_BGR24) {\n\n int j, width;\n\n int Rc[3] = { 0, 0, 0 };\n\n\n\n width = avctx->width * 3;\n\n for (i = 0; i < avctx->height; i++) {\n\n for (j = 2; j >= 0; j--) {\n\n ls_encode_line(state, &pb2, last + j, cur + j, Rc[j],\n\n width, 3, j, 8);\n\n Rc[j] = last[j];\n\n }\n\n last = cur;\n\n cur += p->linesize[0];\n\n }\n\n }\n\n\n\n av_freep(&zero);\n\n av_freep(&state);\n\n\n\n /* the specification says that after doing 0xff escaping unused bits in\n\n * the last byte must be set to 0, so just append 7 \"optional\" zero-bits\n\n * to avoid special-casing. */\n\n put_bits(&pb2, 7, 0);\n\n size = put_bits_count(&pb2);\n\n flush_put_bits(&pb2);\n\n /* do escape coding */\n\n init_get_bits(&gb, buf2, size);\n\n size -= 7;\n\n while (get_bits_count(&gb) < size) {\n\n int v;\n\n v = get_bits(&gb, 8);\n\n put_bits(&pb, 8, v);\n\n if (v == 0xFF) {\n\n v = get_bits(&gb, 7);\n\n put_bits(&pb, 8, v);\n\n }\n\n }\n\n avpriv_align_put_bits(&pb);\n\n av_freep(&buf2);\n\n\n\n /* End of image */\n\n put_marker(&pb, EOI);\n\n flush_put_bits(&pb);\n\n\n\n emms_c();\n\n\n\n pkt->size = put_bits_count(&pb) >> 3;\n\n pkt->flags |= AV_PKT_FLAG_KEY;\n\n *got_packet = 1;\n\n return 0;\n\n\n\nmemfail:\n\n av_packet_unref(pkt);\n\n av_freep(&buf2);\n\n av_freep(&state);\n\n av_freep(&zero);\n\n return AVERROR(ENOMEM);\n\n}\n", "idx": 11427}1105{"project": "FFmpeg", "commit_id": "577393321c389ad2973bec6168a8045c94a9e099", "target": 0, "func": "void ff_vc1_decode_blocks(VC1Context *v)\n\n{\n\n\n\n v->s.esc3_level_length = 0;\n\n if (v->x8_type) {\n\n ff_intrax8_decode_picture(&v->x8, 2*v->pq + v->halfpq, v->pq * !v->pquantizer);\n\n\n\n ff_er_add_slice(&v->s.er, 0, 0,\n\n (v->s.mb_x >> 1) - 1, (v->s.mb_y >> 1) - 1,\n\n ER_MB_END);\n\n } else {\n\n v->cur_blk_idx = 0;\n\n v->left_blk_idx = -1;\n\n v->topleft_blk_idx = 1;\n\n v->top_blk_idx = 2;\n\n switch (v->s.pict_type) {\n\n case AV_PICTURE_TYPE_I:\n\n if (v->profile == PROFILE_ADVANCED)\n\n vc1_decode_i_blocks_adv(v);\n\n else\n\n vc1_decode_i_blocks(v);\n\n break;\n\n case AV_PICTURE_TYPE_P:\n\n if (v->p_frame_skipped)\n\n vc1_decode_skip_blocks(v);\n\n else\n\n vc1_decode_p_blocks(v);\n\n break;\n\n case AV_PICTURE_TYPE_B:\n\n if (v->bi_type) {\n\n if (v->profile == PROFILE_ADVANCED)\n\n vc1_decode_i_blocks_adv(v);\n\n else\n\n vc1_decode_i_blocks(v);\n\n } else\n\n vc1_decode_b_blocks(v);\n\n break;\n\n }\n\n }\n\n}\n", "idx": 11428}1106{"project": "FFmpeg", "commit_id": "8ce803db51a28eb662b6271b2b223e0312bdb3d2", "target": 1, "func": "paint_mouse_pointer(XImage *image, struct x11_grab *s)\n\n{\n\n int x_off = s->x_off;\n\n int y_off = s->y_off;\n\n int width = s->width;\n\n int height = s->height;\n\n Display *dpy = s->dpy;\n\n XFixesCursorImage *xcim;\n\n int x, y;\n\n int line, column;\n\n int to_line, to_column;\n\n int image_addr, xcim_addr;\n\n\n\n xcim = XFixesGetCursorImage(dpy);\n\n\n\n x = xcim->x - xcim->xhot;\n\n y = xcim->y - xcim->yhot;\n\n\n\n to_line = FFMIN((y + xcim->height), (height + y_off));\n\n to_column = FFMIN((x + xcim->width), (width + x_off));\n\n\n\n for (line = FFMAX(y, y_off); line < to_line; line++) {\n\n for (column = FFMAX(x, x_off); column < to_column; column++) {\n\n xcim_addr = (line - y) * xcim->width + column - x;\n\n\n\n if ((unsigned char)(xcim->pixels[xcim_addr] >> 24) != 0) { // skip fully transparent pixel\n\n image_addr = ((line - y_off) * width + column - x_off) * 4;\n\n\n\n image->data[image_addr] = (unsigned char)(xcim->pixels[xcim_addr] >> 0);\n\n image->data[image_addr+1] = (unsigned char)(xcim->pixels[xcim_addr] >> 8);\n\n image->data[image_addr+2] = (unsigned char)(xcim->pixels[xcim_addr] >> 16);\n\n }\n\n }\n\n }\n\n\n\n XFree(xcim);\n\n xcim = NULL;\n\n}\n", "idx": 11433}1107{"project": "qemu", "commit_id": "2d896b454a0e19ec4c1ddbb0e0b65b7e54fcedf3", "target": 1, "func": "static uint64_t boston_platreg_read(void *opaque, hwaddr addr,\n\n unsigned size)\n\n{\n\n BostonState *s = opaque;\n\n uint32_t gic_freq, val;\n\n\n\n if (size != 4) {\n\n qemu_log_mask(LOG_UNIMP, \"%uB platform register read\", size);\n\n return 0;\n\n }\n\n\n\n switch (addr & 0xffff) {\n\n case PLAT_FPGA_BUILD:\n\n case PLAT_CORE_CL:\n\n case PLAT_WRAPPER_CL:\n\n return 0;\n\n case PLAT_DDR3_STATUS:\n\n return PLAT_DDR3_STATUS_LOCKED | PLAT_DDR3_STATUS_CALIBRATED;\n\n case PLAT_MMCM_DIV:\n\n gic_freq = mips_gictimer_get_freq(s->cps->gic.gic_timer) / 1000000;\n\n val = gic_freq << PLAT_MMCM_DIV_INPUT_SHIFT;\n\n val |= 1 << PLAT_MMCM_DIV_MUL_SHIFT;\n\n val |= 1 << PLAT_MMCM_DIV_CLK0DIV_SHIFT;\n\n val |= 1 << PLAT_MMCM_DIV_CLK1DIV_SHIFT;\n\n return val;\n\n case PLAT_BUILD_CFG:\n\n val = PLAT_BUILD_CFG_PCIE0_EN;\n\n val |= PLAT_BUILD_CFG_PCIE1_EN;\n\n val |= PLAT_BUILD_CFG_PCIE2_EN;\n\n return val;\n\n case PLAT_DDR_CFG:\n\n val = s->mach->ram_size / G_BYTE;\n\n assert(!(val & ~PLAT_DDR_CFG_SIZE));\n\n val |= PLAT_DDR_CFG_MHZ;\n\n return val;\n\n default:\n\n qemu_log_mask(LOG_UNIMP, \"Read platform register 0x%\" HWADDR_PRIx,\n\n addr & 0xffff);\n\n return 0;\n\n }\n\n}\n", "idx": 11439}1108{"project": "FFmpeg", "commit_id": "fa2a34cd40d124161c748bb0f430dc63c94dd0da", "target": 0, "func": "int avfilter_register(AVFilter *filter)\n\n{\n\n if (next_registered_avfilter_idx == MAX_REGISTERED_AVFILTERS_NB)\n\n return -1;\n\n\n\n registered_avfilters[next_registered_avfilter_idx++] = filter;\n\n return 0;\n\n}\n", "idx": 11444}1109{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "void qmp_migrate_cancel(Error **errp)\n\n{\n\n migrate_fd_cancel(migrate_get_current());\n\n}\n", "idx": 11449}1110{"project": "qemu", "commit_id": "eefff991d059d299b917627d2a95bce34d2f97f3", "target": 1, "func": "int load_snapshot(const char *name, Error **errp)\n\n{\n\n BlockDriverState *bs, *bs_vm_state;\n\n QEMUSnapshotInfo sn;\n\n QEMUFile *f;\n\n int ret;\n\n AioContext *aio_context;\n\n MigrationIncomingState *mis = migration_incoming_get_current();\n\n\n\n if (!bdrv_all_can_snapshot(&bs)) {\n\n error_setg(errp,\n\n \"Device '%s' is writable but does not support snapshots\",\n\n bdrv_get_device_name(bs));\n\n return -ENOTSUP;\n\n }\n\n ret = bdrv_all_find_snapshot(name, &bs);\n\n if (ret < 0) {\n\n error_setg(errp,\n\n \"Device '%s' does not have the requested snapshot '%s'\",\n\n bdrv_get_device_name(bs), name);\n\n return ret;\n\n }\n\n\n\n bs_vm_state = bdrv_all_find_vmstate_bs();\n\n if (!bs_vm_state) {\n\n error_setg(errp, \"No block device supports snapshots\");\n\n return -ENOTSUP;\n\n }\n\n aio_context = bdrv_get_aio_context(bs_vm_state);\n\n\n\n /* Don't even try to load empty VM states */\n\n aio_context_acquire(aio_context);\n\n ret = bdrv_snapshot_find(bs_vm_state, &sn, name);\n\n aio_context_release(aio_context);\n\n if (ret < 0) {\n\n return ret;\n\n } else if (sn.vm_state_size == 0) {\n\n error_setg(errp, \"This is a disk-only snapshot. Revert to it \"\n\n \" offline using qemu-img\");\n\n return -EINVAL;\n\n }\n\n\n\n /* Flush all IO requests so they don't interfere with the new state. */\n\n bdrv_drain_all();\n\n\n\n ret = bdrv_all_goto_snapshot(name, &bs);\n\n if (ret < 0) {\n\n error_setg(errp, \"Error %d while activating snapshot '%s' on '%s'\",\n\n ret, name, bdrv_get_device_name(bs));\n\n return ret;\n\n }\n\n\n\n /* restore the VM state */\n\n f = qemu_fopen_bdrv(bs_vm_state, 0);\n\n if (!f) {\n\n error_setg(errp, \"Could not open VM state file\");\n\n return -EINVAL;\n\n }\n\n\n\n qemu_system_reset(SHUTDOWN_CAUSE_NONE);\n\n mis->from_src_file = f;\n\n\n\n aio_context_acquire(aio_context);\n\n ret = qemu_loadvm_state(f);\n\n qemu_fclose(f);\n\n aio_context_release(aio_context);\n\n\n\n migration_incoming_state_destroy();\n\n if (ret < 0) {\n\n error_setg(errp, \"Error %d while loading VM state\", ret);\n\n return ret;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 11455}1111{"project": "FFmpeg", "commit_id": "5bca5f87d1a32669e0357790e0d0ad8a5c9c998b", "target": 0, "func": "static av_noinline void emulated_edge_mc_sse(uint8_t *buf, const uint8_t *src,\n\n ptrdiff_t buf_stride,\n\n ptrdiff_t src_stride,\n\n int block_w, int block_h,\n\n int src_x, int src_y, int w, int h)\n\n{\n\n emulated_edge_mc(buf, src, buf_stride, src_stride, block_w, block_h,\n\n src_x, src_y, w, h, vfixtbl_sse, &ff_emu_edge_vvar_sse,\n\n hfixtbl_mmxext, &ff_emu_edge_hvar_mmxext);\n\n}\n", "idx": 11468}1112{"project": "FFmpeg", "commit_id": "a1a32fdb0ee63783d06c63b7d90bb382eea356ce", "target": 1, "func": "static int mov_text_tx3g(AVCodecContext *avctx, MovTextContext *m)\n\n{\n\n char *tx3g_ptr = avctx->extradata;\n\n int i, box_size, font_length;\n\n int8_t v_align, h_align;\n\n int style_fontID;\n\n StyleBox s_default;\n\n\n\n m->count_f = 0;\n\n m->ftab_entries = 0;\n\n box_size = BOX_SIZE_INITIAL; /* Size till ftab_entries */\n\n if (avctx->extradata_size < box_size)\n\n return -1;\n\n\n\n // Display Flags\n\n tx3g_ptr += 4;\n\n // Alignment\n\n h_align = *tx3g_ptr++;\n\n v_align = *tx3g_ptr++;\n\n if (h_align == 0) {\n\n if (v_align == 0)\n\n m->d.alignment = TOP_LEFT;\n\n if (v_align == 1)\n\n m->d.alignment = MIDDLE_LEFT;\n\n if (v_align == -1)\n\n m->d.alignment = BOTTOM_LEFT;\n\n }\n\n if (h_align == 1) {\n\n if (v_align == 0)\n\n m->d.alignment = TOP_CENTER;\n\n if (v_align == 1)\n\n m->d.alignment = MIDDLE_CENTER;\n\n if (v_align == -1)\n\n m->d.alignment = BOTTOM_CENTER;\n\n }\n\n if (h_align == -1) {\n\n if (v_align == 0)\n\n m->d.alignment = TOP_RIGHT;\n\n if (v_align == 1)\n\n m->d.alignment = MIDDLE_RIGHT;\n\n if (v_align == -1)\n\n m->d.alignment = BOTTOM_RIGHT;\n\n }\n\n // Background Color\n\n m->d.back_color = AV_RB24(tx3g_ptr);\n\n tx3g_ptr += 4;\n\n // BoxRecord\n\n tx3g_ptr += 8;\n\n // StyleRecord\n\n tx3g_ptr += 4;\n\n // fontID\n\n style_fontID = AV_RB16(tx3g_ptr);\n\n tx3g_ptr += 2;\n\n // face-style-flags\n\n s_default.style_flag = *tx3g_ptr++;\n\n m->d.bold = s_default.style_flag & STYLE_FLAG_BOLD;\n\n m->d.italic = s_default.style_flag & STYLE_FLAG_ITALIC;\n\n m->d.underline = s_default.style_flag & STYLE_FLAG_UNDERLINE;\n\n // fontsize\n\n m->d.fontsize = *tx3g_ptr++;\n\n // Primary color\n\n m->d.color = AV_RB24(tx3g_ptr);\n\n tx3g_ptr += 4;\n\n // FontRecord\n\n // FontRecord Size\n\n tx3g_ptr += 4;\n\n // ftab\n\n tx3g_ptr += 4;\n\n\n\n m->ftab_entries = AV_RB16(tx3g_ptr);\n\n tx3g_ptr += 2;\n\n\n\n for (i = 0; i < m->ftab_entries; i++) {\n\n\n\n box_size += 3;\n\n if (avctx->extradata_size < box_size) {\n\n mov_text_cleanup_ftab(m);\n\n m->ftab_entries = 0;\n\n return -1;\n\n }\n\n m->ftab_temp = av_malloc(sizeof(*m->ftab_temp));\n\n if (!m->ftab_temp) {\n\n mov_text_cleanup_ftab(m);\n\n return AVERROR(ENOMEM);\n\n }\n\n m->ftab_temp->fontID = AV_RB16(tx3g_ptr);\n\n tx3g_ptr += 2;\n\n font_length = *tx3g_ptr++;\n\n\n\n box_size = box_size + font_length;\n\n if (avctx->extradata_size < box_size) {\n\n mov_text_cleanup_ftab(m);\n\n m->ftab_entries = 0;\n\n return -1;\n\n }\n\n m->ftab_temp->font = av_malloc(font_length + 1);\n\n if (!m->ftab_temp->font) {\n\n mov_text_cleanup_ftab(m);\n\n return AVERROR(ENOMEM);\n\n }\n\n memcpy(m->ftab_temp->font, tx3g_ptr, font_length);\n\n m->ftab_temp->font[font_length] = '\\0';\n\n av_dynarray_add(&m->ftab, &m->count_f, m->ftab_temp);\n\n if (!m->ftab) {\n\n mov_text_cleanup_ftab(m);\n\n return AVERROR(ENOMEM);\n\n }\n\n tx3g_ptr = tx3g_ptr + font_length;\n\n }\n\n for (i = 0; i < m->ftab_entries; i++) {\n\n if (style_fontID == m->ftab[i]->fontID)\n\n m->d.font = m->ftab[i]->font;\n\n }\n\n return 0;\n\n}\n", "idx": 11488}1113{"project": "qemu", "commit_id": "9e14037f05e99ca3b8a33d8be9a2a636bbf09326", "target": 1, "func": "static void msmouse_chr_close (struct CharDriverState *chr)\n\n{\n\n MouseState *mouse = chr->opaque;\n\n\n\n qemu_input_handler_unregister(mouse->hs);\n\n g_free(mouse);\n\n g_free(chr);\n\n}\n", "idx": 11501}1114{"project": "qemu", "commit_id": "12d4536f7d911b6d87a766ad7300482ea663cea2", "target": 1, "func": "int qemu_init_main_loop(void)\n\n{\n\n int ret;\n\n\n\n ret = qemu_signal_init();\n\n if (ret) {\n\n return ret;\n\n }\n\n\n\n qemu_init_sigbus();\n\n\n\n return qemu_event_init();\n\n}\n", "idx": 11516}1115{"project": "qemu", "commit_id": "459db780be10f7adac723a5d3a4ffeac8ae6e768", "target": 1, "func": "envlist_parse(envlist_t *envlist, const char *env,\n\n int (*callback)(envlist_t *, const char *))\n\n{\n\n\tchar *tmpenv, *envvar;\n\n\tchar *envsave = NULL;\n\n\n\n\tassert(callback != NULL);\n\n\n\n\tif ((envlist == NULL) || (env == NULL))\n\n\t\treturn (EINVAL);\n\n\n\n\t/*\n\n\t * We need to make temporary copy of the env string\n\n\t * as strtok_r(3) modifies it while it tokenizes.\n\n\t */\n\n\tif ((tmpenv = strdup(env)) == NULL)\n\n\t\treturn (errno);\n\n\n\n\tenvvar = strtok_r(tmpenv, \",\", &envsave);\n\n\twhile (envvar != NULL) {\n\n\t\tif ((*callback)(envlist, envvar) != 0) {\n\n\t\t\tfree(tmpenv);\n\n\t\t\treturn (errno);\n\n\t\t}\n\n\t\tenvvar = strtok_r(NULL, \",\", &envsave);\n\n\t}\n\n\n\n\tfree(tmpenv);\n\n\treturn (0);\n\n}\n", "idx": 11524}1116{"project": "FFmpeg", "commit_id": "83548fe894cdb455cc127f754d09905b6d23c173", "target": 0, "func": "static int avi_write_packet(AVFormatContext *s, AVPacket *pkt)\n\n{\n\n unsigned char tag[5];\n\n unsigned int flags = 0;\n\n const int stream_index = pkt->stream_index;\n\n int size = pkt->size;\n\n AVIContext *avi = s->priv_data;\n\n AVIOContext *pb = s->pb;\n\n AVIStream *avist = s->streams[stream_index]->priv_data;\n\n AVCodecParameters *par = s->streams[stream_index]->codecpar;\n\n\n\n while (par->block_align == 0 && pkt->dts != AV_NOPTS_VALUE &&\n\n pkt->dts > avist->packet_count) {\n\n AVPacket empty_packet;\n\n\n\n av_init_packet(&empty_packet);\n\n empty_packet.size = 0;\n\n empty_packet.data = NULL;\n\n empty_packet.stream_index = stream_index;\n\n avi_write_packet(s, &empty_packet);\n\n }\n\n avist->packet_count++;\n\n\n\n // Make sure to put an OpenDML chunk when the file size exceeds the limits\n\n if (pb->seekable &&\n\n (avio_tell(pb) - avi->riff_start > AVI_MAX_RIFF_SIZE)) {\n\n avi_write_ix(s);\n\n ff_end_tag(pb, avi->movi_list);\n\n\n\n if (avi->riff_id == 1)\n\n avi_write_idx1(s);\n\n\n\n ff_end_tag(pb, avi->riff_start);\n\n avi->movi_list = avi_start_new_riff(s, pb, \"AVIX\", \"movi\");\n\n }\n\n\n\n avi_stream2fourcc(tag, stream_index, par->codec_type);\n\n if (pkt->flags & AV_PKT_FLAG_KEY)\n\n flags = 0x10;\n\n if (par->codec_type == AVMEDIA_TYPE_AUDIO)\n\n avist->audio_strm_length += size;\n\n\n\n if (s->pb->seekable) {\n\n int err;\n\n AVIIndex *idx = &avist->indexes;\n\n int cl = idx->entry / AVI_INDEX_CLUSTER_SIZE;\n\n int id = idx->entry % AVI_INDEX_CLUSTER_SIZE;\n\n if (idx->ents_allocated <= idx->entry) {\n\n if ((err = av_reallocp(&idx->cluster,\n\n (cl + 1) * sizeof(*idx->cluster))) < 0) {\n\n idx->ents_allocated = 0;\n\n idx->entry = 0;\n\n return err;\n\n }\n\n idx->cluster[cl] =\n\n av_malloc(AVI_INDEX_CLUSTER_SIZE * sizeof(AVIIentry));\n\n if (!idx->cluster[cl])\n\n return -1;\n\n idx->ents_allocated += AVI_INDEX_CLUSTER_SIZE;\n\n }\n\n\n\n idx->cluster[cl][id].flags = flags;\n\n idx->cluster[cl][id].pos = avio_tell(pb) - avi->movi_list;\n\n idx->cluster[cl][id].len = size;\n\n idx->entry++;\n\n }\n\n\n\n avio_write(pb, tag, 4);\n\n avio_wl32(pb, size);\n\n avio_write(pb, pkt->data, size);\n\n if (size & 1)\n\n avio_w8(pb, 0);\n\n\n\n return 0;\n\n}\n", "idx": 11527}1117{"project": "FFmpeg", "commit_id": "0d021cc8b30a6f81c27fbeca7f99f1ee7a20acf8", "target": 0, "func": "static av_cold int check_cuda_errors(AVCodecContext *avctx, CUresult err, const char *func)\n\n{\n\n if (err != CUDA_SUCCESS) {\n\n av_log(avctx, AV_LOG_FATAL, \">> %s - failed with error code 0x%x\\n\", func, err);\n\n return 0;\n\n }\n\n return 1;\n\n}\n", "idx": 11529}1118{"project": "FFmpeg", "commit_id": "e87190f5d20d380608f792ceb14d0def1d80e24b", "target": 0, "func": "static void show_stream(WriterContext *w, AVFormatContext *fmt_ctx, int stream_idx, int in_program)\n\n{\n\n AVStream *stream = fmt_ctx->streams[stream_idx];\n\n AVCodecContext *dec_ctx;\n\n const AVCodec *dec;\n\n char val_str[128];\n\n const char *s;\n\n AVRational sar, dar;\n\n AVBPrint pbuf;\n\n\n\n av_bprint_init(&pbuf, 1, AV_BPRINT_SIZE_UNLIMITED);\n\n\n\n writer_print_section_header(w, in_program ? SECTION_ID_PROGRAM_STREAM : SECTION_ID_STREAM);\n\n\n\n print_int(\"index\", stream->index);\n\n\n\n if ((dec_ctx = stream->codec)) {\n\n const char *profile = NULL;\n\n dec = dec_ctx->codec;\n\n if (dec) {\n\n print_str(\"codec_name\", dec->name);\n\n if (!do_bitexact) {\n\n if (dec->long_name) print_str (\"codec_long_name\", dec->long_name);\n\n else print_str_opt(\"codec_long_name\", \"unknown\");\n\n }\n\n } else {\n\n print_str_opt(\"codec_name\", \"unknown\");\n\n if (!do_bitexact) {\n\n print_str_opt(\"codec_long_name\", \"unknown\");\n\n }\n\n }\n\n\n\n if (dec && (profile = av_get_profile_name(dec, dec_ctx->profile)))\n\n print_str(\"profile\", profile);\n\n else\n\n print_str_opt(\"profile\", \"unknown\");\n\n\n\n s = av_get_media_type_string(dec_ctx->codec_type);\n\n if (s) print_str (\"codec_type\", s);\n\n else print_str_opt(\"codec_type\", \"unknown\");\n\n print_q(\"codec_time_base\", dec_ctx->time_base, '/');\n\n\n\n /* print AVI/FourCC tag */\n\n av_get_codec_tag_string(val_str, sizeof(val_str), dec_ctx->codec_tag);\n\n print_str(\"codec_tag_string\", val_str);\n\n print_fmt(\"codec_tag\", \"0x%04x\", dec_ctx->codec_tag);\n\n\n\n switch (dec_ctx->codec_type) {\n\n case AVMEDIA_TYPE_VIDEO:\n\n print_int(\"width\", dec_ctx->width);\n\n print_int(\"height\", dec_ctx->height);\n\n print_int(\"has_b_frames\", dec_ctx->has_b_frames);\n\n sar = av_guess_sample_aspect_ratio(fmt_ctx, stream, NULL);\n\n if (sar.den) {\n\n print_q(\"sample_aspect_ratio\", sar, ':');\n\n av_reduce(&dar.num, &dar.den,\n\n dec_ctx->width * sar.num,\n\n dec_ctx->height * sar.den,\n\n 1024*1024);\n\n print_q(\"display_aspect_ratio\", dar, ':');\n\n } else {\n\n print_str_opt(\"sample_aspect_ratio\", \"N/A\");\n\n print_str_opt(\"display_aspect_ratio\", \"N/A\");\n\n }\n\n s = av_get_pix_fmt_name(dec_ctx->pix_fmt);\n\n if (s) print_str (\"pix_fmt\", s);\n\n else print_str_opt(\"pix_fmt\", \"unknown\");\n\n print_int(\"level\", dec_ctx->level);\n\n if (dec_ctx->timecode_frame_start >= 0) {\n\n char tcbuf[AV_TIMECODE_STR_SIZE];\n\n av_timecode_make_mpeg_tc_string(tcbuf, dec_ctx->timecode_frame_start);\n\n print_str(\"timecode\", tcbuf);\n\n } else {\n\n print_str_opt(\"timecode\", \"N/A\");\n\n }\n\n break;\n\n\n\n case AVMEDIA_TYPE_AUDIO:\n\n s = av_get_sample_fmt_name(dec_ctx->sample_fmt);\n\n if (s) print_str (\"sample_fmt\", s);\n\n else print_str_opt(\"sample_fmt\", \"unknown\");\n\n print_val(\"sample_rate\", dec_ctx->sample_rate, unit_hertz_str);\n\n print_int(\"channels\", dec_ctx->channels);\n\n\n\n if (dec_ctx->channel_layout) {\n\n av_bprint_clear(&pbuf);\n\n av_bprint_channel_layout(&pbuf, dec_ctx->channels, dec_ctx->channel_layout);\n\n print_str (\"channel_layout\", pbuf.str);\n\n } else {\n\n print_str_opt(\"channel_layout\", \"unknown\");\n\n }\n\n\n\n print_int(\"bits_per_sample\", av_get_bits_per_sample(dec_ctx->codec_id));\n\n break;\n\n\n\n case AVMEDIA_TYPE_SUBTITLE:\n\n if (dec_ctx->width)\n\n print_int(\"width\", dec_ctx->width);\n\n else\n\n print_str_opt(\"width\", \"N/A\");\n\n if (dec_ctx->height)\n\n print_int(\"height\", dec_ctx->height);\n\n else\n\n print_str_opt(\"height\", \"N/A\");\n\n break;\n\n }\n\n } else {\n\n print_str_opt(\"codec_type\", \"unknown\");\n\n }\n\n if (dec_ctx->codec && dec_ctx->codec->priv_class && show_private_data) {\n\n const AVOption *opt = NULL;\n\n while (opt = av_opt_next(dec_ctx->priv_data,opt)) {\n\n uint8_t *str;\n\n if (opt->flags) continue;\n\n if (av_opt_get(dec_ctx->priv_data, opt->name, 0, &str) >= 0) {\n\n print_str(opt->name, str);\n\n av_free(str);\n\n }\n\n }\n\n }\n\n\n\n if (fmt_ctx->iformat->flags & AVFMT_SHOW_IDS) print_fmt (\"id\", \"0x%x\", stream->id);\n\n else print_str_opt(\"id\", \"N/A\");\n\n print_q(\"r_frame_rate\", stream->r_frame_rate, '/');\n\n print_q(\"avg_frame_rate\", stream->avg_frame_rate, '/');\n\n print_q(\"time_base\", stream->time_base, '/');\n\n print_ts (\"start_pts\", stream->start_time);\n\n print_time(\"start_time\", stream->start_time, &stream->time_base);\n\n print_ts (\"duration_ts\", stream->duration);\n\n print_time(\"duration\", stream->duration, &stream->time_base);\n\n if (dec_ctx->bit_rate > 0) print_val (\"bit_rate\", dec_ctx->bit_rate, unit_bit_per_second_str);\n\n else print_str_opt(\"bit_rate\", \"N/A\");\n\n if (stream->nb_frames) print_fmt (\"nb_frames\", \"%\"PRId64, stream->nb_frames);\n\n else print_str_opt(\"nb_frames\", \"N/A\");\n\n if (nb_streams_frames[stream_idx]) print_fmt (\"nb_read_frames\", \"%\"PRIu64, nb_streams_frames[stream_idx]);\n\n else print_str_opt(\"nb_read_frames\", \"N/A\");\n\n if (nb_streams_packets[stream_idx]) print_fmt (\"nb_read_packets\", \"%\"PRIu64, nb_streams_packets[stream_idx]);\n\n else print_str_opt(\"nb_read_packets\", \"N/A\");\n\n if (do_show_data)\n\n writer_print_data(w, \"extradata\", dec_ctx->extradata,\n\n dec_ctx->extradata_size);\n\n\n\n /* Print disposition information */\n\n#define PRINT_DISPOSITION(flagname, name) do { \\\n\n print_int(name, !!(stream->disposition & AV_DISPOSITION_##flagname)); \\\n\n } while (0)\n\n\n\n if (do_show_stream_disposition) {\n\n writer_print_section_header(w, in_program ? SECTION_ID_PROGRAM_STREAM_DISPOSITION : SECTION_ID_STREAM_DISPOSITION);\n\n PRINT_DISPOSITION(DEFAULT, \"default\");\n\n PRINT_DISPOSITION(DUB, \"dub\");\n\n PRINT_DISPOSITION(ORIGINAL, \"original\");\n\n PRINT_DISPOSITION(COMMENT, \"comment\");\n\n PRINT_DISPOSITION(LYRICS, \"lyrics\");\n\n PRINT_DISPOSITION(KARAOKE, \"karaoke\");\n\n PRINT_DISPOSITION(FORCED, \"forced\");\n\n PRINT_DISPOSITION(HEARING_IMPAIRED, \"hearing_impaired\");\n\n PRINT_DISPOSITION(VISUAL_IMPAIRED, \"visual_impaired\");\n\n PRINT_DISPOSITION(CLEAN_EFFECTS, \"clean_effects\");\n\n PRINT_DISPOSITION(ATTACHED_PIC, \"attached_pic\");\n\n writer_print_section_footer(w);\n\n }\n\n\n\n show_tags(w, stream->metadata, in_program ? SECTION_ID_PROGRAM_STREAM_TAGS : SECTION_ID_STREAM_TAGS);\n\n\n\n writer_print_section_footer(w);\n\n av_bprint_finalize(&pbuf, NULL);\n\n fflush(stdout);\n\n}\n", "idx": 11535}1119{"project": "FFmpeg", "commit_id": "8d857c543402911f46ad38b093ab9aaf5b9a9a18", "target": 1, "func": "static inline int get_block(GetBitContext *gb, DCTELEM *block, const uint8_t *scan,\n\n const uint32_t *quant) {\n\n int coeff, i, n;\n\n int8_t ac;\n\n uint8_t dc = get_bits(gb, 8);\n\n\n\n // block not coded\n\n if (dc == 255)\n\n\n\n\n // number of non-zero coefficients\n\n coeff = get_bits(gb, 6);\n\n if (get_bits_count(gb) + (coeff << 1) >= gb->size_in_bits)\n\n\n\n\n // normally we would only need to clear the (63 - coeff) last values,\n\n // but since we do not know where they are we just clear the whole block\n\n memset(block, 0, 64 * sizeof(DCTELEM));\n\n\n\n // 2 bits per coefficient\n\n while (coeff) {\n\n ac = get_sbits(gb, 2);\n\n if (ac == -2)\n\n break; // continue with more bits\n\n PUT_COEFF(ac);\n\n }\n\n\n\n // 4 bits per coefficient\n\n ALIGN(4);\n\n\n\n while (coeff) {\n\n ac = get_sbits(gb, 4);\n\n if (ac == -8)\n\n break; // continue with more bits\n\n PUT_COEFF(ac);\n\n }\n\n\n\n // 8 bits per coefficient\n\n ALIGN(8);\n\n if (get_bits_count(gb) + (coeff << 3) >= gb->size_in_bits)\n\n\n while (coeff) {\n\n ac = get_sbits(gb, 8);\n\n PUT_COEFF(ac);\n\n }\n\n\n\n PUT_COEFF(dc);\n\n return 1;\n\n}", "idx": 11543}1120{"project": "qemu", "commit_id": "7d1b0095bff7157e856d1d0e6c4295641ced2752", "target": 1, "func": "static void gen_neon_trn_u16(TCGv t0, TCGv t1)\n\n{\n\n TCGv rd, tmp;\n\n\n\n rd = new_tmp();\n\n tmp = new_tmp();\n\n\n\n tcg_gen_shli_i32(rd, t0, 16);\n\n tcg_gen_andi_i32(tmp, t1, 0xffff);\n\n tcg_gen_or_i32(rd, rd, tmp);\n\n tcg_gen_shri_i32(t1, t1, 16);\n\n tcg_gen_andi_i32(tmp, t0, 0xffff0000);\n\n tcg_gen_or_i32(t1, t1, tmp);\n\n tcg_gen_mov_i32(t0, rd);\n\n\n\n dead_tmp(tmp);\n\n dead_tmp(rd);\n\n}\n", "idx": 11546}1121{"project": "FFmpeg", "commit_id": "6722e564a82bac471d92b02550b5017c09b539ba", "target": 0, "func": "static int parse_header(OutputStream *os, const uint8_t *buf, int buf_size)\n\n{\n\n if (buf_size < 13)\n\n return AVERROR_INVALIDDATA;\n\n if (memcmp(buf, \"FLV\", 3))\n\n return AVERROR_INVALIDDATA;\n\n buf += 13;\n\n buf_size -= 13;\n\n while (buf_size >= 11 + 4) {\n\n int type = buf[0];\n\n int size = AV_RB24(&buf[1]) + 11 + 4;\n\n if (size > buf_size)\n\n return AVERROR_INVALIDDATA;\n\n if (type == 8 || type == 9) {\n\n if (os->nb_extra_packets > FF_ARRAY_ELEMS(os->extra_packets))\n\n return AVERROR_INVALIDDATA;\n\n os->extra_packet_sizes[os->nb_extra_packets] = size;\n\n os->extra_packets[os->nb_extra_packets] = av_malloc(size);\n\n if (!os->extra_packets[os->nb_extra_packets])\n\n return AVERROR(ENOMEM);\n\n memcpy(os->extra_packets[os->nb_extra_packets], buf, size);\n\n os->nb_extra_packets++;\n\n } else if (type == 0x12) {\n\n if (os->metadata)\n\n return AVERROR_INVALIDDATA;\n\n os->metadata_size = size - 11 - 4;\n\n os->metadata = av_malloc(os->metadata_size);\n\n if (!os->metadata)\n\n return AVERROR(ENOMEM);\n\n memcpy(os->metadata, buf + 11, os->metadata_size);\n\n }\n\n buf += size;\n\n buf_size -= size;\n\n }\n\n if (!os->metadata)\n\n return AVERROR_INVALIDDATA;\n\n return 0;\n\n}\n", "idx": 11553}1122{"project": "qemu", "commit_id": "016d2e1dfa21b64a524d3629fdd317d4c25bc3b8", "target": 1, "func": "restore_sigcontext(CPUMIPSState *regs, struct target_sigcontext *sc)\n\n{\n\n int err = 0;\n\n int i;\n\n\n\n __get_user(regs->CP0_EPC, &sc->sc_pc);\n\n\n\n __get_user(regs->active_tc.HI[0], &sc->sc_mdhi);\n\n __get_user(regs->active_tc.LO[0], &sc->sc_mdlo);\n\n\n\n for (i = 1; i < 32; ++i) {\n\n __get_user(regs->active_tc.gpr[i], &sc->sc_regs[i]);\n\n }\n\n\n\n __get_user(regs->active_tc.HI[1], &sc->sc_hi1);\n\n __get_user(regs->active_tc.HI[2], &sc->sc_hi2);\n\n __get_user(regs->active_tc.HI[3], &sc->sc_hi3);\n\n __get_user(regs->active_tc.LO[1], &sc->sc_lo1);\n\n __get_user(regs->active_tc.LO[2], &sc->sc_lo2);\n\n __get_user(regs->active_tc.LO[3], &sc->sc_lo3);\n\n {\n\n uint32_t dsp;\n\n __get_user(dsp, &sc->sc_dsp);\n\n cpu_wrdsp(dsp, 0x3ff, regs);\n\n }\n\n\n\n for (i = 0; i < 32; ++i) {\n\n __get_user(regs->active_fpu.fpr[i].d, &sc->sc_fpregs[i]);\n\n }\n\n\n\n return err;\n\n}\n", "idx": 11566}1123{"project": "qemu", "commit_id": "d368ba4376b2c1c24175c74b3733b8fe64dbe8a6", "target": 0, "func": "static void sdhci_write_block_to_card(SDHCIState *s)\n\n{\n\n int index = 0;\n\n\n\n if (s->prnsts & SDHC_SPACE_AVAILABLE) {\n\n if (s->norintstsen & SDHC_NISEN_WBUFRDY) {\n\n s->norintsts |= SDHC_NIS_WBUFRDY;\n\n }\n\n sdhci_update_irq(s);\n\n return;\n\n }\n\n\n\n if (s->trnmod & SDHC_TRNS_BLK_CNT_EN) {\n\n if (s->blkcnt == 0) {\n\n return;\n\n } else {\n\n s->blkcnt--;\n\n }\n\n }\n\n\n\n for (index = 0; index < (s->blksize & 0x0fff); index++) {\n\n sd_write_data(s->card, s->fifo_buffer[index]);\n\n }\n\n\n\n /* Next data can be written through BUFFER DATORT register */\n\n s->prnsts |= SDHC_SPACE_AVAILABLE;\n\n\n\n /* Finish transfer if that was the last block of data */\n\n if ((s->trnmod & SDHC_TRNS_MULTI) == 0 ||\n\n ((s->trnmod & SDHC_TRNS_MULTI) &&\n\n (s->trnmod & SDHC_TRNS_BLK_CNT_EN) && (s->blkcnt == 0))) {\n\n SDHCI_GET_CLASS(s)->end_data_transfer(s);\n\n } else if (s->norintstsen & SDHC_NISEN_WBUFRDY) {\n\n s->norintsts |= SDHC_NIS_WBUFRDY;\n\n }\n\n\n\n /* Generate Block Gap Event if requested and if not the last block */\n\n if (s->stopped_state == sdhc_gap_write && (s->trnmod & SDHC_TRNS_MULTI) &&\n\n s->blkcnt > 0) {\n\n s->prnsts &= ~SDHC_DOING_WRITE;\n\n if (s->norintstsen & SDHC_EISEN_BLKGAP) {\n\n s->norintsts |= SDHC_EIS_BLKGAP;\n\n }\n\n SDHCI_GET_CLASS(s)->end_data_transfer(s);\n\n }\n\n\n\n sdhci_update_irq(s);\n\n}\n", "idx": 11592}1124{"project": "qemu", "commit_id": "debaaa114a8877a939533ba846e64168fb287b7b", "target": 0, "func": "static AHCIQState *ahci_boot(void)\n\n{\n\n AHCIQState *s;\n\n const char *cli;\n\n\n\n s = g_malloc0(sizeof(AHCIQState));\n\n\n\n cli = \"-drive if=none,id=drive0,file=%s,cache=writeback,serial=%s\"\n\n \",format=qcow2\"\n\n \" -M q35 \"\n\n \"-device ide-hd,drive=drive0 \"\n\n \"-global ide-hd.ver=%s\";\n\n s->parent = qtest_pc_boot(cli, tmp_path, \"testdisk\", \"version\");\n\n alloc_set_flags(s->parent->alloc, ALLOC_LEAK_ASSERT);\n\n\n\n /* Verify that we have an AHCI device present. */\n\n s->dev = get_ahci_device(&s->fingerprint);\n\n\n\n return s;\n\n}\n", "idx": 11608}1125{"project": "qemu", "commit_id": "89ae337acbe4dba5b2481007aec1277252d2b86c", "target": 0, "func": "void address_space_destroy_dispatch(AddressSpace *as)\n\n{\n\n AddressSpaceDispatch *d = as->dispatch;\n\n\n\n memory_listener_unregister(&d->listener);\n\n g_free(d);\n\n as->dispatch = NULL;\n\n}\n", "idx": 11624}1126{"project": "qemu", "commit_id": "b2bedb214469af55179d907a60cd67fed6b0779e", "target": 0, "func": "mst_fpga_readb(void *opaque, target_phys_addr_t addr)\n\n{\n\n\tmst_irq_state *s = (mst_irq_state *) opaque;\n\n\n\n\tswitch (addr) {\n\n\tcase MST_LEDDAT1:\n\n\t\treturn s->leddat1;\n\n\tcase MST_LEDDAT2:\n\n\t\treturn s->leddat2;\n\n\tcase MST_LEDCTRL:\n\n\t\treturn s->ledctrl;\n\n\tcase MST_GPSWR:\n\n\t\treturn s->gpswr;\n\n\tcase MST_MSCWR1:\n\n\t\treturn s->mscwr1;\n\n\tcase MST_MSCWR2:\n\n\t\treturn s->mscwr2;\n\n\tcase MST_MSCWR3:\n\n\t\treturn s->mscwr3;\n\n\tcase MST_MSCRD:\n\n\t\treturn s->mscrd;\n\n\tcase MST_INTMSKENA:\n\n\t\treturn s->intmskena;\n\n\tcase MST_INTSETCLR:\n\n\t\treturn s->intsetclr;\n\n\tcase MST_PCMCIA0:\n\n\t\treturn s->pcmcia0;\n\n\tcase MST_PCMCIA1:\n\n\t\treturn s->pcmcia1;\n\n\tdefault:\n\n\t\tprintf(\"Mainstone - mst_fpga_readb: Bad register offset \"\n\n\t\t\t\"0x\" TARGET_FMT_plx \" \\n\", addr);\n\n\t}\n\n\treturn 0;\n\n}\n", "idx": 11631}1127{"project": "qemu", "commit_id": "25f8e2f512d87f0a77fc5c0b367dd200a7834d21", "target": 0, "func": "static int pci_piix_ide_initfn(PCIIDEState *d)\n\n{\n\n uint8_t *pci_conf = d->dev.config;\n\n\n\n pci_conf[PCI_CLASS_PROG] = 0x80; // legacy ATA mode\n\n pci_config_set_class(pci_conf, PCI_CLASS_STORAGE_IDE);\n\n\n\n qemu_register_reset(piix3_reset, d);\n\n\n\n pci_register_bar(&d->dev, 4, 0x10, PCI_BASE_ADDRESS_SPACE_IO, bmdma_map);\n\n\n\n vmstate_register(&d->dev.qdev, 0, &vmstate_ide_pci, d);\n\n\n\n pci_piix_init_ports(d);\n\n\n\n return 0;\n\n}\n", "idx": 11635}1128{"project": "qemu", "commit_id": "da3e8a23492dbc13c4b70d90b6ae42970624e63a", "target": 0, "func": "static void virtio_net_pci_realize(VirtIOPCIProxy *vpci_dev, Error **errp)\n\n{\n\n DeviceState *qdev = DEVICE(vpci_dev);\n\n VirtIONetPCI *dev = VIRTIO_NET_PCI(vpci_dev);\n\n DeviceState *vdev = DEVICE(&dev->vdev);\n\n\n\n virtio_net_set_config_size(&dev->vdev, vpci_dev->host_features);\n\n virtio_net_set_netclient_name(&dev->vdev, qdev->id,\n\n object_get_typename(OBJECT(qdev)));\n\n qdev_set_parent_bus(vdev, BUS(&vpci_dev->bus));\n\n object_property_set_bool(OBJECT(vdev), true, \"realized\", errp);\n\n}\n", "idx": 11641}1129{"project": "qemu", "commit_id": "052495178821fdc97b4125a8677c1b68eb458db9", "target": 0, "func": "static void spapr_nvram_realize(VIOsPAPRDevice *dev, Error **errp)\n\n{\n\n sPAPRNVRAM *nvram = VIO_SPAPR_NVRAM(dev);\n\n int ret;\n\n\n\n if (nvram->blk) {\n\n nvram->size = blk_getlength(nvram->blk);\n\n\n\n ret = blk_set_perm(nvram->blk,\n\n BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE,\n\n BLK_PERM_ALL, errp);\n\n if (ret < 0) {\n\n return;\n\n }\n\n } else {\n\n nvram->size = DEFAULT_NVRAM_SIZE;\n\n }\n\n\n\n nvram->buf = g_malloc0(nvram->size);\n\n\n\n if ((nvram->size < MIN_NVRAM_SIZE) || (nvram->size > MAX_NVRAM_SIZE)) {\n\n error_setg(errp, \"spapr-nvram must be between %d and %d bytes in size\",\n\n MIN_NVRAM_SIZE, MAX_NVRAM_SIZE);\n\n return;\n\n }\n\n\n\n if (nvram->blk) {\n\n int alen = blk_pread(nvram->blk, 0, nvram->buf, nvram->size);\n\n\n\n if (alen != nvram->size) {\n\n error_setg(errp, \"can't read spapr-nvram contents\");\n\n return;\n\n }\n\n } else if (nb_prom_envs > 0) {\n\n /* Create a system partition to pass the -prom-env variables */\n\n chrp_nvram_create_system_partition(nvram->buf, MIN_NVRAM_SIZE / 4);\n\n chrp_nvram_create_free_partition(&nvram->buf[MIN_NVRAM_SIZE / 4],\n\n nvram->size - MIN_NVRAM_SIZE / 4);\n\n }\n\n\n\n spapr_rtas_register(RTAS_NVRAM_FETCH, \"nvram-fetch\", rtas_nvram_fetch);\n\n spapr_rtas_register(RTAS_NVRAM_STORE, \"nvram-store\", rtas_nvram_store);\n\n}\n", "idx": 11642}1130{"project": "qemu", "commit_id": "4b63a0df3bda8a2c278e45d9d94d9ba6d5791d8d", "target": 1, "func": "static void ehci_free_packet(EHCIPacket *p)\n\n{\n\n trace_usb_ehci_packet_action(p->queue, p, \"free\");\n\n if (p->async == EHCI_ASYNC_INFLIGHT) {\n\n usb_cancel_packet(&p->packet);\n\n usb_packet_unmap(&p->packet, &p->sgl);\n\n qemu_sglist_destroy(&p->sgl);\n\n\n\n\n\n\n\n\n\n\n\n\n QTAILQ_REMOVE(&p->queue->packets, p, next);\n\n usb_packet_cleanup(&p->packet);\n\n g_free(p);\n", "idx": 11646}1131{"project": "FFmpeg", "commit_id": "d1adad3cca407f493c3637e20ecd4f7124e69212", "target": 0, "func": "static inline void RENAME(nv12ToUV)(uint8_t *dstU, uint8_t *dstV,\n\n const uint8_t *src1, const uint8_t *src2,\n\n long width, uint32_t *unused)\n\n{\n\n RENAME(nvXXtoUV)(dstU, dstV, src1, width);\n\n}\n", "idx": 11662}1132{"project": "FFmpeg", "commit_id": "30e256430eb88c6d4c382581b89bca171d79fbc0", "target": 0, "func": "int ff_thread_init(AVCodecContext *avctx)\n\n{\n\n if (avctx->thread_opaque) {\n\n av_log(avctx, AV_LOG_ERROR, \"avcodec_thread_init is ignored after avcodec_open\\n\");\n\n return -1;\n\n }\n\n\n\n#if HAVE_W32THREADS\n\n w32thread_init();\n\n#endif\n\n\n\n if (avctx->codec) {\n\n validate_thread_parameters(avctx);\n\n\n\n if (avctx->active_thread_type&FF_THREAD_SLICE)\n\n return thread_init(avctx);\n\n else if (avctx->active_thread_type&FF_THREAD_FRAME)\n\n return frame_thread_init(avctx);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 11665}1133{"project": "qemu", "commit_id": "a87f39543a9259f671c5413723311180ee2ad2a8", "target": 0, "func": "static inline bool memory_access_is_direct(MemoryRegion *mr, bool is_write)\n\n{\n\n if (memory_region_is_ram(mr)) {\n\n return !(is_write && mr->readonly);\n\n }\n\n if (memory_region_is_romd(mr)) {\n\n return !is_write;\n\n }\n\n\n\n return false;\n\n}\n", "idx": 11674}1134{"project": "qemu", "commit_id": "9db1c0f7a94c6382e2b3e1365566a9a8b8ae74c1", "target": 0, "func": "VirtIODevice *virtio_blk_init(DeviceState *dev, VirtIOBlkConf *blk)\n\n{\n\n VirtIOBlock *s;\n\n int cylinders, heads, secs;\n\n static int virtio_blk_id;\n\n DriveInfo *dinfo;\n\n\n\n if (!blk->conf.bs) {\n\n error_report(\"drive property not set\");\n\n return NULL;\n\n }\n\n if (!bdrv_is_inserted(blk->conf.bs)) {\n\n error_report(\"Device needs media, but drive is empty\");\n\n return NULL;\n\n }\n\n\n\n if (!blk->serial) {\n\n /* try to fall back to value set with legacy -drive serial=... */\n\n dinfo = drive_get_by_blockdev(blk->conf.bs);\n\n if (*dinfo->serial) {\n\n blk->serial = strdup(dinfo->serial);\n\n }\n\n }\n\n\n\n s = (VirtIOBlock *)virtio_common_init(\"virtio-blk\", VIRTIO_ID_BLOCK,\n\n sizeof(struct virtio_blk_config),\n\n sizeof(VirtIOBlock));\n\n\n\n s->vdev.get_config = virtio_blk_update_config;\n\n s->vdev.get_features = virtio_blk_get_features;\n\n s->vdev.reset = virtio_blk_reset;\n\n s->bs = blk->conf.bs;\n\n s->conf = &blk->conf;\n\n s->blk = blk;\n\n s->rq = NULL;\n\n s->sector_mask = (s->conf->logical_block_size / BDRV_SECTOR_SIZE) - 1;\n\n bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs);\n\n\n\n s->vq = virtio_add_queue(&s->vdev, 128, virtio_blk_handle_output);\n\n\n\n qemu_add_vm_change_state_handler(virtio_blk_dma_restart_cb, s);\n\n s->qdev = dev;\n\n register_savevm(dev, \"virtio-blk\", virtio_blk_id++, 2,\n\n virtio_blk_save, virtio_blk_load, s);\n\n bdrv_set_dev_ops(s->bs, &virtio_block_ops, s);\n\n bdrv_set_buffer_alignment(s->bs, s->conf->logical_block_size);\n\n\n\n bdrv_iostatus_enable(s->bs);\n\n add_boot_device_path(s->conf->bootindex, dev, \"/disk@0,0\");\n\n\n\n return &s->vdev;\n\n}\n", "idx": 11685}1135{"project": "FFmpeg", "commit_id": "e048a9cab10f1d41dca7b1ad9c8ecaceb3424d86", "target": 1, "func": "static int pcm_decode_frame(AVCodecContext *avctx,\n void *data, int *data_size,\n AVPacket *avpkt)\n{\n const uint8_t *buf = avpkt->data;\n int buf_size = avpkt->size;\n PCMDecode *s = avctx->priv_data;\n int sample_size, c, n, i;\n short *samples;\n const uint8_t *src, *src8, *src2[MAX_CHANNELS];\n uint8_t *dstu8;\n int16_t *dst_int16_t;\n int32_t *dst_int32_t;\n int64_t *dst_int64_t;\n uint16_t *dst_uint16_t;\n uint32_t *dst_uint32_t;\n samples = data;\n src = buf;\n if (avctx->sample_fmt!=avctx->codec->sample_fmts[0]) {\n av_log(avctx, AV_LOG_ERROR, \"invalid sample_fmt\\n\");\n return -1;\n if(avctx->channels <= 0 || avctx->channels > MAX_CHANNELS){\n av_log(avctx, AV_LOG_ERROR, \"PCM channels out of bounds\\n\");\n return -1;\n sample_size = av_get_bits_per_sample(avctx->codec_id)/8;\n /* av_get_bits_per_sample returns 0 for CODEC_ID_PCM_DVD */\n if (CODEC_ID_PCM_DVD == avctx->codec_id)\n /* 2 samples are interleaved per block in PCM_DVD */\n sample_size = avctx->bits_per_coded_sample * 2 / 8;\n else if (avctx->codec_id == CODEC_ID_PCM_LXF)\n /* we process 40-bit blocks per channel for LXF */\n sample_size = 5;\n n = avctx->channels * sample_size;\n if(n && buf_size % n){\n if (buf_size < n) {\n av_log(avctx, AV_LOG_ERROR, \"invalid PCM packet\\n\");\n return -1;\n }else\n buf_size -= buf_size % n;\n buf_size= FFMIN(buf_size, *data_size/2);\n *data_size=0;\n n = buf_size/sample_size;\n switch(avctx->codec->id) {\n case CODEC_ID_PCM_U32LE:\n DECODE(uint32_t, le32, src, samples, n, 0, 0x80000000)\n break;\n case CODEC_ID_PCM_U32BE:\n DECODE(uint32_t, be32, src, samples, n, 0, 0x80000000)\n break;\n case CODEC_ID_PCM_S24LE:\n DECODE(int32_t, le24, src, samples, n, 8, 0)\n break;\n case CODEC_ID_PCM_S24BE:\n DECODE(int32_t, be24, src, samples, n, 8, 0)\n break;\n case CODEC_ID_PCM_U24LE:\n DECODE(uint32_t, le24, src, samples, n, 8, 0x800000)\n break;\n case CODEC_ID_PCM_U24BE:\n DECODE(uint32_t, be24, src, samples, n, 8, 0x800000)\n break;\n case CODEC_ID_PCM_S24DAUD:\n for(;n>0;n--) {\n uint32_t v = bytestream_get_be24(&src);\n v >>= 4; // sync flags are here\n *samples++ = av_reverse[(v >> 8) & 0xff] +\n (av_reverse[v & 0xff] << 8);\n break;\n case CODEC_ID_PCM_S16LE_PLANAR:\n n /= avctx->channels;\n for(c=0;c<avctx->channels;c++)\n src2[c] = &src[c*n*2];\n for(;n>0;n--)\n for(c=0;c<avctx->channels;c++)\n *samples++ = bytestream_get_le16(&src2[c]);\n src = src2[avctx->channels-1];\n break;\n case CODEC_ID_PCM_U16LE:\n DECODE(uint16_t, le16, src, samples, n, 0, 0x8000)\n break;\n case CODEC_ID_PCM_U16BE:\n DECODE(uint16_t, be16, src, samples, n, 0, 0x8000)\n break;\n case CODEC_ID_PCM_S8:\n dstu8= (uint8_t*)samples;\n for(;n>0;n--) {\n *dstu8++ = *src++ + 128;\n samples= (short*)dstu8;\n break;\n#if HAVE_BIGENDIAN\n case CODEC_ID_PCM_F64LE:\n DECODE(int64_t, le64, src, samples, n, 0, 0)\n break;\n case CODEC_ID_PCM_S32LE:\n case CODEC_ID_PCM_F32LE:\n DECODE(int32_t, le32, src, samples, n, 0, 0)\n break;\n case CODEC_ID_PCM_S16LE:\n DECODE(int16_t, le16, src, samples, n, 0, 0)\n break;\n case CODEC_ID_PCM_F64BE:\n case CODEC_ID_PCM_F32BE:\n case CODEC_ID_PCM_S32BE:\n case CODEC_ID_PCM_S16BE:\n#else\n case CODEC_ID_PCM_F64BE:\n DECODE(int64_t, be64, src, samples, n, 0, 0)\n break;\n case CODEC_ID_PCM_F32BE:\n case CODEC_ID_PCM_S32BE:\n DECODE(int32_t, be32, src, samples, n, 0, 0)\n break;\n case CODEC_ID_PCM_S16BE:\n DECODE(int16_t, be16, src, samples, n, 0, 0)\n break;\n case CODEC_ID_PCM_F64LE:\n case CODEC_ID_PCM_F32LE:\n case CODEC_ID_PCM_S32LE:\n case CODEC_ID_PCM_S16LE:\n#endif /* HAVE_BIGENDIAN */\n case CODEC_ID_PCM_U8:\n memcpy(samples, src, n*sample_size);\n src += n*sample_size;\n samples = (short*)((uint8_t*)data + n*sample_size);\n break;\n case CODEC_ID_PCM_ZORK:\n for(;n>0;n--) {\n int x= *src++;\n if(x&128) x-= 128;\n else x = -x;\n *samples++ = x << 8;\n break;\n case CODEC_ID_PCM_ALAW:\n case CODEC_ID_PCM_MULAW:\n for(;n>0;n--) {\n *samples++ = s->table[*src++];\n break;\n case CODEC_ID_PCM_DVD:\n dst_int32_t = data;\n n /= avctx->channels;\n switch (avctx->bits_per_coded_sample) {\n case 20:\n while (n--) {\n c = avctx->channels;\n src8 = src + 4*c;\n while (c--) {\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8 &0xf0) << 8);\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8++ &0x0f) << 12);\n src = src8;\n break;\n case 24:\n while (n--) {\n c = avctx->channels;\n src8 = src + 4*c;\n while (c--) {\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8++) << 8);\n *dst_int32_t++ = (bytestream_get_be16(&src) << 16) + ((*src8++) << 8);\n src = src8;\n break;\n default:\n av_log(avctx, AV_LOG_ERROR, \"PCM DVD unsupported sample depth\\n\");\n return -1;\n break;\n samples = (short *) dst_int32_t;\n break;\n case CODEC_ID_PCM_LXF:\n dst_int32_t = data;\n n /= avctx->channels;\n //unpack and de-planerize\n for (i = 0; i < n; i++) {\n for (c = 0, src8 = src + i*5; c < avctx->channels; c++, src8 += n*5) {\n //extract low 20 bits and expand to 32 bits\n *dst_int32_t++ = (src8[2] << 28) | (src8[1] << 20) | (src8[0] << 12) |\n ((src8[2] & 0xF) << 8) | src8[1];\n for (c = 0, src8 = src + i*5; c < avctx->channels; c++, src8 += n*5) {\n //extract high 20 bits and expand to 32 bits\n *dst_int32_t++ = (src8[4] << 24) | (src8[3] << 16) |\n ((src8[2] & 0xF0) << 8) | (src8[4] << 4) | (src8[3] >> 4);\n src += n * avctx->channels * 5;\n samples = (short *) dst_int32_t;\n break;\n default:\n return -1;\n *data_size = (uint8_t *)samples - (uint8_t *)data;\n return src - buf;", "idx": 11712}1136{"project": "qemu", "commit_id": "599d64f6dc10f267a45e7abebfcafd8e7626585b", "target": 1, "func": "static int arm946_prbs_write(CPUARMState *env, const ARMCPRegInfo *ri,\n\n uint64_t value)\n\n{\n\n if (ri->crm > 8) {\n\n return EXCP_UDEF;\n\n }\n\n env->cp15.c6_region[ri->crm] = value;\n\n return 0;\n\n}\n", "idx": 11714}1137{"project": "qemu", "commit_id": "036078475427f2562c8e505f6bb44dbf5d8cbd95", "target": 1, "func": "static int usb_host_open(USBHostDevice *dev, int bus_num,\n\n int addr, const char *port,\n\n const char *prod_name, int speed)\n\n{\n\n int fd = -1, ret;\n\n\n\n trace_usb_host_open_started(bus_num, addr);\n\n\n\n if (dev->fd != -1) {\n\n goto fail;\n\n }\n\n\n\n fd = usb_host_open_device(bus_num, addr);\n\n if (fd < 0) {\n\n goto fail;\n\n }\n\n DPRINTF(\"husb: opened %s\\n\", buf);\n\n\n\n dev->bus_num = bus_num;\n\n dev->addr = addr;\n\n strcpy(dev->port, port);\n\n dev->fd = fd;\n\n\n\n /* read the device description */\n\n dev->descr_len = read(fd, dev->descr, sizeof(dev->descr));\n\n if (dev->descr_len <= 0) {\n\n perror(\"husb: reading device data failed\");\n\n goto fail;\n\n }\n\n\n\n#ifdef DEBUG\n\n {\n\n int x;\n\n printf(\"=== begin dumping device descriptor data ===\\n\");\n\n for (x = 0; x < dev->descr_len; x++) {\n\n printf(\"%02x \", dev->descr[x]);\n\n }\n\n printf(\"\\n=== end dumping device descriptor data ===\\n\");\n\n }\n\n#endif\n\n\n\n\n\n /* start unconfigured -- we'll wait for the guest to set a configuration */\n\n if (!usb_host_claim_interfaces(dev, 0)) {\n\n goto fail;\n\n }\n\n\n\n usb_ep_init(&dev->dev);\n\n usb_linux_update_endp_table(dev);\n\n\n\n if (speed == -1) {\n\n struct usbdevfs_connectinfo ci;\n\n\n\n ret = ioctl(fd, USBDEVFS_CONNECTINFO, &ci);\n\n if (ret < 0) {\n\n perror(\"usb_host_device_open: USBDEVFS_CONNECTINFO\");\n\n goto fail;\n\n }\n\n\n\n if (ci.slow) {\n\n speed = USB_SPEED_LOW;\n\n } else {\n\n speed = USB_SPEED_HIGH;\n\n }\n\n }\n\n dev->dev.speed = speed;\n\n dev->dev.speedmask = (1 << speed);\n\n if (dev->dev.speed == USB_SPEED_HIGH && usb_linux_full_speed_compat(dev)) {\n\n dev->dev.speedmask |= USB_SPEED_MASK_FULL;\n\n }\n\n\n\n trace_usb_host_open_success(bus_num, addr);\n\n\n\n if (!prod_name || prod_name[0] == '\\0') {\n\n snprintf(dev->dev.product_desc, sizeof(dev->dev.product_desc),\n\n \"host:%d.%d\", bus_num, addr);\n\n } else {\n\n pstrcpy(dev->dev.product_desc, sizeof(dev->dev.product_desc),\n\n prod_name);\n\n }\n\n\n\n ret = usb_device_attach(&dev->dev);\n\n if (ret) {\n\n goto fail;\n\n }\n\n\n\n /* USB devio uses 'write' flag to check for async completions */\n\n qemu_set_fd_handler(dev->fd, NULL, async_complete, dev);\n\n\n\n return 0;\n\n\n\nfail:\n\n trace_usb_host_open_failure(bus_num, addr);\n\n if (dev->fd != -1) {\n\n close(dev->fd);\n\n dev->fd = -1;\n\n }\n\n return -1;\n\n}\n", "idx": 11742}1138{"project": "qemu", "commit_id": "fa617181839741727d0067ea68807133f498f29b", "target": 1, "func": "static int esp_pci_scsi_init(PCIDevice *dev)\n\n{\n\n PCIESPState *pci = PCI_ESP(dev);\n\n DeviceState *d = DEVICE(dev);\n\n ESPState *s = &pci->esp;\n\n uint8_t *pci_conf;\n\n Error *err = NULL;\n\n\n\n pci_conf = dev->config;\n\n\n\n /* Interrupt pin A */\n\n pci_conf[PCI_INTERRUPT_PIN] = 0x01;\n\n\n\n s->dma_memory_read = esp_pci_dma_memory_read;\n\n s->dma_memory_write = esp_pci_dma_memory_write;\n\n s->dma_opaque = pci;\n\n s->chip_id = TCHI_AM53C974;\n\n memory_region_init_io(&pci->io, OBJECT(pci), &esp_pci_io_ops, pci,\n\n \"esp-io\", 0x80);\n\n\n\n pci_register_bar(dev, 0, PCI_BASE_ADDRESS_SPACE_IO, &pci->io);\n\n s->irq = pci_allocate_irq(dev);\n\n\n\n scsi_bus_new(&s->bus, sizeof(s->bus), d, &esp_pci_scsi_info, NULL);\n\n if (!d->hotplugged) {\n\n scsi_bus_legacy_handle_cmdline(&s->bus, &err);\n\n if (err != NULL) {\n\n\n error_free(err);\n\n return -1;\n\n }\n\n }\n\n return 0;\n\n}", "idx": 11748}1139{"project": "FFmpeg", "commit_id": "8bedbb82cee4463a43e60eb22674c8bf927280ef", "target": 1, "func": "static void copy_frame(Jpeg2000EncoderContext *s)\n\n{\n\n int tileno, compno, i, y, x;\n\n uint8_t *line;\n\n for (tileno = 0; tileno < s->numXtiles * s->numYtiles; tileno++){\n\n Jpeg2000Tile *tile = s->tile + tileno;\n\n if (s->planar){\n\n for (compno = 0; compno < s->ncomponents; compno++){\n\n Jpeg2000Component *comp = tile->comp + compno;\n\n int *dst = comp->data;\n\n line = s->picture.data[compno]\n\n + comp->coord[1][0] * s->picture.linesize[compno]\n\n + comp->coord[0][0];\n\n for (y = comp->coord[1][0]; y < comp->coord[1][1]; y++){\n\n uint8_t *ptr = line;\n\n for (x = comp->coord[0][0]; x < comp->coord[0][1]; x++)\n\n *dst++ = *ptr++ - (1 << 7);\n\n line += s->picture.linesize[compno];\n\n }\n\n }\n\n } else{\n\n line = s->picture.data[0] + tile->comp[0].coord[1][0] * s->picture.linesize[0]\n\n + tile->comp[0].coord[0][0] * s->ncomponents;\n\n\n\n i = 0;\n\n for (y = tile->comp[0].coord[1][0]; y < tile->comp[0].coord[1][1]; y++){\n\n uint8_t *ptr = line;\n\n for (x = tile->comp[0].coord[0][0]; x < tile->comp[0].coord[0][1]; x++, i++){\n\n for (compno = 0; compno < s->ncomponents; compno++){\n\n tile->comp[compno].data[i] = *ptr++ - (1 << 7);\n\n }\n\n }\n\n line += s->picture.linesize[0];\n\n }\n\n }\n\n }\n\n}\n", "idx": 11749}1140{"project": "qemu", "commit_id": "494a8ebe713055d3946183f4b395f85a18b43e9e", "target": 0, "func": "static off_t proxy_telldir(FsContext *ctx, V9fsFidOpenState *fs)\n\n{\n\n return telldir(fs->dir);\n\n}\n", "idx": 11781}1141{"project": "FFmpeg", "commit_id": "4b5a12a2cb0252c4a08b6d099eaf69523e8c62e5", "target": 0, "func": "static int filter_samples(AVFilterLink *inlink, AVFilterBufferRef *insamplesref)\n\n{\n\n AResampleContext *aresample = inlink->dst->priv;\n\n const int n_in = insamplesref->audio->nb_samples;\n\n int n_out = FFMAX(n_in * aresample->ratio * 2, 1);\n\n AVFilterLink *const outlink = inlink->dst->outputs[0];\n\n AVFilterBufferRef *outsamplesref = ff_get_audio_buffer(outlink, AV_PERM_WRITE, n_out);\n\n int ret;\n\n\n\n if(!outsamplesref)\n\n return AVERROR(ENOMEM);\n\n\n\n avfilter_copy_buffer_ref_props(outsamplesref, insamplesref);\n\n outsamplesref->format = outlink->format;\n\n outsamplesref->audio->channel_layout = outlink->channel_layout;\n\n outsamplesref->audio->sample_rate = outlink->sample_rate;\n\n\n\n if(insamplesref->pts != AV_NOPTS_VALUE) {\n\n int64_t inpts = av_rescale(insamplesref->pts, inlink->time_base.num * (int64_t)outlink->sample_rate * inlink->sample_rate, inlink->time_base.den);\n\n int64_t outpts= swr_next_pts(aresample->swr, inpts);\n\n aresample->next_pts =\n\n outsamplesref->pts = (outpts + inlink->sample_rate/2) / inlink->sample_rate;\n\n } else {\n\n outsamplesref->pts = AV_NOPTS_VALUE;\n\n }\n\n\n\n n_out = swr_convert(aresample->swr, outsamplesref->extended_data, n_out,\n\n (void *)insamplesref->extended_data, n_in);\n\n if (n_out <= 0) {\n\n avfilter_unref_buffer(outsamplesref);\n\n avfilter_unref_buffer(insamplesref);\n\n return 0;\n\n }\n\n\n\n outsamplesref->audio->nb_samples = n_out;\n\n\n\n ret = ff_filter_samples(outlink, outsamplesref);\n\n aresample->req_fullfilled= 1;\n\n avfilter_unref_buffer(insamplesref);\n\n return ret;\n\n}\n", "idx": 11793}1142{"project": "FFmpeg", "commit_id": "138568e9da0e3abfc818329ab12ea3fb667639fb", "target": 0, "func": "static int mov_read_ctts(MOVContext *c, ByteIOContext *pb, MOV_atom_t atom)\n\n{\n\n AVStream *st = c->fc->streams[c->fc->nb_streams-1];\n\n MOVStreamContext *sc = st->priv_data;\n\n unsigned int i, entries;\n\n\n\n get_byte(pb); /* version */\n\n get_be24(pb); /* flags */\n\n entries = get_be32(pb);\n\n if(entries >= UINT_MAX / sizeof(MOV_stts_t))\n\n return -1;\n\n\n\n sc->ctts_count = entries;\n\n sc->ctts_data = av_malloc(entries * sizeof(MOV_stts_t));\n\n if (!sc->ctts_data)\n\n return -1;\n\n dprintf(c->fc, \"track[%i].ctts.entries = %i\\n\", c->fc->nb_streams-1, entries);\n\n\n\n for(i=0; i<entries; i++) {\n\n int count =get_be32(pb);\n\n int duration =get_be32(pb);\n\n\n\n if (duration < 0) {\n\n av_log(c->fc, AV_LOG_ERROR, \"negative ctts, ignoring\\n\");\n\n sc->ctts_count = 0;\n\n url_fskip(pb, 8 * (entries - i - 1));\n\n break;\n\n }\n\n sc->ctts_data[i].count = count;\n\n sc->ctts_data[i].duration= duration;\n\n\n\n sc->time_rate= ff_gcd(sc->time_rate, duration);\n\n }\n\n return 0;\n\n}\n", "idx": 11795}1143{"project": "FFmpeg", "commit_id": "8089b7fa8c5b5a48cc7101daa4be891d0ead5a5e", "target": 1, "func": "int64_t av_get_int(void *obj, const char *name, const AVOption **o_out)\n\n{\n\n int64_t intnum=1;\n\n double num=1;\n\n int den=1;\n\n\n\n av_get_number(obj, name, o_out, &num, &den, &intnum);\n\n return num*intnum/den;\n\n}\n", "idx": 11806}1144{"project": "qemu", "commit_id": "39a611a3e035e148257af314a522a6cd169c2d0e", "target": 1, "func": "void commit_active_start(BlockDriverState *bs, BlockDriverState *base,\n\n int64_t speed,\n\n BlockdevOnError on_error,\n\n BlockDriverCompletionFunc *cb,\n\n void *opaque, Error **errp)\n\n{\n\n int64_t length, base_length;\n\n int orig_base_flags;\n\n\n\n orig_base_flags = bdrv_get_flags(base);\n\n\n\n if (bdrv_reopen(base, bs->open_flags, errp)) {\n\n return;\n\n }\n\n\n\n length = bdrv_getlength(bs);\n\n if (length < 0) {\n\n error_setg(errp, \"Unable to determine length of %s\", bs->filename);\n\n goto error_restore_flags;\n\n }\n\n\n\n base_length = bdrv_getlength(base);\n\n if (base_length < 0) {\n\n error_setg(errp, \"Unable to determine length of %s\", base->filename);\n\n goto error_restore_flags;\n\n }\n\n\n\n if (length > base_length) {\n\n if (bdrv_truncate(base, length) < 0) {\n\n error_setg(errp, \"Top image %s is larger than base image %s, and \"\n\n \"resize of base image failed\",\n\n bs->filename, base->filename);\n\n goto error_restore_flags;\n\n }\n\n }\n\n\n\n bdrv_ref(base);\n\n mirror_start_job(bs, base, speed, 0, 0,\n\n on_error, on_error, cb, opaque, errp,\n\n &commit_active_job_driver, false, base);\n\n if (error_is_set(errp)) {\n\n goto error_restore_flags;\n\n }\n\n\n\n return;\n\n\n\nerror_restore_flags:\n\n /* ignore error and errp for bdrv_reopen, because we want to propagate\n\n * the original error */\n\n bdrv_reopen(base, orig_base_flags, NULL);\n\n return;\n\n}\n", "idx": 11810}1145{"project": "FFmpeg", "commit_id": "4f90688b6e1d79d85ac2e065a2cf1e7e9bd665a7", "target": 1, "func": "static int matroska_decode_buffer(uint8_t** buf, int* buf_size,\n MatroskaTrack *track)\n{\n MatroskaTrackEncoding *encodings = track->encodings.elem;\n uint8_t* data = *buf;\n int isize = *buf_size;\n uint8_t* pkt_data = NULL;\n int pkt_size = isize;\n int result = 0;\n int olen;\n switch (encodings[0].compression.algo) {\n case MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP:\n return encodings[0].compression.settings.size;\n case MATROSKA_TRACK_ENCODING_COMP_LZO:\n do {\n olen = pkt_size *= 3;\n pkt_data = av_realloc(pkt_data, pkt_size+AV_LZO_OUTPUT_PADDING);\n result = av_lzo1x_decode(pkt_data, &olen, data, &isize);\n } while (result==AV_LZO_OUTPUT_FULL && pkt_size<10000000);\n if (result)\n goto failed;\n pkt_size -= olen;\n break;\n#if CONFIG_ZLIB\n case MATROSKA_TRACK_ENCODING_COMP_ZLIB: {\n z_stream zstream = {0};\n if (inflateInit(&zstream) != Z_OK)\n zstream.next_in = data;\n zstream.avail_in = isize;\n do {\n pkt_size *= 3;\n pkt_data = av_realloc(pkt_data, pkt_size);\n zstream.avail_out = pkt_size - zstream.total_out;\n zstream.next_out = pkt_data + zstream.total_out;\n result = inflate(&zstream, Z_NO_FLUSH);\n } while (result==Z_OK && pkt_size<10000000);\n pkt_size = zstream.total_out;\n inflateEnd(&zstream);\n if (result != Z_STREAM_END)\n goto failed;\n break;\n }\n#endif\n#if CONFIG_BZLIB\n case MATROSKA_TRACK_ENCODING_COMP_BZLIB: {\n bz_stream bzstream = {0};\n if (BZ2_bzDecompressInit(&bzstream, 0, 0) != BZ_OK)\n bzstream.next_in = data;\n bzstream.avail_in = isize;\n do {\n pkt_size *= 3;\n pkt_data = av_realloc(pkt_data, pkt_size);\n bzstream.avail_out = pkt_size - bzstream.total_out_lo32;\n bzstream.next_out = pkt_data + bzstream.total_out_lo32;\n result = BZ2_bzDecompress(&bzstream);\n } while (result==BZ_OK && pkt_size<10000000);\n pkt_size = bzstream.total_out_lo32;\n BZ2_bzDecompressEnd(&bzstream);\n if (result != BZ_STREAM_END)\n goto failed;\n break;\n }\n#endif\n default:\n }\n *buf = pkt_data;\n *buf_size = pkt_size;\n return 0;\n failed:\n av_free(pkt_data);\n}", "idx": 11813}1146{"project": "qemu", "commit_id": "ba9c5de5f2d33d468a07a8794121472ea031a0b5", "target": 0, "func": "void alpha_cpu_unassigned_access(CPUState *cs, hwaddr addr,\n\n bool is_write, bool is_exec, int unused,\n\n unsigned size)\n\n{\n\n AlphaCPU *cpu = ALPHA_CPU(cs);\n\n CPUAlphaState *env = &cpu->env;\n\n\n\n env->trap_arg0 = addr;\n\n env->trap_arg1 = is_write ? 1 : 0;\n\n dynamic_excp(env, 0, EXCP_MCHK, 0);\n\n}\n", "idx": 11833}1147{"project": "qemu", "commit_id": "e75ccf2c033fb0503d6cb7ddd0fd1dfa0aa4fc16", "target": 0, "func": "static int virtio_serial_init_pci(PCIDevice *pci_dev)\n\n{\n\n VirtIOPCIProxy *proxy = DO_UPCAST(VirtIOPCIProxy, pci_dev, pci_dev);\n\n VirtIODevice *vdev;\n\n\n\n if (proxy->class_code != PCI_CLASS_COMMUNICATION_OTHER &&\n\n proxy->class_code != PCI_CLASS_DISPLAY_OTHER && /* qemu 0.10 */\n\n proxy->class_code != PCI_CLASS_OTHERS) /* qemu-kvm */\n\n proxy->class_code = PCI_CLASS_COMMUNICATION_OTHER;\n\n\n\n vdev = virtio_serial_init(&pci_dev->qdev, &proxy->serial);\n\n if (!vdev) {\n\n return -1;\n\n }\n\n vdev->nvectors = proxy->nvectors == DEV_NVECTORS_UNSPECIFIED\n\n ? proxy->serial.max_virtserial_ports + 1\n\n : proxy->nvectors;\n\n virtio_init_pci(proxy, vdev,\n\n PCI_VENDOR_ID_REDHAT_QUMRANET,\n\n PCI_DEVICE_ID_VIRTIO_CONSOLE,\n\n proxy->class_code, 0x00);\n\n proxy->nvectors = vdev->nvectors;\n\n return 0;\n\n}\n", "idx": 11834}1148{"project": "qemu", "commit_id": "130257dc443574a9da91dc293665be2cfc40245a", "target": 0, "func": "static CharDriverState *qmp_chardev_open_serial(const char *id,\n\n ChardevBackend *backend,\n\n ChardevReturn *ret,\n\n Error **errp)\n\n{\n\n ChardevHostdev *serial = backend->serial;\n\n int fd;\n\n\n\n fd = qmp_chardev_open_file_source(serial->device, O_RDWR, errp);\n\n if (fd < 0) {\n\n return NULL;\n\n }\n\n qemu_set_nonblock(fd);\n\n return qemu_chr_open_tty_fd(fd);\n\n}\n", "idx": 11840}1149{"project": "qemu", "commit_id": "a369da5f31ddbdeb32a7f76622e480d3995fbb00", "target": 0, "func": "void alpha_pci_vga_setup(PCIBus *pci_bus)\n\n{\n\n switch (vga_interface_type) {\n\n#ifdef CONFIG_SPICE\n\n case VGA_QXL:\n\n pci_create_simple(pci_bus, -1, \"qxl-vga\");\n\n return;\n\n#endif\n\n case VGA_CIRRUS:\n\n pci_cirrus_vga_init(pci_bus);\n\n return;\n\n case VGA_VMWARE:\n\n if (pci_vmsvga_init(pci_bus)) {\n\n return;\n\n }\n\n break;\n\n }\n\n /* If VGA is enabled at all, and one of the above didn't work, then\n\n fallback to Standard VGA. */\n\n if (vga_interface_type != VGA_NONE) {\n\n pci_vga_init(pci_bus);\n\n }\n\n}\n", "idx": 11843}1150{"project": "qemu", "commit_id": "75554a3ca10a7ad295d2a3d2e14ee6ba90f94c8b", "target": 0, "func": "struct omap_uart_s *omap2_uart_init(struct omap_target_agent_s *ta,\n\n qemu_irq irq, omap_clk fclk, omap_clk iclk,\n\n qemu_irq txdma, qemu_irq rxdma, CharDriverState *chr)\n\n{\n\n target_phys_addr_t base = omap_l4_attach(ta, 0, 0);\n\n struct omap_uart_s *s = omap_uart_init(base, irq,\n\n fclk, iclk, txdma, rxdma, chr);\n\n int iomemtype = cpu_register_io_memory(0, omap_uart_readfn,\n\n omap_uart_writefn, s);\n\n\n\n s->ta = ta;\n\n s->base = base;\n\n\n\n cpu_register_physical_memory(s->base + 0x20, 0x100, iomemtype);\n\n\n\n return s;\n\n}\n", "idx": 11844}1151{"project": "qemu", "commit_id": "6e6e55f5c2e5b520d6506c2716287ba3b5d1bbc8", "target": 0, "func": "static void QEMU_NORETURN help(void)\n\n{\n\n const char *help_msg =\n\n QEMU_IMG_VERSION\n\n \"usage: qemu-img [standard options] command [command options]\\n\"\n\n \"QEMU disk image utility\\n\"\n\n \"\\n\"\n\n \" '-h', '--help' display this help and exit\\n\"\n\n \" '-V', '--version' output version information and exit\\n\"\n\n \" '-T', '--trace' [[enable=]<pattern>][,events=<file>][,file=<file>]\\n\"\n\n \" specify tracing options\\n\"\n\n \"\\n\"\n\n \"Command syntax:\\n\"\n\n#define DEF(option, callback, arg_string) \\\n\n \" \" arg_string \"\\n\"\n\n#include \"qemu-img-cmds.h\"\n\n#undef DEF\n\n#undef GEN_DOCS\n\n \"\\n\"\n\n \"Command parameters:\\n\"\n\n \" 'filename' is a disk image filename\\n\"\n\n \" 'objectdef' is a QEMU user creatable object definition. See the qemu(1)\\n\"\n\n \" manual page for a description of the object properties. The most common\\n\"\n\n \" object type is a 'secret', which is used to supply passwords and/or\\n\"\n\n \" encryption keys.\\n\"\n\n \" 'fmt' is the disk image format. It is guessed automatically in most cases\\n\"\n\n \" 'cache' is the cache mode used to write the output disk image, the valid\\n\"\n\n \" options are: 'none', 'writeback' (default, except for convert), 'writethrough',\\n\"\n\n \" 'directsync' and 'unsafe' (default for convert)\\n\"\n\n \" 'src_cache' is the cache mode used to read input disk images, the valid\\n\"\n\n \" options are the same as for the 'cache' option\\n\"\n\n \" 'size' is the disk image size in bytes. Optional suffixes\\n\"\n\n \" 'k' or 'K' (kilobyte, 1024), 'M' (megabyte, 1024k), 'G' (gigabyte, 1024M),\\n\"\n\n \" 'T' (terabyte, 1024G), 'P' (petabyte, 1024T) and 'E' (exabyte, 1024P) are\\n\"\n\n \" supported. 'b' is ignored.\\n\"\n\n \" 'output_filename' is the destination disk image filename\\n\"\n\n \" 'output_fmt' is the destination format\\n\"\n\n \" 'options' is a comma separated list of format specific options in a\\n\"\n\n \" name=value format. Use -o ? for an overview of the options supported by the\\n\"\n\n \" used format\\n\"\n\n \" 'snapshot_param' is param used for internal snapshot, format\\n\"\n\n \" is 'snapshot.id=[ID],snapshot.name=[NAME]', or\\n\"\n\n \" '[ID_OR_NAME]'\\n\"\n\n \" 'snapshot_id_or_name' is deprecated, use 'snapshot_param'\\n\"\n\n \" instead\\n\"\n\n \" '-c' indicates that target image must be compressed (qcow format only)\\n\"\n\n \" '-u' enables unsafe rebasing. It is assumed that old and new backing file\\n\"\n\n \" match exactly. The image doesn't need a working backing file before\\n\"\n\n \" rebasing in this case (useful for renaming the backing file)\\n\"\n\n \" '-h' with or without a command shows this help and lists the supported formats\\n\"\n\n \" '-p' show progress of command (only certain commands)\\n\"\n\n \" '-q' use Quiet mode - do not print any output (except errors)\\n\"\n\n \" '-S' indicates the consecutive number of bytes (defaults to 4k) that must\\n\"\n\n \" contain only zeros for qemu-img to create a sparse image during\\n\"\n\n \" conversion. If the number of bytes is 0, the source will not be scanned for\\n\"\n\n \" unallocated or zero sectors, and the destination image will always be\\n\"\n\n \" fully allocated\\n\"\n\n \" '--output' takes the format in which the output must be done (human or json)\\n\"\n\n \" '-n' skips the target volume creation (useful if the volume is created\\n\"\n\n \" prior to running qemu-img)\\n\"\n\n \"\\n\"\n\n \"Parameters to check subcommand:\\n\"\n\n \" '-r' tries to repair any inconsistencies that are found during the check.\\n\"\n\n \" '-r leaks' repairs only cluster leaks, whereas '-r all' fixes all\\n\"\n\n \" kinds of errors, with a higher risk of choosing the wrong fix or\\n\"\n\n \" hiding corruption that has already occurred.\\n\"\n\n \"\\n\"\n\n \"Parameters to convert subcommand:\\n\"\n\n \" '-m' specifies how many coroutines work in parallel during the convert\\n\"\n\n \" process (defaults to 8)\\n\"\n\n \" '-W' allow to write to the target out of order rather than sequential\\n\"\n\n \"\\n\"\n\n \"Parameters to snapshot subcommand:\\n\"\n\n \" 'snapshot' is the name of the snapshot to create, apply or delete\\n\"\n\n \" '-a' applies a snapshot (revert disk to saved state)\\n\"\n\n \" '-c' creates a snapshot\\n\"\n\n \" '-d' deletes a snapshot\\n\"\n\n \" '-l' lists all snapshots in the given image\\n\"\n\n \"\\n\"\n\n \"Parameters to compare subcommand:\\n\"\n\n \" '-f' first image format\\n\"\n\n \" '-F' second image format\\n\"\n\n \" '-s' run in Strict mode - fail on different image size or sector allocation\\n\"\n\n \"\\n\"\n\n \"Parameters to dd subcommand:\\n\"\n\n \" 'bs=BYTES' read and write up to BYTES bytes at a time \"\n\n \"(default: 512)\\n\"\n\n \" 'count=N' copy only N input blocks\\n\"\n\n \" 'if=FILE' read from FILE\\n\"\n\n \" 'of=FILE' write to FILE\\n\"\n\n \" 'skip=N' skip N bs-sized blocks at the start of input\\n\";\n\n\n\n printf(\"%s\\nSupported formats:\", help_msg);\n\n bdrv_iterate_format(format_print, NULL);\n\n printf(\"\\n\");\n\n exit(EXIT_SUCCESS);\n\n}\n", "idx": 11852}1152{"project": "qemu", "commit_id": "621ff94d5074d88253a5818c6b9c4db718fbfc65", "target": 0, "func": "static void coroutine_fn bdrv_create_co_entry(void *opaque)\n\n{\n\n Error *local_err = NULL;\n\n int ret;\n\n\n\n CreateCo *cco = opaque;\n\n assert(cco->drv);\n\n\n\n ret = cco->drv->bdrv_create(cco->filename, cco->opts, &local_err);\n\n if (local_err) {\n\n error_propagate(&cco->err, local_err);\n\n }\n\n cco->ret = ret;\n\n}\n", "idx": 11853}1153{"project": "qemu", "commit_id": "9658e4c342e6ae0d775101f8f6bb6efb16789af1", "target": 0, "func": "void helper_mtc0_entryhi(CPUMIPSState *env, target_ulong arg1)\n\n{\n\n target_ulong old, val, mask;\n\n mask = (TARGET_PAGE_MASK << 1) | env->CP0_EntryHi_ASID_mask;\n\n if (((env->CP0_Config4 >> CP0C4_IE) & 0x3) >= 2) {\n\n mask |= 1 << CP0EnHi_EHINV;\n\n }\n\n\n\n /* 1k pages not implemented */\n\n#if defined(TARGET_MIPS64)\n\n if (env->insn_flags & ISA_MIPS32R6) {\n\n int entryhi_r = extract64(arg1, 62, 2);\n\n int config0_at = extract32(env->CP0_Config0, 13, 2);\n\n bool no_supervisor = (env->CP0_Status_rw_bitmask & 0x8) == 0;\n\n if ((entryhi_r == 2) ||\n\n (entryhi_r == 1 && (no_supervisor || config0_at == 1))) {\n\n /* skip EntryHi.R field if new value is reserved */\n\n mask &= ~(0x3ull << 62);\n\n }\n\n }\n\n mask &= env->SEGMask;\n\n#endif\n\n old = env->CP0_EntryHi;\n\n val = (arg1 & mask) | (old & ~mask);\n\n env->CP0_EntryHi = val;\n\n if (env->CP0_Config3 & (1 << CP0C3_MT)) {\n\n sync_c0_entryhi(env, env->current_tc);\n\n }\n\n /* If the ASID changes, flush qemu's TLB. */\n\n if ((old & env->CP0_EntryHi_ASID_mask) !=\n\n (val & env->CP0_EntryHi_ASID_mask)) {\n\n cpu_mips_tlb_flush(env);\n\n }\n\n}\n", "idx": 11854}1154{"project": "qemu", "commit_id": "c508277335e3b6b20cf18e6ea3a35c1fa835c64a", "target": 1, "func": "static bool vmxnet3_verify_driver_magic(hwaddr dshmem)\n\n{\n\n return (VMXNET3_READ_DRV_SHARED32(dshmem, magic) == VMXNET3_REV1_MAGIC);\n\n}\n", "idx": 11861}1155{"project": "qemu", "commit_id": "7443b43758ba5eeca8f81ca15fe9fced8983be26", "target": 1, "func": "ram_addr_t qemu_ram_addr_from_host_nofail(void *ptr)\n\n{\n\n ram_addr_t ram_addr;\n\n\n\n if (qemu_ram_addr_from_host(ptr, &ram_addr)) {\n\n fprintf(stderr, \"Bad ram pointer %p\\n\", ptr);\n\n abort();\n\n }\n\n return ram_addr;\n\n}\n", "idx": 11865}1156{"project": "FFmpeg", "commit_id": "03acb035d1292685cc24a2be0f62dd8332711734", "target": 1, "func": "static int decode_format80(VqaContext *s, int src_size,\n\n unsigned char *dest, int dest_size, int check_size) {\n\n\n\n int dest_index = 0;\n\n int count, opcode, start;\n\n int src_pos;\n\n unsigned char color;\n\n int i;\n\n\n\n start = bytestream2_tell(&s->gb);\n\n while (bytestream2_tell(&s->gb) - start < src_size) {\n\n opcode = bytestream2_get_byte(&s->gb);\n\n av_dlog(s->avctx, \"opcode %02X: \", opcode);\n\n\n\n /* 0x80 means that frame is finished */\n\n if (opcode == 0x80)\n\n break;\n\n\n\n if (dest_index >= dest_size) {\n\n av_log(s->avctx, AV_LOG_ERROR, \"decode_format80 problem: dest_index (%d) exceeded dest_size (%d)\\n\",\n\n dest_index, dest_size);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if (opcode == 0xFF) {\n\n\n\n count = bytestream2_get_le16(&s->gb);\n\n src_pos = bytestream2_get_le16(&s->gb);\n\n av_dlog(s->avctx, \"(1) copy %X bytes from absolute pos %X\\n\", count, src_pos);\n\n CHECK_COUNT();\n\n CHECK_COPY(src_pos);\n\n for (i = 0; i < count; i++)\n\n dest[dest_index + i] = dest[src_pos + i];\n\n dest_index += count;\n\n\n\n } else if (opcode == 0xFE) {\n\n\n\n count = bytestream2_get_le16(&s->gb);\n\n color = bytestream2_get_byte(&s->gb);\n\n av_dlog(s->avctx, \"(2) set %X bytes to %02X\\n\", count, color);\n\n CHECK_COUNT();\n\n memset(&dest[dest_index], color, count);\n\n dest_index += count;\n\n\n\n } else if ((opcode & 0xC0) == 0xC0) {\n\n\n\n count = (opcode & 0x3F) + 3;\n\n src_pos = bytestream2_get_le16(&s->gb);\n\n av_dlog(s->avctx, \"(3) copy %X bytes from absolute pos %X\\n\", count, src_pos);\n\n CHECK_COUNT();\n\n CHECK_COPY(src_pos);\n\n for (i = 0; i < count; i++)\n\n dest[dest_index + i] = dest[src_pos + i];\n\n dest_index += count;\n\n\n\n } else if (opcode > 0x80) {\n\n\n\n count = opcode & 0x3F;\n\n av_dlog(s->avctx, \"(4) copy %X bytes from source to dest\\n\", count);\n\n CHECK_COUNT();\n\n bytestream2_get_buffer(&s->gb, &dest[dest_index], count);\n\n dest_index += count;\n\n\n\n } else {\n\n\n\n count = ((opcode & 0x70) >> 4) + 3;\n\n src_pos = bytestream2_get_byte(&s->gb) | ((opcode & 0x0F) << 8);\n\n av_dlog(s->avctx, \"(5) copy %X bytes from relpos %X\\n\", count, src_pos);\n\n CHECK_COUNT();\n\n CHECK_COPY(dest_index - src_pos);\n\n for (i = 0; i < count; i++)\n\n dest[dest_index + i] = dest[dest_index - src_pos + i];\n\n dest_index += count;\n\n }\n\n }\n\n\n\n /* validate that the entire destination buffer was filled; this is\n\n * important for decoding frame maps since each vector needs to have a\n\n * codebook entry; it is not important for compressed codebooks because\n\n * not every entry needs to be filled */\n\n if (check_size)\n\n if (dest_index < dest_size)\n\n av_log(s->avctx, AV_LOG_ERROR, \"decode_format80 problem: decode finished with dest_index (%d) < dest_size (%d)\\n\",\n\n dest_index, dest_size);\n\n\n\n return 0; // let's display what we decoded anyway\n\n}\n", "idx": 11877}1157{"project": "FFmpeg", "commit_id": "d3b25383daffac154846daeb4e4fb46569e728db", "target": 1, "func": "static int zero12v_decode_frame(AVCodecContext *avctx, void *data,\n\n int *got_frame, AVPacket *avpkt)\n\n{\n\n int line = 0, ret;\n\n const int width = avctx->width;\n\n AVFrame *pic = data;\n\n uint16_t *y, *u, *v;\n\n const uint8_t *line_end, *src = avpkt->data;\n\n int stride = avctx->width * 8 / 3;\n\n\n\n if (width == 1) {\n\n av_log(avctx, AV_LOG_ERROR, \"Width 1 not supported.\\n\");\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if ( avctx->codec_tag == MKTAG('0', '1', '2', 'v')\n\n && avpkt->size % avctx->height == 0\n\n && avpkt->size / avctx->height * 3 >= width * 8)\n\n stride = avpkt->size / avctx->height;\n\n\n\n if (avpkt->size < avctx->height * stride) {\n\n av_log(avctx, AV_LOG_ERROR, \"Packet too small: %d instead of %d\\n\",\n\n avpkt->size, avctx->height * stride);\n\n return AVERROR_INVALIDDATA;\n\n }\n\n\n\n if ((ret = ff_get_buffer(avctx, pic, 0)) < 0)\n\n return ret;\n\n\n\n pic->pict_type = AV_PICTURE_TYPE_I;\n\n pic->key_frame = 1;\n\n\n\n y = (uint16_t *)pic->data[0];\n\n u = (uint16_t *)pic->data[1];\n\n v = (uint16_t *)pic->data[2];\n\n line_end = avpkt->data + stride;\n\n\n\n while (line++ < avctx->height) {\n\n while (1) {\n\n uint32_t t = AV_RL32(src);\n\n src += 4;\n\n *u++ = t << 6 & 0xFFC0;\n\n *y++ = t >> 4 & 0xFFC0;\n\n *v++ = t >> 14 & 0xFFC0;\n\n\n\n if (src >= line_end - 1) {\n\n *y = 0x80;\n\n src++;\n\n line_end += stride;\n\n y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);\n\n u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);\n\n v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);\n\n break;\n\n }\n\n\n\n t = AV_RL32(src);\n\n src += 4;\n\n *y++ = t << 6 & 0xFFC0;\n\n *u++ = t >> 4 & 0xFFC0;\n\n *y++ = t >> 14 & 0xFFC0;\n\n if (src >= line_end - 2) {\n\n if (!(width & 1)) {\n\n *y = 0x80;\n\n src += 2;\n\n }\n\n line_end += stride;\n\n y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);\n\n u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);\n\n v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);\n\n break;\n\n }\n\n\n\n t = AV_RL32(src);\n\n src += 4;\n\n *v++ = t << 6 & 0xFFC0;\n\n *y++ = t >> 4 & 0xFFC0;\n\n *u++ = t >> 14 & 0xFFC0;\n\n\n\n if (src >= line_end - 1) {\n\n *y = 0x80;\n\n src++;\n\n line_end += stride;\n\n y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);\n\n u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);\n\n v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);\n\n break;\n\n }\n\n\n\n t = AV_RL32(src);\n\n src += 4;\n\n *y++ = t << 6 & 0xFFC0;\n\n *v++ = t >> 4 & 0xFFC0;\n\n *y++ = t >> 14 & 0xFFC0;\n\n\n\n if (src >= line_end - 2) {\n\n if (width & 1) {\n\n *y = 0x80;\n\n src += 2;\n\n }\n\n line_end += stride;\n\n y = (uint16_t *)(pic->data[0] + line * pic->linesize[0]);\n\n u = (uint16_t *)(pic->data[1] + line * pic->linesize[1]);\n\n v = (uint16_t *)(pic->data[2] + line * pic->linesize[2]);\n\n break;\n\n }\n\n }\n\n }\n\n\n\n *got_frame = 1;\n\n\n\n return avpkt->size;\n\n}\n", "idx": 11885}1158{"project": "qemu", "commit_id": "e69a17f65e9f12f33c48b04a789e49d40a8993f5", "target": 0, "func": "static inline int test_bit(uint32_t *field, int bit)\n\n{\n\n return (field[bit >> 5] & 1 << (bit & 0x1F)) != 0;\n\n}\n", "idx": 11911}1159{"project": "qemu", "commit_id": "bc7c08a2c375acb7ae4d433054415588b176d34c", "target": 0, "func": "static void test_qemu_strtoul_decimal(void)\n\n{\n\n const char *str = \"0123\";\n\n char f = 'X';\n\n const char *endptr = &f;\n\n unsigned long res = 999;\n\n int err;\n\n\n\n err = qemu_strtoul(str, &endptr, 10, &res);\n\n\n\n g_assert_cmpint(err, ==, 0);\n\n g_assert_cmpint(res, ==, 123);\n\n g_assert(endptr == str + strlen(str));\n\n\n\n str = \"123\";\n\n res = 999;\n\n endptr = &f;\n\n err = qemu_strtoul(str, &endptr, 0, &res);\n\n\n\n g_assert_cmpint(err, ==, 0);\n\n g_assert_cmpint(res, ==, 123);\n\n g_assert(endptr == str + strlen(str));\n\n}\n", "idx": 11919}1160{"project": "qemu", "commit_id": "efec3dd631d94160288392721a5f9c39e50fb2bc", "target": 1, "func": "static void piix3_class_init(ObjectClass *klass, void *data)\n\n{\n\n DeviceClass *dc = DEVICE_CLASS(klass);\n\n PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);\n\n\n\n dc->desc = \"ISA bridge\";\n\n dc->vmsd = &vmstate_piix3;\n\n dc->no_user = 1,\n\n k->no_hotplug = 1;\n\n k->init = piix3_initfn;\n\n k->config_write = piix3_write_config;\n\n k->vendor_id = PCI_VENDOR_ID_INTEL;\n\n /* 82371SB PIIX3 PCI-to-ISA bridge (Step A1) */\n\n k->device_id = PCI_DEVICE_ID_INTEL_82371SB_0;\n\n k->class_id = PCI_CLASS_BRIDGE_ISA;\n\n}\n", "idx": 11933}1161{"project": "qemu", "commit_id": "eefa3d8ef649f9055611361e2201cca49f8c3433", "target": 1, "func": "qio_channel_websock_source_dispatch(GSource *source,\n\n GSourceFunc callback,\n\n gpointer user_data)\n\n{\n\n QIOChannelFunc func = (QIOChannelFunc)callback;\n\n QIOChannelWebsockSource *wsource = (QIOChannelWebsockSource *)source;\n\n GIOCondition cond = 0;\n\n\n\n if (wsource->wioc->rawinput.offset) {\n\n cond |= G_IO_IN;\n\n }\n\n if (wsource->wioc->rawoutput.offset < QIO_CHANNEL_WEBSOCK_MAX_BUFFER) {\n\n cond |= G_IO_OUT;\n\n }\n\n\n\n return (*func)(QIO_CHANNEL(wsource->wioc),\n\n (cond & wsource->condition),\n\n user_data);\n\n}\n", "idx": 11936}1162{"project": "qemu", "commit_id": "e40c3d2e7f4b58669a1b4e5dfb684e57c0bf62ce", "target": 0, "func": "static void acpi_dsdt_add_pci(Aml *scope, const MemMapEntry *memmap,\n\n uint32_t irq, bool use_highmem)\n\n{\n\n Aml *method, *crs, *ifctx, *UUID, *ifctx1, *elsectx, *buf;\n\n int i, bus_no;\n\n hwaddr base_mmio = memmap[VIRT_PCIE_MMIO].base;\n\n hwaddr size_mmio = memmap[VIRT_PCIE_MMIO].size;\n\n hwaddr base_pio = memmap[VIRT_PCIE_PIO].base;\n\n hwaddr size_pio = memmap[VIRT_PCIE_PIO].size;\n\n hwaddr base_ecam = memmap[VIRT_PCIE_ECAM].base;\n\n hwaddr size_ecam = memmap[VIRT_PCIE_ECAM].size;\n\n int nr_pcie_buses = size_ecam / PCIE_MMCFG_SIZE_MIN;\n\n\n\n Aml *dev = aml_device(\"%s\", \"PCI0\");\n\n aml_append(dev, aml_name_decl(\"_HID\", aml_string(\"PNP0A08\")));\n\n aml_append(dev, aml_name_decl(\"_CID\", aml_string(\"PNP0A03\")));\n\n aml_append(dev, aml_name_decl(\"_SEG\", aml_int(0)));\n\n aml_append(dev, aml_name_decl(\"_BBN\", aml_int(0)));\n\n aml_append(dev, aml_name_decl(\"_ADR\", aml_int(0)));\n\n aml_append(dev, aml_name_decl(\"_UID\", aml_string(\"PCI0\")));\n\n aml_append(dev, aml_name_decl(\"_STR\", aml_unicode(\"PCIe 0 Device\")));\n\n aml_append(dev, aml_name_decl(\"_CCA\", aml_int(1)));\n\n\n\n /* Declare the PCI Routing Table. */\n\n Aml *rt_pkg = aml_package(nr_pcie_buses * PCI_NUM_PINS);\n\n for (bus_no = 0; bus_no < nr_pcie_buses; bus_no++) {\n\n for (i = 0; i < PCI_NUM_PINS; i++) {\n\n int gsi = (i + bus_no) % PCI_NUM_PINS;\n\n Aml *pkg = aml_package(4);\n\n aml_append(pkg, aml_int((bus_no << 16) | 0xFFFF));\n\n aml_append(pkg, aml_int(i));\n\n aml_append(pkg, aml_name(\"GSI%d\", gsi));\n\n aml_append(pkg, aml_int(0));\n\n aml_append(rt_pkg, pkg);\n\n }\n\n }\n\n aml_append(dev, aml_name_decl(\"_PRT\", rt_pkg));\n\n\n\n /* Create GSI link device */\n\n for (i = 0; i < PCI_NUM_PINS; i++) {\n\n uint32_t irqs = irq + i;\n\n Aml *dev_gsi = aml_device(\"GSI%d\", i);\n\n aml_append(dev_gsi, aml_name_decl(\"_HID\", aml_string(\"PNP0C0F\")));\n\n aml_append(dev_gsi, aml_name_decl(\"_UID\", aml_int(0)));\n\n crs = aml_resource_template();\n\n aml_append(crs,\n\n aml_interrupt(AML_CONSUMER, AML_LEVEL, AML_ACTIVE_HIGH,\n\n AML_EXCLUSIVE, &irqs, 1));\n\n aml_append(dev_gsi, aml_name_decl(\"_PRS\", crs));\n\n crs = aml_resource_template();\n\n aml_append(crs,\n\n aml_interrupt(AML_CONSUMER, AML_LEVEL, AML_ACTIVE_HIGH,\n\n AML_EXCLUSIVE, &irqs, 1));\n\n aml_append(dev_gsi, aml_name_decl(\"_CRS\", crs));\n\n method = aml_method(\"_SRS\", 1, AML_NOTSERIALIZED);\n\n aml_append(dev_gsi, method);\n\n aml_append(dev, dev_gsi);\n\n }\n\n\n\n method = aml_method(\"_CBA\", 0, AML_NOTSERIALIZED);\n\n aml_append(method, aml_return(aml_int(base_ecam)));\n\n aml_append(dev, method);\n\n\n\n method = aml_method(\"_CRS\", 0, AML_NOTSERIALIZED);\n\n Aml *rbuf = aml_resource_template();\n\n aml_append(rbuf,\n\n aml_word_bus_number(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECODE,\n\n 0x0000, 0x0000, nr_pcie_buses - 1, 0x0000,\n\n nr_pcie_buses));\n\n aml_append(rbuf,\n\n aml_dword_memory(AML_POS_DECODE, AML_MIN_FIXED, AML_MAX_FIXED,\n\n AML_NON_CACHEABLE, AML_READ_WRITE, 0x0000, base_mmio,\n\n base_mmio + size_mmio - 1, 0x0000, size_mmio));\n\n aml_append(rbuf,\n\n aml_dword_io(AML_MIN_FIXED, AML_MAX_FIXED, AML_POS_DECODE,\n\n AML_ENTIRE_RANGE, 0x0000, 0x0000, size_pio - 1, base_pio,\n\n size_pio));\n\n\n\n if (use_highmem) {\n\n hwaddr base_mmio_high = memmap[VIRT_PCIE_MMIO_HIGH].base;\n\n hwaddr size_mmio_high = memmap[VIRT_PCIE_MMIO_HIGH].size;\n\n\n\n aml_append(rbuf,\n\n aml_qword_memory(AML_POS_DECODE, AML_MIN_FIXED, AML_MAX_FIXED,\n\n AML_NON_CACHEABLE, AML_READ_WRITE, 0x0000,\n\n base_mmio_high, base_mmio_high, 0x0000,\n\n size_mmio_high));\n\n }\n\n\n\n aml_append(method, aml_name_decl(\"RBUF\", rbuf));\n\n aml_append(method, aml_return(rbuf));\n\n aml_append(dev, method);\n\n\n\n /* Declare an _OSC (OS Control Handoff) method */\n\n aml_append(dev, aml_name_decl(\"SUPP\", aml_int(0)));\n\n aml_append(dev, aml_name_decl(\"CTRL\", aml_int(0)));\n\n method = aml_method(\"_OSC\", 4, AML_NOTSERIALIZED);\n\n aml_append(method,\n\n aml_create_dword_field(aml_arg(3), aml_int(0), \"CDW1\"));\n\n\n\n /* PCI Firmware Specification 3.0\n\n * 4.5.1. _OSC Interface for PCI Host Bridge Devices\n\n * The _OSC interface for a PCI/PCI-X/PCI Express hierarchy is\n\n * identified by the Universal Unique IDentifier (UUID)\n\n * 33DB4D5B-1FF7-401C-9657-7441C03DD766\n\n */\n\n UUID = aml_touuid(\"33DB4D5B-1FF7-401C-9657-7441C03DD766\");\n\n ifctx = aml_if(aml_equal(aml_arg(0), UUID));\n\n aml_append(ifctx,\n\n aml_create_dword_field(aml_arg(3), aml_int(4), \"CDW2\"));\n\n aml_append(ifctx,\n\n aml_create_dword_field(aml_arg(3), aml_int(8), \"CDW3\"));\n\n aml_append(ifctx, aml_store(aml_name(\"CDW2\"), aml_name(\"SUPP\")));\n\n aml_append(ifctx, aml_store(aml_name(\"CDW3\"), aml_name(\"CTRL\")));\n\n aml_append(ifctx, aml_store(aml_and(aml_name(\"CTRL\"), aml_int(0x1D), NULL),\n\n aml_name(\"CTRL\")));\n\n\n\n ifctx1 = aml_if(aml_lnot(aml_equal(aml_arg(1), aml_int(0x1))));\n\n aml_append(ifctx1, aml_store(aml_or(aml_name(\"CDW1\"), aml_int(0x08), NULL),\n\n aml_name(\"CDW1\")));\n\n aml_append(ifctx, ifctx1);\n\n\n\n ifctx1 = aml_if(aml_lnot(aml_equal(aml_name(\"CDW3\"), aml_name(\"CTRL\"))));\n\n aml_append(ifctx1, aml_store(aml_or(aml_name(\"CDW1\"), aml_int(0x10), NULL),\n\n aml_name(\"CDW1\")));\n\n aml_append(ifctx, ifctx1);\n\n\n\n aml_append(ifctx, aml_store(aml_name(\"CTRL\"), aml_name(\"CDW3\")));\n\n aml_append(ifctx, aml_return(aml_arg(3)));\n\n aml_append(method, ifctx);\n\n\n\n elsectx = aml_else();\n\n aml_append(elsectx, aml_store(aml_or(aml_name(\"CDW1\"), aml_int(4), NULL),\n\n aml_name(\"CDW1\")));\n\n aml_append(elsectx, aml_return(aml_arg(3)));\n\n aml_append(method, elsectx);\n\n aml_append(dev, method);\n\n\n\n method = aml_method(\"_DSM\", 4, AML_NOTSERIALIZED);\n\n\n\n /* PCI Firmware Specification 3.0\n\n * 4.6.1. _DSM for PCI Express Slot Information\n\n * The UUID in _DSM in this context is\n\n * {E5C937D0-3553-4D7A-9117-EA4D19C3434D}\n\n */\n\n UUID = aml_touuid(\"E5C937D0-3553-4D7A-9117-EA4D19C3434D\");\n\n ifctx = aml_if(aml_equal(aml_arg(0), UUID));\n\n ifctx1 = aml_if(aml_equal(aml_arg(2), aml_int(0)));\n\n uint8_t byte_list[1] = {1};\n\n buf = aml_buffer(1, byte_list);\n\n aml_append(ifctx1, aml_return(buf));\n\n aml_append(ifctx, ifctx1);\n\n aml_append(method, ifctx);\n\n\n\n byte_list[0] = 0;\n\n buf = aml_buffer(1, byte_list);\n\n aml_append(method, aml_return(buf));\n\n aml_append(dev, method);\n\n\n\n Aml *dev_rp0 = aml_device(\"%s\", \"RP0\");\n\n aml_append(dev_rp0, aml_name_decl(\"_ADR\", aml_int(0)));\n\n aml_append(dev, dev_rp0);\n\n aml_append(scope, dev);\n\n}\n", "idx": 11957}1163{"project": "qemu", "commit_id": "ae261c86aaed62e7acddafab8262a2bf286d40b7", "target": 0, "func": "static int vmdk_parent_open(BlockDriverState *bs)\n\n{\n\n char *p_name;\n\n char desc[DESC_SIZE + 1];\n\n BDRVVmdkState *s = bs->opaque;\n\n\n\n desc[DESC_SIZE] = '\\0';\n\n if (bdrv_pread(bs->file, s->desc_offset, desc, DESC_SIZE) != DESC_SIZE) {\n\n return -1;\n\n }\n\n\n\n if ((p_name = strstr(desc,\"parentFileNameHint\")) != NULL) {\n\n char *end_name;\n\n\n\n p_name += sizeof(\"parentFileNameHint\") + 1;\n\n if ((end_name = strchr(p_name,'\\\"')) == NULL)\n\n return -1;\n\n if ((end_name - p_name) > sizeof (bs->backing_file) - 1)\n\n return -1;\n\n\n\n pstrcpy(bs->backing_file, end_name - p_name + 1, p_name);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 11958}1164{"project": "qemu", "commit_id": "bf55b7afce53718ef96f4e6616da62c0ccac37dd", "target": 0, "func": "static MemoryRegionSection address_space_do_translate(AddressSpace *as,\n\n hwaddr addr,\n\n hwaddr *xlat,\n\n hwaddr *plen,\n\n bool is_write,\n\n bool is_mmio)\n\n{\n\n IOMMUTLBEntry iotlb;\n\n MemoryRegionSection *section;\n\n MemoryRegion *mr;\n\n\n\n for (;;) {\n\n AddressSpaceDispatch *d = atomic_rcu_read(&as->dispatch);\n\n section = address_space_translate_internal(d, addr, &addr, plen, is_mmio);\n\n mr = section->mr;\n\n\n\n if (!mr->iommu_ops) {\n\n break;\n\n }\n\n\n\n iotlb = mr->iommu_ops->translate(mr, addr, is_write);\n\n addr = ((iotlb.translated_addr & ~iotlb.addr_mask)\n\n | (addr & iotlb.addr_mask));\n\n *plen = MIN(*plen, (addr | iotlb.addr_mask) - addr + 1);\n\n if (!(iotlb.perm & (1 << is_write))) {\n\n goto translate_fail;\n\n }\n\n\n\n as = iotlb.target_as;\n\n }\n\n\n\n *xlat = addr;\n\n\n\n return *section;\n\n\n\ntranslate_fail:\n\n return (MemoryRegionSection) { .mr = &io_mem_unassigned };\n\n}\n", "idx": 11969}1165{"project": "qemu", "commit_id": "30de46db50d2f9f74c5f7ab1cc463b8dec026407", "target": 0, "func": "static void read_guest_mem(void)\n\n{\n\n uint32_t *guest_mem;\n\n gint64 end_time;\n\n int i, j;\n\n size_t size;\n\n\n\n g_mutex_lock(data_mutex);\n\n\n\n end_time = g_get_monotonic_time() + 5 * G_TIME_SPAN_SECOND;\n\n while (!fds_num) {\n\n if (!_cond_wait_until(data_cond, data_mutex, end_time)) {\n\n /* timeout has passed */\n\n g_assert(fds_num);\n\n break;\n\n }\n\n }\n\n\n\n /* check for sanity */\n\n g_assert_cmpint(fds_num, >, 0);\n\n g_assert_cmpint(fds_num, ==, memory.nregions);\n\n\n\n /* iterate all regions */\n\n for (i = 0; i < fds_num; i++) {\n\n\n\n /* We'll check only the region statring at 0x0*/\n\n if (memory.regions[i].guest_phys_addr != 0x0) {\n\n continue;\n\n }\n\n\n\n g_assert_cmpint(memory.regions[i].memory_size, >, 1024);\n\n\n\n size = memory.regions[i].memory_size + memory.regions[i].mmap_offset;\n\n\n\n guest_mem = mmap(0, size, PROT_READ | PROT_WRITE,\n\n MAP_SHARED, fds[i], 0);\n\n\n\n g_assert(guest_mem != MAP_FAILED);\n\n guest_mem += (memory.regions[i].mmap_offset / sizeof(*guest_mem));\n\n\n\n for (j = 0; j < 256; j++) {\n\n uint32_t a = readl(memory.regions[i].guest_phys_addr + j*4);\n\n uint32_t b = guest_mem[j];\n\n\n\n g_assert_cmpint(a, ==, b);\n\n }\n\n\n\n munmap(guest_mem, memory.regions[i].memory_size);\n\n }\n\n\n\n g_assert_cmpint(1, ==, 1);\n\n g_mutex_unlock(data_mutex);\n\n}\n", "idx": 11975}1166{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "static uint64_t qemu_rdma_poll(RDMAContext *rdma, uint64_t *wr_id_out,\n\n uint32_t *byte_len)\n\n{\n\n int ret;\n\n struct ibv_wc wc;\n\n uint64_t wr_id;\n\n\n\n ret = ibv_poll_cq(rdma->cq, 1, &wc);\n\n\n\n if (!ret) {\n\n *wr_id_out = RDMA_WRID_NONE;\n\n return 0;\n\n }\n\n\n\n if (ret < 0) {\n\n fprintf(stderr, \"ibv_poll_cq return %d!\\n\", ret);\n\n return ret;\n\n }\n\n\n\n wr_id = wc.wr_id & RDMA_WRID_TYPE_MASK;\n\n\n\n if (wc.status != IBV_WC_SUCCESS) {\n\n fprintf(stderr, \"ibv_poll_cq wc.status=%d %s!\\n\",\n\n wc.status, ibv_wc_status_str(wc.status));\n\n fprintf(stderr, \"ibv_poll_cq wrid=%s!\\n\", wrid_desc[wr_id]);\n\n\n\n return -1;\n\n }\n\n\n\n if (rdma->control_ready_expected &&\n\n (wr_id >= RDMA_WRID_RECV_CONTROL)) {\n\n DDDPRINTF(\"completion %s #%\" PRId64 \" received (%\" PRId64 \")\"\n\n \" left %d\\n\", wrid_desc[RDMA_WRID_RECV_CONTROL],\n\n wr_id - RDMA_WRID_RECV_CONTROL, wr_id, rdma->nb_sent);\n\n rdma->control_ready_expected = 0;\n\n }\n\n\n\n if (wr_id == RDMA_WRID_RDMA_WRITE) {\n\n uint64_t chunk =\n\n (wc.wr_id & RDMA_WRID_CHUNK_MASK) >> RDMA_WRID_CHUNK_SHIFT;\n\n uint64_t index =\n\n (wc.wr_id & RDMA_WRID_BLOCK_MASK) >> RDMA_WRID_BLOCK_SHIFT;\n\n RDMALocalBlock *block = &(rdma->local_ram_blocks.block[index]);\n\n\n\n DDDPRINTF(\"completions %s (%\" PRId64 \") left %d, \"\n\n \"block %\" PRIu64 \", chunk: %\" PRIu64 \" %p %p\\n\",\n\n print_wrid(wr_id), wr_id, rdma->nb_sent, index, chunk,\n\n block->local_host_addr, (void *)block->remote_host_addr);\n\n\n\n clear_bit(chunk, block->transit_bitmap);\n\n\n\n if (rdma->nb_sent > 0) {\n\n rdma->nb_sent--;\n\n }\n\n\n\n if (!rdma->pin_all) {\n\n /*\n\n * FYI: If one wanted to signal a specific chunk to be unregistered\n\n * using LRU or workload-specific information, this is the function\n\n * you would call to do so. That chunk would then get asynchronously\n\n * unregistered later.\n\n */\n\n#ifdef RDMA_UNREGISTRATION_EXAMPLE\n\n qemu_rdma_signal_unregister(rdma, index, chunk, wc.wr_id);\n\n#endif\n\n }\n\n } else {\n\n DDDPRINTF(\"other completion %s (%\" PRId64 \") received left %d\\n\",\n\n print_wrid(wr_id), wr_id, rdma->nb_sent);\n\n }\n\n\n\n *wr_id_out = wc.wr_id;\n\n if (byte_len) {\n\n *byte_len = wc.byte_len;\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 11978}1167{"project": "FFmpeg", "commit_id": "5c720657c23afd798ae0db7c7362eb859a89ab3d", "target": 1, "func": "static int mov_read_ftyp(MOVContext *c, AVIOContext *pb, MOVAtom atom)\n\n{\n\n uint32_t minor_ver;\n\n int comp_brand_size;\n\n char minor_ver_str[11]; /* 32 bit integer -> 10 digits + null */\n\n char* comp_brands_str;\n\n uint8_t type[5] = {0};\n\n\n\n avio_read(pb, type, 4);\n\n if (strcmp(type, \"qt \"))\n\n c->isom = 1;\n\n av_log(c->fc, AV_LOG_DEBUG, \"ISO: File Type Major Brand: %.4s\\n\",(char *)&type);\n\n av_dict_set(&c->fc->metadata, \"major_brand\", type, 0);\n\n minor_ver = avio_rb32(pb); /* minor version */\n\n snprintf(minor_ver_str, sizeof(minor_ver_str), \"%\"PRIu32\"\", minor_ver);\n\n av_dict_set(&c->fc->metadata, \"minor_version\", minor_ver_str, 0);\n\n\n\n comp_brand_size = atom.size - 8;\n\n if (comp_brand_size < 0)\n\n return AVERROR_INVALIDDATA;\n\n comp_brands_str = av_malloc(comp_brand_size + 1); /* Add null terminator */\n\n if (!comp_brands_str)\n\n return AVERROR(ENOMEM);\n\n avio_read(pb, comp_brands_str, comp_brand_size);\n\n comp_brands_str[comp_brand_size] = 0;\n\n av_dict_set(&c->fc->metadata, \"compatible_brands\", comp_brands_str, 0);\n\n av_freep(&comp_brands_str);\n\n\n\n return 0;\n\n}\n", "idx": 11979}1168{"project": "qemu", "commit_id": "a879125b47c3ae554c01824f996a64a45a86556e", "target": 1, "func": "static void qpci_pc_config_writew(QPCIBus *bus, int devfn, uint8_t offset, uint16_t value)\n\n{\n\n outl(0xcf8, (1 << 31) | (devfn << 8) | offset);\n\n outw(0xcfc, value);\n\n}\n", "idx": 11980}1169{"project": "FFmpeg", "commit_id": "073811cdd29e365498b3455ee4e0eda4b957a957", "target": 0, "func": "static int decode_stream_header(NUTContext *nut){\n\n AVFormatContext *s= nut->avf;\n\n ByteIOContext *bc = &s->pb;\n\n StreamContext *stc;\n\n int class, stream_id;\n\n uint64_t tmp, end;\n\n AVStream *st;\n\n\n\n end= get_packetheader(nut, bc, 1);\n\n end += url_ftell(bc);\n\n\n\n GET_V(stream_id, tmp < s->nb_streams && !nut->stream[tmp].time_base);\n\n stc= &nut->stream[stream_id];\n\n\n\n st = s->streams[stream_id];\n\n if (!st)\n\n return AVERROR(ENOMEM);\n\n\n\n class = get_v(bc);\n\n tmp = get_fourcc(bc);\n\n st->codec->codec_tag= tmp;\n\n switch(class)\n\n {\n\n case 0:\n\n st->codec->codec_type = CODEC_TYPE_VIDEO;\n\n st->codec->codec_id = codec_get_id(codec_bmp_tags, tmp);\n\n if (st->codec->codec_id == CODEC_ID_NONE)\n\n av_log(s, AV_LOG_ERROR, \"Unknown codec?!\\n\");\n\n break;\n\n case 1:\n\n st->codec->codec_type = CODEC_TYPE_AUDIO;\n\n st->codec->codec_id = codec_get_id(codec_wav_tags, tmp);\n\n if (st->codec->codec_id == CODEC_ID_NONE)\n\n av_log(s, AV_LOG_ERROR, \"Unknown codec?!\\n\");\n\n break;\n\n case 2:\n\n// st->codec->codec_type = CODEC_TYPE_TEXT;\n\n// break;\n\n case 3:\n\n st->codec->codec_type = CODEC_TYPE_DATA;\n\n break;\n\n default:\n\n av_log(s, AV_LOG_ERROR, \"Unknown stream class (%d)\\n\", class);\n\n return -1;\n\n }\n\n GET_V(stc->time_base_id , tmp < nut->time_base_count);\n\n GET_V(stc->msb_pts_shift , tmp < 16);\n\n stc->max_pts_distance= get_v(bc);\n\n GET_V(stc->decode_delay , tmp < 1000); //sanity limit, raise this if moors law is true\n\n st->codec->has_b_frames= stc->decode_delay;\n\n get_v(bc); //stream flags\n\n\n\n GET_V(st->codec->extradata_size, tmp < (1<<30));\n\n if(st->codec->extradata_size){\n\n st->codec->extradata= av_mallocz(st->codec->extradata_size + FF_INPUT_BUFFER_PADDING_SIZE);\n\n get_buffer(bc, st->codec->extradata, st->codec->extradata_size);\n\n }\n\n\n\n if (st->codec->codec_type == CODEC_TYPE_VIDEO){\n\n GET_V(st->codec->width , tmp > 0)\n\n GET_V(st->codec->height, tmp > 0)\n\n st->codec->sample_aspect_ratio.num= get_v(bc);\n\n st->codec->sample_aspect_ratio.den= get_v(bc);\n\n if((!st->codec->sample_aspect_ratio.num) != (!st->codec->sample_aspect_ratio.den)){\n\n av_log(s, AV_LOG_ERROR, \"invalid aspect ratio\\n\");\n\n return -1;\n\n }\n\n get_v(bc); /* csp type */\n\n }else if (st->codec->codec_type == CODEC_TYPE_AUDIO){\n\n GET_V(st->codec->sample_rate , tmp > 0)\n\n tmp= get_v(bc); // samplerate_den\n\n if(tmp > st->codec->sample_rate){\n\n av_log(s, AV_LOG_ERROR, \"bleh, libnut muxed this ;)\\n\");\n\n st->codec->sample_rate= tmp;\n\n }\n\n GET_V(st->codec->channels, tmp > 0)\n\n }\n\n if(skip_reserved(bc, end) || get_checksum(bc)){\n\n av_log(s, AV_LOG_ERROR, \"Stream header %d checksum mismatch\\n\", stream_id);\n\n return -1;\n\n }\n\n stc->time_base= &nut->time_base[stc->time_base_id];\n\n av_set_pts_info(s->streams[stream_id], 63, stc->time_base->num, stc->time_base->den);\n\n return 0;\n\n}\n", "idx": 11983}1170{"project": "FFmpeg", "commit_id": "5127f465bd3e2cf9cbf66dea3cf7b481b522d266", "target": 1, "func": "static void lz_unpack(const unsigned char *src, unsigned char *dest, int dest_len)\n\n{\n\n const unsigned char *s;\n\n unsigned char *d;\n\n unsigned char *d_end;\n\n unsigned char queue[QUEUE_SIZE];\n\n unsigned int qpos;\n\n unsigned int dataleft;\n\n unsigned int chainofs;\n\n unsigned int chainlen;\n\n unsigned int speclen;\n\n unsigned char tag;\n\n unsigned int i, j;\n\n\n\n s = src;\n\n d = dest;\n\n d_end = d + dest_len;\n\n dataleft = AV_RL32(s);\n\n s += 4;\n\n memset(queue, 0x20, QUEUE_SIZE);\n\n if (AV_RL32(s) == 0x56781234) {\n\n s += 4;\n\n qpos = 0x111;\n\n speclen = 0xF + 3;\n\n } else {\n\n qpos = 0xFEE;\n\n speclen = 100; /* no speclen */\n\n }\n\n\n\n while (dataleft > 0) {\n\n tag = *s++;\n\n if ((tag == 0xFF) && (dataleft > 8)) {\n\n if (d + 8 > d_end)\n\n return;\n\n for (i = 0; i < 8; i++) {\n\n queue[qpos++] = *d++ = *s++;\n\n qpos &= QUEUE_MASK;\n\n }\n\n dataleft -= 8;\n\n } else {\n\n for (i = 0; i < 8; i++) {\n\n if (dataleft == 0)\n\n break;\n\n if (tag & 0x01) {\n\n if (d + 1 > d_end)\n\n return;\n\n queue[qpos++] = *d++ = *s++;\n\n qpos &= QUEUE_MASK;\n\n dataleft--;\n\n } else {\n\n chainofs = *s++;\n\n chainofs |= ((*s & 0xF0) << 4);\n\n chainlen = (*s++ & 0x0F) + 3;\n\n if (chainlen == speclen)\n\n chainlen = *s++ + 0xF + 3;\n\n if (d + chainlen > d_end)\n\n return;\n\n for (j = 0; j < chainlen; j++) {\n\n *d = queue[chainofs++ & QUEUE_MASK];\n\n queue[qpos++] = *d++;\n\n qpos &= QUEUE_MASK;\n\n }\n\n dataleft -= chainlen;\n\n }\n\n tag >>= 1;\n\n }\n\n }\n\n }\n\n}\n", "idx": 11985}1171{"project": "qemu", "commit_id": "3daa41078aedf227ec98b0d1c9d56b77b6d20153", "target": 1, "func": "void scsi_req_cancel(SCSIRequest *req)\n\n{\n\n trace_scsi_req_cancel(req->dev->id, req->lun, req->tag);\n\n if (!req->enqueued) {\n\n return;\n\n }\n\n\n\n scsi_req_ref(req);\n\n scsi_req_dequeue(req);\n\n req->io_canceled = true;\n\n if (req->aiocb) {\n\n blk_aio_cancel(req->aiocb);\n\n } else {\n\n scsi_req_cancel_complete(req);\n\n }\n\n}", "idx": 11988}1172{"project": "qemu", "commit_id": "577bf808958d06497928c639efaa473bf8c5e099", "target": 1, "func": "static void gen_exception_return(DisasContext *s, TCGv_i32 pc)\n\n{\n\n TCGv_i32 tmp;\n\n store_reg(s, 15, pc);\n\n tmp = load_cpu_field(spsr);\n\n gen_set_cpsr(tmp, CPSR_ERET_MASK);\n\n tcg_temp_free_i32(tmp);\n\n s->is_jmp = DISAS_UPDATE;\n\n}\n", "idx": 11998}1173{"project": "qemu", "commit_id": "8dfd5f96515ca20c4eb109cb0ee28e2bb32fc505", "target": 0, "func": "static void qio_channel_websock_write_close(QIOChannelWebsock *ioc,\n\n uint16_t code, const char *reason)\n\n{\n\n struct iovec iov;\n\n buffer_reserve(&ioc->rawoutput, 2 + (reason ? strlen(reason) : 0));\n\n *(uint16_t *)(ioc->rawoutput.buffer + ioc->rawoutput.offset) =\n\n cpu_to_be16(code);\n\n ioc->rawoutput.offset += 2;\n\n if (reason) {\n\n buffer_append(&ioc->rawoutput, reason, strlen(reason));\n\n }\n\n iov.iov_base = ioc->rawoutput.buffer;\n\n iov.iov_len = ioc->rawoutput.offset;\n\n qio_channel_websock_encode(ioc, QIO_CHANNEL_WEBSOCK_OPCODE_CLOSE,\n\n &iov, 1, iov.iov_len);\n\n buffer_reset(&ioc->rawoutput);\n\n qio_channel_websock_write_wire(ioc, NULL);\n\n qio_channel_shutdown(ioc->master, QIO_CHANNEL_SHUTDOWN_BOTH, NULL);\n\n}\n", "idx": 12023}1174{"project": "qemu", "commit_id": "77af8a2b95b79699de650965d5228772743efe84", "target": 0, "func": "static void fadt_setup(AcpiFadtDescriptorRev1 *fadt, AcpiPmInfo *pm)\n\n{\n\n fadt->model = 1;\n\n fadt->reserved1 = 0;\n\n fadt->sci_int = cpu_to_le16(pm->sci_int);\n\n fadt->smi_cmd = cpu_to_le32(ACPI_PORT_SMI_CMD);\n\n fadt->acpi_enable = pm->acpi_enable_cmd;\n\n fadt->acpi_disable = pm->acpi_disable_cmd;\n\n /* EVT, CNT, TMR offset matches hw/acpi/core.c */\n\n fadt->pm1a_evt_blk = cpu_to_le32(pm->io_base);\n\n fadt->pm1a_cnt_blk = cpu_to_le32(pm->io_base + 0x04);\n\n fadt->pm_tmr_blk = cpu_to_le32(pm->io_base + 0x08);\n\n fadt->gpe0_blk = cpu_to_le32(pm->gpe0_blk);\n\n /* EVT, CNT, TMR length matches hw/acpi/core.c */\n\n fadt->pm1_evt_len = 4;\n\n fadt->pm1_cnt_len = 2;\n\n fadt->pm_tmr_len = 4;\n\n fadt->gpe0_blk_len = pm->gpe0_blk_len;\n\n fadt->plvl2_lat = cpu_to_le16(0xfff); /* C2 state not supported */\n\n fadt->plvl3_lat = cpu_to_le16(0xfff); /* C3 state not supported */\n\n fadt->flags = cpu_to_le32((1 << ACPI_FADT_F_WBINVD) |\n\n (1 << ACPI_FADT_F_PROC_C1) |\n\n (1 << ACPI_FADT_F_SLP_BUTTON) |\n\n (1 << ACPI_FADT_F_RTC_S4));\n\n fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_USE_PLATFORM_CLOCK);\n\n /* APIC destination mode (\"Flat Logical\") has an upper limit of 8 CPUs\n\n * For more than 8 CPUs, \"Clustered Logical\" mode has to be used\n\n */\n\n if (max_cpus > 8) {\n\n fadt->flags |= cpu_to_le32(1 << ACPI_FADT_F_FORCE_APIC_CLUSTER_MODEL);\n\n }\n\n fadt->century = RTC_CENTURY;\n\n}\n", "idx": 12026}1175{"project": "qemu", "commit_id": "da98c8eb4c35225049cad8cf767647eb39788b5d", "target": 0, "func": "void acpi_pm1_cnt_write(ACPIREGS *ar, uint16_t val)\n\n{\n\n ar->pm1.cnt.cnt = val & ~(ACPI_BITMASK_SLEEP_ENABLE);\n\n\n\n if (val & ACPI_BITMASK_SLEEP_ENABLE) {\n\n /* change suspend type */\n\n uint16_t sus_typ = (val >> 10) & 7;\n\n switch(sus_typ) {\n\n case 0: /* soft power off */\n\n qemu_system_shutdown_request();\n\n break;\n\n case 1:\n\n /* ACPI_BITMASK_WAKE_STATUS should be set on resume.\n\n Pretend that resume was caused by power button */\n\n ar->pm1.evt.sts |=\n\n (ACPI_BITMASK_WAKE_STATUS | ACPI_BITMASK_POWER_BUTTON_STATUS);\n\n qemu_system_reset_request();\n\n qemu_irq_raise(ar->pm1.cnt.cmos_s3);\n\n default:\n\n break;\n\n }\n\n }\n\n}\n", "idx": 12036}1176{"project": "qemu", "commit_id": "0fdddf80a88ac2efe068990d1878f472bb6b95d9", "target": 0, "func": "static void win32_rearm_timer(struct qemu_alarm_timer *t)\n\n{\n\n struct qemu_alarm_win32 *data = t->priv;\n\n uint64_t nearest_delta_us;\n\n\n\n if (!active_timers[QEMU_TIMER_REALTIME] &&\n\n !active_timers[QEMU_TIMER_VIRTUAL])\n\n return;\n\n\n\n nearest_delta_us = qemu_next_deadline_dyntick();\n\n nearest_delta_us /= 1000;\n\n\n\n timeKillEvent(data->timerId);\n\n\n\n data->timerId = timeSetEvent(1,\n\n data->period,\n\n host_alarm_handler,\n\n (DWORD)t,\n\n TIME_ONESHOT | TIME_PERIODIC);\n\n\n\n if (!data->timerId) {\n\n fprintf(stderr, \"Failed to re-arm win32 alarm timer %ld\\n\",\n\n GetLastError());\n\n\n\n timeEndPeriod(data->period);\n\n exit(1);\n\n }\n\n}\n", "idx": 12038}1177{"project": "qemu", "commit_id": "15c2f669e3fb2bc97f7b42d1871f595c0ac24af8", "target": 1, "func": "static void qapi_dealloc_end_struct(Visitor *v, Error **errp)\n\n{\n\n QapiDeallocVisitor *qov = to_qov(v);\n\n void **obj = qapi_dealloc_pop(qov);\n\n if (obj) {\n\n g_free(*obj);\n\n }\n\n}\n", "idx": 12075}1178{"project": "qemu", "commit_id": "c951d9a6751576a076ac80a5e5145ceb8d794d38", "target": 1, "func": "static void file_completion(const char *input)\n\n{\n\n DIR *ffs;\n\n struct dirent *d;\n\n char path[1024];\n\n char file[1024], file_prefix[1024];\n\n int input_path_len;\n\n const char *p;\n\n\n\n p = strrchr(input, '/');\n\n if (!p) {\n\n input_path_len = 0;\n\n pstrcpy(file_prefix, sizeof(file_prefix), input);\n\n pstrcpy(path, sizeof(path), \".\");\n\n } else {\n\n input_path_len = p - input + 1;\n\n memcpy(path, input, input_path_len);\n\n if (input_path_len > sizeof(path) - 1)\n\n input_path_len = sizeof(path) - 1;\n\n path[input_path_len] = '\\0';\n\n pstrcpy(file_prefix, sizeof(file_prefix), p + 1);\n\n }\n\n#ifdef DEBUG_COMPLETION\n\n monitor_printf(cur_mon, \"input='%s' path='%s' prefix='%s'\\n\",\n\n input, path, file_prefix);\n\n#endif\n\n ffs = opendir(path);\n\n if (!ffs)\n\n return;\n\n for(;;) {\n\n struct stat sb;\n\n d = readdir(ffs);\n\n if (!d)\n\n break;\n\n\n\n if (strcmp(d->d_name, \".\") == 0 || strcmp(d->d_name, \"..\") == 0) {\n\n continue;\n\n }\n\n\n\n if (strstart(d->d_name, file_prefix, NULL)) {\n\n memcpy(file, input, input_path_len);\n\n if (input_path_len < sizeof(file))\n\n pstrcpy(file + input_path_len, sizeof(file) - input_path_len,\n\n d->d_name);\n\n /* stat the file to find out if it's a directory.\n\n * In that case add a slash to speed up typing long paths\n\n */\n\n stat(file, &sb);\n\n if(S_ISDIR(sb.st_mode))\n\n pstrcat(file, sizeof(file), \"/\");\n\n readline_add_completion(cur_mon->rs, file);\n\n }\n\n }\n\n closedir(ffs);\n\n}\n", "idx": 12079}1179{"project": "qemu", "commit_id": "6350b0904615cc0531cc3059ea34db5c009c88aa", "target": 1, "func": "static void set_int8(Object *obj, Visitor *v, void *opaque,\n\n const char *name, Error **errp)\n\n{\n\n DeviceState *dev = DEVICE(obj);\n\n Property *prop = opaque;\n\n int8_t *ptr = qdev_get_prop_ptr(dev, prop);\n\n Error *local_err = NULL;\n\n int64_t value;\n\n\n\n if (dev->state != DEV_STATE_CREATED) {\n\n error_set(errp, QERR_PERMISSION_DENIED);\n\n return;\n\n }\n\n\n\n visit_type_int(v, &value, name, &local_err);\n\n if (local_err) {\n\n error_propagate(errp, local_err);\n\n return;\n\n }\n\n if (value > prop->info->min && value <= prop->info->max) {\n\n *ptr = value;\n\n } else {\n\n error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE,\n\n dev->id?:\"\", name, value, prop->info->min,\n\n prop->info->max);\n\n }\n\n}\n", "idx": 12083}1180{"project": "qemu", "commit_id": "d7cd369402191814a1bb339a730f3af411e9682f", "target": 1, "func": "static void enter_migration_coroutine(void *opaque)\n\n{\n\n Coroutine *co = opaque;\n\n qemu_coroutine_enter(co, NULL);\n\n}\n", "idx": 12086}1181{"project": "FFmpeg", "commit_id": "6a99310fce49f51773ab7d8ffa4f4748bbf58db9", "target": 1, "func": "static int decode_channel_residues(WmallDecodeCtx *s, int ch, int tile_size)\n\n{\n\n int i = 0;\n\n unsigned int ave_mean;\n\n s->transient[ch] = get_bits1(&s->gb);\n\n if (s->transient[ch]) {\n\n s->transient_pos[ch] = get_bits(&s->gb, av_log2(tile_size));\n\n if (s->transient_pos[ch])\n\n s->transient[ch] = 0;\n\n s->channel[ch].transient_counter =\n\n FFMAX(s->channel[ch].transient_counter, s->samples_per_frame / 2);\n\n } else if (s->channel[ch].transient_counter)\n\n s->transient[ch] = 1;\n\n\n\n if (s->seekable_tile) {\n\n ave_mean = get_bits(&s->gb, s->bits_per_sample);\n\n s->ave_sum[ch] = ave_mean << (s->movave_scaling + 1);\n\n }\n\n\n\n if (s->seekable_tile) {\n\n if (s->do_inter_ch_decorr)\n\n s->channel_residues[ch][0] = get_sbits(&s->gb, s->bits_per_sample + 1);\n\n else\n\n s->channel_residues[ch][0] = get_sbits(&s->gb, s->bits_per_sample);\n\n i++;\n\n }\n\n for (; i < tile_size; i++) {\n\n int quo = 0, rem, rem_bits, residue;\n\n while(get_bits1(&s->gb)) {\n\n quo++;\n\n if (get_bits_left(&s->gb) <= 0)\n\n return -1;\n\n }\n\n if (quo >= 32)\n\n quo += get_bits_long(&s->gb, get_bits(&s->gb, 5) + 1);\n\n\n\n ave_mean = (s->ave_sum[ch] + (1 << s->movave_scaling)) >> (s->movave_scaling + 1);\n\n if (ave_mean <= 1)\n\n residue = quo;\n\n else {\n\n rem_bits = av_ceil_log2(ave_mean);\n\n rem = rem_bits ? get_bits(&s->gb, rem_bits) : 0;\n\n residue = (quo << rem_bits) + rem;\n\n }\n\n\n\n s->ave_sum[ch] = residue + s->ave_sum[ch] -\n\n (s->ave_sum[ch] >> s->movave_scaling);\n\n\n\n if (residue & 1)\n\n residue = -(residue >> 1) - 1;\n\n else\n\n residue = residue >> 1;\n\n s->channel_residues[ch][i] = residue;\n\n }\n\n\n\n return 0;\n\n\n\n}\n", "idx": 12095}1182{"project": "FFmpeg", "commit_id": "405af431040a57c630716b3940d7240021e8b80c", "target": 0, "func": "static int cinaudio_decode_frame(AVCodecContext *avctx,\n\n void *data, int *data_size,\n\n AVPacket *avpkt)\n\n{\n\n const uint8_t *buf = avpkt->data;\n\n int buf_size = avpkt->size;\n\n CinAudioContext *cin = avctx->priv_data;\n\n const uint8_t *src = buf;\n\n int16_t *samples = data;\n\n int delta;\n\n\n\n buf_size = FFMIN(buf_size, *data_size/2);\n\n\n\n delta = cin->delta;\n\n if (cin->initial_decode_frame) {\n\n cin->initial_decode_frame = 0;\n\n delta = (int16_t)AV_RL16(src); src += 2;\n\n *samples++ = delta;\n\n buf_size -= 2;\n\n }\n\n while (buf_size > 0) {\n\n delta += cinaudio_delta16_table[*src++];\n\n delta = av_clip_int16(delta);\n\n *samples++ = delta;\n\n --buf_size;\n\n }\n\n cin->delta = delta;\n\n\n\n *data_size = (uint8_t *)samples - (uint8_t *)data;\n\n\n\n return src - buf;\n\n}\n", "idx": 12099}1183{"project": "FFmpeg", "commit_id": "7104c23bd1a1dcb8a7d9e2c8838c7ce55c30a331", "target": 0, "func": "static void rv34_pred_mv_rv3(RV34DecContext *r, int block_type, int dir)\n\n{\n\n MpegEncContext *s = &r->s;\n\n int mv_pos = s->mb_x * 2 + s->mb_y * 2 * s->b8_stride;\n\n int A[2] = {0}, B[2], C[2];\n\n int i, j, k;\n\n int mx, my;\n\n int avail_index = avail_indexes[0];\n\n\n\n if(r->avail_cache[avail_index - 1]){\n\n A[0] = s->current_picture_ptr->f.motion_val[0][mv_pos - 1][0];\n\n A[1] = s->current_picture_ptr->f.motion_val[0][mv_pos - 1][1];\n\n }\n\n if(r->avail_cache[avail_index - 4]){\n\n B[0] = s->current_picture_ptr->f.motion_val[0][mv_pos - s->b8_stride][0];\n\n B[1] = s->current_picture_ptr->f.motion_val[0][mv_pos - s->b8_stride][1];\n\n }else{\n\n B[0] = A[0];\n\n B[1] = A[1];\n\n }\n\n if(!r->avail_cache[avail_index - 4 + 2]){\n\n if(r->avail_cache[avail_index - 4] && (r->avail_cache[avail_index - 1])){\n\n C[0] = s->current_picture_ptr->f.motion_val[0][mv_pos - s->b8_stride - 1][0];\n\n C[1] = s->current_picture_ptr->f.motion_val[0][mv_pos - s->b8_stride - 1][1];\n\n }else{\n\n C[0] = A[0];\n\n C[1] = A[1];\n\n }\n\n }else{\n\n C[0] = s->current_picture_ptr->f.motion_val[0][mv_pos - s->b8_stride + 2][0];\n\n C[1] = s->current_picture_ptr->f.motion_val[0][mv_pos - s->b8_stride + 2][1];\n\n }\n\n mx = mid_pred(A[0], B[0], C[0]);\n\n my = mid_pred(A[1], B[1], C[1]);\n\n mx += r->dmv[0][0];\n\n my += r->dmv[0][1];\n\n for(j = 0; j < 2; j++){\n\n for(i = 0; i < 2; i++){\n\n for(k = 0; k < 2; k++){\n\n s->current_picture_ptr->f.motion_val[k][mv_pos + i + j*s->b8_stride][0] = mx;\n\n s->current_picture_ptr->f.motion_val[k][mv_pos + i + j*s->b8_stride][1] = my;\n\n }\n\n }\n\n }\n\n}\n", "idx": 12106}1184{"project": "qemu", "commit_id": "9ef91a677110ec200d7b2904fc4bcae5a77329ad", "target": 0, "func": "int qemu_paio_init(struct qemu_paioinit *aioinit)\n\n{\n\n int ret;\n\n\n\n ret = pthread_attr_init(&attr);\n\n if (ret) die2(ret, \"pthread_attr_init\");\n\n\n\n ret = pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);\n\n if (ret) die2(ret, \"pthread_attr_setdetachstate\");\n\n\n\n TAILQ_INIT(&request_list);\n\n\n\n return 0;\n\n}\n", "idx": 12111}1185{"project": "qemu", "commit_id": "2c80e42395bfe0bf291c082f9399431e1ff9d758", "target": 0, "func": "dprint(int level, const char *fmt, ...)\n\n{\n\n va_list args;\n\n\n\n if (level <= debug) {\n\n va_start(args, fmt);\n\n vfprintf(stderr, fmt, args);\n\n va_end(args);\n\n }\n\n}\n", "idx": 12130}1186{"project": "qemu", "commit_id": "5d1abf234462d13bef3617cc2c55b6815703ddf2", "target": 0, "func": "static void s390_pcihost_hot_plug(HotplugHandler *hotplug_dev,\n\n DeviceState *dev, Error **errp)\n\n{\n\n PCIDevice *pci_dev = PCI_DEVICE(dev);\n\n S390PCIBusDevice *pbdev;\n\n S390pciState *s = S390_PCI_HOST_BRIDGE(pci_device_root_bus(pci_dev)\n\n ->qbus.parent);\n\n\n\n pbdev = &s->pbdev[PCI_SLOT(pci_dev->devfn)];\n\n\n\n pbdev->fid = s390_pci_get_pfid(pci_dev);\n\n pbdev->pdev = pci_dev;\n\n pbdev->configured = true;\n\n pbdev->fh = s390_pci_get_pfh(pci_dev);\n\n\n\n s390_pcihost_setup_msix(pbdev);\n\n\n\n if (dev->hotplugged) {\n\n s390_pci_generate_plug_event(HP_EVENT_RESERVED_TO_STANDBY,\n\n pbdev->fh, pbdev->fid);\n\n s390_pci_generate_plug_event(HP_EVENT_TO_CONFIGURED,\n\n pbdev->fh, pbdev->fid);\n\n }\n\n}\n", "idx": 12133}1187{"project": "qemu", "commit_id": "a89f364ae8740dfc31b321eed9ee454e996dc3c1", "target": 0, "func": "static uint64_t pxa2xx_mm_read(void *opaque, hwaddr addr,\n\n unsigned size)\n\n{\n\n PXA2xxState *s = (PXA2xxState *) opaque;\n\n\n\n switch (addr) {\n\n case MDCNFG ... SA1110:\n\n if ((addr & 3) == 0)\n\n return s->mm_regs[addr >> 2];\n\n\n\n default:\n\n printf(\"%s: Bad register \" REG_FMT \"\\n\", __FUNCTION__, addr);\n\n break;\n\n }\n\n return 0;\n\n}\n", "idx": 12134}1188{"project": "qemu", "commit_id": "c471ad0e9bd46ca5f5c9c796e727230e043a091d", "target": 0, "func": "static int vhost_verify_ring_mappings(struct vhost_dev *dev,\n\n uint64_t start_addr,\n\n uint64_t size)\n\n{\n\n int i, j;\n\n int r = 0;\n\n const char *part_name[] = {\n\n \"descriptor table\",\n\n \"available ring\",\n\n \"used ring\"\n\n };\n\n\n\n for (i = 0; i < dev->nvqs; ++i) {\n\n struct vhost_virtqueue *vq = dev->vqs + i;\n\n\n\n j = 0;\n\n r = vhost_verify_ring_part_mapping(vq->desc, vq->desc_phys,\n\n vq->desc_size, start_addr, size);\n\n if (!r) {\n\n break;\n\n }\n\n\n\n j++;\n\n r = vhost_verify_ring_part_mapping(vq->avail, vq->avail_phys,\n\n vq->avail_size, start_addr, size);\n\n if (!r) {\n\n break;\n\n }\n\n\n\n j++;\n\n r = vhost_verify_ring_part_mapping(vq->used, vq->used_phys,\n\n vq->used_size, start_addr, size);\n\n if (!r) {\n\n break;\n\n }\n\n }\n\n\n\n if (r == -ENOMEM) {\n\n error_report(\"Unable to map %s for ring %d\", part_name[j], i);\n\n } else if (r == -EBUSY) {\n\n error_report(\"%s relocated for ring %d\", part_name[j], i);\n\n }\n\n return r;\n\n}\n", "idx": 12142}1189{"project": "qemu", "commit_id": "3435f39513a104294b5e3bbf3612047028d25cfc", "target": 0, "func": "void qemu_ram_remap(ram_addr_t addr, ram_addr_t length)\n\n{\n\n RAMBlock *block;\n\n ram_addr_t offset;\n\n int flags;\n\n void *area, *vaddr;\n\n\n\n QTAILQ_FOREACH(block, &ram_list.blocks, next) {\n\n offset = addr - block->offset;\n\n if (offset < block->length) {\n\n vaddr = block->host + offset;\n\n if (block->flags & RAM_PREALLOC_MASK) {\n\n ;\n\n } else if (xen_enabled()) {\n\n abort();\n\n } else {\n\n flags = MAP_FIXED;\n\n munmap(vaddr, length);\n\n if (mem_path) {\n\n#if defined(__linux__) && !defined(TARGET_S390X)\n\n if (block->fd) {\n\n#ifdef MAP_POPULATE\n\n flags |= mem_prealloc ? MAP_POPULATE | MAP_SHARED :\n\n MAP_PRIVATE;\n\n#else\n\n flags |= MAP_PRIVATE;\n\n#endif\n\n area = mmap(vaddr, length, PROT_READ | PROT_WRITE,\n\n flags, block->fd, offset);\n\n } else {\n\n flags |= MAP_PRIVATE | MAP_ANONYMOUS;\n\n area = mmap(vaddr, length, PROT_READ | PROT_WRITE,\n\n flags, -1, 0);\n\n }\n\n#else\n\n abort();\n\n#endif\n\n } else {\n\n#if defined(TARGET_S390X) && defined(CONFIG_KVM)\n\n flags |= MAP_SHARED | MAP_ANONYMOUS;\n\n area = mmap(vaddr, length, PROT_EXEC|PROT_READ|PROT_WRITE,\n\n flags, -1, 0);\n\n#else\n\n flags |= MAP_PRIVATE | MAP_ANONYMOUS;\n\n area = mmap(vaddr, length, PROT_READ | PROT_WRITE,\n\n flags, -1, 0);\n\n#endif\n\n }\n\n if (area != vaddr) {\n\n fprintf(stderr, \"Could not remap addr: \"\n\n RAM_ADDR_FMT \"@\" RAM_ADDR_FMT \"\\n\",\n\n length, addr);\n\n exit(1);\n\n }\n\n memory_try_enable_merging(vaddr, length);\n\n qemu_ram_setup_dump(vaddr, length);\n\n }\n\n return;\n\n }\n\n }\n\n}\n", "idx": 12145}1190{"project": "qemu", "commit_id": "8f5d58ef2c92d7b82d9a6eeefd7c8854a183ba4a", "target": 1, "func": "const char *object_get_typename(Object *obj)\n\n{\n\n return obj->class->type->name;\n\n}\n", "idx": 12182}1191{"project": "FFmpeg", "commit_id": "1846a3eac854799fbffc9669dcf4de558b917957", "target": 0, "func": "static int vaapi_build_decoder_config(VAAPIDecoderContext *ctx,\n\n AVCodecContext *avctx,\n\n int fallback_allowed)\n\n{\n\n AVVAAPIDeviceContext *hwctx = ctx->device->hwctx;\n\n AVVAAPIHWConfig *hwconfig = NULL;\n\n AVHWFramesConstraints *constraints = NULL;\n\n VAStatus vas;\n\n int err, i, j;\n\n int loglevel = fallback_allowed ? AV_LOG_VERBOSE : AV_LOG_ERROR;\n\n const AVCodecDescriptor *codec_desc;\n\n const AVPixFmtDescriptor *pix_desc;\n\n enum AVPixelFormat pix_fmt;\n\n VAProfile profile, *profile_list = NULL;\n\n int profile_count, exact_match, alt_profile;\n\n\n\n codec_desc = avcodec_descriptor_get(avctx->codec_id);\n\n if (!codec_desc) {\n\n err = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n\n\n profile_count = vaMaxNumProfiles(hwctx->display);\n\n profile_list = av_malloc(profile_count * sizeof(VAProfile));\n\n if (!profile_list) {\n\n err = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n\n\n vas = vaQueryConfigProfiles(hwctx->display,\n\n profile_list, &profile_count);\n\n if (vas != VA_STATUS_SUCCESS) {\n\n av_log(ctx, loglevel, \"Failed to query profiles: %d (%s).\\n\",\n\n vas, vaErrorStr(vas));\n\n err = AVERROR(EIO);\n\n goto fail;\n\n }\n\n\n\n profile = VAProfileNone;\n\n exact_match = 0;\n\n\n\n for (i = 0; i < FF_ARRAY_ELEMS(vaapi_profile_map); i++) {\n\n int profile_match = 0;\n\n if (avctx->codec_id != vaapi_profile_map[i].codec_id)\n\n continue;\n\n if (avctx->profile == vaapi_profile_map[i].codec_profile)\n\n profile_match = 1;\n\n profile = vaapi_profile_map[i].va_profile;\n\n for (j = 0; j < profile_count; j++) {\n\n if (profile == profile_list[j]) {\n\n exact_match = profile_match;\n\n break;\n\n }\n\n }\n\n if (j < profile_count) {\n\n if (exact_match)\n\n break;\n\n alt_profile = vaapi_profile_map[i].codec_profile;\n\n }\n\n }\n\n av_freep(&profile_list);\n\n\n\n if (profile == VAProfileNone) {\n\n av_log(ctx, loglevel, \"No VAAPI support for codec %s.\\n\",\n\n codec_desc->name);\n\n err = AVERROR(ENOSYS);\n\n goto fail;\n\n }\n\n if (!exact_match) {\n\n if (fallback_allowed || !hwaccel_lax_profile_check) {\n\n av_log(ctx, loglevel, \"No VAAPI support for codec %s \"\n\n \"profile %d.\\n\", codec_desc->name, avctx->profile);\n\n if (!fallback_allowed) {\n\n av_log(ctx, AV_LOG_WARNING, \"If you want attempt decoding \"\n\n \"anyway with a possibly-incompatible profile, add \"\n\n \"the option -hwaccel_lax_profile_check.\\n\");\n\n }\n\n err = AVERROR(EINVAL);\n\n goto fail;\n\n } else {\n\n av_log(ctx, AV_LOG_WARNING, \"No VAAPI support for codec %s \"\n\n \"profile %d: trying instead with profile %d.\\n\",\n\n codec_desc->name, avctx->profile, alt_profile);\n\n av_log(ctx, AV_LOG_WARNING, \"This may fail or give \"\n\n \"incorrect results, depending on your hardware.\\n\");\n\n }\n\n }\n\n\n\n ctx->va_profile = profile;\n\n ctx->va_entrypoint = VAEntrypointVLD;\n\n\n\n vas = vaCreateConfig(hwctx->display, ctx->va_profile,\n\n ctx->va_entrypoint, 0, 0, &ctx->va_config);\n\n if (vas != VA_STATUS_SUCCESS) {\n\n av_log(ctx, AV_LOG_ERROR, \"Failed to create decode pipeline \"\n\n \"configuration: %d (%s).\\n\", vas, vaErrorStr(vas));\n\n err = AVERROR(EIO);\n\n goto fail;\n\n }\n\n\n\n hwconfig = av_hwdevice_hwconfig_alloc(ctx->device_ref);\n\n if (!hwconfig) {\n\n err = AVERROR(ENOMEM);\n\n goto fail;\n\n }\n\n hwconfig->config_id = ctx->va_config;\n\n\n\n constraints = av_hwdevice_get_hwframe_constraints(ctx->device_ref,\n\n hwconfig);\n\n if (!constraints)\n\n goto fail;\n\n\n\n // Decide on the decoder target format.\n\n // If the user specified something with -hwaccel_output_format then\n\n // try to use that to minimise conversions later.\n\n ctx->decode_format = AV_PIX_FMT_NONE;\n\n if (ctx->output_format != AV_PIX_FMT_NONE &&\n\n ctx->output_format != AV_PIX_FMT_VAAPI) {\n\n for (i = 0; constraints->valid_sw_formats[i] != AV_PIX_FMT_NONE; i++) {\n\n if (constraints->valid_sw_formats[i] == ctx->decode_format) {\n\n ctx->decode_format = ctx->output_format;\n\n av_log(ctx, AV_LOG_DEBUG, \"Using decode format %s (output \"\n\n \"format).\\n\", av_get_pix_fmt_name(ctx->decode_format));\n\n break;\n\n }\n\n }\n\n }\n\n // Otherwise, we would like to try to choose something which matches the\n\n // decoder output, but there isn't enough information available here to\n\n // do so. Assume for now that we are always dealing with YUV 4:2:0, so\n\n // pick a format which does that.\n\n if (ctx->decode_format == AV_PIX_FMT_NONE) {\n\n for (i = 0; constraints->valid_sw_formats[i] != AV_PIX_FMT_NONE; i++) {\n\n pix_fmt = constraints->valid_sw_formats[i];\n\n pix_desc = av_pix_fmt_desc_get(pix_fmt);\n\n if (pix_desc->nb_components == 3 &&\n\n pix_desc->log2_chroma_w == 1 &&\n\n pix_desc->log2_chroma_h == 1) {\n\n ctx->decode_format = pix_fmt;\n\n av_log(ctx, AV_LOG_DEBUG, \"Using decode format %s (format \"\n\n \"matched).\\n\", av_get_pix_fmt_name(ctx->decode_format));\n\n break;\n\n }\n\n }\n\n }\n\n // Otherwise pick the first in the list and hope for the best.\n\n if (ctx->decode_format == AV_PIX_FMT_NONE) {\n\n ctx->decode_format = constraints->valid_sw_formats[0];\n\n av_log(ctx, AV_LOG_DEBUG, \"Using decode format %s (first in list).\\n\",\n\n av_get_pix_fmt_name(ctx->decode_format));\n\n if (i > 1) {\n\n // There was a choice, and we picked randomly. Warn the user\n\n // that they might want to choose intelligently instead.\n\n av_log(ctx, AV_LOG_WARNING, \"Using randomly chosen decode \"\n\n \"format %s.\\n\", av_get_pix_fmt_name(ctx->decode_format));\n\n }\n\n }\n\n\n\n // Ensure the picture size is supported by the hardware.\n\n ctx->decode_width = avctx->coded_width;\n\n ctx->decode_height = avctx->coded_height;\n\n if (ctx->decode_width < constraints->min_width ||\n\n ctx->decode_height < constraints->min_height ||\n\n ctx->decode_width > constraints->max_width ||\n\n ctx->decode_height >constraints->max_height) {\n\n av_log(ctx, AV_LOG_ERROR, \"VAAPI hardware does not support image \"\n\n \"size %dx%d (constraints: width %d-%d height %d-%d).\\n\",\n\n ctx->decode_width, ctx->decode_height,\n\n constraints->min_width, constraints->max_width,\n\n constraints->min_height, constraints->max_height);\n\n err = AVERROR(EINVAL);\n\n goto fail;\n\n }\n\n\n\n av_hwframe_constraints_free(&constraints);\n\n av_freep(&hwconfig);\n\n\n\n // Decide how many reference frames we need. This might be doable more\n\n // nicely based on the codec and input stream?\n\n ctx->decode_surfaces = DEFAULT_SURFACES;\n\n // For frame-threaded decoding, one additional surfaces is needed for\n\n // each thread.\n\n if (avctx->active_thread_type & FF_THREAD_FRAME)\n\n ctx->decode_surfaces += avctx->thread_count;\n\n\n\n return 0;\n\n\n\nfail:\n\n av_hwframe_constraints_free(&constraints);\n\n av_freep(&hwconfig);\n\n vaDestroyConfig(hwctx->display, ctx->va_config);\n\n av_freep(&profile_list);\n\n return err;\n\n}\n", "idx": 12190}1192{"project": "FFmpeg", "commit_id": "0065d2d520caab2321b35a7bec5d62564913238b", "target": 0, "func": "static int parse(AVCodecParserContext *ctx,\n\n AVCodecContext *avctx,\n\n const uint8_t **out_data, int *out_size,\n\n const uint8_t *data, int size)\n\n{\n\n VP9ParseContext *s = ctx->priv_data;\n\n int marker;\n\n\n\n if (size <= 0) {\n\n *out_size = 0;\n\n *out_data = data;\n\n\n\n return 0;\n\n }\n\n\n\n if (s->n_frames > 0) {\n\n *out_data = data;\n\n *out_size = s->size[--s->n_frames];\n\n parse_frame(ctx, *out_data, *out_size);\n\n\n\n return s->n_frames > 0 ? *out_size : size /* i.e. include idx tail */;\n\n }\n\n\n\n marker = data[size - 1];\n\n if ((marker & 0xe0) == 0xc0) {\n\n int nbytes = 1 + ((marker >> 3) & 0x3);\n\n int n_frames = 1 + (marker & 0x7), idx_sz = 2 + n_frames * nbytes;\n\n\n\n if (size >= idx_sz && data[size - idx_sz] == marker) {\n\n const uint8_t *idx = data + size + 1 - idx_sz;\n\n int first = 1;\n\n\n\n switch (nbytes) {\n\n#define case_n(a, rd) \\\n\n case a: \\\n\n while (n_frames--) { \\\n\n int sz = rd; \\\n\n idx += a; \\\n\n if (sz > size) { \\\n\n s->n_frames = 0; \\\n\n av_log(avctx, AV_LOG_ERROR, \\\n\n \"Superframe packet size too big: %d > %d\\n\", \\\n\n sz, size); \\\n\n return AVERROR_INVALIDDATA; \\\n\n } \\\n\n if (first) { \\\n\n first = 0; \\\n\n *out_data = data; \\\n\n *out_size = sz; \\\n\n s->n_frames = n_frames; \\\n\n } else { \\\n\n s->size[n_frames] = sz; \\\n\n } \\\n\n data += sz; \\\n\n size -= sz; \\\n\n } \\\n\n parse_frame(ctx, *out_data, *out_size); \\\n\n return *out_size\n\n\n\n case_n(1, *idx);\n\n case_n(2, AV_RL16(idx));\n\n case_n(3, AV_RL24(idx));\n\n case_n(4, AV_RL32(idx));\n\n }\n\n }\n\n }\n\n\n\n *out_data = data;\n\n *out_size = size;\n\n parse_frame(ctx, data, size);\n\n\n\n return size;\n\n}\n", "idx": 12192}1193{"project": "qemu", "commit_id": "f8ed85ac992c48814d916d5df4d44f9a971c5de4", "target": 1, "func": "static int ram_init1(SysBusDevice *dev)\n\n{\n\n RamDevice *d = SUN4U_RAM(dev);\n\n\n\n memory_region_init_ram(&d->ram, OBJECT(d), \"sun4u.ram\", d->size,\n\n &error_abort);\n\n vmstate_register_ram_global(&d->ram);\n\n sysbus_init_mmio(dev, &d->ram);\n\n return 0;\n\n}\n", "idx": 12200}1194{"project": "qemu", "commit_id": "b4ba67d9a702507793c2724e56f98e9b0f7be02b", "target": 1, "func": "static void stop_tco(const TestData *d)\n\n{\n\n uint32_t val;\n\n\n\n val = qpci_io_readw(d->dev, d->tco_io_base + TCO1_CNT);\n\n val |= TCO_TMR_HLT;\n\n qpci_io_writew(d->dev, d->tco_io_base + TCO1_CNT, val);\n\n}\n", "idx": 12205}1195{"project": "qemu", "commit_id": "60fe637bf0e4d7989e21e50f52526444765c63b4", "target": 1, "func": "void qemu_put_be32(QEMUFile *f, unsigned int v)\n\n{\n\n qemu_put_byte(f, v >> 24);\n\n qemu_put_byte(f, v >> 16);\n\n qemu_put_byte(f, v >> 8);\n\n qemu_put_byte(f, v);\n\n}\n", "idx": 12215}1196{"project": "FFmpeg", "commit_id": "5d7e3d71673d64a16b58430a0027afadb6b3a54e", "target": 1, "func": "static const unsigned char *seq_unpack_rle_block(const unsigned char *src, unsigned char *dst, int dst_size)\n\n{\n\n int i, len, sz;\n\n GetBitContext gb;\n\n int code_table[64];\n\n\n\n /* get the rle codes (at most 64 bytes) */\n\n init_get_bits(&gb, src, 64 * 8);\n\n for (i = 0, sz = 0; i < 64 && sz < dst_size; i++) {\n\n code_table[i] = get_sbits(&gb, 4);\n\n sz += FFABS(code_table[i]);\n\n }\n\n src += (get_bits_count(&gb) + 7) / 8;\n\n\n\n /* do the rle unpacking */\n\n for (i = 0; i < 64 && dst_size > 0; i++) {\n\n len = code_table[i];\n\n if (len < 0) {\n\n len = -len;\n\n memset(dst, *src++, FFMIN(len, dst_size));\n\n } else {\n\n memcpy(dst, src, FFMIN(len, dst_size));\n\n src += len;\n\n }\n\n dst += len;\n\n dst_size -= len;\n\n }\n\n return src;\n\n}\n", "idx": 12216}1197{"project": "qemu", "commit_id": "88be7b4be4aa17c88247e162bdd7577ea79db94f", "target": 1, "func": "bool bdrv_is_first_non_filter(BlockDriverState *candidate)\n\n{\n\n BlockDriverState *bs;\n\n BdrvNextIterator *it = NULL;\n\n\n\n /* walk down the bs forest recursively */\n\n while ((it = bdrv_next(it, &bs)) != NULL) {\n\n bool perm;\n\n\n\n /* try to recurse in this top level bs */\n\n perm = bdrv_recurse_is_first_non_filter(bs, candidate);\n\n\n\n /* candidate is the first non filter */\n\n if (perm) {\n\n return true;\n\n }\n\n }\n\n\n\n return false;\n\n}\n", "idx": 12243}1198{"project": "qemu", "commit_id": "f4bf56fb78ed0e9f60fa1ed656c14ff4c494da5a", "target": 1, "func": "static int vhost_user_set_mem_table(struct vhost_dev *dev,\n\n struct vhost_memory *mem)\n\n{\n\n int fds[VHOST_MEMORY_MAX_NREGIONS];\n\n int i, fd;\n\n size_t fd_num = 0;\n\n bool reply_supported = virtio_has_feature(dev->protocol_features,\n\n VHOST_USER_PROTOCOL_F_REPLY_ACK);\n\n\n\n VhostUserMsg msg = {\n\n .hdr.request = VHOST_USER_SET_MEM_TABLE,\n\n .hdr.flags = VHOST_USER_VERSION,\n\n };\n\n\n\n if (reply_supported) {\n\n msg.hdr.flags |= VHOST_USER_NEED_REPLY_MASK;\n\n }\n\n\n\n for (i = 0; i < dev->mem->nregions; ++i) {\n\n struct vhost_memory_region *reg = dev->mem->regions + i;\n\n ram_addr_t offset;\n\n MemoryRegion *mr;\n\n\n\n assert((uintptr_t)reg->userspace_addr == reg->userspace_addr);\n\n mr = memory_region_from_host((void *)(uintptr_t)reg->userspace_addr,\n\n &offset);\n\n fd = memory_region_get_fd(mr);\n\n if (fd > 0) {\n\n msg.payload.memory.regions[fd_num].userspace_addr = reg->userspace_addr;\n\n msg.payload.memory.regions[fd_num].memory_size = reg->memory_size;\n\n msg.payload.memory.regions[fd_num].guest_phys_addr = reg->guest_phys_addr;\n\n msg.payload.memory.regions[fd_num].mmap_offset = offset;\n\n assert(fd_num < VHOST_MEMORY_MAX_NREGIONS);\n\n fds[fd_num++] = fd;\n\n }\n\n }\n\n\n\n msg.payload.memory.nregions = fd_num;\n\n\n\n if (!fd_num) {\n\n error_report(\"Failed initializing vhost-user memory map, \"\n\n \"consider using -object memory-backend-file share=on\");\n\n return -1;\n\n }\n\n\n\n msg.hdr.size = sizeof(msg.payload.memory.nregions);\n\n msg.hdr.size += sizeof(msg.payload.memory.padding);\n\n msg.hdr.size += fd_num * sizeof(VhostUserMemoryRegion);\n\n\n\n if (vhost_user_write(dev, &msg, fds, fd_num) < 0) {\n\n return -1;\n\n }\n\n\n\n if (reply_supported) {\n\n return process_message_reply(dev, &msg);\n\n }\n\n\n\n return 0;\n\n}\n", "idx": 12245}1199{"project": "FFmpeg", "commit_id": "fa74cdc60d19798c951dcc242ca7273e6483f2b3", "target": 1, "func": "int av_parser_parse2(AVCodecParserContext *s, AVCodecContext *avctx,\n uint8_t **poutbuf, int *poutbuf_size,\n const uint8_t *buf, int buf_size,\n int64_t pts, int64_t dts, int64_t pos)\n{\n int index, i;\n uint8_t dummy_buf[AV_INPUT_BUFFER_PADDING_SIZE];\n if (!(s->flags & PARSER_FLAG_FETCHED_OFFSET)) {\n s->next_frame_offset =\n s->cur_offset = pos;\n s->flags |= PARSER_FLAG_FETCHED_OFFSET;\n }\n if (buf_size == 0) {\n /* padding is always necessary even if EOF, so we add it here */\n memset(dummy_buf, 0, sizeof(dummy_buf));\n buf = dummy_buf;\n } else if (s->cur_offset + buf_size != s->cur_frame_end[s->cur_frame_start_index]) { /* skip remainder packets */\n /* add a new packet descriptor */\n i = (s->cur_frame_start_index + 1) & (AV_PARSER_PTS_NB - 1);\n s->cur_frame_start_index = i;\n s->cur_frame_offset[i] = s->cur_offset;\n s->cur_frame_end[i] = s->cur_offset + buf_size;\n s->cur_frame_pts[i] = pts;\n s->cur_frame_dts[i] = dts;\n s->cur_frame_pos[i] = pos;\n }\n if (s->fetch_timestamp) {\n s->fetch_timestamp = 0;\n s->last_pts = s->pts;\n s->last_dts = s->dts;\n s->last_pos = s->pos;\n ff_fetch_timestamp(s, 0, 0, 0);\n }\n /* WARNING: the returned index can be negative */\n index = s->parser->parser_parse(s, avctx, (const uint8_t **) poutbuf,\n poutbuf_size, buf, buf_size);\n av_assert0(index > -0x20000000); // The API does not allow returning AVERROR codes\n /* update the file pointer */\n if (*poutbuf_size) {\n /* fill the data for the current frame */\n s->frame_offset = s->next_frame_offset;\n /* offset of the next frame */\n s->next_frame_offset = s->cur_offset + index;\n s->fetch_timestamp = 1;\n }\n if (index < 0)\n index = 0;\n s->cur_offset += index;\n return index;\n}", "idx": 12255}1200{"project": "qemu", "commit_id": "b1b27b64262fdace45e5ab134c4438338076cb98", "target": 1, "func": "static int nbd_co_readv_1(NbdClientSession *client, int64_t sector_num,\n\n int nb_sectors, QEMUIOVector *qiov,\n\n int offset)\n\n{\n\n struct nbd_request request;\n\n struct nbd_reply reply;\n\n ssize_t ret;\n\n\n\n request.type = NBD_CMD_READ;\n\n request.from = sector_num * 512;\n\n request.len = nb_sectors * 512;\n\n\n\n nbd_coroutine_start(client, &request);\n\n ret = nbd_co_send_request(client, &request, NULL, 0);\n\n if (ret < 0) {\n\n reply.error = -ret;\n\n } else {\n\n nbd_co_receive_reply(client, &request, &reply, qiov, offset);\n\n }\n\n nbd_coroutine_end(client, &request);\n\n return -reply.error;\n\n\n\n}\n", "idx": 12257}