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 v2 1/2] fate: add peak error to psnr filter
@ 2025-01-27  3:29 pal
  2025-01-27  3:29 ` [FFmpeg-devel] [PATCH v2 2/2] fate/jpeg2000dec: add missing ISO/IEC 15444-4 conformance tests pal
  0 siblings, 1 reply; 3+ messages in thread
From: pal @ 2025-01-27  3:29 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Pierre-Anthony Lemieux

From: Pierre-Anthony Lemieux <pal@palemieux.com>

---
 libavfilter/vf_psnr.c | 70 +++++++++++++++++++++++++++++++++++--------
 tests/fate-run.sh     | 36 ++++++++++++++++++++++
 2 files changed, 94 insertions(+), 12 deletions(-)

diff --git a/libavfilter/vf_psnr.c b/libavfilter/vf_psnr.c
index 4a173c73d9..3f55562cec 100644
--- a/libavfilter/vf_psnr.c
+++ b/libavfilter/vf_psnr.c
@@ -36,6 +36,11 @@
 #include "framesync.h"
 #include "psnr.h"
 
+typedef struct Score {
+    uint64_t mse;
+    uint64_t peak;
+} Score;
+
 typedef struct PSNRContext {
     const AVClass *class;
     FFFrameSync fs;
@@ -47,7 +52,9 @@ typedef struct PSNRContext {
     int stats_header_written;
     int stats_add_max;
     int max[4], average_max;
+    int peak[4];
     int is_rgb;
+    int bpp;
     uint8_t rgba_map[4];
     char comps[4];
     int nb_components;
@@ -55,7 +62,7 @@ typedef struct PSNRContext {
     int planewidth[4];
     int planeheight[4];
     double planeweight[4];
-    uint64_t **score;
+    Score **score;
     PSNRDSPContext dsp;
 } PSNRContext;
 
@@ -65,7 +72,7 @@ typedef struct PSNRContext {
 static const AVOption psnr_options[] = {
     {"stats_file", "Set file where to store per-frame difference information", OFFSET(stats_file_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS },
     {"f",          "Set file where to store per-frame difference information", OFFSET(stats_file_str), AV_OPT_TYPE_STRING, {.str=NULL}, 0, 0, FLAGS },
-    {"stats_version", "Set the format version for the stats file.",               OFFSET(stats_version),  AV_OPT_TYPE_INT,    {.i64=1},    1, 2, FLAGS },
+    {"stats_version", "Set the format version for the stats file.",               OFFSET(stats_version),  AV_OPT_TYPE_INT,    {.i64=1},    1, 3, FLAGS },
     {"output_max",  "Add raw stats (max values) to the output log.",            OFFSET(stats_add_max), AV_OPT_TYPE_BOOL, {.i64=0}, 0, 1, FLAGS},
     { NULL }
 };
@@ -89,17 +96,18 @@ typedef struct ThreadData {
     int ref_linesize[4];
     int planewidth[4];
     int planeheight[4];
-    uint64_t **score;
+    int bpp;
+    Score **score;
     int nb_components;
     PSNRDSPContext *dsp;
 } ThreadData;
 
 static
-int compute_images_mse(AVFilterContext *ctx, void *arg,
+int compute_images_stats(AVFilterContext *ctx, void *arg,
                        int jobnr, int nb_jobs)
 {
     ThreadData *td = arg;
-    uint64_t *score = td->score[jobnr];
+    Score *score = td->score[jobnr];
 
     for (int c = 0; c < td->nb_components; c++) {
         const int outw = td->planewidth[c];
@@ -111,12 +119,31 @@ int compute_images_mse(AVFilterContext *ctx, void *arg,
         const uint8_t *main_line = td->main_data[c] + main_linesize * slice_start;
         const uint8_t *ref_line = td->ref_data[c] + ref_linesize * slice_start;
         uint64_t m = 0;
+        uint64_t p = 0;
         for (int i = slice_start; i < slice_end; i++) {
             m += td->dsp->sse_line(main_line, ref_line, outw);
+            if (td->bpp > 8) {
+                uint16_t *mp = (uint16_t*) main_line;
+                uint16_t *rp = (uint16_t*) ref_line;
+                for (int j = 0; j < outw; j++) {
+                    int diff = abs(*mp++ - *rp++);
+                    if(diff > p)
+                        p = diff;
+                }
+            } else {
+                uint8_t *mp = main_line;
+                uint8_t *rp = ref_line;
+                for (int j = 0; j < outw; j++) {
+                    int diff = abs(*mp++ - *rp++);
+                    if(diff > p)
+                        p = diff;
+                }
+            }
             ref_line += ref_linesize;
             main_line += main_linesize;
         }
-        score[c] = m;
+        score[c].mse = m;
+        score[c].peak = p;
     }
 
     return 0;
@@ -163,6 +190,7 @@ static int do_psnr(FFFrameSync *fs)
         td.ref_linesize[c] = ref->linesize[c];
         td.planewidth[c] = s->planewidth[c];
         td.planeheight[c] = s->planeheight[c];
+        td.bpp = s->bpp;
     }
 
     if (master->color_range != ref->color_range) {
@@ -172,12 +200,15 @@ static int do_psnr(FFFrameSync *fs)
                av_color_range_name(ref->color_range));
     }
 
-    ff_filter_execute(ctx, compute_images_mse, &td, NULL,
+    ff_filter_execute(ctx, compute_images_stats, &td, NULL,
                       FFMIN(s->planeheight[1], s->nb_threads));
 
     for (int j = 0; j < s->nb_threads; j++) {
-        for (int c = 0; c < s->nb_components; c++)
-            comp_sum[c] += s->score[j][c];
+        for (int c = 0; c < s->nb_components; c++) {
+            comp_sum[c] += s->score[j][c].mse;
+            if (s->score[j][c].peak > s->peak[c])
+                s->peak[c] = s->score[j][c].peak;
+        }
     }
 
     for (int c = 0; c < s->nb_components; c++)
@@ -204,8 +235,8 @@ static int do_psnr(FFFrameSync *fs)
     set_meta(metadata, "lavfi.psnr.psnr_avg", 0, get_psnr(mse, 1, s->average_max));
 
     if (s->stats_file) {
-        if (s->stats_version == 2 && !s->stats_header_written) {
-            fprintf(s->stats_file, "psnr_log_version:2 fields:n");
+        if (s->stats_version >= 2 && !s->stats_header_written) {
+            fprintf(s->stats_file, "psnr_log_version:3 fields:n");
             fprintf(s->stats_file, ",mse_avg");
             for (int j = 0; j < s->nb_components; j++) {
                 fprintf(s->stats_file, ",mse_%c", s->comps[j]);
@@ -219,6 +250,11 @@ static int do_psnr(FFFrameSync *fs)
                 for (int j = 0; j < s->nb_components; j++) {
                     fprintf(s->stats_file, ",max_%c", s->comps[j]);
                 }
+                if (s->stats_version == 3) {
+                    for (int j = 0; j < s->nb_components; j++) {
+                        fprintf(s->stats_file, ",peak_%c", s->comps[j]);
+                    }
+                }
             }
             fprintf(s->stats_file, "\n");
             s->stats_header_written = 1;
@@ -234,12 +270,18 @@ static int do_psnr(FFFrameSync *fs)
             fprintf(s->stats_file, "psnr_%c:%0.2f ", s->comps[j],
                     get_psnr(comp_mse[c], 1, s->max[c]));
         }
-        if (s->stats_version == 2 && s->stats_add_max) {
+        if (s->stats_version >= 2 && s->stats_add_max) {
             fprintf(s->stats_file, "max_avg:%d ", s->average_max);
             for (int j = 0; j < s->nb_components; j++) {
                 int c = s->is_rgb ? s->rgba_map[j] : j;
                 fprintf(s->stats_file, "max_%c:%d ", s->comps[j], s->max[c]);
             }
+            if (s->stats_version == 3) {
+                for (int j = 0; j < s->nb_components; j++) {
+                    int c = s->is_rgb ? s->rgba_map[j] : j;
+                    fprintf(s->stats_file, "peak_%c:%d ", s->comps[j], s->peak[c]);
+                }
+            }
         }
         fprintf(s->stats_file, "\n");
     }
@@ -314,6 +356,9 @@ static int config_input_ref(AVFilterLink *inlink)
     s->max[2] = (1 << desc->comp[2].depth) - 1;
     s->max[3] = (1 << desc->comp[3].depth) - 1;
 
+    for (j = 0; j < s->nb_components; j++)
+        s->peak[j] = 0;
+
     s->is_rgb = ff_fill_rgba_map(s->rgba_map, inlink->format) >= 0;
     s->comps[0] = s->is_rgb ? 'r' : 'y' ;
     s->comps[1] = s->is_rgb ? 'g' : 'u' ;
@@ -334,6 +379,7 @@ static int config_input_ref(AVFilterLink *inlink)
     }
     s->average_max = lrint(average_max);
 
+    s->bpp = desc->comp[0].depth;
     ff_psnr_init(&s->dsp, desc->comp[0].depth);
 
     s->score = av_calloc(s->nb_threads, sizeof(*s->score));
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 45dcb6e8dc..60b1eee39b 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -72,6 +72,42 @@ do_tiny_psnr(){
     fi
 }
 
+# $1 is the reference image
+# $2 is the test image
+# $3 is the maximum MSE allowed across components
+# $4 is the maximum peak error allowed across components
+mse_peak_error(){
+    stats=$(run ffmpeg${PROGSUF}${EXECSUF} -i "$1" -i "$2" -filter_complex "psnr=stats_version=3:output_max=1:f=-" -f null - -hide_banner -loglevel error)
+    if [ $? -ne 0 ]; then
+        echo "Could not compute peak error and mse."
+        return 1
+    fi
+    for item in y u v r g b a; do
+        mse=$(echo $stats | sed -nE "s/.*mse_$item:([0-9.]+).*/\1/p")
+        if [ -z "$mse" ]; then
+            continue
+        fi
+        mse_exceeded=$(echo "$mse > $3" | bc -l)
+        if [ "$mse_exceeded" != 0 ]; then
+            echo "MSE value $mse exceeded the specified maximum $3"
+            echo $stats
+            return 1
+        fi
+        peak=$(echo $stats | sed -nE "s/.*peak_$item:([0-9.]+).*/\1/p")
+        if [ -z "$peak" ]; then
+            echo "peak_$item value missing when mse_$item was present"
+        fi
+        peak_exceeded=$(echo "$peak > $4" | bc -l)
+        if [ "$peak_exceeded" != 0 ]; then
+            echo "Peak value $peak exceeded the specified maximum $4"
+            echo $stats
+            return 1
+        fi
+    done
+    echo "$stats"
+    return 0
+}
+
 oneoff(){
     do_tiny_psnr "$1" "$2" MAXDIFF
 }
-- 
2.25.1

_______________________________________________
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] 3+ messages in thread

* [FFmpeg-devel] [PATCH v2 2/2] fate/jpeg2000dec: add missing ISO/IEC 15444-4 conformance tests
  2025-01-27  3:29 [FFmpeg-devel] [PATCH v2 1/2] fate: add peak error to psnr filter pal
@ 2025-01-27  3:29 ` pal
  2025-01-30 22:54   ` Michael Niedermayer
  0 siblings, 1 reply; 3+ messages in thread
From: pal @ 2025-01-27  3:29 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Pierre-Anthony Lemieux

From: Pierre-Anthony Lemieux <pal@palemieux.com>

---
 tests/fate/jpeg2000.mak                  | 130 ++++++++++++++++++++++-
 tests/ref/fate/jpeg2000dec-ds0_hm_15_b8  |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_02_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_02_b12 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_03_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_03_b14 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_04_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_04_b12 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_05_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_05_b12 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_07_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_07_b15 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_07_b16 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_08_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_08_b15 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_08_b16 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_09_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_10_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_11_b10 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_12_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_14_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_15_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_15_b14 |   6 ++
 tests/ref/fate/jpeg2000dec-ds0_ht_16_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_01_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_01_b12 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_02_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_02_b12 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_03_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_03_b12 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_04_b9  |   2 +
 tests/ref/fate/jpeg2000dec-ds1_ht_05_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-ds1_ht_06_b11 |   6 ++
 tests/ref/fate/jpeg2000dec-hifi_ht1_02   |   6 ++
 tests/ref/fate/jpeg2000dec-hifi_p1_02    |   6 ++
 tests/ref/fate/jpeg2000dec-p1_01         |   6 ++
 tests/ref/fate/jpeg2000dec-p1_02         |   6 ++
 tests/ref/fate/jpeg2000dec-p1_03         |   6 ++
 tests/ref/fate/jpeg2000dec-p1_04         |   2 +
 tests/ref/fate/jpeg2000dec-p1_05         |   6 ++
 tests/ref/fate/jpeg2000dec-p1_06         |   6 ++
 41 files changed, 361 insertions(+), 1 deletion(-)
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_hm_15_b8
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_02_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_02_b12
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_03_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_03_b14
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_04_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_04_b12
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_05_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_05_b12
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b15
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b16
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b15
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b16
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_09_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_10_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_11_b10
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_12_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_14_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_15_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_15_b14
 create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_16_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_01_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_01_b12
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_02_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_02_b12
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_03_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_03_b12
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_04_b9
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_05_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_06_b11
 create mode 100644 tests/ref/fate/jpeg2000dec-hifi_ht1_02
 create mode 100644 tests/ref/fate/jpeg2000dec-hifi_p1_02
 create mode 100644 tests/ref/fate/jpeg2000dec-p1_01
 create mode 100644 tests/ref/fate/jpeg2000dec-p1_02
 create mode 100644 tests/ref/fate/jpeg2000dec-p1_03
 create mode 100644 tests/ref/fate/jpeg2000dec-p1_04
 create mode 100644 tests/ref/fate/jpeg2000dec-p1_05
 create mode 100644 tests/ref/fate/jpeg2000dec-p1_06

diff --git a/tests/fate/jpeg2000.mak b/tests/fate/jpeg2000.mak
index a99b0c4e0c..f8fb85f7d7 100644
--- a/tests/fate/jpeg2000.mak
+++ b/tests/fate/jpeg2000.mak
@@ -60,8 +60,136 @@ fate-jpeg2000dec-p0_15: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpe
 FATE_JPEG2000DEC += fate-jpeg2000dec-p0_16
 fate-jpeg2000dec-p0_16: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile0/p0_16.j2k
 
+FATE_JPEG2000DEC += fate-jpeg2000dec-p1_01
+fate-jpeg2000dec-p1_01: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/p1_01.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-p1_02
+fate-jpeg2000dec-p1_02: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/p1_02.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-p1_03
+fate-jpeg2000dec-p1_03: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/p1_03.j2k
+
+# The MSE and Peak Error values are 16x those found in ISO/IEC 15444-4: the latter assume 12-bit samples while FFMPEG decodes
+# to 16-bit samples
+FATE_JPEG2000DEC += fate-jpeg2000dec-p1_04
+fate-jpeg2000dec-p1_04: CMD = mse_peak_error $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/p1_04.j2k \
+																							$(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/c1p1_04-0.j2c \
+																							49280 9984
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-p1_05
+fate-jpeg2000dec-p1_05: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/p1_05.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-p1_06
+fate-jpeg2000dec-p1_06: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/p1_06.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-hifi_ht1_02
+fate-jpeg2000dec-hifi_ht1_02: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/hifi_ht1_02.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-hifi_p1_02
+fate-jpeg2000dec-hifi_p1_02: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/hifi_p1_02.j2k
+
 FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_01_b11
-fate-jpeg2000dec-ds0_ht_01_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/ds0_ht_01_b11.j2k
+fate-jpeg2000dec-ds0_ht_01_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_01_bset/ds0_ht_01_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_02_b11
+fate-jpeg2000dec-ds0_ht_02_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_02_bset/ds0_ht_02_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_02_b12
+fate-jpeg2000dec-ds0_ht_02_b12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_02_bset/ds0_ht_02_b12.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_03_b11
+fate-jpeg2000dec-ds0_ht_03_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_03_bset/ds0_ht_03_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_03_b14
+fate-jpeg2000dec-ds0_ht_03_b14: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_03_bset/ds0_ht_03_b14.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_04_b11
+fate-jpeg2000dec-ds0_ht_04_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_04_bset/ds0_ht_04_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_04_b12
+fate-jpeg2000dec-ds0_ht_04_b12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_04_bset/ds0_ht_04_b12.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_05_b11
+fate-jpeg2000dec-ds0_ht_05_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_05_bset/ds0_ht_05_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_05_b12
+fate-jpeg2000dec-ds0_ht_05_b12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_05_bset/ds0_ht_05_b12.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_07_b11
+fate-jpeg2000dec-ds0_ht_07_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_07_bset/ds0_ht_07_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_07_b15
+fate-jpeg2000dec-ds0_ht_07_b15: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_07_bset/ds0_ht_07_b15.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_07_b16
+fate-jpeg2000dec-ds0_ht_07_b16: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_07_bset/ds0_ht_07_b16.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_08_b11
+fate-jpeg2000dec-ds0_ht_08_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_08_bset/ds0_ht_08_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_08_b15
+fate-jpeg2000dec-ds0_ht_08_b15: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_08_bset/ds0_ht_08_b15.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_08_b16
+fate-jpeg2000dec-ds0_ht_08_b16: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_08_bset/ds0_ht_08_b16.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_09_b11
+fate-jpeg2000dec-ds0_ht_09_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_09_bset/ds0_ht_09_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_10_b11
+fate-jpeg2000dec-ds0_ht_10_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_10_bset/ds0_ht_10_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_11_b10
+fate-jpeg2000dec-ds0_ht_11_b10: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_11_bset/ds0_ht_11_b10.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_12_b11
+fate-jpeg2000dec-ds0_ht_12_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_12_bset/ds0_ht_12_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_14_b11
+fate-jpeg2000dec-ds0_ht_14_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_14_bset/ds0_ht_14_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_hm_15_b8
+fate-jpeg2000dec-ds0_hm_15_b8: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_15_bset/ds0_hm_15_b8.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_15_b11
+fate-jpeg2000dec-ds0_ht_15_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_15_bset/ds0_ht_15_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_15_b14
+fate-jpeg2000dec-ds0_ht_15_b14: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_15_bset/ds0_ht_15_b14.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds0_ht_16_b11
+fate-jpeg2000dec-ds0_ht_16_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile0/p0_16_bset/ds0_ht_16_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_01_b11
+fate-jpeg2000dec-ds1_ht_01_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_01_bset/ds1_ht_01_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_01_b12
+fate-jpeg2000dec-ds1_ht_01_b12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_01_bset/ds1_ht_01_b12.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_02_b11
+fate-jpeg2000dec-ds1_ht_02_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_02_bset/ds1_ht_02_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_02_b12
+fate-jpeg2000dec-ds1_ht_02_b12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_02_bset/ds1_ht_02_b12.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_03_b11
+fate-jpeg2000dec-ds1_ht_03_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_03_bset/ds1_ht_03_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_03_b12
+fate-jpeg2000dec-ds1_ht_03_b12: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_03_bset/ds1_ht_03_b12.j2k
+
+# The MSE and Peak Error values are 16x those found in ISO/IEC 15444-4: the latter assume 12-bit samples while FFMPEG decodes
+# to 16-bit samples
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_04_b9
+fate-jpeg2000dec-ds1_ht_04_b9: CMD = mse_peak_error $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_04_bset/ds1_ht_04_b9.j2k \
+																							$(TARGET_SAMPLES)/jpeg2000/itu-iso/codestreams_profile1/c1p1_04-0.j2c \
+																							49280 9984
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_05_b11
+fate-jpeg2000dec-ds1_ht_05_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_05_bset/ds1_ht_05_b11.j2k
+
+FATE_JPEG2000DEC += fate-jpeg2000dec-ds1_ht_06_b11
+fate-jpeg2000dec-ds1_ht_06_b11: CMD = framecrc -flags +bitexact -i $(TARGET_SAMPLES)/jpeg2000/itu-iso/htj2k_bsets_profile1/p1_06_bset/ds1_ht_06_b11.j2k
 
 FATE_JPEG2000DEC += $(FATE_JPEG2000DEC-yes)
 
diff --git a/tests/ref/fate/jpeg2000dec-ds0_hm_15_b8 b/tests/ref/fate/jpeg2000dec-ds0_hm_15_b8
new file mode 100644
index 0000000000..e508fb61e0
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_hm_15_b8
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 0/1
+0,          0,          0,        1,    65536, 0x252408c0
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_02_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_02_b11
new file mode 100644
index 0000000000..0ec1189148
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_02_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 64x126
+#sar 0: 0/1
+0,          0,          0,        1,     8064, 0x32fbc710
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_02_b12 b/tests/ref/fate/jpeg2000dec-ds0_ht_02_b12
new file mode 100644
index 0000000000..f96d24c121
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_02_b12
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 64x126
+#sar 0: 0/1
+0,          0,          0,        1,     8064, 0xd634c70c
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_03_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_03_b11
new file mode 100644
index 0000000000..c2fb29eb42
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_03_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 0/1
+0,          0,          0,        1,    65536, 0x33783820
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_03_b14 b/tests/ref/fate/jpeg2000dec-ds0_ht_03_b14
new file mode 100644
index 0000000000..e508fb61e0
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_03_b14
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 0/1
+0,          0,          0,        1,    65536, 0x252408c0
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_04_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_04_b11
new file mode 100644
index 0000000000..84a5f12d1b
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_04_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 640x480
+#sar 0: 0/1
+0,          0,          0,        1,   921600, 0xfd6c1b89
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_04_b12 b/tests/ref/fate/jpeg2000dec-ds0_ht_04_b12
new file mode 100644
index 0000000000..4c3ec322e4
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_04_b12
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 640x480
+#sar 0: 0/1
+0,          0,          0,        1,   921600, 0x38311bba
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_05_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_05_b11
new file mode 100644
index 0000000000..218240db0a
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_05_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 1024x1024
+#sar 0: 0/1
+0,          0,          0,        1,  2621440, 0xe5b6ada4
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_05_b12 b/tests/ref/fate/jpeg2000dec-ds0_ht_05_b12
new file mode 100644
index 0000000000..410a08a62c
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_05_b12
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 1024x1024
+#sar 0: 0/1
+0,          0,          0,        1,  2621440, 0x9608ad8b
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_07_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_07_b11
new file mode 100644
index 0000000000..add2665ea1
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_07_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 2048x2048
+#sar 0: 0/1
+0,          0,          0,        1, 25165824, 0x5992b06f
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_07_b15 b/tests/ref/fate/jpeg2000dec-ds0_ht_07_b15
new file mode 100644
index 0000000000..865ba44b50
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_07_b15
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 2048x2048
+#sar 0: 0/1
+0,          0,          0,        1, 25165824, 0x17b04b02
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_07_b16 b/tests/ref/fate/jpeg2000dec-ds0_ht_07_b16
new file mode 100644
index 0000000000..e561a1b780
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_07_b16
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 2048x2048
+#sar 0: 0/1
+0,          0,          0,        1, 25165824, 0x9685aad6
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_08_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_08_b11
new file mode 100644
index 0000000000..456acc586c
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_08_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 513x3072
+#sar 0: 0/1
+0,          0,          0,        1,  9455616, 0xe9e06d04
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_08_b15 b/tests/ref/fate/jpeg2000dec-ds0_ht_08_b15
new file mode 100644
index 0000000000..c330595f83
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_08_b15
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 513x3072
+#sar 0: 0/1
+0,          0,          0,        1,  9455616, 0xade3bd10
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_08_b16 b/tests/ref/fate/jpeg2000dec-ds0_ht_08_b16
new file mode 100644
index 0000000000..ef28d600e1
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_08_b16
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 513x3072
+#sar 0: 0/1
+0,          0,          0,        1,  9455616, 0x0af3ab70
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_09_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_09_b11
new file mode 100644
index 0000000000..ff78bf9dc7
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_09_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 17x37
+#sar 0: 0/1
+0,          0,          0,        1,      629, 0xf35d38d6
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_10_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_10_b11
new file mode 100644
index 0000000000..16c4e5e39d
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_10_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 64x64
+#sar 0: 0/1
+0,          0,          0,        1,    12288, 0x68638483
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_11_b10 b/tests/ref/fate/jpeg2000dec-ds0_ht_11_b10
new file mode 100644
index 0000000000..9b15604361
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_11_b10
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 128x1
+#sar 0: 0/1
+0,          0,          0,        1,      128, 0xae9630db
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_12_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_12_b11
new file mode 100644
index 0000000000..435c124c99
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_12_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 3x5
+#sar 0: 0/1
+0,          0,          0,        1,       15, 0x2a170596
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_14_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_14_b11
new file mode 100644
index 0000000000..5d28e611a0
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_14_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 49x49
+#sar 0: 0/1
+0,          0,          0,        1,     7203, 0x61d40b41
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_15_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_15_b11
new file mode 100644
index 0000000000..c2fb29eb42
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_15_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 0/1
+0,          0,          0,        1,    65536, 0x33783820
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_15_b14 b/tests/ref/fate/jpeg2000dec-ds0_ht_15_b14
new file mode 100644
index 0000000000..e508fb61e0
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_15_b14
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 256x256
+#sar 0: 0/1
+0,          0,          0,        1,    65536, 0x252408c0
diff --git a/tests/ref/fate/jpeg2000dec-ds0_ht_16_b11 b/tests/ref/fate/jpeg2000dec-ds0_ht_16_b11
new file mode 100644
index 0000000000..d923cc2109
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds0_ht_16_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 128x128
+#sar 0: 0/1
+0,          0,          0,        1,    16384, 0x04a3647e
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_01_b11 b/tests/ref/fate/jpeg2000dec-ds1_ht_01_b11
new file mode 100644
index 0000000000..04eb8ddde3
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_01_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 61x99
+#sar 0: 0/1
+0,          0,          0,        1,     6039, 0x14c29859
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_01_b12 b/tests/ref/fate/jpeg2000dec-ds1_ht_01_b12
new file mode 100644
index 0000000000..43648bcae9
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_01_b12
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 61x99
+#sar 0: 0/1
+0,          0,          0,        1,     6039, 0x317c985b
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_02_b11 b/tests/ref/fate/jpeg2000dec-ds1_ht_02_b11
new file mode 100644
index 0000000000..1f9f4417f8
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_02_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 640x480
+#sar 0: 0/1
+0,          0,          0,        1,   921600, 0x45301bbf
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_02_b12 b/tests/ref/fate/jpeg2000dec-ds1_ht_02_b12
new file mode 100644
index 0000000000..4c3ec322e4
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_02_b12
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 640x480
+#sar 0: 0/1
+0,          0,          0,        1,   921600, 0x38311bba
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_03_b11 b/tests/ref/fate/jpeg2000dec-ds1_ht_03_b11
new file mode 100644
index 0000000000..3dab71b456
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_03_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 1024x1024
+#sar 0: 0/1
+0,          0,          0,        1,  2621440, 0x3fcfaba7
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_03_b12 b/tests/ref/fate/jpeg2000dec-ds1_ht_03_b12
new file mode 100644
index 0000000000..586e7eda07
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_03_b12
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 1024x1024
+#sar 0: 0/1
+0,          0,          0,        1,  2621440, 0x147fa9f7
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_04_b9 b/tests/ref/fate/jpeg2000dec-ds1_ht_04_b9
new file mode 100644
index 0000000000..a865ed24ef
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_04_b9
@@ -0,0 +1,2 @@
+psnr_log_version:3 fields:n,mse_avg,mse_y,psnr_avg,psnr_y,max_avg,max_y,peak_y
+n:1 mse_avg:14434.96 mse_y:14434.96 psnr_avg:54.74 psnr_y:54.74 max_avg:65535 max_y:65535 peak_y:4048 
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_05_b11 b/tests/ref/fate/jpeg2000dec-ds1_ht_05_b11
new file mode 100644
index 0000000000..eccae681cc
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_05_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+0,          0,          0,        1,   786432, 0x3027e817
diff --git a/tests/ref/fate/jpeg2000dec-ds1_ht_06_b11 b/tests/ref/fate/jpeg2000dec-ds1_ht_06_b11
new file mode 100644
index 0000000000..732f8fb3f9
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-ds1_ht_06_b11
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 12x12
+#sar 0: 0/1
+0,          0,          0,        1,      432, 0x137dc974
diff --git a/tests/ref/fate/jpeg2000dec-hifi_ht1_02 b/tests/ref/fate/jpeg2000dec-hifi_ht1_02
new file mode 100644
index 0000000000..d9e2d15789
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-hifi_ht1_02
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 128x128
+#sar 0: 0/1
+0,          0,          0,        1,    98304, 0xb6a6f1d6
diff --git a/tests/ref/fate/jpeg2000dec-hifi_p1_02 b/tests/ref/fate/jpeg2000dec-hifi_p1_02
new file mode 100644
index 0000000000..d969c072fe
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-hifi_p1_02
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 128x128
+#sar 0: 0/1
+0,          0,          0,        1,    98304, 0xc740c83c
diff --git a/tests/ref/fate/jpeg2000dec-p1_01 b/tests/ref/fate/jpeg2000dec-p1_01
new file mode 100644
index 0000000000..43648bcae9
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-p1_01
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 61x99
+#sar 0: 0/1
+0,          0,          0,        1,     6039, 0x317c985b
diff --git a/tests/ref/fate/jpeg2000dec-p1_02 b/tests/ref/fate/jpeg2000dec-p1_02
new file mode 100644
index 0000000000..4c3ec322e4
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-p1_02
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 640x480
+#sar 0: 0/1
+0,          0,          0,        1,   921600, 0x38311bba
diff --git a/tests/ref/fate/jpeg2000dec-p1_03 b/tests/ref/fate/jpeg2000dec-p1_03
new file mode 100644
index 0000000000..586e7eda07
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-p1_03
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 1024x1024
+#sar 0: 0/1
+0,          0,          0,        1,  2621440, 0x147fa9f7
diff --git a/tests/ref/fate/jpeg2000dec-p1_04 b/tests/ref/fate/jpeg2000dec-p1_04
new file mode 100644
index 0000000000..a865ed24ef
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-p1_04
@@ -0,0 +1,2 @@
+psnr_log_version:3 fields:n,mse_avg,mse_y,psnr_avg,psnr_y,max_avg,max_y,peak_y
+n:1 mse_avg:14434.96 mse_y:14434.96 psnr_avg:54.74 psnr_y:54.74 max_avg:65535 max_y:65535 peak_y:4048 
diff --git a/tests/ref/fate/jpeg2000dec-p1_05 b/tests/ref/fate/jpeg2000dec-p1_05
new file mode 100644
index 0000000000..eccae681cc
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-p1_05
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 512x512
+#sar 0: 0/1
+0,          0,          0,        1,   786432, 0x3027e817
diff --git a/tests/ref/fate/jpeg2000dec-p1_06 b/tests/ref/fate/jpeg2000dec-p1_06
new file mode 100644
index 0000000000..732f8fb3f9
--- /dev/null
+++ b/tests/ref/fate/jpeg2000dec-p1_06
@@ -0,0 +1,6 @@
+#tb 0: 1/25
+#media_type 0: video
+#codec_id 0: rawvideo
+#dimensions 0: 12x12
+#sar 0: 0/1
+0,          0,          0,        1,      432, 0x137dc974
-- 
2.25.1

_______________________________________________
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] 3+ messages in thread

* Re: [FFmpeg-devel] [PATCH v2 2/2] fate/jpeg2000dec: add missing ISO/IEC 15444-4 conformance tests
  2025-01-27  3:29 ` [FFmpeg-devel] [PATCH v2 2/2] fate/jpeg2000dec: add missing ISO/IEC 15444-4 conformance tests pal
@ 2025-01-30 22:54   ` Michael Niedermayer
  0 siblings, 0 replies; 3+ messages in thread
From: Michael Niedermayer @ 2025-01-30 22:54 UTC (permalink / raw)
  To: FFmpeg development discussions and patches


[-- Attachment #1.1: Type: text/plain, Size: 11169 bytes --]

On Sun, Jan 26, 2025 at 07:29:07PM -0800, pal@sandflow.com wrote:
> From: Pierre-Anthony Lemieux <pal@palemieux.com>
> 
> ---
>  tests/fate/jpeg2000.mak                  | 130 ++++++++++++++++++++++-
>  tests/ref/fate/jpeg2000dec-ds0_hm_15_b8  |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_02_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_02_b12 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_03_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_03_b14 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_04_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_04_b12 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_05_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_05_b12 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_07_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_07_b15 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_07_b16 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_08_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_08_b15 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_08_b16 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_09_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_10_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_11_b10 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_12_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_14_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_15_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_15_b14 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds0_ht_16_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_01_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_01_b12 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_02_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_02_b12 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_03_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_03_b12 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_04_b9  |   2 +
>  tests/ref/fate/jpeg2000dec-ds1_ht_05_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-ds1_ht_06_b11 |   6 ++
>  tests/ref/fate/jpeg2000dec-hifi_ht1_02   |   6 ++
>  tests/ref/fate/jpeg2000dec-hifi_p1_02    |   6 ++
>  tests/ref/fate/jpeg2000dec-p1_01         |   6 ++
>  tests/ref/fate/jpeg2000dec-p1_02         |   6 ++
>  tests/ref/fate/jpeg2000dec-p1_03         |   6 ++
>  tests/ref/fate/jpeg2000dec-p1_04         |   2 +
>  tests/ref/fate/jpeg2000dec-p1_05         |   6 ++
>  tests/ref/fate/jpeg2000dec-p1_06         |   6 ++
>  41 files changed, 361 insertions(+), 1 deletion(-)
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_hm_15_b8
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_02_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_02_b12
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_03_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_03_b14
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_04_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_04_b12
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_05_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_05_b12
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b15
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_07_b16
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b15
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_08_b16
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_09_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_10_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_11_b10
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_12_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_14_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_15_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_15_b14
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds0_ht_16_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_01_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_01_b12
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_02_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_02_b12
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_03_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_03_b12
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_04_b9
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_05_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-ds1_ht_06_b11
>  create mode 100644 tests/ref/fate/jpeg2000dec-hifi_ht1_02
>  create mode 100644 tests/ref/fate/jpeg2000dec-hifi_p1_02
>  create mode 100644 tests/ref/fate/jpeg2000dec-p1_01
>  create mode 100644 tests/ref/fate/jpeg2000dec-p1_02
>  create mode 100644 tests/ref/fate/jpeg2000dec-p1_03
>  create mode 100644 tests/ref/fate/jpeg2000dec-p1_04
>  create mode 100644 tests/ref/fate/jpeg2000dec-p1_05
>  create mode 100644 tests/ref/fate/jpeg2000dec-p1_06

on x86-32

--- src/tests/ref/fate/jpeg2000dec-p1_04	2025-01-30 02:58:59.128736579 +0100
+++ tests/data/fate/jpeg2000dec-p1_04	2025-01-30 03:02:43.354527895 +0100
@@ -1,2 +1,2 @@
 psnr_log_version:3 fields:n,mse_avg,mse_y,psnr_avg,psnr_y,max_avg,max_y,peak_y
-n:1 mse_avg:14434.96 mse_y:14434.96 psnr_avg:54.74 psnr_y:54.74 max_avg:65535 max_y:65535 peak_y:4048
+n:1 mse_avg:14435.37 mse_y:14435.37 psnr_avg:54.74 psnr_y:54.74 max_avg:65535 max_y:65535 peak_y:4048
Test jpeg2000dec-p1_04 failed. Look at tests/data/fate/jpeg2000dec-p1_04.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-p1_04] Error 1
make: *** Waiting for unfinished jobs....
TEST    lossless-monkeysaudio-399
--- src/tests/ref/fate/jpeg2000dec-ds1_ht_04_b9	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds1_ht_04_b9	2025-01-30 03:02:43.502529075 +0100
@@ -1,2 +1,2 @@
 psnr_log_version:3 fields:n,mse_avg,mse_y,psnr_avg,psnr_y,max_avg,max_y,peak_y
-n:1 mse_avg:14434.96 mse_y:14434.96 psnr_avg:54.74 psnr_y:54.74 max_avg:65535 max_y:65535 peak_y:4048
+n:1 mse_avg:14435.37 mse_y:14435.37 psnr_avg:54.74 psnr_y:54.74 max_avg:65535 max_y:65535 peak_y:4048
Test jpeg2000dec-ds1_ht_04_b9 failed. Look at tests/data/fate/jpeg2000dec-ds1_ht_04_b9.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds1_ht_04_b9] Error 1


on mips (big endian)
(probably BE/LE pix format issue)

--- src/tests/ref/fate/jpeg2000dec-hifi_ht1_02	2025-01-30 02:58:59.128736579 +0100
+++ tests/data/fate/jpeg2000dec-hifi_ht1_02	2025-01-30 23:53:21.305575490 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 128x128
 #sar 0: 0/1
-0,          0,          0,        1,    98304, 0xb6a6f1d6
+0,          0,          0,        1,    98304, 0xba7ff1d6
Test jpeg2000dec-hifi_ht1_02 failed. Look at tests/data/fate/jpeg2000dec-hifi_ht1_02.err for details.
make: *** [src/tests/Makefile:311: fate-jpeg2000dec-hifi_ht1_02] Error 1
make: *** Waiting for unfinished jobs....
--- src/tests/ref/fate/jpeg2000dec-hifi_p1_02	2025-01-30 02:58:59.128736579 +0100
+++ tests/data/fate/jpeg2000dec-hifi_p1_02	2025-01-30 23:53:21.325575648 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 128x128
 #sar 0: 0/1
-0,          0,          0,        1,    98304, 0xc740c83c
+0,          0,          0,        1,    98304, 0xf5bfc83c
Test jpeg2000dec-hifi_p1_02 failed. Look at tests/data/fate/jpeg2000dec-hifi_p1_02.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-hifi_p1_02] Error 1
--- src/tests/ref/fate/jpeg2000dec-ds0_ht_08_b16	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds0_ht_08_b16	2025-01-30 23:53:21.637578152 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 513x3072
 #sar 0: 0/1
-0,          0,          0,        1,  9455616, 0x0af3ab70
+0,          0,          0,        1,  9455616, 0x3c49ab70
Test jpeg2000dec-ds0_ht_08_b16 failed. Look at tests/data/fate/jpeg2000dec-ds0_ht_08_b16.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds0_ht_08_b16] Error 1
--- src/tests/ref/fate/jpeg2000dec-ds0_ht_08_b15	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds0_ht_08_b15	2025-01-30 23:53:21.697578634 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 513x3072
 #sar 0: 0/1
-0,          0,          0,        1,  9455616, 0xade3bd10
+0,          0,          0,        1,  9455616, 0xcd99bd10
Test jpeg2000dec-ds0_ht_08_b15 failed. Look at tests/data/fate/jpeg2000dec-ds0_ht_08_b15.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds0_ht_08_b15] Error 1
--- src/tests/ref/fate/jpeg2000dec-ds0_ht_08_b11	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds0_ht_08_b11	2025-01-30 23:53:21.765579179 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 513x3072
 #sar 0: 0/1
-0,          0,          0,        1,  9455616, 0xe9e06d04
+0,          0,          0,        1,  9455616, 0x51436d04
Test jpeg2000dec-ds0_ht_08_b11 failed. Look at tests/data/fate/jpeg2000dec-ds0_ht_08_b11.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds0_ht_08_b11] Error 1
--- src/tests/ref/fate/jpeg2000dec-ds0_ht_07_b11	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds0_ht_07_b11	2025-01-30 23:53:22.485584953 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 2048x2048
 #sar 0: 0/1
-0,          0,          0,        1, 25165824, 0x5992b06f
+0,          0,          0,        1, 25165824, 0xb047b06f
Test jpeg2000dec-ds0_ht_07_b11 failed. Look at tests/data/fate/jpeg2000dec-ds0_ht_07_b11.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds0_ht_07_b11] Error 1
--- src/tests/ref/fate/jpeg2000dec-ds0_ht_07_b16	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds0_ht_07_b16	2025-01-30 23:53:22.529585306 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 2048x2048
 #sar 0: 0/1
-0,          0,          0,        1, 25165824, 0x9685aad6
+0,          0,          0,        1, 25165824, 0x4860aad6
Test jpeg2000dec-ds0_ht_07_b16 failed. Look at tests/data/fate/jpeg2000dec-ds0_ht_07_b16.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds0_ht_07_b16] Error 1
--- src/tests/ref/fate/jpeg2000dec-ds0_ht_07_b15	2025-01-30 02:58:59.124736547 +0100
+++ tests/data/fate/jpeg2000dec-ds0_ht_07_b15	2025-01-30 23:53:22.577585689 +0100
@@ -3,4 +3,4 @@
 #codec_id 0: rawvideo
 #dimensions 0: 2048x2048
 #sar 0: 0/1
-0,          0,          0,        1, 25165824, 0x17b04b02
+0,          0,          0,        1, 25165824, 0x2d574b02
Test jpeg2000dec-ds0_ht_07_b15 failed. Look at tests/data/fate/jpeg2000dec-ds0_ht_07_b15.err for details.
make: *** [src/tests/Makefile:310: fate-jpeg2000dec-ds0_ht_07_b15] Error 1

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Any man who breaks a law that conscience tells him is unjust and willingly 
accepts the penalty by staying in jail in order to arouse the conscience of 
the community on the injustice of the law is at that moment expressing the 
very highest respect for law. - Martin Luther King Jr

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

[-- Attachment #2: Type: text/plain, Size: 251 bytes --]

_______________________________________________
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] 3+ messages in thread

end of thread, other threads:[~2025-01-30 22:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-27  3:29 [FFmpeg-devel] [PATCH v2 1/2] fate: add peak error to psnr filter pal
2025-01-27  3:29 ` [FFmpeg-devel] [PATCH v2 2/2] fate/jpeg2000dec: add missing ISO/IEC 15444-4 conformance tests pal
2025-01-30 22:54   ` Michael Niedermayer

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