On 17 September 2015 at 17:52, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> On Wed, Sep 16, 2015 at 8:22 AM, Julien Isorce <j.iso...@samsung.com> > wrote: > > I added below version4 updates. It works for all codecs expect h264. > > Video is visible but lot of blockiness. > > Can someone with a Radeon confirm that "LIBVA_DRIVER_NAME=gallium mpv > --hwdec=vaapi" > > is working on h264 videos ? > > I want to make sure it is not a bug in st/va. > > The sad reality is that h264 is the only thing that matters (at least > from this list of supported codecs). My concern is that this series > will regress the situation for people who want to use VA-API -- right > now they can use the vdpau <-> vaapi adapter, whereas with this patch > series, they will end up with a va-api driver that doesn't work. So I > can't merge this as-is. > Make perfectly sense. > > Are the various lengths (for inter-bo size/etc) being computed > properly In the past I compared the final content of the nouveau_bo buffer at each endFrame step , with the content using vdpau. There were the same. I will re-check. Does it make sense to do that actually ? Is there anything else I could compare with vdpau ? > Are you writing stuff to the correct inter bo? IIRC we flip > between two of them, perhaps that logic got upset? Probably I missed something. Does the flip happen at each endFrame ? Could you point out where this flip is in the current upstream code exactly ? > Are you perhaps > feeding it NAL types that it doesn't expect to see? > Good point, I'll check. Thx Julien > > > > > v4: > > Update caps after number of slices. > > Fixed debug build. > > After trying debug build I made a new patch "st/va: properly set max > number of ref frames". > > Tested videos: > > * mpeg4 work ok: > > mpv --hwdec=vaapi big_buck_bunny_720p_surround.avi (from > http://download.blender.org/peach/bigbuckbunny_movies/) > > * vc1 works ok: > > mpv --hwdec=vaapi To_The_Limit_720_230.ismv (from > http://playready.directtaps.net/smoothstreaming/) > > * mpeg12 works ok: > > mpv --hwdec=vaapi centaur_2.mpg (from > https://github.com/malek0512/PLS/raw/master/Tests/centaur_2.mpg) > > * h264 has blockiness like it was dropping some slices: > > mpv --hwdec=vaapi any_video (from http://www.h264info.com/clips.html) > > Depending on the video it can have more or much less blockiness. > > * All this videos still work with option --hwdec=vdpau > > > > v3: > > Indent to 3 spaces. > > Move "unsigned bsp_size" and unsigned int nb_slices" in > > commits that use it. > > > > v2: > > Squash some commits as requested. > > > > Currently nouveau does not support chunk decoding > > which is required to support st/va. > > > > The low level code is already there since it supports > > vpau. But it is missing the possibility to feed > > the nouveau_bo buffers gradually. > > Resizing is already there too. But it also requires > > to preserve the content after resizing. > > > > The following patches refactor nouveau_vp3_bsp > > and nvc0_decoder_bsp in order to implement > > pipe_video_codec::begin_frame/decode_bitstream/end_frame. > > So that decode_bitstream can be call multiple times > > between each begin/end. > > > > There is nothing really new in these patches. > > All the low level code relative to nouveau was already there. > > The patches are moving code in order to call nouveau_vp3_bsp and > > nvc0_decoder_bsp multiple times between each begin/end frame. > > > > I made sure that vdpau was still working. Actually it was more than that, > > without vdpau I think I would not have been able to do this refactoring. > > I also compared that for one begin/end frame the nouveau_bo buffer > contains > > the same data for vdpau and vaapi. I dumped them for the same stream and > > for several seconds. There were all the same. > > > > Regression tests: > > No regression for vdpau backend. > > > > TODO: > > Apply same logic for nv98 but I do not have the > > material to test it. Ilia Mirkin suggested to do it after. > > > > https://bugs.freedesktop.org/show_bug.cgi?id=89969 > > > > Julien Isorce (6): > > nouveau: split nouveau_vp3_bsp in begin/next/end > > nvc0: add support for st/va > > nouveau: fix chunk decoding by updating number of slices > > st/va: properly set max number of ref frames > > build: enable st/va with nouveau driver > > WIP: implement vaapi export / import and vpp > > > > src/gallium/drivers/nouveau/nouveau_vp3_video.h | 22 +- > > .../drivers/nouveau/nouveau_vp3_video_bsp.c | 115 ++++-- > > src/gallium/drivers/nouveau/nv50/nv98_video_bsp.c | 5 +- > > src/gallium/drivers/nouveau/nvc0/nvc0_resource.c | 3 +- > > src/gallium/drivers/nouveau/nvc0/nvc0_video.c | 44 +- > > src/gallium/drivers/nouveau/nvc0/nvc0_video.h | 18 +- > > src/gallium/drivers/nouveau/nvc0/nvc0_video_bsp.c | 141 +++++-- > > src/gallium/state_trackers/va/buffer.c | 175 +++++++- > > src/gallium/state_trackers/va/config.c | 20 + > > src/gallium/state_trackers/va/context.c | 101 +++-- > > src/gallium/state_trackers/va/image.c | 145 ++++++- > > src/gallium/state_trackers/va/picture.c | 89 +++- > > src/gallium/state_trackers/va/surface.c | 449 > ++++++++++++++++++--- > > src/gallium/state_trackers/va/va_private.h | 69 +++- > > src/gallium/targets/va/Makefile.am | 2 + > > 15 files changed, 1195 insertions(+), 203 deletions(-) > > > > -- > > 1.9.1 > > > > _______________________________________________ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev