[PATCH] avcodec/apv: align APV color format support with latest liboapv version
Signed-off-by: Dariusz Frankiewicz <d.frankiewic@samsung.com> --- configure | 2 +- libavcodec/liboapvenc.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/configure b/configure index ac143f2fea..5527c20578 100755 --- a/configure +++ b/configure @@ -6983,7 +6983,7 @@ enabled jni && { [ $target_os = "android" ] && check_headers jni.h enabled ladspa && require_headers "ladspa.h dlfcn.h" enabled lcms2 && require_pkg_config lcms2 "lcms2 >= 2.13" lcms2.h cmsCreateContext enabled libaom && require_pkg_config libaom "aom >= 2.0.0" aom/aom_codec.h aom_codec_version -enabled liboapv && require_pkg_config liboapv "oapv >= 0.1.13.1" "oapv/oapv.h" oapve_encode +enabled liboapv && require_pkg_config liboapv "oapv >= 0.2.0.0" "oapv/oapv.h" oapve_encode enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new || { enabled gpl && require_pkg_config libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } || die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; } diff --git a/libavcodec/liboapvenc.c b/libavcodec/liboapvenc.c index e62ef57d21..7f9fbf6929 100644 --- a/libavcodec/liboapvenc.c +++ b/libavcodec/liboapvenc.c @@ -102,9 +102,27 @@ static inline int get_color_format(enum AVPixelFormat pix_fmt) int cf = OAPV_CF_UNKNOWN; switch (pix_fmt) { + case AV_PIX_FMT_GRAY10: + cf = OAPV_CF_YCBCR400; + break; case AV_PIX_FMT_YUV422P10: cf = OAPV_CF_YCBCR422; break; + case AV_PIX_FMT_YUV422P12: + cf = OAPV_CF_YCBCR422; + break; + case AV_PIX_FMT_YUV444P10: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUV444P12: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUVA444P10: + cf = OAPV_CF_YCBCR4444; + break; + case AV_PIX_FMT_YUVA444P12: + cf = OAPV_CF_YCBCR4444; + break; default: av_assert0(cf != OAPV_CF_UNKNOWN); } @@ -438,7 +456,13 @@ static av_cold int liboapve_close(AVCodecContext *avctx) #define VE AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM static const enum AVPixelFormat supported_pixel_formats[] = { + AV_PIX_FMT_GRAY10, AV_PIX_FMT_YUV422P10, + AV_PIX_FMT_YUV422P12, + AV_PIX_FMT_YUV444P10, + AV_PIX_FMT_YUV444P12, + AV_PIX_FMT_YUVA444P10, + AV_PIX_FMT_YUVA444P12, AV_PIX_FMT_NONE }; -- 2.34.1
On Wed, Jul 23, 2025 at 01:13:49PM +0200, Dariusz Frankiewicz wrote:
Signed-off-by: Dariusz Frankiewicz <d.frankiewic@samsung.com> --- configure | 2 +- libavcodec/liboapvenc.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/configure b/configure index ac143f2fea..5527c20578 100755 --- a/configure +++ b/configure @@ -6983,7 +6983,7 @@ enabled jni && { [ $target_os = "android" ] && check_headers jni.h enabled ladspa && require_headers "ladspa.h dlfcn.h" enabled lcms2 && require_pkg_config lcms2 "lcms2 >= 2.13" lcms2.h cmsCreateContext enabled libaom && require_pkg_config libaom "aom >= 2.0.0" aom/aom_codec.h aom_codec_version -enabled liboapv && require_pkg_config liboapv "oapv >= 0.1.13.1" "oapv/oapv.h" oapve_encode +enabled liboapv && require_pkg_config liboapv "oapv >= 0.2.0.0" "oapv/oapv.h" oapve_encode enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new || { enabled gpl && require_pkg_config libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } || die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; } diff --git a/libavcodec/liboapvenc.c b/libavcodec/liboapvenc.c index e62ef57d21..7f9fbf6929 100644 --- a/libavcodec/liboapvenc.c +++ b/libavcodec/liboapvenc.c @@ -102,9 +102,27 @@ static inline int get_color_format(enum AVPixelFormat pix_fmt) int cf = OAPV_CF_UNKNOWN;
switch (pix_fmt) { + case AV_PIX_FMT_GRAY10: + cf = OAPV_CF_YCBCR400; + break; case AV_PIX_FMT_YUV422P10: cf = OAPV_CF_YCBCR422; break; + case AV_PIX_FMT_YUV422P12: + cf = OAPV_CF_YCBCR422; + break; + case AV_PIX_FMT_YUV444P10: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUV444P12: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUVA444P10: + cf = OAPV_CF_YCBCR4444; + break; + case AV_PIX_FMT_YUVA444P12: + cf = OAPV_CF_YCBCR4444; + break; default: av_assert0(cf != OAPV_CF_UNKNOWN); }
does it make sense to continue supporting older versions ? or is there no distribution that uses a version prior 0.2.0.0 ? thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB If a bugfix only changes things apparently unrelated to the bug with no further explanation, that is a good sign that the bugfix is wrong.
On Wed, Jul 23, 2025 at 01:13:49PM +0200, Dariusz Frankiewicz wrote:
Signed-off-by: Dariusz Frankiewicz <d.frankiewic@samsung.com> --- configure | 2 +- libavcodec/liboapvenc.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/configure b/configure index ac143f2fea..5527c20578 100755 --- a/configure +++ b/configure @@ -6983,7 +6983,7 @@ enabled jni && { [ $target_os = "android" ] && check_headers jni.h enabled ladspa && require_headers "ladspa.h dlfcn.h" enabled lcms2 && require_pkg_config lcms2 "lcms2 >= 2.13" lcms2.h cmsCreateContext enabled libaom && require_pkg_config libaom "aom >= 2.0.0" aom/aom_codec.h aom_codec_version -enabled liboapv && require_pkg_config liboapv "oapv >= 0.1.13.1" "oapv/oapv.h" oapve_encode +enabled liboapv && require_pkg_config liboapv "oapv >= 0.2.0.0" "oapv/oapv.h" oapve_encode enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new || { enabled gpl && require_pkg_config
-----Original Message----- From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael Niedermayer Sent: Monday, July 28, 2025 5:16 PM To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/apv: align APV color format support with latest liboapv version libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } ||
die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; } diff --git a/libavcodec/liboapvenc.c b/libavcodec/liboapvenc.c index e62ef57d21..7f9fbf6929 100644 --- a/libavcodec/liboapvenc.c +++ b/libavcodec/liboapvenc.c @@ -102,9 +102,27 @@ static inline int get_color_format(enum
AVPixelFormat pix_fmt)
int cf = OAPV_CF_UNKNOWN;
switch (pix_fmt) { + case AV_PIX_FMT_GRAY10: + cf = OAPV_CF_YCBCR400; + break; case AV_PIX_FMT_YUV422P10: cf = OAPV_CF_YCBCR422; break; + case AV_PIX_FMT_YUV422P12: + cf = OAPV_CF_YCBCR422; + break; + case AV_PIX_FMT_YUV444P10: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUV444P12: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUVA444P10: + cf = OAPV_CF_YCBCR4444; + break; + case AV_PIX_FMT_YUVA444P12: + cf = OAPV_CF_YCBCR4444; + break; default: av_assert0(cf != OAPV_CF_UNKNOWN); }
does it make sense to continue supporting older versions ? or is there no distribution that uses a version prior 0.2.0.0 ?
thx
Those colorspaces are supported from 0.2.0.0 version of OpenAPV so bumping version is required to make them work with library. There are no official distributions that are using OpenAPV old versions so it shouldn't be a problem. I think that we can fully switch to 0.2.0.0 as dependency. Regards, Dariusz
On Tue, Jul 29, 2025 at 11:09:52AM +0200, d.frankiewic@samsung.com wrote:
-----Original Message----- From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael Niedermayer Sent: Monday, July 28, 2025 5:16 PM To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/apv: align APV color format support with latest liboapv version
Signed-off-by: Dariusz Frankiewicz <d.frankiewic@samsung.com> --- configure | 2 +- libavcodec/liboapvenc.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/configure b/configure index ac143f2fea..5527c20578 100755 --- a/configure +++ b/configure @@ -6983,7 +6983,7 @@ enabled jni && { [ $target_os = "android" ] && check_headers jni.h enabled ladspa && require_headers "ladspa.h dlfcn.h" enabled lcms2 && require_pkg_config lcms2 "lcms2 >= 2.13" lcms2.h cmsCreateContext enabled libaom && require_pkg_config libaom "aom >= 2.0.0" aom/aom_codec.h aom_codec_version -enabled liboapv && require_pkg_config liboapv "oapv >= 0.1.13.1" "oapv/oapv.h" oapve_encode +enabled liboapv && require_pkg_config liboapv "oapv >= 0.2.0.0" "oapv/oapv.h" oapve_encode enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new || { enabled gpl && require_pkg_config
On Wed, Jul 23, 2025 at 01:13:49PM +0200, Dariusz Frankiewicz wrote: libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } ||
die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; } diff --git a/libavcodec/liboapvenc.c b/libavcodec/liboapvenc.c index e62ef57d21..7f9fbf6929 100644 --- a/libavcodec/liboapvenc.c +++ b/libavcodec/liboapvenc.c @@ -102,9 +102,27 @@ static inline int get_color_format(enum
AVPixelFormat pix_fmt)
int cf = OAPV_CF_UNKNOWN;
switch (pix_fmt) { + case AV_PIX_FMT_GRAY10: + cf = OAPV_CF_YCBCR400; + break; case AV_PIX_FMT_YUV422P10: cf = OAPV_CF_YCBCR422; break; + case AV_PIX_FMT_YUV422P12: + cf = OAPV_CF_YCBCR422; + break; + case AV_PIX_FMT_YUV444P10: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUV444P12: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUVA444P10: + cf = OAPV_CF_YCBCR4444; + break; + case AV_PIX_FMT_YUVA444P12: + cf = OAPV_CF_YCBCR4444; + break; default: av_assert0(cf != OAPV_CF_UNKNOWN); }
does it make sense to continue supporting older versions ? or is there no distribution that uses a version prior 0.2.0.0 ?
thx
Those colorspaces are supported from 0.2.0.0 version of OpenAPV so bumping version is required to make them work with library. There are no official distributions that are using OpenAPV old versions so it shouldn't be a problem. I think that we can fully switch to 0.2.0.0 as dependency.
ok thx [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB I have never wished to cater to the crowd; for what I know they do not approve, and what they approve I do not know. -- Epicurus
-----Original Message----- From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael Niedermayer Sent: Wednesday, July 30, 2025 1:41 AM To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/apv: align APV color format support with latest liboapv version
On Tue, Jul 29, 2025 at 11:09:52AM +0200, d.frankiewic@samsung.com wrote:
<ffmpeg-devel@ffmpeg.org> Subject: Re: [FFmpeg-devel] [PATCH] avcodec/apv: align APV color
-----Original Message----- From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of Michael Niedermayer Sent: Monday, July 28, 2025 5:16 PM To: FFmpeg development discussions and patches format support with latest liboapv version
Signed-off-by: Dariusz Frankiewicz <d.frankiewic@samsung.com> --- configure | 2 +- libavcodec/liboapvenc.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/configure b/configure index ac143f2fea..5527c20578 100755 --- a/configure +++ b/configure @@ -6983,7 +6983,7 @@ enabled jni && { [ $target_os = "android" ] && check_headers jni.h enabled ladspa && require_headers "ladspa.h dlfcn.h" enabled lcms2 && require_pkg_config lcms2 "lcms2 >= 2.13" lcms2.h cmsCreateContext enabled libaom && require_pkg_config libaom "aom >= 2.0.0" aom/aom_codec.h aom_codec_version -enabled liboapv && require_pkg_config liboapv "oapv >= 0.1.13.1" "oapv/oapv.h" oapve_encode +enabled liboapv && require_pkg_config liboapv "oapv >= 0.2.0.0" "oapv/oapv.h" oapve_encode enabled libaribb24 && { check_pkg_config libaribb24 "aribb24 > 1.0.3" "aribb24/aribb24.h" arib_instance_new || { enabled gpl && require_pkg_config
On Wed, Jul 23, 2025 at 01:13:49PM +0200, Dariusz Frankiewicz wrote: libaribb24 aribb24 "aribb24/aribb24.h" arib_instance_new; } ||
die "ERROR: libaribb24 requires version higher than 1.0.3 or --enable-gpl."; } diff --git a/libavcodec/liboapvenc.c b/libavcodec/liboapvenc.c index e62ef57d21..7f9fbf6929 100644 --- a/libavcodec/liboapvenc.c +++ b/libavcodec/liboapvenc.c @@ -102,9 +102,27 @@ static inline int get_color_format(enum
AVPixelFormat pix_fmt)
int cf = OAPV_CF_UNKNOWN;
switch (pix_fmt) { + case AV_PIX_FMT_GRAY10: + cf = OAPV_CF_YCBCR400; + break; case AV_PIX_FMT_YUV422P10: cf = OAPV_CF_YCBCR422; break; + case AV_PIX_FMT_YUV422P12: + cf = OAPV_CF_YCBCR422; + break; + case AV_PIX_FMT_YUV444P10: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUV444P12: + cf = OAPV_CF_YCBCR444; + break; + case AV_PIX_FMT_YUVA444P10: + cf = OAPV_CF_YCBCR4444; + break; + case AV_PIX_FMT_YUVA444P12: + cf = OAPV_CF_YCBCR4444; + break; default: av_assert0(cf != OAPV_CF_UNKNOWN); }
does it make sense to continue supporting older versions ? or is there no distribution that uses a version prior 0.2.0.0 ?
thx
Those colorspaces are supported from 0.2.0.0 version of OpenAPV so bumping version is required to make them work with library. There are no official distributions that are using OpenAPV old versions so it shouldn't be a problem. I think that we can fully switch to 0.2.0.0 as dependency.
ok
thx
[...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have never wished to cater to the crowd; for what I know they do not approve, and what they approve I do not know. -- Epicurus
Can we merge this patch, or something need to be improved?
participants (3)
-
d.frankiewic@samsung.com -
Dariusz Frankiewicz -
Michael Niedermayer