Re: [FFmpeg-devel] [PATCH] kmsgrab: fix build error when use old libdrm

2017-09-19 Thread Moritz Barsnick
On Thu, Sep 14, 2017 at 09:12:50 +0100, Mark Thompson wrote:
> > DRM_FORMAT_R16 adding from libdrm 2.4.82, fix the build error
> > when libdrm < 2.4.82.

> Hmm, yeah.  Thanks for noticing this - let me think about it a bit
> further, I imagine there are more cases than just this one. (It isn't
> autodetected so nothing is directly broken.)

There's certainly more stuff in here which isn't supported by older
libdrm. I'm talking e.g. headers which were introduced around 2011.
That's probably so ancient it doesn't warrent a version check/guard
though. (IOW I managed to configure with --enable-libdrm, but not
compile.)

Moritz
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] kmsgrab: fix build error when use old libdrm

2017-09-14 Thread Mark Thompson
On 14/09/17 11:02, Mark Thompson wrote:
> On 14/09/17 01:34, Jun Zhao wrote:
>> From 8c7ddfcabf686f213aa59544d90055d20bdac0f7 Mon Sep 17 00:00:00 2001
>> From: Jun Zhao 
>> Date: Wed, 13 Sep 2017 20:21:38 -0400
>> Subject: [PATCH] kmsgrab: fix build error when use old libdrm
>>
>> DRM_FORMAT_R16 adding from libdrm 2.4.82, fix the build error
>> when libdrm < 2.4.82.
>>
>> Signed-off-by: Jun Zhao 
>> ---
>>  libavdevice/kmsgrab.c   | 2 ++
>>  libavutil/hwcontext_vaapi.c | 2 +-
>>  2 files changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavdevice/kmsgrab.c b/libavdevice/kmsgrab.c
>> index d0b9cf5001..49eb44f6f2 100644
>> --- a/libavdevice/kmsgrab.c
>> +++ b/libavdevice/kmsgrab.c
>> @@ -203,7 +203,9 @@ static const struct {
>>  uint32_t drm_format;
>>  } kmsgrab_formats[] = {
>>  { AV_PIX_FMT_GRAY8,DRM_FORMAT_R8   },
>> +#ifdef DRM_FORMAT_R16
>>  { AV_PIX_FMT_GRAY16LE, DRM_FORMAT_R16  },
>> +#endif
>>  { AV_PIX_FMT_RGB24,DRM_FORMAT_RGB888   },
>>  { AV_PIX_FMT_BGR24,DRM_FORMAT_BGR888   },
>>  { AV_PIX_FMT_0RGB, DRM_FORMAT_XRGB },
>> diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
>> index 2cc6f26715..837b79da11 100644
>> --- a/libavutil/hwcontext_vaapi.c
>> +++ b/libavutil/hwcontext_vaapi.c
>> @@ -920,7 +920,7 @@ static const struct {
>>  } vaapi_drm_format_map[] = {
>>  DRM_MAP(NV12, 2, DRM_FORMAT_R8,  DRM_FORMAT_RG88),
>>  DRM_MAP(NV12, 1, DRM_FORMAT_NV12),
>> -#ifdef VA_FOURCC_P010
>> +#if defined(VA_FOURCC_P010) && defined(DRM_FORMAT_R16)
>>  DRM_MAP(P010, 2, DRM_FORMAT_R16, DRM_FORMAT_RG1616),
>>  #endif
>>  DRM_MAP(BGRA, 1, DRM_FORMAT_BGRA),
>> -- 
>> 2.11.0
>>
> 
> R8/RG88 can be a problem as well (2.4.68).  Also, this should be two patches 
> (one for each of the two components).
> 
> I can split and add that later myself, or you can send a new version if you 
> prefer?

Split, added the other case, applied.

Thanks!

- Mark
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] kmsgrab: fix build error when use old libdrm

2017-09-14 Thread Mark Thompson
On 14/09/17 01:34, Jun Zhao wrote:
> From 8c7ddfcabf686f213aa59544d90055d20bdac0f7 Mon Sep 17 00:00:00 2001
> From: Jun Zhao 
> Date: Wed, 13 Sep 2017 20:21:38 -0400
> Subject: [PATCH] kmsgrab: fix build error when use old libdrm
> 
> DRM_FORMAT_R16 adding from libdrm 2.4.82, fix the build error
> when libdrm < 2.4.82.
> 
> Signed-off-by: Jun Zhao 
> ---
>  libavdevice/kmsgrab.c   | 2 ++
>  libavutil/hwcontext_vaapi.c | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavdevice/kmsgrab.c b/libavdevice/kmsgrab.c
> index d0b9cf5001..49eb44f6f2 100644
> --- a/libavdevice/kmsgrab.c
> +++ b/libavdevice/kmsgrab.c
> @@ -203,7 +203,9 @@ static const struct {
>  uint32_t drm_format;
>  } kmsgrab_formats[] = {
>  { AV_PIX_FMT_GRAY8,DRM_FORMAT_R8   },
> +#ifdef DRM_FORMAT_R16
>  { AV_PIX_FMT_GRAY16LE, DRM_FORMAT_R16  },
> +#endif
>  { AV_PIX_FMT_RGB24,DRM_FORMAT_RGB888   },
>  { AV_PIX_FMT_BGR24,DRM_FORMAT_BGR888   },
>  { AV_PIX_FMT_0RGB, DRM_FORMAT_XRGB },
> diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
> index 2cc6f26715..837b79da11 100644
> --- a/libavutil/hwcontext_vaapi.c
> +++ b/libavutil/hwcontext_vaapi.c
> @@ -920,7 +920,7 @@ static const struct {
>  } vaapi_drm_format_map[] = {
>  DRM_MAP(NV12, 2, DRM_FORMAT_R8,  DRM_FORMAT_RG88),
>  DRM_MAP(NV12, 1, DRM_FORMAT_NV12),
> -#ifdef VA_FOURCC_P010
> +#if defined(VA_FOURCC_P010) && defined(DRM_FORMAT_R16)
>  DRM_MAP(P010, 2, DRM_FORMAT_R16, DRM_FORMAT_RG1616),
>  #endif
>  DRM_MAP(BGRA, 1, DRM_FORMAT_BGRA),
> -- 
> 2.11.0
> 

R8/RG88 can be a problem as well (2.4.68).  Also, this should be two patches 
(one for each of the two components).

I can split and add that later myself, or you can send a new version if you 
prefer?

Thanks,

- Mark
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


Re: [FFmpeg-devel] [PATCH] kmsgrab: fix build error when use old libdrm

2017-09-14 Thread Mark Thompson
On 14/09/17 01:34, Jun Zhao wrote:
> From 8c7ddfcabf686f213aa59544d90055d20bdac0f7 Mon Sep 17 00:00:00 2001
> From: Jun Zhao 
> Date: Wed, 13 Sep 2017 20:21:38 -0400
> Subject: [PATCH] kmsgrab: fix build error when use old libdrm
> 
> DRM_FORMAT_R16 adding from libdrm 2.4.82, fix the build error
> when libdrm < 2.4.82.
> 
> Signed-off-by: Jun Zhao 
> ---
>  libavdevice/kmsgrab.c   | 2 ++
>  libavutil/hwcontext_vaapi.c | 2 +-
>  2 files changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/libavdevice/kmsgrab.c b/libavdevice/kmsgrab.c
> index d0b9cf5001..49eb44f6f2 100644
> --- a/libavdevice/kmsgrab.c
> +++ b/libavdevice/kmsgrab.c
> @@ -203,7 +203,9 @@ static const struct {
>  uint32_t drm_format;
>  } kmsgrab_formats[] = {
>  { AV_PIX_FMT_GRAY8,DRM_FORMAT_R8   },
> +#ifdef DRM_FORMAT_R16
>  { AV_PIX_FMT_GRAY16LE, DRM_FORMAT_R16  },
> +#endif
>  { AV_PIX_FMT_RGB24,DRM_FORMAT_RGB888   },
>  { AV_PIX_FMT_BGR24,DRM_FORMAT_BGR888   },
>  { AV_PIX_FMT_0RGB, DRM_FORMAT_XRGB },
> diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
> index 2cc6f26715..837b79da11 100644
> --- a/libavutil/hwcontext_vaapi.c
> +++ b/libavutil/hwcontext_vaapi.c
> @@ -920,7 +920,7 @@ static const struct {
>  } vaapi_drm_format_map[] = {
>  DRM_MAP(NV12, 2, DRM_FORMAT_R8,  DRM_FORMAT_RG88),
>  DRM_MAP(NV12, 1, DRM_FORMAT_NV12),
> -#ifdef VA_FOURCC_P010
> +#if defined(VA_FOURCC_P010) && defined(DRM_FORMAT_R16)
>  DRM_MAP(P010, 2, DRM_FORMAT_R16, DRM_FORMAT_RG1616),
>  #endif
>  DRM_MAP(BGRA, 1, DRM_FORMAT_BGRA),
> -- 
> 2.11.0
> 

Hmm, yeah.  Thanks for noticing this - let me think about it a bit further, I 
imagine there are more cases than just this one.  (It isn't autodetected so 
nothing is directly broken.)

- Mark
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel


[FFmpeg-devel] [PATCH] kmsgrab: fix build error when use old libdrm

2017-09-13 Thread Jun Zhao

From 8c7ddfcabf686f213aa59544d90055d20bdac0f7 Mon Sep 17 00:00:00 2001
From: Jun Zhao 
Date: Wed, 13 Sep 2017 20:21:38 -0400
Subject: [PATCH] kmsgrab: fix build error when use old libdrm

DRM_FORMAT_R16 adding from libdrm 2.4.82, fix the build error
when libdrm < 2.4.82.

Signed-off-by: Jun Zhao 
---
 libavdevice/kmsgrab.c   | 2 ++
 libavutil/hwcontext_vaapi.c | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavdevice/kmsgrab.c b/libavdevice/kmsgrab.c
index d0b9cf5001..49eb44f6f2 100644
--- a/libavdevice/kmsgrab.c
+++ b/libavdevice/kmsgrab.c
@@ -203,7 +203,9 @@ static const struct {
 uint32_t drm_format;
 } kmsgrab_formats[] = {
 { AV_PIX_FMT_GRAY8,DRM_FORMAT_R8   },
+#ifdef DRM_FORMAT_R16
 { AV_PIX_FMT_GRAY16LE, DRM_FORMAT_R16  },
+#endif
 { AV_PIX_FMT_RGB24,DRM_FORMAT_RGB888   },
 { AV_PIX_FMT_BGR24,DRM_FORMAT_BGR888   },
 { AV_PIX_FMT_0RGB, DRM_FORMAT_XRGB },
diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index 2cc6f26715..837b79da11 100644
--- a/libavutil/hwcontext_vaapi.c
+++ b/libavutil/hwcontext_vaapi.c
@@ -920,7 +920,7 @@ static const struct {
 } vaapi_drm_format_map[] = {
 DRM_MAP(NV12, 2, DRM_FORMAT_R8,  DRM_FORMAT_RG88),
 DRM_MAP(NV12, 1, DRM_FORMAT_NV12),
-#ifdef VA_FOURCC_P010
+#if defined(VA_FOURCC_P010) && defined(DRM_FORMAT_R16)
 DRM_MAP(P010, 2, DRM_FORMAT_R16, DRM_FORMAT_RG1616),
 #endif
 DRM_MAP(BGRA, 1, DRM_FORMAT_BGRA),
-- 
2.11.0

___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel