ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/CV/CV.xs
(Generate patch)

Comparing CV/CV.xs (file contents):
Revision 1.63 by root, Sun Nov 28 23:26:51 2021 UTC vs.
Revision 1.65 by root, Thu Dec 2 03:11:45 2021 UTC

589 JxlBasicInfo info; 589 JxlBasicInfo info;
590 const uint8_t *next_in = (uint8_t *)SvPVbyte_nolen (image_data); 590 const uint8_t *next_in = (uint8_t *)SvPVbyte_nolen (image_data);
591 size_t avail_in = SvCUR (image_data); 591 size_t avail_in = SvCUR (image_data);
592 const char *error = 0; 592 const char *error = 0;
593 JxlDecoderStatus status; 593 JxlDecoderStatus status;
594 static void *runner_cache;
594 void *runner = 0; 595 void *runner = 0;
595 struct bmff_box box;
596 596
597 RETVAL = 0; 597 RETVAL = 0;
598
599 if (runner_cache)
600 runner = runner_cache;
601 else
602 runner = JxlThreadParallelRunnerCreate (0, JxlThreadParallelRunnerDefaultNumWorkerThreads ());
603
604 runner_cache = 0;
598 605
599 perlinterp_release (); 606 perlinterp_release ();
600 607
601 dec = JxlDecoderCreate (0); 608 dec = JxlDecoderCreate (0);
602 609
603 error = "JxlDecoderCreate failed"; 610 error = "JxlDecoderCreate failed";
604 if (!dec) 611 if (!dec)
605 goto done; 612 goto done;
606
607 runner = JxlThreadParallelRunnerCreate (0, JxlThreadParallelRunnerDefaultNumWorkerThreads ());
608 613
609 status = JxlDecoderSetParallelRunner (dec, JxlThreadParallelRunner, runner); 614 status = JxlDecoderSetParallelRunner (dec, JxlThreadParallelRunner, runner);
610 error = "JxlDecoderSetParallelRunner failed"; 615 error = "JxlDecoderSetParallelRunner failed";
611 if (status != JXL_DEC_SUCCESS) 616 if (status != JXL_DEC_SUCCESS)
612 goto done; 617 goto done;
688 693
689 done: 694 done:
690 if (dec) 695 if (dec)
691 JxlDecoderDestroy (dec); 696 JxlDecoderDestroy (dec);
692 697
698 perlinterp_acquire ();
699
693 if (runner) 700 if (runner_cache)
694 JxlThreadParallelRunnerDestroy (runner); 701 JxlThreadParallelRunnerDestroy (runner);
695 702
696 perlinterp_acquire (); 703 runner_cache = runner;
697 704
698 if (error) 705 if (error)
699 { 706 {
700 if (RETVAL) 707 if (RETVAL)
701 g_object_unref (RETVAL); 708 g_object_unref (RETVAL);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines