Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH] avcodec/libsvtav1: add support for setting chroma sample location
@ 2022-04-25 21:02 Jan Ekström
  2022-04-25 21:15 ` James Almer
  2022-04-25 21:59 ` [FFmpeg-devel] [PATCH v2] " Jan Ekström
  0 siblings, 2 replies; 5+ messages in thread
From: Jan Ekström @ 2022-04-25 21:02 UTC (permalink / raw)
  To: ffmpeg-devel

Support for configuring this was added with version 1.0.0.
---
 libavcodec/libsvtav1.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index 2e3d96ce37..a670dab822 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -205,6 +205,28 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
     else
         param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
 
+#if SVT_AV1_CHECK_VERSION(1, 0, 0)
+    if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
+        switch (avctx->chroma_sample_location) {
+        case AVCHROMA_LOC_LEFT:
+            param->chroma_sample_position = EB_CSP_VERTICAL;
+            break;
+        case AVCHROMA_LOC_TOPLEFT:
+            param->chroma_sample_position = EB_CSP_COLOCATED;
+            break;
+        default:
+            av_log(avctx, AV_LOG_INFO,
+                   "Specified chroma sample location %s (%d) is unsupported "
+                   "on the AV1 bit stream level. Usage of a container that "
+                   "allows passing this information - such as Matroska - "
+                   "is recommended.\n",
+                   av_chroma_location_name(avctx->chroma_sample_location),
+                   avctx->chroma_sample_location);
+            break;
+        }
+    }
+#endif
+
     if (avctx->profile != FF_PROFILE_UNKNOWN)
         param->profile = avctx->profile;
 
-- 
2.36.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH] avcodec/libsvtav1: add support for setting chroma sample location
  2022-04-25 21:02 [FFmpeg-devel] [PATCH] avcodec/libsvtav1: add support for setting chroma sample location Jan Ekström
@ 2022-04-25 21:15 ` James Almer
  2022-04-25 21:59 ` [FFmpeg-devel] [PATCH v2] " Jan Ekström
  1 sibling, 0 replies; 5+ messages in thread
From: James Almer @ 2022-04-25 21:15 UTC (permalink / raw)
  To: ffmpeg-devel

On 4/25/2022 6:02 PM, Jan Ekström wrote:
> Support for configuring this was added with version 1.0.0.
> ---
>   libavcodec/libsvtav1.c | 22 ++++++++++++++++++++++
>   1 file changed, 22 insertions(+)
> 
> diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> index 2e3d96ce37..a670dab822 100644
> --- a/libavcodec/libsvtav1.c
> +++ b/libavcodec/libsvtav1.c
> @@ -205,6 +205,28 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
>       else
>           param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
>   
> +#if SVT_AV1_CHECK_VERSION(1, 0, 0)
> +    if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
> +        switch (avctx->chroma_sample_location) {
> +        case AVCHROMA_LOC_LEFT:
> +            param->chroma_sample_position = EB_CSP_VERTICAL;
> +            break;
> +        case AVCHROMA_LOC_TOPLEFT:
> +            param->chroma_sample_position = EB_CSP_COLOCATED;
> +            break;
> +        default:
> +            av_log(avctx, AV_LOG_INFO,
> +                   "Specified chroma sample location %s (%d) is unsupported "
> +                   "on the AV1 bit stream level. Usage of a container that "
> +                   "allows passing this information - such as Matroska - "
> +                   "is recommended.\n",
> +                   av_chroma_location_name(avctx->chroma_sample_location),

This can return NULL on invalid AVChromaLocation values, so better check 
for that and print a different log message.

> +                   avctx->chroma_sample_location);
> +            break;
> +        }
> +    }
> +#endif
> +
>       if (avctx->profile != FF_PROFILE_UNKNOWN)
>           param->profile = avctx->profile;
>   
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [FFmpeg-devel] [PATCH v2] avcodec/libsvtav1: add support for setting chroma sample location
  2022-04-25 21:02 [FFmpeg-devel] [PATCH] avcodec/libsvtav1: add support for setting chroma sample location Jan Ekström
  2022-04-25 21:15 ` James Almer
@ 2022-04-25 21:59 ` Jan Ekström
  2022-04-25 23:44   ` James Almer
  1 sibling, 1 reply; 5+ messages in thread
From: Jan Ekström @ 2022-04-25 21:59 UTC (permalink / raw)
  To: ffmpeg-devel

Support for configuring this was added with version 1.0.0.
---
 libavcodec/libsvtav1.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index 2e3d96ce37..49c396387f 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -205,6 +205,33 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
     else
         param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
 
+#if SVT_AV1_CHECK_VERSION(1, 0, 0)
+    if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
+        const char *name =
+            av_chroma_location_name(avctx->chroma_sample_location);
+
+        switch (avctx->chroma_sample_location) {
+        case AVCHROMA_LOC_LEFT:
+            param->chroma_sample_position = EB_CSP_VERTICAL;
+            break;
+        case AVCHROMA_LOC_TOPLEFT:
+            param->chroma_sample_position = EB_CSP_COLOCATED;
+            break;
+        default:
+            if (!name)
+                break;
+
+            av_log(avctx, AV_LOG_WARNING,
+                   "Specified chroma sample location %s is unsupported "
+                   "on the AV1 bit stream level. Usage of a container that "
+                   "allows passing this information - such as Matroska - "
+                   "is recommended.\n",
+                   name);
+            break;
+        }
+    }
+#endif
+
     if (avctx->profile != FF_PROFILE_UNKNOWN)
         param->profile = avctx->profile;
 
-- 
2.36.0

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] avcodec/libsvtav1: add support for setting chroma sample location
  2022-04-25 21:59 ` [FFmpeg-devel] [PATCH v2] " Jan Ekström
@ 2022-04-25 23:44   ` James Almer
  2022-04-26  6:19     ` Jan Ekström
  0 siblings, 1 reply; 5+ messages in thread
From: James Almer @ 2022-04-25 23:44 UTC (permalink / raw)
  To: ffmpeg-devel

On 4/25/2022 6:59 PM, Jan Ekström wrote:
> Support for configuring this was added with version 1.0.0.
> ---
>   libavcodec/libsvtav1.c | 27 +++++++++++++++++++++++++++
>   1 file changed, 27 insertions(+)
> 
> diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> index 2e3d96ce37..49c396387f 100644
> --- a/libavcodec/libsvtav1.c
> +++ b/libavcodec/libsvtav1.c
> @@ -205,6 +205,33 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
>       else
>           param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
>   
> +#if SVT_AV1_CHECK_VERSION(1, 0, 0)
> +    if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
> +        const char *name =
> +            av_chroma_location_name(avctx->chroma_sample_location);
> +
> +        switch (avctx->chroma_sample_location) {
> +        case AVCHROMA_LOC_LEFT:
> +            param->chroma_sample_position = EB_CSP_VERTICAL;
> +            break;
> +        case AVCHROMA_LOC_TOPLEFT:
> +            param->chroma_sample_position = EB_CSP_COLOCATED;
> +            break;
> +        default:
> +            if (!name)
> +                break;
> +
> +            av_log(avctx, AV_LOG_WARNING,
> +                   "Specified chroma sample location %s is unsupported "
> +                   "on the AV1 bit stream level. Usage of a container that "
> +                   "allows passing this information - such as Matroska - "
> +                   "is recommended.\n",
> +                   name);
> +            break;
> +        }
> +    }
> +#endif
> +
>       if (avctx->profile != FF_PROFILE_UNKNOWN)
>           param->profile = avctx->profile;

Should be ok.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2] avcodec/libsvtav1: add support for setting chroma sample location
  2022-04-25 23:44   ` James Almer
@ 2022-04-26  6:19     ` Jan Ekström
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Ekström @ 2022-04-26  6:19 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

On Tue, Apr 26, 2022 at 2:44 AM James Almer <jamrial@gmail.com> wrote:
>
> On 4/25/2022 6:59 PM, Jan Ekström wrote:
> > Support for configuring this was added with version 1.0.0.
> > ---
> >   libavcodec/libsvtav1.c | 27 +++++++++++++++++++++++++++
> >   1 file changed, 27 insertions(+)
> >
> > diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> > index 2e3d96ce37..49c396387f 100644
> > --- a/libavcodec/libsvtav1.c
> > +++ b/libavcodec/libsvtav1.c
> > @@ -205,6 +205,33 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
> >       else
> >           param->color_range = !!(desc->flags & AV_PIX_FMT_FLAG_RGB);
> >
> > +#if SVT_AV1_CHECK_VERSION(1, 0, 0)
> > +    if (avctx->chroma_sample_location != AVCHROMA_LOC_UNSPECIFIED) {
> > +        const char *name =
> > +            av_chroma_location_name(avctx->chroma_sample_location);
> > +
> > +        switch (avctx->chroma_sample_location) {
> > +        case AVCHROMA_LOC_LEFT:
> > +            param->chroma_sample_position = EB_CSP_VERTICAL;
> > +            break;
> > +        case AVCHROMA_LOC_TOPLEFT:
> > +            param->chroma_sample_position = EB_CSP_COLOCATED;
> > +            break;
> > +        default:
> > +            if (!name)
> > +                break;
> > +
> > +            av_log(avctx, AV_LOG_WARNING,
> > +                   "Specified chroma sample location %s is unsupported "
> > +                   "on the AV1 bit stream level. Usage of a container that "
> > +                   "allows passing this information - such as Matroska - "
> > +                   "is recommended.\n",
> > +                   name);
> > +            break;
> > +        }
> > +    }
> > +#endif
> > +
> >       if (avctx->profile != FF_PROFILE_UNKNOWN)
> >           param->profile = avctx->profile;
>
> Should be ok.

Thanks, applied as ded0334d214f9617122ccf5466f99df5c908277b .

Jan
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-04-26  6:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-25 21:02 [FFmpeg-devel] [PATCH] avcodec/libsvtav1: add support for setting chroma sample location Jan Ekström
2022-04-25 21:15 ` James Almer
2022-04-25 21:59 ` [FFmpeg-devel] [PATCH v2] " Jan Ekström
2022-04-25 23:44   ` James Almer
2022-04-26  6:19     ` Jan Ekström

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git