[Mesa-dev] [PATCH 3/5] vl: rename pipe_video_decoder to pipe_video_codec
Christian König
deathsimple at vodafone.de
Fri Aug 16 02:08:02 PDT 2013
From: Christian König <christian.koenig at amd.com>
Signed-off-by: Christian König <christian.koenig at amd.com>
---
src/gallium/auxiliary/vl/vl_compositor.h | 2 +-
src/gallium/auxiliary/vl/vl_decoder.c | 8 +-
src/gallium/auxiliary/vl/vl_decoder.h | 8 +-
src/gallium/auxiliary/vl/vl_mpeg12_bitstream.c | 4 +-
src/gallium/auxiliary/vl/vl_mpeg12_bitstream.h | 4 +-
src/gallium/auxiliary/vl/vl_mpeg12_decoder.c | 16 +--
src/gallium/auxiliary/vl/vl_mpeg12_decoder.h | 8 +-
src/gallium/auxiliary/vl/vl_video_buffer.c | 8 +-
src/gallium/auxiliary/vl/vl_video_buffer.h | 6 +-
src/gallium/drivers/ilo/ilo_video.c | 6 +-
src/gallium/drivers/nouveau/nouveau_video.c | 20 +--
src/gallium/drivers/nouveau/nouveau_video.h | 2 +-
src/gallium/drivers/nouveau/nouveau_vp3_video.c | 10 +-
src/gallium/drivers/nouveau/nouveau_vp3_video.h | 4 +-
src/gallium/drivers/nv50/nv50_context.c | 4 +-
src/gallium/drivers/nv50/nv50_context.h | 8 +-
src/gallium/drivers/nv50/nv84_video.c | 22 +--
src/gallium/drivers/nv50/nv84_video.h | 2 +-
src/gallium/drivers/nv50/nv98_video.c | 6 +-
src/gallium/drivers/nvc0/nvc0_context.c | 2 +-
src/gallium/drivers/nvc0/nvc0_context.h | 4 +-
src/gallium/drivers/nvc0/nvc0_video.c | 6 +-
src/gallium/drivers/r300/r300_context.c | 2 +-
src/gallium/drivers/r600/r600_pipe.c | 4 +-
src/gallium/drivers/r600/r600_pipe.h | 4 +-
src/gallium/drivers/r600/r600_uvd.c | 6 +-
src/gallium/drivers/radeon/radeon_uvd.c | 26 ++--
src/gallium/drivers/radeon/radeon_uvd.h | 8 +-
src/gallium/drivers/radeonsi/radeonsi_pipe.c | 4 +-
src/gallium/drivers/radeonsi/radeonsi_pipe.h | 4 +-
src/gallium/drivers/radeonsi/radeonsi_uvd.c | 6 +-
src/gallium/drivers/softpipe/sp_context.c | 2 +-
src/gallium/include/pipe/p_context.h | 8 +-
src/gallium/include/pipe/p_video_codec.h | 156 ++++++++++++++++++++++
src/gallium/include/pipe/p_video_decoder.h | 156 ----------------------
src/gallium/state_trackers/vdpau/decode.c | 6 +-
src/gallium/state_trackers/vdpau/vdpau_private.h | 4 +-
src/gallium/state_trackers/xvmc/context.c | 6 +-
src/gallium/state_trackers/xvmc/subpicture.c | 2 +-
src/gallium/state_trackers/xvmc/surface.c | 4 +-
src/gallium/state_trackers/xvmc/xvmc_private.h | 4 +-
41 files changed, 286 insertions(+), 286 deletions(-)
create mode 100644 src/gallium/include/pipe/p_video_codec.h
delete mode 100644 src/gallium/include/pipe/p_video_decoder.h
diff --git a/src/gallium/auxiliary/vl/vl_compositor.h b/src/gallium/auxiliary/vl/vl_compositor.h
index 2a1f66c..8e01901 100644
--- a/src/gallium/auxiliary/vl/vl_compositor.h
+++ b/src/gallium/auxiliary/vl/vl_compositor.h
@@ -29,7 +29,7 @@
#define vl_compositor_h
#include "pipe/p_state.h"
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "pipe/p_video_state.h"
#include "util/u_rect.h"
diff --git a/src/gallium/auxiliary/vl/vl_decoder.c b/src/gallium/auxiliary/vl/vl_decoder.c
index 60e0ce9..f19834f 100644
--- a/src/gallium/auxiliary/vl/vl_decoder.c
+++ b/src/gallium/auxiliary/vl/vl_decoder.c
@@ -25,7 +25,7 @@
*
**************************************************************************/
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "util/u_video.h"
@@ -59,12 +59,12 @@ vl_level_supported(struct pipe_screen *screen, enum pipe_video_profile profile)
}
}
-struct pipe_video_decoder *
+struct pipe_video_codec *
vl_create_decoder(struct pipe_context *pipe,
- const struct pipe_video_decoder *templat)
+ const struct pipe_video_codec *templat)
{
unsigned width = templat->width, height = templat->height;
- struct pipe_video_decoder temp;
+ struct pipe_video_codec temp;
bool pot_buffers;
assert(pipe);
diff --git a/src/gallium/auxiliary/vl/vl_decoder.h b/src/gallium/auxiliary/vl/vl_decoder.h
index 64a1b14..124315f 100644
--- a/src/gallium/auxiliary/vl/vl_decoder.h
+++ b/src/gallium/auxiliary/vl/vl_decoder.h
@@ -29,7 +29,7 @@
#ifndef vl_decoder_h
#define vl_decoder_h
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
/**
* check if a given profile is supported with shader based decoding
@@ -44,10 +44,10 @@ int
vl_level_supported(struct pipe_screen *screen, enum pipe_video_profile profile);
/**
- * standard implementation of pipe->create_video_decoder
+ * standard implementation of pipe->create_video_codec
*/
-struct pipe_video_decoder *
+struct pipe_video_codec *
vl_create_decoder(struct pipe_context *pipe,
- const struct pipe_video_decoder *templat);
+ const struct pipe_video_codec *templat);
#endif /* vl_decoder_h */
diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.c b/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.c
index d8c5311..cfa5eab 100644
--- a/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.c
+++ b/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.c
@@ -26,7 +26,7 @@
*
**************************************************************************/
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "util/u_memory.h"
#include "vl_vlc.h"
@@ -965,7 +965,7 @@ decode_slice(struct vl_mpg12_bs *bs, struct pipe_video_buffer *target)
}
void
-vl_mpg12_bs_init(struct vl_mpg12_bs *bs, struct pipe_video_decoder *decoder)
+vl_mpg12_bs_init(struct vl_mpg12_bs *bs, struct pipe_video_codec *decoder)
{
static bool tables_initialized = false;
diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.h b/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.h
index 0a34814..ffbe11f 100644
--- a/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.h
+++ b/src/gallium/auxiliary/vl/vl_mpeg12_bitstream.h
@@ -33,7 +33,7 @@
struct vl_mpg12_bs
{
- struct pipe_video_decoder *decoder;
+ struct pipe_video_codec *decoder;
struct pipe_mpeg12_picture_desc *desc;
struct dct_coeff *intra_dct_tbl;
@@ -43,7 +43,7 @@ struct vl_mpg12_bs
};
void
-vl_mpg12_bs_init(struct vl_mpg12_bs *bs, struct pipe_video_decoder *decoder);
+vl_mpg12_bs_init(struct vl_mpg12_bs *bs, struct pipe_video_codec *decoder);
void
vl_mpg12_bs_decode(struct vl_mpg12_bs *bs,
diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c
index 9349b5e..b60b22f 100644
--- a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c
+++ b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c
@@ -399,7 +399,7 @@ vl_mpeg12_destroy_buffer(void *buffer)
}
static void
-vl_mpeg12_destroy(struct pipe_video_decoder *decoder)
+vl_mpeg12_destroy(struct pipe_video_codec *decoder)
{
struct vl_mpeg12_decoder *dec = (struct vl_mpeg12_decoder*)decoder;
unsigned i;
@@ -503,7 +503,7 @@ error_vertex_buffer:
}
static void
-vl_mpeg12_begin_frame(struct pipe_video_decoder *decoder,
+vl_mpeg12_begin_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
@@ -568,7 +568,7 @@ vl_mpeg12_begin_frame(struct pipe_video_decoder *decoder,
}
static void
-vl_mpeg12_decode_macroblock(struct pipe_video_decoder *decoder,
+vl_mpeg12_decode_macroblock(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture,
const struct pipe_macroblock *macroblocks,
@@ -638,7 +638,7 @@ vl_mpeg12_decode_macroblock(struct pipe_video_decoder *decoder,
}
static void
-vl_mpeg12_decode_bitstream(struct pipe_video_decoder *decoder,
+vl_mpeg12_decode_bitstream(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture,
unsigned num_buffers,
@@ -664,7 +664,7 @@ vl_mpeg12_decode_bitstream(struct pipe_video_decoder *decoder,
}
static void
-vl_mpeg12_end_frame(struct pipe_video_decoder *decoder,
+vl_mpeg12_end_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
@@ -757,7 +757,7 @@ vl_mpeg12_end_frame(struct pipe_video_decoder *decoder,
}
static void
-vl_mpeg12_flush(struct pipe_video_decoder *decoder)
+vl_mpeg12_flush(struct pipe_video_codec *decoder)
{
assert(decoder);
@@ -1016,9 +1016,9 @@ mc_frag_shader_callback(void *priv, struct vl_mc *mc,
}
}
-struct pipe_video_decoder *
+struct pipe_video_codec *
vl_create_mpeg12_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templat)
+ const struct pipe_video_codec *templat)
{
const unsigned block_size_pixels = VL_BLOCK_WIDTH * VL_BLOCK_HEIGHT;
const struct format_config *format_config;
diff --git a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.h b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.h
index dd284ee..c7fe5e6 100644
--- a/src/gallium/auxiliary/vl/vl_mpeg12_decoder.h
+++ b/src/gallium/auxiliary/vl/vl_mpeg12_decoder.h
@@ -28,7 +28,7 @@
#ifndef vl_mpeg12_decoder_h
#define vl_mpeg12_decoder_h
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "vl_mpeg12_bitstream.h"
#include "vl_zscan.h"
@@ -43,7 +43,7 @@ struct pipe_context;
struct vl_mpeg12_decoder
{
- struct pipe_video_decoder base;
+ struct pipe_video_codec base;
unsigned chroma_width, chroma_height;
@@ -102,8 +102,8 @@ struct vl_mpeg12_buffer
/**
* creates a shader based mpeg12 decoder
*/
-struct pipe_video_decoder *
+struct pipe_video_codec *
vl_create_mpeg12_decoder(struct pipe_context *pipe,
- const struct pipe_video_decoder *templat);
+ const struct pipe_video_codec *templat);
#endif /* vl_mpeg12_decoder_h */
diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.c b/src/gallium/auxiliary/vl/vl_video_buffer.c
index 6ef95e4..16c7649 100644
--- a/src/gallium/auxiliary/vl/vl_video_buffer.c
+++ b/src/gallium/auxiliary/vl/vl_video_buffer.c
@@ -186,11 +186,11 @@ vl_video_buffer_max_size(struct pipe_screen *screen)
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;
@@ -204,9 +204,9 @@ vl_video_buffer_set_associated_data(struct pipe_video_buffer *vbuf,
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;
diff --git a/src/gallium/auxiliary/vl/vl_video_buffer.h b/src/gallium/auxiliary/vl/vl_video_buffer.h
index 178f429..e92e270 100644
--- a/src/gallium/auxiliary/vl/vl_video_buffer.h
+++ b/src/gallium/auxiliary/vl/vl_video_buffer.h
@@ -29,7 +29,7 @@
#define vl_video_buffer_h
#include "pipe/p_context.h"
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "vl_defines.h"
@@ -80,7 +80,7 @@ vl_video_buffer_is_format_supported(struct pipe_screen *screen,
*/
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 *));
@@ -89,7 +89,7 @@ vl_video_buffer_set_associated_data(struct pipe_video_buffer *vbuf,
*/
void *
vl_video_buffer_get_associated_data(struct pipe_video_buffer *vbuf,
- struct pipe_video_decoder *vdec);
+ struct pipe_video_codec *vcodec);
/**
* fill a resource template for the given plane
diff --git a/src/gallium/drivers/ilo/ilo_video.c b/src/gallium/drivers/ilo/ilo_video.c
index 95305db..04be1da 100644
--- a/src/gallium/drivers/ilo/ilo_video.c
+++ b/src/gallium/drivers/ilo/ilo_video.c
@@ -35,9 +35,9 @@
* Nothing here. We could make use of the video codec engine someday.
*/
-static struct pipe_video_decoder *
+static struct pipe_video_codec *
ilo_create_video_decoder(struct pipe_context *pipe,
- const struct pipe_video_decoder *templ)
+ const struct pipe_video_codec *templ)
{
return vl_create_decoder(pipe, templ);
}
@@ -55,6 +55,6 @@ ilo_create_video_buffer(struct pipe_context *pipe,
void
ilo_init_video_functions(struct ilo_context *ilo)
{
- ilo->base.create_video_decoder = ilo_create_video_decoder;
+ ilo->base.create_video_codec = ilo_create_video_decoder;
ilo->base.create_video_buffer = ilo_create_video_buffer;
}
diff --git a/src/gallium/drivers/nouveau/nouveau_video.c b/src/gallium/drivers/nouveau/nouveau_video.c
index 9cf5e34..67b6739 100644
--- a/src/gallium/drivers/nouveau/nouveau_video.c
+++ b/src/gallium/drivers/nouveau/nouveau_video.c
@@ -403,14 +403,14 @@ nouveau_decoder_surface_index(struct nouveau_decoder *dec,
}
static void
-nouveau_decoder_begin_frame(struct pipe_video_decoder *decoder,
+nouveau_decoder_begin_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
}
static void
-nouveau_decoder_decode_macroblock(struct pipe_video_decoder *decoder,
+nouveau_decoder_decode_macroblock(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture,
const struct pipe_macroblock *pipe_mb,
@@ -457,14 +457,14 @@ nouveau_decoder_decode_macroblock(struct pipe_video_decoder *decoder,
}
static void
-nouveau_decoder_end_frame(struct pipe_video_decoder *decoder,
+nouveau_decoder_end_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
}
static void
-nouveau_decoder_flush(struct pipe_video_decoder *decoder)
+nouveau_decoder_flush(struct pipe_video_codec *decoder)
{
struct nouveau_decoder *dec = (struct nouveau_decoder *)decoder;
if (dec->ofs)
@@ -472,7 +472,7 @@ nouveau_decoder_flush(struct pipe_video_decoder *decoder)
}
static void
-nouveau_decoder_destroy(struct pipe_video_decoder *decoder)
+nouveau_decoder_destroy(struct pipe_video_codec *decoder)
{
struct nouveau_decoder *dec = (struct nouveau_decoder*)decoder;
@@ -497,9 +497,9 @@ nouveau_decoder_destroy(struct pipe_video_decoder *decoder)
FREE(dec);
}
-static struct pipe_video_decoder *
+static struct pipe_video_codec *
nouveau_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ,
+ const struct pipe_video_codec *templ,
struct nouveau_screen *screen)
{
struct nv04_fifo nv04_data = { .vram = 0xbeef0201, .gart = 0xbeef0202 };
@@ -867,9 +867,9 @@ nouveau_screen_init_vdec(struct nouveau_screen *screen)
screen->base.is_video_format_supported = vl_video_buffer_is_format_supported;
}
-static struct pipe_video_decoder *
+static struct pipe_video_codec *
nouveau_context_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ)
+ const struct pipe_video_codec *templ)
{
struct nouveau_screen *screen = nouveau_context(context)->screen;
return nouveau_create_decoder(context, templ, screen);
@@ -886,6 +886,6 @@ nouveau_context_video_buffer_create(struct pipe_context *pipe,
void
nouveau_context_init_vdec(struct nouveau_context *nv)
{
- nv->pipe.create_video_decoder = nouveau_context_create_decoder;
+ nv->pipe.create_video_codec = nouveau_context_create_decoder;
nv->pipe.create_video_buffer = nouveau_context_video_buffer_create;
}
diff --git a/src/gallium/drivers/nouveau/nouveau_video.h b/src/gallium/drivers/nouveau/nouveau_video.h
index be53758..08d48b3 100644
--- a/src/gallium/drivers/nouveau/nouveau_video.h
+++ b/src/gallium/drivers/nouveau/nouveau_video.h
@@ -17,7 +17,7 @@ struct nouveau_video_buffer {
};
struct nouveau_decoder {
- struct pipe_video_decoder base;
+ struct pipe_video_codec base;
struct nouveau_screen *screen;
struct nouveau_pushbuf *push;
struct nouveau_object *chan;
diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.c b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
index 611b455..be0e6b3 100644
--- a/src/gallium/drivers/nouveau/nouveau_vp3_video.c
+++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.c
@@ -169,26 +169,26 @@ error:
}
static void
-nouveau_vp3_decoder_flush(struct pipe_video_decoder *decoder)
+nouveau_vp3_decoder_flush(struct pipe_video_codec *decoder)
{
}
static void
-nouveau_vp3_decoder_begin_frame(struct pipe_video_decoder *decoder,
+nouveau_vp3_decoder_begin_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
}
static void
-nouveau_vp3_decoder_end_frame(struct pipe_video_decoder *decoder,
+nouveau_vp3_decoder_end_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
}
static void
-nouveau_vp3_decoder_destroy(struct pipe_video_decoder *decoder)
+nouveau_vp3_decoder_destroy(struct pipe_video_codec *decoder)
{
struct nouveau_vp3_decoder *dec = (struct nouveau_vp3_decoder *)decoder;
int i;
@@ -223,7 +223,7 @@ nouveau_vp3_decoder_destroy(struct pipe_video_decoder *decoder)
}
void
-nouveau_vp3_decoder_init_common(struct pipe_video_decoder *dec)
+nouveau_vp3_decoder_init_common(struct pipe_video_codec *dec)
{
dec->destroy = nouveau_vp3_decoder_destroy;
dec->flush = nouveau_vp3_decoder_flush;
diff --git a/src/gallium/drivers/nouveau/nouveau_vp3_video.h b/src/gallium/drivers/nouveau/nouveau_vp3_video.h
index 9af29cd..177f0a8 100644
--- a/src/gallium/drivers/nouveau/nouveau_vp3_video.h
+++ b/src/gallium/drivers/nouveau/nouveau_vp3_video.h
@@ -60,7 +60,7 @@ union pipe_desc {
};
struct nouveau_vp3_decoder {
- struct pipe_video_decoder base;
+ struct pipe_video_codec base;
struct nouveau_client *client;
struct nouveau_object *channel[3], *bsp, *vp, *ppp;
struct nouveau_pushbuf *pushbuf[3];
@@ -198,7 +198,7 @@ nouveau_vp3_video_buffer_create(struct pipe_context *pipe,
int flags);
void
-nouveau_vp3_decoder_init_common(struct pipe_video_decoder *decoder);
+nouveau_vp3_decoder_init_common(struct pipe_video_codec *decoder);
int
nouveau_vp3_load_firmware(struct nouveau_vp3_decoder *dec,
diff --git a/src/gallium/drivers/nv50/nv50_context.c b/src/gallium/drivers/nv50/nv50_context.c
index 0ed9d8f..d9de443 100644
--- a/src/gallium/drivers/nv50/nv50_context.c
+++ b/src/gallium/drivers/nv50/nv50_context.c
@@ -265,11 +265,11 @@ nv50_create(struct pipe_screen *pscreen, void *priv)
} else if (screen->base.device->chipset < 0x98 ||
screen->base.device->chipset == 0xa0) {
/* VP2 */
- pipe->create_video_decoder = nv84_create_decoder;
+ pipe->create_video_codec = nv84_create_decoder;
pipe->create_video_buffer = nv84_video_buffer_create;
} else {
/* VP3/4 */
- pipe->create_video_decoder = nv98_create_decoder;
+ pipe->create_video_codec = nv98_create_decoder;
pipe->create_video_buffer = nv98_video_buffer_create;
}
diff --git a/src/gallium/drivers/nv50/nv50_context.h b/src/gallium/drivers/nv50/nv50_context.h
index 3c24546..f89a551 100644
--- a/src/gallium/drivers/nv50/nv50_context.h
+++ b/src/gallium/drivers/nv50/nv50_context.h
@@ -290,9 +290,9 @@ void nv50_vertex_arrays_validate(struct nv50_context *nv50);
void nv50_push_vbo(struct nv50_context *, const struct pipe_draw_info *);
/* nv84_video.c */
-struct pipe_video_decoder *
+struct pipe_video_codec *
nv84_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ);
+ const struct pipe_video_codec *templ);
struct pipe_video_buffer *
nv84_video_buffer_create(struct pipe_context *pipe,
@@ -309,9 +309,9 @@ nv84_screen_video_supported(struct pipe_screen *screen,
enum pipe_video_profile profile);
/* nv98_video.c */
-struct pipe_video_decoder *
+struct pipe_video_codec *
nv98_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ);
+ const struct pipe_video_codec *templ);
struct pipe_video_buffer *
nv98_video_buffer_create(struct pipe_context *pipe,
diff --git a/src/gallium/drivers/nv50/nv84_video.c b/src/gallium/drivers/nv50/nv84_video.c
index 13dc18d..60999a6 100644
--- a/src/gallium/drivers/nv50/nv84_video.c
+++ b/src/gallium/drivers/nv50/nv84_video.c
@@ -121,7 +121,7 @@ nv84_load_vp_firmware_mpeg(struct nouveau_device *dev, struct nv84_decoder *dec)
}
static void
-nv84_decoder_decode_bitstream_h264(struct pipe_video_decoder *decoder,
+nv84_decoder_decode_bitstream_h264(struct pipe_video_codec *decoder,
struct pipe_video_buffer *video_target,
struct pipe_picture_desc *picture,
unsigned num_buffers,
@@ -140,26 +140,26 @@ nv84_decoder_decode_bitstream_h264(struct pipe_video_decoder *decoder,
}
static void
-nv84_decoder_flush(struct pipe_video_decoder *decoder)
+nv84_decoder_flush(struct pipe_video_codec *decoder)
{
}
static void
-nv84_decoder_begin_frame_h264(struct pipe_video_decoder *decoder,
+nv84_decoder_begin_frame_h264(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
}
static void
-nv84_decoder_end_frame_h264(struct pipe_video_decoder *decoder,
+nv84_decoder_end_frame_h264(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
}
static void
-nv84_decoder_decode_bitstream_mpeg12(struct pipe_video_decoder *decoder,
+nv84_decoder_decode_bitstream_mpeg12(struct pipe_video_codec *decoder,
struct pipe_video_buffer *video_target,
struct pipe_picture_desc *picture,
unsigned num_buffers,
@@ -179,7 +179,7 @@ nv84_decoder_decode_bitstream_mpeg12(struct pipe_video_decoder *decoder,
}
static void
-nv84_decoder_begin_frame_mpeg12(struct pipe_video_decoder *decoder,
+nv84_decoder_begin_frame_mpeg12(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
@@ -202,7 +202,7 @@ nv84_decoder_begin_frame_mpeg12(struct pipe_video_decoder *decoder,
}
static void
-nv84_decoder_end_frame_mpeg12(struct pipe_video_decoder *decoder,
+nv84_decoder_end_frame_mpeg12(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
@@ -213,7 +213,7 @@ nv84_decoder_end_frame_mpeg12(struct pipe_video_decoder *decoder,
}
static void
-nv84_decoder_decode_macroblock(struct pipe_video_decoder *decoder,
+nv84_decoder_decode_macroblock(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture,
const struct pipe_macroblock *macroblocks,
@@ -229,7 +229,7 @@ nv84_decoder_decode_macroblock(struct pipe_video_decoder *decoder,
}
static void
-nv84_decoder_destroy(struct pipe_video_decoder *decoder)
+nv84_decoder_destroy(struct pipe_video_codec *decoder)
{
struct nv84_decoder *dec = (struct nv84_decoder *)decoder;
@@ -261,9 +261,9 @@ nv84_decoder_destroy(struct pipe_video_decoder *decoder)
FREE(dec);
}
-struct pipe_video_decoder *
+struct pipe_video_codec *
nv84_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ)
+ const struct pipe_video_codec *templ)
{
struct nv50_context *nv50 = (struct nv50_context *)context;
struct nouveau_screen *screen = &nv50->screen->base;
diff --git a/src/gallium/drivers/nv50/nv84_video.h b/src/gallium/drivers/nv50/nv84_video.h
index 4240cef..b43fe96 100644
--- a/src/gallium/drivers/nv50/nv84_video.h
+++ b/src/gallium/drivers/nv50/nv84_video.h
@@ -58,7 +58,7 @@ struct nv84_video_buffer {
};
struct nv84_decoder {
- struct pipe_video_decoder base;
+ struct pipe_video_codec base;
struct nouveau_client *client;
struct nouveau_object *bsp_channel, *vp_channel, *bsp, *vp;
struct nouveau_pushbuf *bsp_pushbuf, *vp_pushbuf;
diff --git a/src/gallium/drivers/nv50/nv98_video.c b/src/gallium/drivers/nv50/nv98_video.c
index 541cd72..0fa3a62 100644
--- a/src/gallium/drivers/nv50/nv98_video.c
+++ b/src/gallium/drivers/nv50/nv98_video.c
@@ -26,7 +26,7 @@
#include "util/u_format.h"
static void
-nv98_decoder_decode_bitstream(struct pipe_video_decoder *decoder,
+nv98_decoder_decode_bitstream(struct pipe_video_codec *decoder,
struct pipe_video_buffer *video_target,
struct pipe_picture_desc *picture,
unsigned num_buffers,
@@ -56,9 +56,9 @@ nv98_decoder_decode_bitstream(struct pipe_video_decoder *decoder,
nv98_decoder_ppp(dec, desc, target, comm_seq);
}
-struct pipe_video_decoder *
+struct pipe_video_codec *
nv98_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ)
+ const struct pipe_video_codec *templ)
{
struct nouveau_screen *screen = &((struct nv50_context *)context)->screen->base;
struct nouveau_vp3_decoder *dec;
diff --git a/src/gallium/drivers/nvc0/nvc0_context.c b/src/gallium/drivers/nvc0/nvc0_context.c
index 5da491f..bf0c204 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nvc0/nvc0_context.c
@@ -286,7 +286,7 @@ nvc0_create(struct pipe_screen *pscreen, void *priv)
draw_set_rasterize_stage(nvc0->draw, nvc0_draw_render_stage(nvc0));
#endif
- pipe->create_video_decoder = nvc0_create_decoder;
+ pipe->create_video_codec = nvc0_create_decoder;
pipe->create_video_buffer = nvc0_video_buffer_create;
/* shader builtin library is per-screen, but we need a context for m2mf */
diff --git a/src/gallium/drivers/nvc0/nvc0_context.h b/src/gallium/drivers/nvc0/nvc0_context.h
index d976de6..2c84cdf 100644
--- a/src/gallium/drivers/nvc0/nvc0_context.h
+++ b/src/gallium/drivers/nvc0/nvc0_context.h
@@ -333,9 +333,9 @@ void nvc0_vertex_arrays_validate(struct nvc0_context *);
void nvc0_idxbuf_validate(struct nvc0_context *);
/* nvc0_video.c */
-struct pipe_video_decoder *
+struct pipe_video_codec *
nvc0_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ);
+ const struct pipe_video_codec *templ);
struct pipe_video_buffer *
nvc0_video_buffer_create(struct pipe_context *pipe,
diff --git a/src/gallium/drivers/nvc0/nvc0_video.c b/src/gallium/drivers/nvc0/nvc0_video.c
index e913126..f3a301e 100644
--- a/src/gallium/drivers/nvc0/nvc0_video.c
+++ b/src/gallium/drivers/nvc0/nvc0_video.c
@@ -26,7 +26,7 @@
#include "util/u_format.h"
static void
-nvc0_decoder_decode_bitstream(struct pipe_video_decoder *decoder,
+nvc0_decoder_decode_bitstream(struct pipe_video_codec *decoder,
struct pipe_video_buffer *video_target,
struct pipe_picture_desc *picture,
unsigned num_buffers,
@@ -56,9 +56,9 @@ nvc0_decoder_decode_bitstream(struct pipe_video_decoder *decoder,
nvc0_decoder_ppp(dec, desc, target, comm_seq);
}
-struct pipe_video_decoder *
+struct pipe_video_codec *
nvc0_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ)
+ const struct pipe_video_codec *templ)
{
struct nouveau_screen *screen = &((struct nvc0_context *)context)->screen->base;
struct nouveau_vp3_decoder *dec;
diff --git a/src/gallium/drivers/r300/r300_context.c b/src/gallium/drivers/r300/r300_context.c
index a808eb9..5627aaf 100644
--- a/src/gallium/drivers/r300/r300_context.c
+++ b/src/gallium/drivers/r300/r300_context.c
@@ -409,7 +409,7 @@ struct pipe_context* r300_create_context(struct pipe_screen* screen,
r300_init_render_functions(r300);
r300_init_states(&r300->context);
- r300->context.create_video_decoder = vl_create_decoder;
+ r300->context.create_video_codec = vl_create_decoder;
r300->context.create_video_buffer = vl_video_buffer_create;
r300->uploader = u_upload_create(&r300->context, 256 * 1024, 4,
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c
index e5aa55e..c8fb547 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -400,10 +400,10 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
r600_init_surface_functions(rctx);
if (rscreen->info.has_uvd) {
- rctx->context.create_video_decoder = r600_uvd_create_decoder;
+ rctx->context.create_video_codec = r600_uvd_create_decoder;
rctx->context.create_video_buffer = r600_video_buffer_create;
} else {
- rctx->context.create_video_decoder = vl_create_decoder;
+ rctx->context.create_video_codec = vl_create_decoder;
rctx->context.create_video_buffer = vl_video_buffer_create;
}
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index eaef920..743f9ab 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -890,8 +890,8 @@ unsigned r600_tex_compare(unsigned compare);
bool sampler_state_needs_border_color(const struct pipe_sampler_state *state);
/* r600_uvd.c */
-struct pipe_video_decoder *r600_uvd_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *decoder);
+struct pipe_video_codec *r600_uvd_create_decoder(struct pipe_context *context,
+ const struct pipe_video_codec *decoder);
struct pipe_video_buffer *r600_video_buffer_create(struct pipe_context *pipe,
const struct pipe_video_buffer *tmpl);
diff --git a/src/gallium/drivers/r600/r600_uvd.c b/src/gallium/drivers/r600/r600_uvd.c
index 2887905..8fb5861 100644
--- a/src/gallium/drivers/r600/r600_uvd.c
+++ b/src/gallium/drivers/r600/r600_uvd.c
@@ -36,7 +36,7 @@
#include <errno.h>
#include <unistd.h>
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "util/u_memory.h"
#include "util/u_video.h"
@@ -164,8 +164,8 @@ static struct radeon_winsys_cs_handle* r600_uvd_set_dtb(struct ruvd_msg *msg, st
}
/* create decoder */
-struct pipe_video_decoder *r600_uvd_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templat)
+struct pipe_video_codec *r600_uvd_create_decoder(struct pipe_context *context,
+ const struct pipe_video_codec *templat)
{
struct r600_context *ctx = (struct r600_context *)context;
diff --git a/src/gallium/drivers/radeon/radeon_uvd.c b/src/gallium/drivers/radeon/radeon_uvd.c
index fd6bc4c..ed4e4fc 100644
--- a/src/gallium/drivers/radeon/radeon_uvd.c
+++ b/src/gallium/drivers/radeon/radeon_uvd.c
@@ -37,7 +37,7 @@
#include <unistd.h>
#include <stdio.h>
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "util/u_memory.h"
#include "util/u_video.h"
@@ -65,7 +65,7 @@ struct ruvd_buffer
/* UVD decoder representation */
struct ruvd_decoder {
- struct pipe_video_decoder base;
+ struct pipe_video_codec base;
ruvd_set_dtb set_dtb;
@@ -262,7 +262,7 @@ static uint32_t profile2stream_type(enum pipe_video_profile profile)
}
/* calculate size of reference picture buffer */
-static unsigned calc_dpb_size(const struct pipe_video_decoder *templ)
+static unsigned calc_dpb_size(const struct pipe_video_codec *templ)
{
unsigned width_in_mb, height_in_mb, image_size, dpb_size;
@@ -613,7 +613,7 @@ static struct ruvd_mpeg4 get_mpeg4_msg(struct ruvd_decoder *dec,
/**
* destroy this video decoder
*/
-static void ruvd_destroy(struct pipe_video_decoder *decoder)
+static void ruvd_destroy(struct pipe_video_codec *decoder)
{
struct ruvd_decoder *dec = (struct ruvd_decoder*)decoder;
struct ruvd_msg msg;
@@ -650,7 +650,7 @@ static void ruvd_destroy_associated_data(void *data)
/**
* start decoding of a new frame
*/
-static void ruvd_begin_frame(struct pipe_video_decoder *decoder,
+static void ruvd_begin_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
@@ -672,7 +672,7 @@ static void ruvd_begin_frame(struct pipe_video_decoder *decoder,
/**
* decode a macroblock
*/
-static void ruvd_decode_macroblock(struct pipe_video_decoder *decoder,
+static void ruvd_decode_macroblock(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture,
const struct pipe_macroblock *macroblocks,
@@ -685,7 +685,7 @@ static void ruvd_decode_macroblock(struct pipe_video_decoder *decoder,
/**
* decode a bitstream
*/
-static void ruvd_decode_bitstream(struct pipe_video_decoder *decoder,
+static void ruvd_decode_bitstream(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture,
unsigned num_buffers,
@@ -728,7 +728,7 @@ static void ruvd_decode_bitstream(struct pipe_video_decoder *decoder,
/**
* end decoding of the current frame
*/
-static void ruvd_end_frame(struct pipe_video_decoder *decoder,
+static void ruvd_end_frame(struct pipe_video_codec *decoder,
struct pipe_video_buffer *target,
struct pipe_picture_desc *picture)
{
@@ -809,17 +809,17 @@ static void ruvd_end_frame(struct pipe_video_decoder *decoder,
/**
* flush any outstanding command buffers to the hardware
*/
-static void ruvd_flush(struct pipe_video_decoder *decoder)
+static void ruvd_flush(struct pipe_video_codec *decoder)
{
}
/**
* create and UVD decoder
*/
-struct pipe_video_decoder *ruvd_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ,
- struct radeon_winsys* ws,
- ruvd_set_dtb set_dtb)
+struct pipe_video_codec *ruvd_create_decoder(struct pipe_context *context,
+ const struct pipe_video_codec *templ,
+ struct radeon_winsys* ws,
+ ruvd_set_dtb set_dtb)
{
unsigned dpb_size = calc_dpb_size(templ);
unsigned width = templ->width, height = templ->height;
diff --git a/src/gallium/drivers/radeon/radeon_uvd.h b/src/gallium/drivers/radeon/radeon_uvd.h
index 82fbda4..89a10c8 100644
--- a/src/gallium/drivers/radeon/radeon_uvd.h
+++ b/src/gallium/drivers/radeon/radeon_uvd.h
@@ -345,10 +345,10 @@ typedef struct radeon_winsys_cs_handle* (*ruvd_set_dtb)
(struct ruvd_msg* msg, struct vl_video_buffer *vb);
/* create an UVD decode */
-struct pipe_video_decoder *ruvd_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templat,
- struct radeon_winsys* ws,
- ruvd_set_dtb set_dtb);
+struct pipe_video_codec *ruvd_create_decoder(struct pipe_context *context,
+ const struct pipe_video_codec *templat,
+ struct radeon_winsys* ws,
+ ruvd_set_dtb set_dtb);
/* join surfaces into the same buffer with identical tiling params
sumup their sizes and replace the backend buffers with a single bo */
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.c b/src/gallium/drivers/radeonsi/radeonsi_pipe.c
index b4a1ca9..626833d 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pipe.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.c
@@ -224,10 +224,10 @@ static struct pipe_context *r600_create_context(struct pipe_screen *screen, void
si_init_compute_functions(rctx);
if (rscreen->info.has_uvd) {
- rctx->context.create_video_decoder = radeonsi_uvd_create_decoder;
+ rctx->context.create_video_codec = radeonsi_uvd_create_decoder;
rctx->context.create_video_buffer = radeonsi_video_buffer_create;
} else {
- rctx->context.create_video_decoder = vl_create_decoder;
+ rctx->context.create_video_codec = vl_create_decoder;
rctx->context.create_video_buffer = vl_video_buffer_create;
}
diff --git a/src/gallium/drivers/radeonsi/radeonsi_pipe.h b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
index fa9e621..1eef576 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_pipe.h
+++ b/src/gallium/drivers/radeonsi/radeonsi_pipe.h
@@ -258,8 +258,8 @@ void r600_trace_emit(struct r600_context *rctx);
void si_init_compute_functions(struct r600_context *rctx);
/* radeonsi_uvd.c */
-struct pipe_video_decoder *radeonsi_uvd_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ);
+struct pipe_video_codec *radeonsi_uvd_create_decoder(struct pipe_context *context,
+ const struct pipe_video_codec *templ);
struct pipe_video_buffer *radeonsi_video_buffer_create(struct pipe_context *pipe,
const struct pipe_video_buffer *tmpl);
diff --git a/src/gallium/drivers/radeonsi/radeonsi_uvd.c b/src/gallium/drivers/radeonsi/radeonsi_uvd.c
index d19bf33..4d48b4e 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_uvd.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_uvd.c
@@ -36,7 +36,7 @@
#include <errno.h>
#include <unistd.h>
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "util/u_memory.h"
#include "util/u_video.h"
@@ -146,8 +146,8 @@ static struct radeon_winsys_cs_handle* radeonsi_uvd_set_dtb(struct ruvd_msg *msg
/**
* creates an UVD compatible decoder
*/
-struct pipe_video_decoder *radeonsi_uvd_create_decoder(struct pipe_context *context,
- const struct pipe_video_decoder *templ)
+struct pipe_video_codec *radeonsi_uvd_create_decoder(struct pipe_context *context,
+ const struct pipe_video_codec *templ)
{
struct r600_context *ctx = (struct r600_context *)context;
diff --git a/src/gallium/drivers/softpipe/sp_context.c b/src/gallium/drivers/softpipe/sp_context.c
index 14cfdc8..6796ad2 100644
--- a/src/gallium/drivers/softpipe/sp_context.c
+++ b/src/gallium/drivers/softpipe/sp_context.c
@@ -228,7 +228,7 @@ softpipe_create_context( struct pipe_screen *screen,
softpipe->pipe.render_condition = softpipe_render_condition;
- softpipe->pipe.create_video_decoder = vl_create_decoder;
+ softpipe->pipe.create_video_codec = vl_create_decoder;
softpipe->pipe.create_video_buffer = vl_video_buffer_create;
/*
diff --git a/src/gallium/include/pipe/p_context.h b/src/gallium/include/pipe/p_context.h
index 0ca57f4..69352f7 100644
--- a/src/gallium/include/pipe/p_context.h
+++ b/src/gallium/include/pipe/p_context.h
@@ -65,7 +65,7 @@ struct pipe_transfer;
struct pipe_vertex_buffer;
struct pipe_vertex_element;
struct pipe_video_buffer;
-struct pipe_video_decoder;
+struct pipe_video_codec;
struct pipe_viewport_state;
struct pipe_compute_state;
union pipe_color_union;
@@ -430,10 +430,10 @@ struct pipe_context {
void (*texture_barrier)(struct pipe_context *);
/**
- * Creates a video decoder for a specific video codec/profile
+ * Creates a video codec for a specific video format/profile
*/
- struct pipe_video_decoder *(*create_video_decoder)( struct pipe_context *context,
- const struct pipe_video_decoder *templat );
+ struct pipe_video_codec *(*create_video_codec)( struct pipe_context *context,
+ const struct pipe_video_codec *templat );
/**
* Creates a video buffer as decoding target
diff --git a/src/gallium/include/pipe/p_video_codec.h b/src/gallium/include/pipe/p_video_codec.h
new file mode 100644
index 0000000..17f6804
--- /dev/null
+++ b/src/gallium/include/pipe/p_video_codec.h
@@ -0,0 +1,156 @@
+/**************************************************************************
+ *
+ * Copyright 2009 Younes Manton.
+ * All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ *
+ * 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
+ * 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.
+ *
+ **************************************************************************/
+
+#ifndef PIPE_VIDEO_CONTEXT_H
+#define PIPE_VIDEO_CONTEXT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include "pipe/p_video_state.h"
+
+struct pipe_screen;
+struct pipe_surface;
+struct pipe_macroblock;
+struct pipe_picture_desc;
+struct pipe_fence_handle;
+
+/**
+ * Gallium video codec for a specific format/profile
+ */
+struct pipe_video_codec
+{
+ struct pipe_context *context;
+
+ enum pipe_video_profile profile;
+ enum pipe_video_entrypoint entrypoint;
+ enum pipe_video_chroma_format chroma_format;
+ unsigned width;
+ unsigned height;
+ unsigned max_references;
+ bool expect_chunked_decode;
+
+ /**
+ * destroy this video decoder
+ */
+ void (*destroy)(struct pipe_video_codec *codec);
+
+ /**
+ * start decoding of a new frame
+ */
+ void (*begin_frame)(struct pipe_video_codec *codec,
+ struct pipe_video_buffer *target,
+ struct pipe_picture_desc *picture);
+
+ /**
+ * decode a macroblock
+ */
+ void (*decode_macroblock)(struct pipe_video_codec *codec,
+ struct pipe_video_buffer *target,
+ struct pipe_picture_desc *picture,
+ const struct pipe_macroblock *macroblocks,
+ unsigned num_macroblocks);
+
+ /**
+ * decode a bitstream
+ */
+ void (*decode_bitstream)(struct pipe_video_codec *codec,
+ struct pipe_video_buffer *target,
+ struct pipe_picture_desc *picture,
+ unsigned num_buffers,
+ const void * const *buffers,
+ const unsigned *sizes);
+
+ /**
+ * end decoding of the current frame
+ */
+ void (*end_frame)(struct pipe_video_codec *codec,
+ struct pipe_video_buffer *target,
+ struct pipe_picture_desc *picture);
+
+ /**
+ * flush any outstanding command buffers to the hardware
+ * should be called before a video_buffer is acessed by the state tracker again
+ */
+ void (*flush)(struct pipe_video_codec *codec);
+};
+
+/**
+ * output for decoding / input for displaying
+ */
+struct pipe_video_buffer
+{
+ struct pipe_context *context;
+
+ enum pipe_format buffer_format;
+ enum pipe_video_chroma_format chroma_format;
+ unsigned width;
+ unsigned height;
+ bool interlaced;
+
+ /**
+ * destroy this video buffer
+ */
+ void (*destroy)(struct pipe_video_buffer *buffer);
+
+ /**
+ * get a individual sampler view for each plane
+ */
+ struct pipe_sampler_view **(*get_sampler_view_planes)(struct pipe_video_buffer *buffer);
+
+ /**
+ * get a individual sampler view for each component
+ */
+ struct pipe_sampler_view **(*get_sampler_view_components)(struct pipe_video_buffer *buffer);
+
+ /**
+ * get a individual surfaces for each plane
+ */
+ struct pipe_surface **(*get_surfaces)(struct pipe_video_buffer *buffer);
+
+ /*
+ * auxiliary associated data
+ */
+ void *associated_data;
+
+ /*
+ * codec where the associated data came from
+ */
+ struct pipe_video_codec *codec;
+
+ /*
+ * destroy the associated data
+ */
+ void (*destroy_associated_data)(void *associated_data);
+};
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* PIPE_VIDEO_CONTEXT_H */
diff --git a/src/gallium/include/pipe/p_video_decoder.h b/src/gallium/include/pipe/p_video_decoder.h
deleted file mode 100644
index 6c9a748..0000000
--- a/src/gallium/include/pipe/p_video_decoder.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/**************************************************************************
- *
- * Copyright 2009 Younes Manton.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * 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
- * 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.
- *
- **************************************************************************/
-
-#ifndef PIPE_VIDEO_CONTEXT_H
-#define PIPE_VIDEO_CONTEXT_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "pipe/p_video_state.h"
-
-struct pipe_screen;
-struct pipe_surface;
-struct pipe_macroblock;
-struct pipe_picture_desc;
-struct pipe_fence_handle;
-
-/**
- * Gallium video decoder for a specific codec/profile
- */
-struct pipe_video_decoder
-{
- struct pipe_context *context;
-
- enum pipe_video_profile profile;
- enum pipe_video_entrypoint entrypoint;
- enum pipe_video_chroma_format chroma_format;
- unsigned width;
- unsigned height;
- unsigned max_references;
- bool expect_chunked_decode;
-
- /**
- * destroy this video decoder
- */
- void (*destroy)(struct pipe_video_decoder *decoder);
-
- /**
- * start decoding of a new frame
- */
- void (*begin_frame)(struct pipe_video_decoder *decoder,
- struct pipe_video_buffer *target,
- struct pipe_picture_desc *picture);
-
- /**
- * decode a macroblock
- */
- void (*decode_macroblock)(struct pipe_video_decoder *decoder,
- struct pipe_video_buffer *target,
- struct pipe_picture_desc *picture,
- const struct pipe_macroblock *macroblocks,
- unsigned num_macroblocks);
-
- /**
- * decode a bitstream
- */
- void (*decode_bitstream)(struct pipe_video_decoder *decoder,
- struct pipe_video_buffer *target,
- struct pipe_picture_desc *picture,
- unsigned num_buffers,
- const void * const *buffers,
- const unsigned *sizes);
-
- /**
- * end decoding of the current frame
- */
- void (*end_frame)(struct pipe_video_decoder *decoder,
- struct pipe_video_buffer *target,
- struct pipe_picture_desc *picture);
-
- /**
- * flush any outstanding command buffers to the hardware
- * should be called before a video_buffer is acessed by the state tracker again
- */
- void (*flush)(struct pipe_video_decoder *decoder);
-};
-
-/**
- * output for decoding / input for displaying
- */
-struct pipe_video_buffer
-{
- struct pipe_context *context;
-
- enum pipe_format buffer_format;
- enum pipe_video_chroma_format chroma_format;
- unsigned width;
- unsigned height;
- bool interlaced;
-
- /**
- * destroy this video buffer
- */
- void (*destroy)(struct pipe_video_buffer *buffer);
-
- /**
- * get a individual sampler view for each plane
- */
- struct pipe_sampler_view **(*get_sampler_view_planes)(struct pipe_video_buffer *buffer);
-
- /**
- * get a individual sampler view for each component
- */
- struct pipe_sampler_view **(*get_sampler_view_components)(struct pipe_video_buffer *buffer);
-
- /**
- * get a individual surfaces for each plane
- */
- struct pipe_surface **(*get_surfaces)(struct pipe_video_buffer *buffer);
-
- /*
- * auxiliary associated data
- */
- void *associated_data;
-
- /*
- * decoder where the associated data came from
- */
- struct pipe_video_decoder *decoder;
-
- /*
- * destroy the associated data
- */
- void (*destroy_associated_data)(void *associated_data);
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* PIPE_VIDEO_CONTEXT_H */
diff --git a/src/gallium/state_trackers/vdpau/decode.c b/src/gallium/state_trackers/vdpau/decode.c
index e254c50..09927c5 100644
--- a/src/gallium/state_trackers/vdpau/decode.c
+++ b/src/gallium/state_trackers/vdpau/decode.c
@@ -44,7 +44,7 @@ vlVdpDecoderCreate(VdpDevice device,
uint32_t max_references,
VdpDecoder *decoder)
{
- struct pipe_video_decoder templat = {};
+ struct pipe_video_codec templat = {};
struct pipe_context *pipe;
struct pipe_screen *screen;
vlVdpDevice *dev;
@@ -97,7 +97,7 @@ vlVdpDecoderCreate(VdpDevice device,
templat.height = height;
templat.max_references = max_references;
- vldecoder->decoder = pipe->create_video_decoder(pipe, &templat);
+ vldecoder->decoder = pipe->create_video_codec(pipe, &templat);
if (!vldecoder->decoder) {
ret = VDP_STATUS_ERROR;
@@ -426,7 +426,7 @@ vlVdpDecoderRender(VdpDecoder decoder,
vlVdpSurface *vlsurf;
VdpStatus ret;
struct pipe_screen *screen;
- struct pipe_video_decoder *dec;
+ struct pipe_video_codec *dec;
bool buffer_support[2];
unsigned i;
union {
diff --git a/src/gallium/state_trackers/vdpau/vdpau_private.h b/src/gallium/state_trackers/vdpau/vdpau_private.h
index 716d218..54545fe 100644
--- a/src/gallium/state_trackers/vdpau/vdpau_private.h
+++ b/src/gallium/state_trackers/vdpau/vdpau_private.h
@@ -34,7 +34,7 @@
#include <vdpau/vdpau_x11.h>
#include "pipe/p_compiler.h"
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "util/u_debug.h"
#include "util/u_rect.h"
@@ -387,7 +387,7 @@ typedef struct
typedef struct
{
vlVdpDevice *device;
- struct pipe_video_decoder *decoder;
+ struct pipe_video_codec *decoder;
} vlVdpDecoder;
typedef uint32_t vlHandle;
diff --git a/src/gallium/state_trackers/xvmc/context.c b/src/gallium/state_trackers/xvmc/context.c
index d630133..fe12b5d 100644
--- a/src/gallium/state_trackers/xvmc/context.c
+++ b/src/gallium/state_trackers/xvmc/context.c
@@ -31,7 +31,7 @@
#include <X11/extensions/XvMClib.h>
#include "pipe/p_screen.h"
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "pipe/p_video_state.h"
#include "pipe/p_state.h"
@@ -191,7 +191,7 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
Status ret;
struct vl_screen *vscreen;
struct pipe_context *pipe;
- struct pipe_video_decoder templat = {};
+ struct pipe_video_codec templat = {};
XvMCContextPrivate *context_priv;
vl_csc_matrix csc;
@@ -253,7 +253,7 @@ Status XvMCCreateContext(Display *dpy, XvPortID port, int surface_type_id,
templat.max_references = 2;
templat.expect_chunked_decode = true;
- context_priv->decoder = pipe->create_video_decoder(pipe, &templat);
+ context_priv->decoder = pipe->create_video_codec(pipe, &templat);
if (!context_priv->decoder) {
XVMC_MSG(XVMC_ERR, "[XvMC] Could not create VL decoder.\n");
diff --git a/src/gallium/state_trackers/xvmc/subpicture.c b/src/gallium/state_trackers/xvmc/subpicture.c
index 3e13aa6..51fcf78 100644
--- a/src/gallium/state_trackers/xvmc/subpicture.c
+++ b/src/gallium/state_trackers/xvmc/subpicture.c
@@ -31,7 +31,7 @@
#include <X11/extensions/XvMClib.h>
#include "pipe/p_screen.h"
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "pipe/p_state.h"
#include "util/u_memory.h"
diff --git a/src/gallium/state_trackers/xvmc/surface.c b/src/gallium/state_trackers/xvmc/surface.c
index de90e54..db32142 100644
--- a/src/gallium/state_trackers/xvmc/surface.c
+++ b/src/gallium/state_trackers/xvmc/surface.c
@@ -30,7 +30,7 @@
#include <X11/Xlibint.h>
-#include "pipe/p_video_decoder.h"
+#include "pipe/p_video_codec.h"
#include "pipe/p_video_state.h"
#include "pipe/p_state.h"
@@ -215,7 +215,7 @@ Status XvMCRenderSurface(Display *dpy, XvMCContext *context, unsigned int pictur
)
{
struct pipe_mpeg12_macroblock mb[num_macroblocks];
- struct pipe_video_decoder *decoder;
+ struct pipe_video_codec *decoder;
struct pipe_mpeg12_picture_desc desc;
XvMCContextPrivate *context_priv;
diff --git a/src/gallium/state_trackers/xvmc/xvmc_private.h b/src/gallium/state_trackers/xvmc/xvmc_private.h
index 014d83f..905d7bc 100644
--- a/src/gallium/state_trackers/xvmc/xvmc_private.h
+++ b/src/gallium/state_trackers/xvmc/xvmc_private.h
@@ -42,7 +42,7 @@
#define BLOCK_SIZE_SAMPLES 64
#define BLOCK_SIZE_BYTES (BLOCK_SIZE_SAMPLES * 2)
-struct pipe_video_decoder;
+struct pipe_video_codec;
struct pipe_video_buffer;
struct pipe_sampler_view;
@@ -52,7 +52,7 @@ typedef struct
{
struct vl_screen *vscreen;
struct pipe_context *pipe;
- struct pipe_video_decoder *decoder;
+ struct pipe_video_codec *decoder;
enum VL_CSC_COLOR_STANDARD color_standard;
struct vl_procamp procamp;
--
1.7.9.5
More information about the mesa-dev
mailing list