This is an automated email from the git hooks/post-receive script.

Git pushed a commit to branch master
in repository ffmpeg.

commit 74f1a4a16027331f0e0c95feee6330f29ba18387
Author:     guy-with-a-why <[email protected]>
AuthorDate: Fri Aug 28 09:19:14 2026 +0100
Commit:     Timo Rothenpieler <[email protected]>
CommitDate: Mon Aug 31 18:13:21 2026 +0000

    avcodec: add FF_BUG_H264_DP_NNZ
    
    9.2.1 makes an inter neighbour unavailable for the coeff_token nC
    derivation under constrained intra prediction with slice data
    partitioning, and step 7 then drops it from the (nA + nB + 1) >> 1
    average. JM instead treats it as available with nN = 0, so it still
    contributes. Every partitioned stream in the wild comes from JM or a
    derivative, so the decoder has to be able to do both.
    
    Signed-off-by: guy-with-a-why <[email protected]>
---
 doc/APIchanges             | 3 +++
 doc/codecs.texi            | 3 +++
 libavcodec/avcodec.h       | 1 +
 libavcodec/options_table.h | 1 +
 libavcodec/version.h       | 4 ++--
 5 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 40b4ba3580..7d878a630c 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,9 @@ The last version increases of all libraries were on 2026-06-23.
 
 API changes, most recent first:
 
+2026-08-28 - xxxxxxxxxx - lavc 63.9.100 - avcodec.h
+  Add FF_BUG_H264_DP_NNZ.
+
 2026-08-23 - xxxxxxxxxx - lavu 61.6.100 - channel_layout.h
   Add AV_CH_LAYOUT_5POINT1POINT4 and AV_CHANNEL_LAYOUT_5POINT1POINT4.
   Add AV_CH_LAYOUT_7POINT1POINT4 and AV_CHANNEL_LAYOUT_7POINT1POINT4.
diff --git a/doc/codecs.texi b/doc/codecs.texi
index 63319551de..e905282f1e 100644
--- a/doc/codecs.texi
+++ b/doc/codecs.texi
@@ -178,6 +178,9 @@ edge padding bug (autodetected per fourcc/version)
 Workaround various bugs in microsoft broken decoders.
 @item trunc
 trancated frames
+@item h264_dp_nnz
+H.264 nC derivation for partitioned slices, as done by JM rather than by
+9.2.1 (autodetected)
 @end table
 
 @item strict @var{integer} (@emph{decoding/encoding,audio,video})
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index efcfb7200e..cf2257f3c9 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1358,6 +1358,7 @@ typedef struct AVCodecContext {
 #define FF_BUG_MS               8192 ///< Work around various bugs in 
Microsoft's broken decoders.
 #define FF_BUG_TRUNCATED       16384
 #define FF_BUG_IEDGE           32768
+#define FF_BUG_H264_DP_NNZ     65536 ///< H.264: JM's nC derivation for 
partitioned slices.
 
     /**
      * strictly follow the standard (MPEG-4, ...).
diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h
index a16fc84df4..23fe7d3409 100644
--- a/libavcodec/options_table.h
+++ b/libavcodec/options_table.h
@@ -125,6 +125,7 @@ static const AVOption avcodec_options[] = {
 {"ms", "work around various bugs in Microsoft's broken decoders", 0, 
AV_OPT_TYPE_CONST, {.i64 = FF_BUG_MS }, INT_MIN, INT_MAX, V|D, .unit = "bug"},
 {"trunc", "truncated frames", 0, AV_OPT_TYPE_CONST, {.i64 = FF_BUG_TRUNCATED}, 
INT_MIN, INT_MAX, V|D, .unit = "bug"},
 {"iedge", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_BUG_IEDGE }, INT_MIN, 
INT_MAX, V|D, .unit = "bug"},
+{"h264_dp_nnz", "H.264 nC derivation for partitioned slices (autodetected)", 
0, AV_OPT_TYPE_CONST, {.i64 = FF_BUG_H264_DP_NNZ }, INT_MIN, INT_MAX, V|D, 
.unit = "bug"},
 {"strict", "how strictly to follow the standards", 
OFFSET(strict_std_compliance), AV_OPT_TYPE_INT, {.i64 = DEFAULT }, INT_MIN, 
INT_MAX, A|V|D|E, .unit = "strict"},
 {"very", "strictly conform to a older more strict version of the spec or 
reference software", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_VERY_STRICT }, 
INT_MIN, INT_MAX, A|V|D|E, .unit = "strict"},
 {"strict", "strictly conform to all the things in the spec no matter what the 
consequences", 0, AV_OPT_TYPE_CONST, {.i64 = FF_COMPLIANCE_STRICT }, INT_MIN, 
INT_MAX, A|V|D|E, .unit = "strict"},
diff --git a/libavcodec/version.h b/libavcodec/version.h
index fb4cb6c86b..230d5fa13e 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,8 +29,8 @@
 
 #include "version_major.h"
 
-#define LIBAVCODEC_VERSION_MINOR   8
-#define LIBAVCODEC_VERSION_MICRO 101
+#define LIBAVCODEC_VERSION_MINOR   9
+#define LIBAVCODEC_VERSION_MICRO 100
 
 #define LIBAVCODEC_VERSION_INT  AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
                                                LIBAVCODEC_VERSION_MINOR, \

-- 
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to