<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On 15 September 2016 at 16:02, Leo Liu <span dir="ltr"><<a href="mailto:leo.liu@amd.com" target="_blank">leo.liu@amd.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
<br>
On 09/15/2016 10:43 AM, Andy Furniss wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Since bf901a2<br>
st/va: also honors interlaced preference when providing a video format<br>
existing scripts and most use cases will need true.<br>
<br>
Signed-off-by: Andy Furniss <<a href="mailto:adf.lists@gmail.com" target="_blank">adf.lists@gmail.com</a>><br>
---<br>
 src/gallium/state_trackers/<wbr>va/surface.c | 2 +-<br>
 1 file changed, 1 insertion(+), 1 deletion(-)<br>
<br>
diff --git a/src/gallium/state_trackers/v<wbr>a/surface.c b/src/gallium/state_trackers/v<wbr>a/surface.c<br>
index 00df69d..e73e17e 100644<br>
--- a/src/gallium/state_trackers/v<wbr>a/surface.c<br>
+++ b/src/gallium/state_trackers/v<wbr>a/surface.c<br>
@@ -43,7 +43,7 @@<br>
<br>
 #include "va_private.h"<br>
<br>
-DEBUG_GET_ONCE_BOOL_OPTION(no<wbr>interlace, "VAAPI_DISABLE_INTERLACE", FALSE);<br>
+DEBUG_GET_ONCE_BOOL_OPTION(no<wbr>interlace, "VAAPI_DISABLE_INTERLACE", TRUE);<br>
</blockquote>
<br></span>
Like being mentioned,  It'll still override the preferred interlaced format when this env is not explicitly used.<br>
<br>
Not sure this will be okay with other case. @Julien?<br></blockquote><div><br></div><div>Hi,<br><br></div><div>So the problem is that with radeon, PIPE_VIDEO_CAP_SUPPORTS_INTERLACED always returns false for encoding<br></div><div>but can return true for decoding (depending on the chipset and the codec). Then when doing transcoding you need all to be non interlaced to avoid extra copy/conversion and even a clash. Is it correct ?<br><br></div><div>Should debug_get_option_nointerlace() be moved to radeon_video.c::rvid_get_video_param ?<br><br></div><div>Other question:<br><br>    case PIPE_VIDEO_CAP_SUPPORTS_INTERLACED:<br>        if (rscreen->family < CHIP_PALM) {<br>            /* MPEG2 only with shaders and no support for<br>               interlacing on R6xx style UVD */<br>            return codec != PIPE_VIDEO_FORMAT_MPEG12 &&<br>                   rscreen->family > CHIP_RV770;<br>        } else {<br>            if (u_reduce_video_profile(profile) == PIPE_VIDEO_FORMAT_HEVC)<br>                return false; //The firmware doesn't support interlaced HEVC.<br>            return true;<br>        }<br></div><div>So if instead it would always return false then it will really work on hardware for which above code says true ?<br></div><div>Because my understanding is that for nvidia hardware this is not a preference but rather a requirement but I might be wrong.<br></div><div><br></div><div>In any case, with current upstream code and <span class="gmail-">VAAPI_DISABLE_INTERLACE=1 it hits "</span>assert(templat->interlaced);" in nouveau_vp3_video_buffer_create. If I remove the asset it crashes and can even stall the driver (just wanted to check ).<br><br></div><div>Cheers<br></div><div>Julien<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Regards,<br>
Leo<br>
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
 #include <va/va_drmcommon.h><br>
<br>
</blockquote>
<br>
</blockquote></div><br></div></div>