X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Finclude%2Fpipe%2Fp_video_codec.h;h=196d00bc546bac6e082231a41a09d8f5036c22fd;hb=7c9161521a38bc52a69b1fd26d55d7666476ed57;hp=17f680476489526ca20f06aa68b9ccca93e58282;hpb=f2f7064e560a83fc78d0e5b1d3a7d4aaac119a49;p=mesa.git diff --git a/src/gallium/include/pipe/p_video_codec.h b/src/gallium/include/pipe/p_video_codec.h index 17f68047648..196d00bc546 100644 --- a/src/gallium/include/pipe/p_video_codec.h +++ b/src/gallium/include/pipe/p_video_codec.h @@ -18,7 +18,7 @@ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR + * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -48,6 +48,7 @@ struct pipe_video_codec struct pipe_context *context; enum pipe_video_profile profile; + unsigned level; enum pipe_video_entrypoint entrypoint; enum pipe_video_chroma_format chroma_format; unsigned width; @@ -86,6 +87,14 @@ struct pipe_video_codec const void * const *buffers, const unsigned *sizes); + /** + * encode to a bitstream + */ + void (*encode_bitstream)(struct pipe_video_codec *codec, + struct pipe_video_buffer *source, + struct pipe_resource *destination, + void **feedback); + /** * end decoding of the current frame */ @@ -98,6 +107,11 @@ struct pipe_video_codec * should be called before a video_buffer is acessed by the state tracker again */ void (*flush)(struct pipe_video_codec *codec); + + /** + * get encoder feedback + */ + void (*get_feedback)(struct pipe_video_codec *codec, void *feedback, unsigned *size); }; /**