aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/vl/vl_mpeg12_decoder.c
Commit message (Collapse)AuthorAgeFilesLines
* vl/idct: fix for commit 7d2f2a0c890b1993532a45c8c392c28950ddc06eChristian König2013-05-031-3/+3
| | | | | | | | We still need the option for handling 3D textures as well. Should fix: https://bugs.freedesktop.org/show_bug.cgi?id=64143 Signed-off-by: Christian König <[email protected]>
* gallium: add start_slot parameter to set_vertex_buffersMarek Olšák2012-10-311-3/+3
| | | | | | | | | | | | | | | | | | | | | This allows updating only a subrange of buffer bindings. set_vertex_buffers(pipe, start_slot, count, NULL) unbinds buffers in that range. Binding NULL resources unbinds buffers too (both buffer and user_buffer must be NULL). The meta ops are adapted to only save, change, and restore the single slot they use. The cso_context can save and restore only one vertex buffer slot. The clients can query which one it is using cso_get_aux_vertex_buffer_slot. It's currently set to 0. (the Draw module breaks if it's set to non-zero) It should decrease the CPU overhead when using a lot of meta ops, but the drivers must be able to treat each vertex buffer slot as a separate state (only r600g does so at the moment). I can imagine this also being useful for optimizing some OpenGL use cases. Reviewed-by: Brian Paul <[email protected]>
* gallium: unify transfer functionsMarek Olšák2012-10-111-8/+5
| | | | | | | | | | | | | | "get_transfer + transfer_map" becomes "transfer_map". "transfer_unmap + transfer_destroy" becomes "transfer_unmap". transfer_map must create and return the transfer object and transfer_unmap must destroy it. transfer_map is successful if the returned buffer pointer is not NULL. If transfer_map fails, the pointer to the transfer object remains unchanged (i.e. doesn't have to be NULL). Acked-by: Brian Paul <[email protected]>
* vl: add VL_MAX_SURFACES defineChristian König2012-02-061-1/+2
| | | | Signed-off-by: Christian König <[email protected]>
* vl: rename VL_MAX_PLANES to VL_NUM_COMPONENTSChristian König2012-02-061-10/+10
| | | | Signed-off-by: Christian König <[email protected]>
* vl: prefix size defines with VL_Christian König2012-02-061-9/+9
| | | | Signed-off-by: Christian König <[email protected]>
* vl: fix YV12 handlingChristian König2012-01-151-5/+8
| | | | | | We actually implemented YV21 instead of YV12, so fix the plane ordering. Signed-off-by: Christian König <[email protected]>
* vl: move away from state like parametersChristian König2012-01-151-105/+61
| | | | | | | Again based on Maartens work, but keep begin_frame and end_frame functions for now. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: use template style create paramsChristian König2012-01-151-7/+20
| | | | | | | Just like in the rest of gallium, this reduces the number of parameters significantly. Signed-off-by: Christian König <[email protected]>
* vl: replace decode_buffers with auxiliary data fieldChristian König2012-01-091-48/+52
| | | | | | | Based on patches from Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]> Acked-by: Maarten Lankhorst <[email protected]>
* gallium: remove deprecated PIPE_TRANSFER_DISCARDMarek Olšák2012-01-051-1/+1
| | | | PIPE_TRANSFER_DISCARD_RANGE is defined the same.
* vl/mpeg2: simple fix to get xine running againChristian König2012-01-041-4/+5
| | | | | | Otherwise xines xxmc plugin will just display green blocks. Signed-off-by: Christian König <[email protected]>
* vl: seperate shader buffers from componentsChristian König2012-01-021-7/+8
| | | | | | | | Buffers for shader based decoding can now be released without its component still being around. Signed-off-by: Christian König <[email protected]> Acked-by: Maarten Lankhorst <[email protected]>
* vl: call decode_bitstream only onceChristian König2011-12-261-2/+4
| | | | | | | Submit all bitstreams at once to decode_bitstream. Signed-off-by: Christian König <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]>
* g3dvl: Fix memory leaks on error paths.Vinson Lee2011-11-051-1/+4
| | | | | | Fixes Coverity resource leak defect. Reviewed-by: Brian Paul <[email protected]>
* g3dvl: remove some stale variable incrementChristian König2011-11-031-1/+1
| | | | | | | | Incrementing "td" before initializing it is pointless and just leads to an uninitialized variable warning with MSVC. Signed-off-by: Christian König <[email protected]>
* g3dvl: Don't use SCALED types for iDCTChristian König2011-09-251-4/+4
| | | | | | | This should bring g3dvl back to work until we figured out how SCALED types should really work. Signed-off-by: Christian König <[email protected]>
* g3dvl: Add max_references parameter to vl_create_decoder()Emeric Grange2011-09-141-1/+2
| | | | Signed-off-by: Emeric Grange <[email protected]>
* vl: Fix include styleKai Wasserbäch2011-08-291-4/+4
| | | | | | | | | | | As explained in the thread starting at [0], the internal include style should be »#include "path/to/header.h"« for non-system includes. [0] <http://news.gmane.org/find-root.php?message_id=%3c4E5802BE.6020206%40vmware.com%3e> Signed-off-by: Kai Wasserbäch <[email protected]> Signed-off-by: Brian Paul <[email protected]>
* g3dvl: s/inline/INLINE/ to fix MSVC buildBrian Paul2011-08-261-3/+3
|
* g3dvl: Rewrite the mpeg 1&2 bitstream parserChristian König2011-08-261-5/+3
| | | | | | | Based on work of Maarten Lankhorst this time. Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* g3dvl: Use a single texture for luma and chroma dataChristian König2011-08-261-77/+69
| | | | | Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* g3dvl: Rework the decoder interface part 5/5Christian König2011-08-261-4/+11
| | | | | | | | Make setting the quant matrixes a generic interface. Also removes setting the quant matrix from the XvMC interface Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* g3dvl: Rework the decoder interface part 3/5Christian König2011-08-261-47/+224
| | | | | | | | Revert back to a macroblock based interface. The structure used tries to keep as close to the spec as possible. Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* g3dvl: Rework the decoder interface part 1/5Christian König2011-08-261-218/+247
| | | | | | | | | First of all get ride of the decode_buffer structure, while still giving the decoder the ability to organize it's buffers depending on the needs of the state tracker. Signed-off-by: Christian König <[email protected]> Reviewed-by: Younes Manton <[email protected]>
* g3dvl: change picture parameter of decode_bitstream to general versionChristian König2011-07-151-3/+5
| | | | Using pipe_mpeg12_picture_desc was unintentional here.
* [g3dvl] don't upload all quant buffer layers at onceChristian König2011-07-131-2/+4
| | | | | | | There seems to be a bug in r600g when uploading more than one layer of a 3D resource at once with a hardware blit. So just do them one at a time to workaround this.
* [g3dvl] keep a pointer in idct buffer to idct objectChristian König2011-07-131-6/+7
| | | | So we always know to which idct object a buffer belongs
* [g3dvl] fix a whole bunch of memory leaksChristian König2011-07-111-0/+1
|
* [g3dvl] and finally remove pipe_video_contextChristian König2011-07-081-50/+56
|
* [g3dvl] move video buffer creation out of video contextChristian König2011-07-081-19/+26
|
* [g3dvl] move dummy quantification into xvmc state trackerChristian König2011-06-071-15/+3
|
* [g3dvl] split quant matrix out of picture infoChristian König2011-06-051-7/+14
|
* [g3dvl] rename map/unmap to begin/end frameChristian König2011-06-051-4/+4
| | | | | mapping and unmapping of buffers is just an implementation detail. begining and ending an frame is much more descriptive
* [g3dvl] use a vertex element instead of the instance idChristian König2011-06-041-9/+12
|
* [g3dvl] respect maximum instruction for idct render targetsChristian König2011-06-011-3/+8
|
* [g3dvl] dynamical adjust blocks per lineChristian König2011-06-011-5/+4
|
* [g3dvl] move quantification into shadersChristian König2011-05-291-2/+21
|
* [g3dvl] implement mismatch control inside idct shadersChristian König2011-05-291-7/+1
|
* [g3dvl] rework resource format handlingChristian König2011-05-221-131/+88
|
* [g3dvl] no need for seperate intermediate buffers any moreChristian König2011-05-151-97/+107
| | | | This should reduce the video memory footprint drastically.
* [g3dvl] move alignment of buffers to mb size into contextChristian König2011-05-151-3/+0
|
* [g3dvl] move zscan into shadersChristian König2011-05-051-7/+20
|
* [g3dvl] divide mpg12 width height by 16Christian König2011-05-041-1/+3
|
* [g3dvl] Implement MPEG2 VLDChristian König2011-05-041-0/+28
| | | | | Based uppon xine's slice_xvmc.c. This gets VDPAU up and running.
* [g3dvl] merge idct stage 2 and mc ycbcr stage into a single drawChristian König2011-04-251-38/+107
|
* [g3dvl] rework fence handling and add r600g workaroundChristian König2011-04-241-4/+1
|
* [g3dvl] start supporting different render target formatsChristian König2011-04-241-22/+31
| | | | Let's start with NV12, but anything else shouldn't be much of a problem any more.
* Merge remote branch 'origin/master' into pipe-videoChristian König2011-04-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: configs/linux-dri src/gallium/drivers/r600/r600_pipe.c src/gallium/drivers/r600/r600_state.c src/gallium/include/pipe/p_format.h src/gallium/tests/graw/fragment-shader/frag-abs.sh src/gallium/tests/graw/fragment-shader/frag-add.sh src/gallium/tests/graw/fragment-shader/frag-cb-1d.sh src/gallium/tests/graw/fragment-shader/frag-cb-2d.sh src/gallium/tests/graw/fragment-shader/frag-dp3.sh src/gallium/tests/graw/fragment-shader/frag-dp4.sh src/gallium/tests/graw/fragment-shader/frag-dst.sh src/gallium/tests/graw/fragment-shader/frag-ex2.sh src/gallium/tests/graw/fragment-shader/frag-face.sh src/gallium/tests/graw/fragment-shader/frag-flr.sh src/gallium/tests/graw/fragment-shader/frag-frc.sh src/gallium/tests/graw/fragment-shader/frag-kil.sh src/gallium/tests/graw/fragment-shader/frag-lg2.sh src/gallium/tests/graw/fragment-shader/frag-lit.sh src/gallium/tests/graw/fragment-shader/frag-lrp.sh src/gallium/tests/graw/fragment-shader/frag-mad-immx.sh src/gallium/tests/graw/fragment-shader/frag-mad.sh src/gallium/tests/graw/fragment-shader/frag-max.sh src/gallium/tests/graw/fragment-shader/frag-min.sh src/gallium/tests/graw/fragment-shader/frag-mov.sh src/gallium/tests/graw/fragment-shader/frag-mul.sh src/gallium/tests/graw/fragment-shader/frag-rcp.sh src/gallium/tests/graw/fragment-shader/frag-rsq.sh src/gallium/tests/graw/fragment-shader/frag-sge.sh src/gallium/tests/graw/fragment-shader/frag-slt.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-abs.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-absneg.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-neg.sh src/gallium/tests/graw/fragment-shader/frag-srcmod-swz.sh src/gallium/tests/graw/fragment-shader/frag-sub.sh src/gallium/tests/graw/fragment-shader/frag-tempx.sh src/gallium/tests/graw/fragment-shader/frag-xpd.sh src/gallium/tests/graw/vertex-shader/vert-abs.sh src/gallium/tests/graw/vertex-shader/vert-add.sh src/gallium/tests/graw/vertex-shader/vert-arl.sh src/gallium/tests/graw/vertex-shader/vert-arr.sh src/gallium/tests/graw/vertex-shader/vert-cb-1d.sh src/gallium/tests/graw/vertex-shader/vert-cb-2d.sh src/gallium/tests/graw/vertex-shader/vert-dp3.sh src/gallium/tests/graw/vertex-shader/vert-dp4.sh src/gallium/tests/graw/vertex-shader/vert-dst.sh src/gallium/tests/graw/vertex-shader/vert-ex2.sh src/gallium/tests/graw/vertex-shader/vert-flr.sh src/gallium/tests/graw/vertex-shader/vert-frc.sh src/gallium/tests/graw/vertex-shader/vert-lg2.sh src/gallium/tests/graw/vertex-shader/vert-lit.sh src/gallium/tests/graw/vertex-shader/vert-lrp.sh src/gallium/tests/graw/vertex-shader/vert-mad.sh src/gallium/tests/graw/vertex-shader/vert-max.sh src/gallium/tests/graw/vertex-shader/vert-min.sh src/gallium/tests/graw/vertex-shader/vert-mov.sh src/gallium/tests/graw/vertex-shader/vert-mul.sh src/gallium/tests/graw/vertex-shader/vert-rcp.sh src/gallium/tests/graw/vertex-shader/vert-rsq.sh src/gallium/tests/graw/vertex-shader/vert-sge.sh src/gallium/tests/graw/vertex-shader/vert-slt.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-abs.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-absneg.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-neg.sh src/gallium/tests/graw/vertex-shader/vert-srcmod-swz.sh src/gallium/tests/graw/vertex-shader/vert-sub.sh src/gallium/tests/graw/vertex-shader/vert-xpd.sh src/gallium/tools/trace/dump.py src/gallium/tools/trace/format.py src/gallium/tools/trace/model.py src/gallium/tools/trace/parse.py
* [g3dvl] cleanup error handlingChristian König2011-04-231-46/+79
|