|
866 | 866 | "html": "<p>If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videodecoderconfig-colorspace\" id=\"ref-for-dom-videodecoderconfig-colorspace①\">colorSpace</a></code> <a data-link-type=\"dfn\" href=\"https://infra.spec.whatwg.org/#map-exists\" id=\"ref-for-map-exists①\">exists</a> in the <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videodecoder-active-decoder-config-slot\" id=\"ref-for-dom-videodecoder-active-decoder-config-slot②\">[[active decoder config]]</a></code>, assign its value to <var>colorSpace</var>.</p>" |
867 | 867 | }, |
868 | 868 | { |
869 | | - "html": "<p>Let <var>frame</var> be the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#create-a-videoframe\" id=\"ref-for-create-a-videoframe\">Create a VideoFrame</a> algorithm with <var>output</var>, <var>timestamp</var>, <var>duration</var>, <var>displayAspectWidth</var>, <var>displayAspectHeight</var>, and <var>colorSpace</var>.</p>" |
| 869 | + "html": "<p>Assign the values of <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videodecoderconfig-rotation\" id=\"ref-for-dom-videodecoderconfig-rotation\">rotation</a></code> and <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videodecoderconfig-flip\" id=\"ref-for-dom-videodecoderconfig-flip\">flip</a></code> to <var>rotation</var> and <var>flip</var> respectively.</p>" |
| 870 | + }, |
| 871 | + { |
| 872 | + "html": "<p>Let <var>frame</var> be the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#create-a-videoframe\" id=\"ref-for-create-a-videoframe\">Create a VideoFrame</a> algorithm with <var>output</var>, <var>timestamp</var>, <var>duration</var>, <var>displayAspectWidth</var>, <var>displayAspectHeight</var>, <var>colorSpace</var>, <var>rotation</var>, and <var>flip</var>.</p>" |
870 | 873 | }, |
871 | 874 | { |
872 | 875 | "html": "<p>Invoke <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videodecoder-output-callback-slot\" id=\"ref-for-dom-videodecoder-output-callback-slot①\">[[output callback]]</a></code> with <var>frame</var>.</p>" |
|
3219 | 3222 | }, |
3220 | 3223 | { |
3221 | 3224 | "html": "<p>Assign <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videoframe-color-space-slot\" id=\"ref-for-dom-videoframe-color-space-slot②\">[[color space]]</a></code> with the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#videoframe-pick-color-space\" id=\"ref-for-videoframe-pick-color-space①\">Pick Color Space</a> algorithm, with <var>colorSpace</var> and <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videoframe-format-slot\" id=\"ref-for-dom-videoframe-format-slot⑨\">[[format]]</a></code>.</p>" |
| 3225 | + }, |
| 3226 | + { |
| 3227 | + "html": "<p>Assign <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videoframe-rotation\" id=\"ref-for-dom-videoframe-rotation③\">rotation</a></code> and <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-videoframe-flip\" id=\"ref-for-dom-videoframe-flip③\">flip</a></code> to <var>rotation</var> and <var>flip</var> respectively.</p>" |
3222 | 3228 | } |
3223 | 3229 | ] |
3224 | 3230 | }, |
|
4644 | 4650 | ] |
4645 | 4651 | }, |
4646 | 4652 | { |
4647 | | - "html": "<p>Assign <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoderesult-image\" id=\"ref-for-dom-imagedecoderesult-image\">image</a></code> with the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#create-a-videoframe\" id=\"ref-for-create-a-videoframe②\">Create a VideoFrame</a> algorithm with <var>output</var>, <var>timestamp</var>, and <var>duration</var>.</p>" |
| 4653 | + "html": "<p>If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot①⑦\">[[encoded data]]</a></code> contains orientation metadata\ndescribe it as <var>rotation</var> and <var>flip</var>, otherwise set <var>rotation</var> to 0\nand <var>flip</var> to false.</p>" |
| 4654 | + }, |
| 4655 | + { |
| 4656 | + "html": "<p>Assign <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoderesult-image\" id=\"ref-for-dom-imagedecoderesult-image\">image</a></code> with the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#create-a-videoframe\" id=\"ref-for-create-a-videoframe②\">Create a VideoFrame</a> algorithm with <var>output</var>, <var>timestamp</var>, <var>duration</var>, <var>rotation</var>, and <var>flip</var>.</p>" |
4648 | 4657 | } |
4649 | 4658 | ] |
4650 | 4659 | }, |
|
4679 | 4688 | "rationale": "complete", |
4680 | 4689 | "steps": [ |
4681 | 4690 | { |
4682 | | - "html": "<p><code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot①⑦\">[[encoded data]]</a></code> contains enough bytes to decode <var>encodedFrame</var> to produce an output whose <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#progressive-image-frame-generation\" id=\"ref-for-progressive-image-frame-generation①\">Progressive Image Frame Generation</a> exceeds <var>lastFrameGeneration</var>.</p>" |
| 4691 | + "html": "<p><code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot①⑧\">[[encoded data]]</a></code> contains enough bytes to decode <var>encodedFrame</var> to produce an output whose <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#progressive-image-frame-generation\" id=\"ref-for-progressive-image-frame-generation①\">Progressive Image Frame Generation</a> exceeds <var>lastFrameGeneration</var>.</p>" |
4683 | 4692 | }, |
4684 | 4693 | { |
4685 | | - "html": "<p><code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot①⑧\">[[encoded data]]</a></code> is found to be malformed.</p>" |
| 4694 | + "html": "<p><code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot①⑨\">[[encoded data]]</a></code> is found to be malformed.</p>" |
4686 | 4695 | }, |
4687 | 4696 | { |
4688 | 4697 | "html": "<p><code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-complete\" id=\"ref-for-dom-imagedecoder-complete⑤\">complete</a></code> is <code>true</code>.</p>" |
|
4693 | 4702 | ] |
4694 | 4703 | }, |
4695 | 4704 | { |
4696 | | - "html": "<p>If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot①⑨\">[[encoded data]]</a></code> is found to be malformed, run the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#imagedecoder-fatally-reject-bad-data\" id=\"ref-for-imagedecoder-fatally-reject-bad-data②\">Fatally Reject Bad Data</a> algorithm and abort these\nsteps.</p>" |
| 4705 | + "html": "<p>If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot②⓪\">[[encoded data]]</a></code> is found to be malformed, run the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#imagedecoder-fatally-reject-bad-data\" id=\"ref-for-imagedecoder-fatally-reject-bad-data②\">Fatally Reject Bad Data</a> algorithm and abort these\nsteps.</p>" |
4697 | 4706 | }, |
4698 | 4707 | { |
4699 | | - "html": "<p>Otherwise, if <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot②⓪\">[[encoded data]]</a></code> does not contain enough\nbytes to decode <var>encodedFrame</var> to produce an output whose <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#progressive-image-frame-generation\" id=\"ref-for-progressive-image-frame-generation②\">Progressive Image Frame Generation</a> exceeds <var>lastFrameGeneration</var>,\nrun the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#imagedecoder-reject-infeasible-decode\" id=\"ref-for-imagedecoder-reject-infeasible-decode①\">Reject Infeasible Decode</a> algorithm with <var>promise</var> and abort these steps.</p>" |
| 4708 | + "html": "<p>Otherwise, if <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot②①\">[[encoded data]]</a></code> does not contain enough\nbytes to decode <var>encodedFrame</var> to produce an output whose <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#progressive-image-frame-generation\" id=\"ref-for-progressive-image-frame-generation②\">Progressive Image Frame Generation</a> exceeds <var>lastFrameGeneration</var>,\nrun the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#imagedecoder-reject-infeasible-decode\" id=\"ref-for-imagedecoder-reject-infeasible-decode①\">Reject Infeasible Decode</a> algorithm with <var>promise</var> and abort these steps.</p>" |
4700 | 4709 | }, |
4701 | 4710 | { |
4702 | 4711 | "html": "<p>Attempt to use <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-codec-implementation-slot\" id=\"ref-for-dom-imagedecoder-codec-implementation-slot⑥\">[[codec implementation]]</a></code> to decode <var>encodedFrame</var>.</p>" |
|
4759 | 4768 | ] |
4760 | 4769 | }, |
4761 | 4770 | { |
4762 | | - "html": "<p>Assign <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoderesult-image\" id=\"ref-for-dom-imagedecoderesult-image①\">image</a></code> with the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#create-a-videoframe\" id=\"ref-for-create-a-videoframe③\">Create a VideoFrame</a> algorithm with <var>output</var>, <var>timestamp</var>, and <var>duration</var>.</p>" |
| 4771 | + "html": "<p>If <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-encoded-data-slot\" id=\"ref-for-dom-imagedecoder-encoded-data-slot②②\">[[encoded data]]</a></code> contains orientation metadata\ndescribe it as <var>rotation</var> and <var>flip</var>, otherwise set <var>rotation</var> to 0\nand <var>flip</var> to false.</p>" |
| 4772 | + }, |
| 4773 | + { |
| 4774 | + "html": "<p>Assign <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoderesult-image\" id=\"ref-for-dom-imagedecoderesult-image①\">image</a></code> with the result of running the <a data-link-type=\"dfn\" href=\"https://www.w3.org/TR/webcodecs/#create-a-videoframe\" id=\"ref-for-create-a-videoframe③\">Create a VideoFrame</a> algorithm with <var>output</var>, <var>timestamp</var>, <var>duration</var>, <var>rotation</var>, and <var>flip</var>.</p>" |
4763 | 4775 | }, |
4764 | 4776 | { |
4765 | 4777 | "html": "<p>Remove <var>promise</var> from <code class=\"idl\"><a data-link-type=\"idl\" href=\"https://www.w3.org/TR/webcodecs/#dom-imagedecoder-pending-decode-promises-slot\" id=\"ref-for-dom-imagedecoder-pending-decode-promises-slot②\">[[pending decode promises]]</a></code>.</p>" |
|
0 commit comments