Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
From: Niklas Haas <ffmpeg@haasn.xyz>
To: ffmpeg-devel@ffmpeg.org
Cc: Niklas Haas <git@haasn.dev>
Subject: Re: [FFmpeg-devel] [PATCH 1/9] avcodec/dovi_rpudec: clarify semantics
Date: Fri, 12 Jul 2024 13:40:19 +0200
Message-ID: <20240712134019.GB9570@haasn.xyz> (raw)
In-Reply-To: <20240624172044.101722-1-ffmpeg@haasn.xyz>

On Mon, 24 Jun 2024 19:20:36 +0200 Niklas Haas <ffmpeg@haasn.xyz> wrote:
> From: Niklas Haas <git@haasn.dev>
> 
> ff_dovi_rpu_parse() and ff_dovi_rpu_generate() are a bit inconsistent in
> that they expect different levels of encapsulation, due to the nature of
> how this is handled in the context of different APIs. Clarify the status
> quo. (And fix an incorrect reference to the RPU payload bytes as 'RBSP')
> ---
>  libavcodec/dovi_rpu.h    | 5 +++--
>  libavcodec/dovi_rpudec.c | 2 +-
>  2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/libavcodec/dovi_rpu.h b/libavcodec/dovi_rpu.h
> index bfb118d6b5..205d16ffbc 100644
> --- a/libavcodec/dovi_rpu.h
> +++ b/libavcodec/dovi_rpu.h
> @@ -95,8 +95,9 @@ void ff_dovi_ctx_unref(DOVIContext *s);
>  void ff_dovi_ctx_flush(DOVIContext *s);
>  
>  /**
> - * Parse the contents of a Dovi RPU NAL and update the parsed values in the
> - * DOVIContext struct.
> + * Parse the contents of a Dolby Vision RPU and update the parsed values in the
> + * DOVIContext struct. This function should receive the decoded unit payload,
> + * without any T.35 or NAL unit headers.
>   *
>   * Returns 0 or an error code.
>   *
> diff --git a/libavcodec/dovi_rpudec.c b/libavcodec/dovi_rpudec.c
> index c025800206..375e6e560b 100644
> --- a/libavcodec/dovi_rpudec.c
> +++ b/libavcodec/dovi_rpudec.c
> @@ -360,7 +360,7 @@ int ff_dovi_rpu_parse(DOVIContext *s, const uint8_t *rpu, size_t rpu_size,
>          emdf_protection = get_bits(gb, 5 + 12);
>          VALIDATE(emdf_protection, 0x400, 0x400);
>      } else {
> -        /* NAL RBSP with prefix and trailing zeroes */
> +        /* NAL unit with prefix and trailing zeroes */
>          VALIDATE(rpu[0], 25, 25); /* NAL prefix */
>          rpu++;
>          rpu_size--;
> -- 
> 2.45.1
> 

Confirmed working via the official Dolby Bitstream validator tool. I'll
merge it shortly if nobody objects.

I made one more minor local change, renaming the default "all" compression
preset to "limited", corresponding to the limited metadata compression
scheme described in chapter 9 of the dolby vision bitstream
specification.

Specifically, we want to discourage the use of potential compression
modes that go beyond "limited" because they are not broadly compatible
with real devices, so having an "all" preset is a bit pointless.
_______________________________________________
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".

      parent reply	other threads:[~2024-07-12 11:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-24 17:20 Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 2/9] avcodec/dovi_rpuenc: also copy ext blocks to dovi ctx Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 3/9] avcodec/dovi_rpuenc: try to re-use existing vdr_rpu_id Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 4/9] avcodec/dovi_rpuenc: allow changing vdr_rpu_id Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 5/9] avcodec/dovi_rpuenc: add `flags` to ff_dovi_rpu_generate() Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 6/9] avcodec/dovi_rpuenc: make encapsulation optional Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 7/9] avcodec/dovi_rpuenc: disable metadata compression by default Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 8/9] avcodec/dovi_rpu: add ff_dovi_get_metadata() Niklas Haas
2024-06-24 17:20 ` [FFmpeg-devel] [PATCH 9/9] avcodec/bsf/dovi_rpu: add new bitstream filter Niklas Haas
2024-07-12 11:40 ` Niklas Haas [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240712134019.GB9570@haasn.xyz \
    --to=ffmpeg@haasn.xyz \
    --cc=ffmpeg-devel@ffmpeg.org \
    --cc=git@haasn.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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