[FFmpeg-devel] [PATCH v2 00/15] YUV colorspace filter negotiation

Dong, Ruijing Ruijing.Dong at amd.com
Thu Jan 4 21:32:35 EET 2024


[AMD Official Use Only - General]

I found out this change caused page fault as well.
--------
8c7934f73ab6c568acaa47c821a6833f9145fdbb is the first bad commit
commit 8c7934f73ab6c568acaa47c821a6833f9145fdbb
Author: Niklas Haas <git at haasn.dev>
Date:   Sun Dec 31 13:35:03 2023 -0800

    avfilter: add negotiation API for color space/range

    Motivated by YUVJ removal. This change will allow full negotiation
    between color ranges and matrices as needed. By default, all ranges and
    matrices are marked as supported.

    Because grayscale formats are currently handled very inconsistently (and
    in particular, assumed as forced full-range by swscale), we exclude them
    from negotiation altogether for the time being, to get this API merged.

    After filter negotiation is available, we can relax the
    grayscale-is-forced-jpeg restriction again, when it will be more
    feasible to do so without breaking a million test cases.

    Note that this commit updates one FATE test as a consequence of the
    sanity fallback for non-YUV formats. In particular, the test case now
    writes rgb24(pc, gbr/unspecified/unspecified) to the matroska file,
    instead of rgb24(unspecified/unspecified/unspecified) as before.

 doc/APIchanges              |   3 +
 libavfilter/avfilter.c      |  17 ++++-
 libavfilter/avfilter.h      |  28 +++++++
 libavfilter/avfiltergraph.c | 173 +++++++++++++++++++++++++++++++++++++++++++-
 libavfilter/formats.c       | 121 +++++++++++++++++++++++++++++++
 libavfilter/formats.h       |  54 ++++++++++++++
 libavfilter/internal.h      |   6 ++
 libavfilter/vaapi_vpp.c     |   4 +
 libavfilter/version.h       |   4 +-
 libavfilter/video.c         |   2 +
 tests/ref/fate/shortest-sub |   4 +-
 11 files changed, 406 insertions(+), 10 deletions(-)


ffmpeg -v trace -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i ./example_720p30.y4m -vf 'format=nv12|vaapi, hwupload' -c:v h264_vaapi ./out_720p30.264 -y

Successfully opened the file.
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_vaapi))
[vost#0:0/h264_vaapi @ 0x55a86a145c70] Starting thread...
[vf#0:0 @ 0x55a86a104290] Starting thread...
[vist#0:0/rawvideo @ 0x55a86a105cc0] Starting thread...
[in#0/yuv4mpegpipe @ 0x55a86a11d250] Starting thread...
Press [q] to stop, [?] for help
[rawvideo @ 0x55a86a144d40] PACKET SIZE: 1382400, STRIDE: 1920
[AVFilterGraph @ 0x7fa5e0000ff0] Setting 'pix_fmts' to value 'nv12|vaapi'
detected 24 logical cores
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'video_size' to value '1280x720'
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'time_base' to value '1/30'
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'pixel_aspect' to value '0/1'
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'colorspace' to value 'unknown'
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'range' to value 'unknown'
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] Setting 'frame_rate' to value '30/1'
[rawvideo @ 0x55a86a144d40] PACKET SIZE: 1382400, STRIDE: 1920
[graph 0 input from stream 0:0 @ 0x7fa5e0003ab0] w:1280 h:720 pixfmt:yuv420p tb:1/30 fr:30/1 sar:0/1 csp:unknown range:unknown
[format @ 0x7fa5e0004390] Setting 'pix_fmts' to value 'vaapi'
[auto_scale_0 @ 0x7fa5e00055d0] w:iw h:ih flags:'' interl:0
[Parsed_format_0 @ 0x7fa5e0003450] auto-inserting filter 'auto_scale_0' between the filter 'graph 0 input from stream 0:0' and the filter 'Parsed_format_0'
[AVFilterGraph @ 0x7fa5e0000ff0] query_formats: 5 queried, 9 merged, 3 already done, 0 delayed
Segmentation fault (core dumped)
--------


-----Original Message-----
From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Niklas Haas
Sent: Sunday, December 31, 2023 4:51 PM
To: ffmpeg-devel at ffmpeg.org
Subject: Re: [FFmpeg-devel] [PATCH v2 00/15] YUV colorspace filter negotiation

On Sun, 24 Dec 2023 10:35:22 -0800 Niklas Haas <ffmpeg at haasn.xyz> wrote:
> On Wed, 13 Dec 2023 14:11:57 +0100 Niklas Haas <ffmpeg at haasn.xyz> wrote:
> > Split off from my YUVJ removal series. This implements all of the
> > libavfilter changes needed to fully deprecate YUVJ, but does not yet
> > remove YUVJ, nor add an AVCodec API for advertising colorspace support.
> >
> > Update includes all of the feedback that was brought up by Anton.
> > the major change from v1 is that YUV metadata configured on a link
> > is no longer strictly required to be consistent with the frames,
> > simply to avoid breaking users that don't set this link metadata.
> > Effectively, this allows us to have a grace period where the field
> > functions more like a hint than an authoritative field.
>
> Ping, any further feedback? If not, I will merge this sometime after Christmas.

Merged as 1b0ca477..44a33fccd
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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


More information about the ffmpeg-devel mailing list