* 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.
boolean
vl_video_buffer_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
- enum pipe_video_profile profile)
+ enum pipe_video_profile profile,
+ enum pipe_video_entrypoint entrypoint)
{
const enum pipe_format *resource_formats;
unsigned i;
void
vl_video_buffer_set_associated_data(struct pipe_video_buffer *vbuf,
- struct pipe_video_decoder *vdec,
+ struct pipe_video_codec *vcodec,
void *associated_data,
void (*destroy_associated_data)(void *))
{
- vbuf->decoder = vdec;
+ vbuf->codec = vcodec;
if (vbuf->associated_data == associated_data)
return;
void *
vl_video_buffer_get_associated_data(struct pipe_video_buffer *vbuf,
- struct pipe_video_decoder *vdec)
+ struct pipe_video_codec *vcodec)
{
- if (vbuf->decoder == vdec)
+ if (vbuf->codec == vcodec)
return vbuf->associated_data;
else
return NULL;
templ->width0 /= 2;
templ->height0 /= 2;
} else if (tmpl->chroma_format == PIPE_VIDEO_CHROMA_FORMAT_422) {
- templ->height0 /= 2;
+ templ->width0 /= 2;
}
}
}
pipe_resource_reference(&buf->resources[i], NULL);
}
- for (i = 0; i < VL_NUM_COMPONENTS * 2; ++i)
+ for (i = 0; i < VL_MAX_SURFACES; ++i)
pipe_surface_reference(&buf->surfaces[i], NULL);
vl_video_buffer_set_associated_data(buffer, NULL, NULL, NULL);
array_size = buffer->interlaced ? 2 : 1;
for (i = 0, surf = 0; i < VL_NUM_COMPONENTS; ++i) {
for (j = 0; j < array_size; ++j, ++surf) {
- assert(surf < (VL_NUM_COMPONENTS * 2));
+ assert(surf < VL_MAX_SURFACES);
if (!buf->resources[i]) {
pipe_surface_reference(&buf->surfaces[surf], NULL);
return buf->surfaces;
error:
- for (i = 0; i < (VL_NUM_COMPONENTS * 2); ++i )
+ for (i = 0; i < VL_MAX_SURFACES; ++i )
pipe_surface_reference(&buf->surfaces[i], NULL);
return NULL;
(
pipe->screen,
PIPE_VIDEO_PROFILE_UNKNOWN,
+ PIPE_VIDEO_ENTRYPOINT_UNKNOWN,
PIPE_VIDEO_CAP_NPOT_TEXTURES
);
unsigned i;
buffer = CALLOC_STRUCT(vl_video_buffer);
+ if (!buffer)
+ return NULL;
buffer->base = *tmpl;
buffer->base.context = pipe;