* [FFmpeg-devel] [PATCH] avcodec/av1dec: export pixel format even if no hardware decoder is present
@ 2023-09-07 2:06 James Almer
2023-09-07 8:06 ` Andreas Rheinhardt
2023-09-07 17:55 ` [FFmpeg-devel] [PATCH v2] " James Almer
0 siblings, 2 replies; 7+ messages in thread
From: James Almer @ 2023-09-07 2:06 UTC (permalink / raw)
To: ffmpeg-devel
And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
either way.
This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
where even if forcing the native av1 decoder, if another decoder was present,
like libdav1d or libaom-av1, they'd be used for probing and some fate tests
would have different results.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavcodec/av1dec.c | 8 ++++----
tests/fate/lavf-container.mak | 8 ++++----
tests/ref/fate/av1-annexb-demux | 2 +-
tests/ref/lavf-fate/av1.mkv | 4 ++--
tests/ref/lavf-fate/av1.mp4 | 4 ++--
5 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index ec8401f4e0..a1e08185a7 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -612,6 +612,9 @@ static int get_pixel_format(AVCodecContext *avctx)
if (ret < 0)
return ret;
+ s->pix_fmt = pix_fmt;
+ avctx->pix_fmt = ret;
+
/**
* check if the HW accel is inited correctly. If not, return un-implemented.
* Since now the av1 decoder doesn't support native decode, if it will be
@@ -623,9 +626,6 @@ static int get_pixel_format(AVCodecContext *avctx)
return AVERROR(ENOSYS);
}
- s->pix_fmt = pix_fmt;
- avctx->pix_fmt = ret;
-
return 0;
}
@@ -1518,7 +1518,7 @@ const FFCodec ff_av1_decoder = {
.init = av1_decode_init,
.close = av1_decode_free,
FF_CODEC_RECEIVE_FRAME_CB(av1_receive_frame),
- .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.flush = av1_decode_flush,
.p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 0d4a224601..0081b45eea 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -70,9 +70,9 @@ fate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
FATE_AVCONV += $(FATE_LAVF_CONTAINER)
fate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
-FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MOV_MUXER) += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_MUXER) += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER) += evc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MATROSKA_MUXER) += av1.mkv
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER) += h264.mp4
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGG_MUXER) += vp3.ogg
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGV_MUXER) += vp8.ogg
@@ -86,8 +86,8 @@ FATE_LAVF_CONTAINER_FATE = $(FATE_LAVF_CONTAINER_FATE-yes:%=fate-lavf-fate-%)
$(FATE_LAVF_CONTAINER_FATE): REF = $(SRC_PATH)/tests/ref/lavf-fate/$(@:fate-lavf-fate-%=%)
$(FATE_LAVF_CONTAINER_FATE): $(AREF) $(VREF)
-fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
-fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
+fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
+fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
diff --git a/tests/ref/fate/av1-annexb-demux b/tests/ref/fate/av1-annexb-demux
index 77e0e378ab..139a893ec1 100644
--- a/tests/ref/fate/av1-annexb-demux
+++ b/tests/ref/fate/av1-annexb-demux
@@ -3,7 +3,7 @@
#media_type 0: video
#codec_id 0: av1
#dimensions 0: 300x300
-#sar 0: 1/1
+#sar 0: 0/1
0, 0, 0, 48000, 12691, 0xf0adcc79
0, 48000, 48000, 48000, 4975, 0x1742a45f, F=0x0
0, 96000, 96000, 48000, 928, 0x7408be1a, F=0x0
diff --git a/tests/ref/lavf-fate/av1.mkv b/tests/ref/lavf-fate/av1.mkv
index 84924fe05c..e6db3a814a 100644
--- a/tests/ref/lavf-fate/av1.mkv
+++ b/tests/ref/lavf-fate/av1.mkv
@@ -1,3 +1,3 @@
-ba198efa114b4db3c9f772728f84978b *tests/data/lavf-fate/lavf.av1.mkv
-55656 tests/data/lavf-fate/lavf.av1.mkv
+d875b42964dd55c8cea2e2752379d327 *tests/data/lavf-fate/lavf.av1.mkv
+55660 tests/data/lavf-fate/lavf.av1.mkv
tests/data/lavf-fate/lavf.av1.mkv CRC=0x7c27cc15
diff --git a/tests/ref/lavf-fate/av1.mp4 b/tests/ref/lavf-fate/av1.mp4
index ef174589ba..53b0cbe637 100644
--- a/tests/ref/lavf-fate/av1.mp4
+++ b/tests/ref/lavf-fate/av1.mp4
@@ -1,3 +1,3 @@
-d6afef355cf1bcf1a71b9cfb98c32fba *tests/data/lavf-fate/lavf.av1.mp4
-55976 tests/data/lavf-fate/lavf.av1.mp4
+194cd796f3d28a890b516b2507f57180 *tests/data/lavf-fate/lavf.av1.mp4
+55960 tests/data/lavf-fate/lavf.av1.mp4
tests/data/lavf-fate/lavf.av1.mp4 CRC=0x7c27cc15
--
2.42.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] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: export pixel format even if no hardware decoder is present
2023-09-07 2:06 [FFmpeg-devel] [PATCH] avcodec/av1dec: export pixel format even if no hardware decoder is present James Almer
@ 2023-09-07 8:06 ` Andreas Rheinhardt
2023-09-07 14:30 ` James Almer
2023-09-07 17:55 ` [FFmpeg-devel] [PATCH v2] " James Almer
1 sibling, 1 reply; 7+ messages in thread
From: Andreas Rheinhardt @ 2023-09-07 8:06 UTC (permalink / raw)
To: ffmpeg-devel
James Almer:
> And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
> either way.
> This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
> where even if forcing the native av1 decoder, if another decoder was present,
> like libdav1d or libaom-av1, they'd be used for probing and some fate tests
> would have different results.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavcodec/av1dec.c | 8 ++++----
> tests/fate/lavf-container.mak | 8 ++++----
> tests/ref/fate/av1-annexb-demux | 2 +-
> tests/ref/lavf-fate/av1.mkv | 4 ++--
> tests/ref/lavf-fate/av1.mp4 | 4 ++--
> 5 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
> index ec8401f4e0..a1e08185a7 100644
> --- a/libavcodec/av1dec.c
> +++ b/libavcodec/av1dec.c
> @@ -612,6 +612,9 @@ static int get_pixel_format(AVCodecContext *avctx)
> if (ret < 0)
> return ret;
>
> + s->pix_fmt = pix_fmt;
> + avctx->pix_fmt = ret;
> +
> /**
> * check if the HW accel is inited correctly. If not, return un-implemented.
> * Since now the av1 decoder doesn't support native decode, if it will be
> @@ -623,9 +626,6 @@ static int get_pixel_format(AVCodecContext *avctx)
> return AVERROR(ENOSYS);
Is the log message here actually accurate? The get_format callback
choosing the software pixel format does not mean that the hardware this
is run on or the lavc binary in use do not support hardware accelerated
AV1 decoding.
(How is an API user actually supposed to know that decoding will fail if
the software pixel format is selected?)
> }
>
> - s->pix_fmt = pix_fmt;
> - avctx->pix_fmt = ret;
> -
> return 0;
> }
>
> @@ -1518,7 +1518,7 @@ const FFCodec ff_av1_decoder = {
> .init = av1_decode_init,
> .close = av1_decode_free,
> FF_CODEC_RECEIVE_FRAME_CB(av1_receive_frame),
> - .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
> + .p.capabilities = AV_CODEC_CAP_DR1,
> .caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
> .flush = av1_decode_flush,
> .p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
> diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
> index 0d4a224601..0081b45eea 100644
> --- a/tests/fate/lavf-container.mak
> +++ b/tests/fate/lavf-container.mak
> @@ -70,9 +70,9 @@ fate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
> FATE_AVCONV += $(FATE_LAVF_CONTAINER)
> fate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
>
> -FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MOV_MUXER) += av1.mp4
> +FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_MUXER) += av1.mp4
> +FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
> FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER) += evc.mp4
> -FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MATROSKA_MUXER) += av1.mkv
> FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER) += h264.mp4
> FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGG_MUXER) += vp3.ogg
> FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGV_MUXER) += vp8.ogg
> @@ -86,8 +86,8 @@ FATE_LAVF_CONTAINER_FATE = $(FATE_LAVF_CONTAINER_FATE-yes:%=fate-lavf-fate-%)
> $(FATE_LAVF_CONTAINER_FATE): REF = $(SRC_PATH)/tests/ref/lavf-fate/$(@:fate-lavf-fate-%=%)
> $(FATE_LAVF_CONTAINER_FATE): $(AREF) $(VREF)
>
> -fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
> -fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
> +fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
> +fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
> fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
> fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
> fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
> diff --git a/tests/ref/fate/av1-annexb-demux b/tests/ref/fate/av1-annexb-demux
> index 77e0e378ab..139a893ec1 100644
> --- a/tests/ref/fate/av1-annexb-demux
> +++ b/tests/ref/fate/av1-annexb-demux
> @@ -3,7 +3,7 @@
> #media_type 0: video
> #codec_id 0: av1
> #dimensions 0: 300x300
> -#sar 0: 1/1
> +#sar 0: 0/1
> 0, 0, 0, 48000, 12691, 0xf0adcc79
> 0, 48000, 48000, 48000, 4975, 0x1742a45f, F=0x0
> 0, 96000, 96000, 48000, 928, 0x7408be1a, F=0x0
> diff --git a/tests/ref/lavf-fate/av1.mkv b/tests/ref/lavf-fate/av1.mkv
> index 84924fe05c..e6db3a814a 100644
> --- a/tests/ref/lavf-fate/av1.mkv
> +++ b/tests/ref/lavf-fate/av1.mkv
> @@ -1,3 +1,3 @@
> -ba198efa114b4db3c9f772728f84978b *tests/data/lavf-fate/lavf.av1.mkv
> -55656 tests/data/lavf-fate/lavf.av1.mkv
> +d875b42964dd55c8cea2e2752379d327 *tests/data/lavf-fate/lavf.av1.mkv
> +55660 tests/data/lavf-fate/lavf.av1.mkv
> tests/data/lavf-fate/lavf.av1.mkv CRC=0x7c27cc15
> diff --git a/tests/ref/lavf-fate/av1.mp4 b/tests/ref/lavf-fate/av1.mp4
> index ef174589ba..53b0cbe637 100644
> --- a/tests/ref/lavf-fate/av1.mp4
> +++ b/tests/ref/lavf-fate/av1.mp4
> @@ -1,3 +1,3 @@
> -d6afef355cf1bcf1a71b9cfb98c32fba *tests/data/lavf-fate/lavf.av1.mp4
> -55976 tests/data/lavf-fate/lavf.av1.mp4
> +194cd796f3d28a890b516b2507f57180 *tests/data/lavf-fate/lavf.av1.mp4
> +55960 tests/data/lavf-fate/lavf.av1.mp4
> tests/data/lavf-fate/lavf.av1.mp4 CRC=0x7c27cc15
_______________________________________________
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] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avcodec/av1dec: export pixel format even if no hardware decoder is present
2023-09-07 8:06 ` Andreas Rheinhardt
@ 2023-09-07 14:30 ` James Almer
0 siblings, 0 replies; 7+ messages in thread
From: James Almer @ 2023-09-07 14:30 UTC (permalink / raw)
To: ffmpeg-devel
On 9/7/2023 5:06 AM, Andreas Rheinhardt wrote:
> James Almer:
>> And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
>> either way.
>> This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
>> where even if forcing the native av1 decoder, if another decoder was present,
>> like libdav1d or libaom-av1, they'd be used for probing and some fate tests
>> would have different results.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>> libavcodec/av1dec.c | 8 ++++----
>> tests/fate/lavf-container.mak | 8 ++++----
>> tests/ref/fate/av1-annexb-demux | 2 +-
>> tests/ref/lavf-fate/av1.mkv | 4 ++--
>> tests/ref/lavf-fate/av1.mp4 | 4 ++--
>> 5 files changed, 13 insertions(+), 13 deletions(-)
>>
>> diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
>> index ec8401f4e0..a1e08185a7 100644
>> --- a/libavcodec/av1dec.c
>> +++ b/libavcodec/av1dec.c
>> @@ -612,6 +612,9 @@ static int get_pixel_format(AVCodecContext *avctx)
>> if (ret < 0)
>> return ret;
>>
>> + s->pix_fmt = pix_fmt;
>> + avctx->pix_fmt = ret;
>> +
>> /**
>> * check if the HW accel is inited correctly. If not, return un-implemented.
>> * Since now the av1 decoder doesn't support native decode, if it will be
>> @@ -623,9 +626,6 @@ static int get_pixel_format(AVCodecContext *avctx)
>> return AVERROR(ENOSYS);
>
> Is the log message here actually accurate? The get_format callback
> choosing the software pixel format does not mean that the hardware this
> is run on or the lavc binary in use do not support hardware accelerated
> AV1 decoding.
It's not, but that's also unrelated to this patch.
> (How is an API user actually supposed to know that decoding will fail if
> the software pixel format is selected?)
Other than the first returned ENOSYS, nothing. I could make it always
return ENOSYS, same as before this patch, but anything we do will
probably be hacky unless we add an actual software implementation.
_______________________________________________
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] 7+ messages in thread
* [FFmpeg-devel] [PATCH v2] avcodec/av1dec: export pixel format even if no hardware decoder is present
2023-09-07 2:06 [FFmpeg-devel] [PATCH] avcodec/av1dec: export pixel format even if no hardware decoder is present James Almer
2023-09-07 8:06 ` Andreas Rheinhardt
@ 2023-09-07 17:55 ` James Almer
2023-09-07 23:41 ` Michael Niedermayer
1 sibling, 1 reply; 7+ messages in thread
From: James Almer @ 2023-09-07 17:55 UTC (permalink / raw)
To: ffmpeg-devel
And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
either way.
This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
where even if forcing the native av1 decoder, if another decoder was present,
like libdav1d or libaom-av1, they'd be used for probing and some fate tests
would have different results.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavcodec/av1dec.c | 50 ++++++++++++++++++++-------------
tests/fate/lavf-container.mak | 8 +++---
tests/ref/fate/av1-annexb-demux | 2 +-
tests/ref/lavf-fate/av1.mkv | 4 +--
tests/ref/lavf-fate/av1.mp4 | 4 +--
5 files changed, 39 insertions(+), 29 deletions(-)
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index ec8401f4e0..3766290c0f 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -440,20 +440,11 @@ static int get_tiles_info(AVCodecContext *avctx, const AV1RawTileGroup *tile_gro
}
-static int get_pixel_format(AVCodecContext *avctx)
+static enum AVPixelFormat get_sw_pixel_format(AVCodecContext *avctx,
+ const AV1RawSequenceHeader *seq)
{
- AV1DecContext *s = avctx->priv_data;
- const AV1RawSequenceHeader *seq = s->raw_seq;
- uint8_t bit_depth;
- int ret;
enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE;
-#define HWACCEL_MAX (CONFIG_AV1_DXVA2_HWACCEL + \
- CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
- CONFIG_AV1_NVDEC_HWACCEL + \
- CONFIG_AV1_VAAPI_HWACCEL + \
- CONFIG_AV1_VDPAU_HWACCEL + \
- CONFIG_AV1_VULKAN_HWACCEL)
- enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
+ uint8_t bit_depth;
if (seq->seq_profile == 2 && seq->color_config.high_bitdepth)
bit_depth = seq->color_config.twelve_bit ? 12 : 10;
@@ -505,15 +496,29 @@ static int get_pixel_format(AVCodecContext *avctx)
pix_fmt = AV_PIX_FMT_GRAY10;
else if (bit_depth == 12)
pix_fmt = AV_PIX_FMT_GRAY12;
- else
- av_log(avctx, AV_LOG_WARNING, "Unknown AV1 pixel format.\n");
}
- av_log(avctx, AV_LOG_DEBUG, "AV1 decode get format: %s.\n",
- av_get_pix_fmt_name(pix_fmt));
+ return pix_fmt;
+}
- if (pix_fmt == AV_PIX_FMT_NONE)
+static int get_pixel_format(AVCodecContext *avctx)
+{
+ AV1DecContext *s = avctx->priv_data;
+ const AV1RawSequenceHeader *seq = s->raw_seq;
+ int ret;
+ enum AVPixelFormat pix_fmt = get_sw_pixel_format(avctx, seq);
+#define HWACCEL_MAX (CONFIG_AV1_DXVA2_HWACCEL + \
+ CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
+ CONFIG_AV1_NVDEC_HWACCEL + \
+ CONFIG_AV1_VAAPI_HWACCEL + \
+ CONFIG_AV1_VDPAU_HWACCEL + \
+ CONFIG_AV1_VULKAN_HWACCEL)
+ enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
+
+ if (pix_fmt == AV_PIX_FMT_NONE) {
+ av_log(avctx, AV_LOG_WARNING, "Unknown AV1 pixel format.\n");
return -1;
+ }
switch (pix_fmt) {
case AV_PIX_FMT_YUV420P:
@@ -605,13 +610,14 @@ static int get_pixel_format(AVCodecContext *avctx)
break;
}
- *fmtp++ = pix_fmt;
*fmtp = AV_PIX_FMT_NONE;
ret = ff_thread_get_format(avctx, pix_fmts);
if (ret < 0)
return ret;
+ avctx->pix_fmt = ret;
+
/**
* check if the HW accel is inited correctly. If not, return un-implemented.
* Since now the av1 decoder doesn't support native decode, if it will be
@@ -624,7 +630,9 @@ static int get_pixel_format(AVCodecContext *avctx)
}
s->pix_fmt = pix_fmt;
- avctx->pix_fmt = ret;
+
+ av_log(avctx, AV_LOG_DEBUG, "AV1 decode get format: %s.\n",
+ av_get_pix_fmt_name(pix_fmt));
return 0;
}
@@ -865,6 +873,8 @@ static av_cold int av1_decode_init(AVCodecContext *avctx)
goto end;
}
+ avctx->pix_fmt = get_sw_pixel_format(avctx, seq);
+
end:
ff_cbs_fragment_reset(&s->current_obu);
}
@@ -1518,7 +1528,7 @@ const FFCodec ff_av1_decoder = {
.init = av1_decode_init,
.close = av1_decode_free,
FF_CODEC_RECEIVE_FRAME_CB(av1_receive_frame),
- .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.flush = av1_decode_flush,
.p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 0d4a224601..0081b45eea 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -70,9 +70,9 @@ fate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
FATE_AVCONV += $(FATE_LAVF_CONTAINER)
fate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
-FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MOV_MUXER) += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_MUXER) += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER) += evc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MATROSKA_MUXER) += av1.mkv
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER) += h264.mp4
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGG_MUXER) += vp3.ogg
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGV_MUXER) += vp8.ogg
@@ -86,8 +86,8 @@ FATE_LAVF_CONTAINER_FATE = $(FATE_LAVF_CONTAINER_FATE-yes:%=fate-lavf-fate-%)
$(FATE_LAVF_CONTAINER_FATE): REF = $(SRC_PATH)/tests/ref/lavf-fate/$(@:fate-lavf-fate-%=%)
$(FATE_LAVF_CONTAINER_FATE): $(AREF) $(VREF)
-fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
-fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
+fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
+fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
diff --git a/tests/ref/fate/av1-annexb-demux b/tests/ref/fate/av1-annexb-demux
index 77e0e378ab..139a893ec1 100644
--- a/tests/ref/fate/av1-annexb-demux
+++ b/tests/ref/fate/av1-annexb-demux
@@ -3,7 +3,7 @@
#media_type 0: video
#codec_id 0: av1
#dimensions 0: 300x300
-#sar 0: 1/1
+#sar 0: 0/1
0, 0, 0, 48000, 12691, 0xf0adcc79
0, 48000, 48000, 48000, 4975, 0x1742a45f, F=0x0
0, 96000, 96000, 48000, 928, 0x7408be1a, F=0x0
diff --git a/tests/ref/lavf-fate/av1.mkv b/tests/ref/lavf-fate/av1.mkv
index 84924fe05c..e6db3a814a 100644
--- a/tests/ref/lavf-fate/av1.mkv
+++ b/tests/ref/lavf-fate/av1.mkv
@@ -1,3 +1,3 @@
-ba198efa114b4db3c9f772728f84978b *tests/data/lavf-fate/lavf.av1.mkv
-55656 tests/data/lavf-fate/lavf.av1.mkv
+d875b42964dd55c8cea2e2752379d327 *tests/data/lavf-fate/lavf.av1.mkv
+55660 tests/data/lavf-fate/lavf.av1.mkv
tests/data/lavf-fate/lavf.av1.mkv CRC=0x7c27cc15
diff --git a/tests/ref/lavf-fate/av1.mp4 b/tests/ref/lavf-fate/av1.mp4
index ef174589ba..53b0cbe637 100644
--- a/tests/ref/lavf-fate/av1.mp4
+++ b/tests/ref/lavf-fate/av1.mp4
@@ -1,3 +1,3 @@
-d6afef355cf1bcf1a71b9cfb98c32fba *tests/data/lavf-fate/lavf.av1.mp4
-55976 tests/data/lavf-fate/lavf.av1.mp4
+194cd796f3d28a890b516b2507f57180 *tests/data/lavf-fate/lavf.av1.mp4
+55960 tests/data/lavf-fate/lavf.av1.mp4
tests/data/lavf-fate/lavf.av1.mp4 CRC=0x7c27cc15
--
2.42.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] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH v2] avcodec/av1dec: export pixel format even if no hardware decoder is present
2023-09-07 17:55 ` [FFmpeg-devel] [PATCH v2] " James Almer
@ 2023-09-07 23:41 ` Michael Niedermayer
2023-09-08 0:49 ` [FFmpeg-devel] [PATCH v3] " James Almer
0 siblings, 1 reply; 7+ messages in thread
From: Michael Niedermayer @ 2023-09-07 23:41 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 1881 bytes --]
On Thu, Sep 07, 2023 at 02:55:25PM -0300, James Almer wrote:
> And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
> either way.
> This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
> where even if forcing the native av1 decoder, if another decoder was present,
> like libdav1d or libaom-av1, they'd be used for probing and some fate tests
> would have different results.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavcodec/av1dec.c | 50 ++++++++++++++++++++-------------
> tests/fate/lavf-container.mak | 8 +++---
> tests/ref/fate/av1-annexb-demux | 2 +-
> tests/ref/lavf-fate/av1.mkv | 4 +--
> tests/ref/lavf-fate/av1.mp4 | 4 +--
> 5 files changed, 39 insertions(+), 29 deletions(-)
breaks some fate tests like:
make fate-cbs-av1-non_uniform_tiling
TEST cbs-av1-non_uniform_tiling
--- ./tests/ref/fate/cbs-av1-non_uniform_tiling 2023-09-07 20:08:32.252582673 +0200
+++ tests/data/fate/cbs-av1-non_uniform_tiling 2023-09-08 01:40:11.103091424 +0200
@@ -1 +0,0 @@
-3e204ee8a71273cf0247f48e977e64b7
Test cbs-av1-non_uniform_tiling failed. Look at tests/data/fate/cbs-av1-non_uniform_tiling.err for details.
tests/Makefile:308: recipe for target 'fate-cbs-av1-non_uniform_tiling' failed
make: *** [fate-cbs-av1-non_uniform_tiling] Error 134
V=2 output:
Assertion n >= 1 failed at libavcodec/decode.c:1274
Aborted (core dumped)
threads=1
tests/Makefile:308: recipe for target 'fate-cbs-av1-non_uniform_tiling' failed
make: *** [fate-cbs-av1-non_uniform_tiling] Error 134
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Into a blind darkness they enter who follow after the Ignorance,
they as if into a greater darkness enter who devote themselves
to the Knowledge alone. -- Isha Upanishad
[-- 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] 7+ messages in thread
* [FFmpeg-devel] [PATCH v3] avcodec/av1dec: export pixel format even if no hardware decoder is present
2023-09-07 23:41 ` Michael Niedermayer
@ 2023-09-08 0:49 ` James Almer
2023-09-08 12:27 ` James Almer
0 siblings, 1 reply; 7+ messages in thread
From: James Almer @ 2023-09-08 0:49 UTC (permalink / raw)
To: ffmpeg-devel
And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
either way.
This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
where even if forcing the native av1 decoder, if another decoder was present,
like libdav1d or libaom-av1, they'd be used for probing and some fate tests
would have different results.
Signed-off-by: James Almer <jamrial@gmail.com>
---
libavcodec/av1dec.c | 41 ++++++++++++++++++++-------------
tests/fate-run.sh | 11 +++++----
tests/fate/flvenc.mak | 4 ++--
tests/fate/lavf-container.mak | 8 +++----
tests/fate/mpegps.mak | 2 +-
tests/ref/fate/av1-annexb-demux | 2 +-
tests/ref/lavf-fate/av1.mkv | 4 ++--
tests/ref/lavf-fate/av1.mp4 | 4 ++--
8 files changed, 43 insertions(+), 33 deletions(-)
diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c
index ec8401f4e0..8f9c2dfefb 100644
--- a/libavcodec/av1dec.c
+++ b/libavcodec/av1dec.c
@@ -440,20 +440,11 @@ static int get_tiles_info(AVCodecContext *avctx, const AV1RawTileGroup *tile_gro
}
-static int get_pixel_format(AVCodecContext *avctx)
+static enum AVPixelFormat get_sw_pixel_format(AVCodecContext *avctx,
+ const AV1RawSequenceHeader *seq)
{
- AV1DecContext *s = avctx->priv_data;
- const AV1RawSequenceHeader *seq = s->raw_seq;
uint8_t bit_depth;
- int ret;
enum AVPixelFormat pix_fmt = AV_PIX_FMT_NONE;
-#define HWACCEL_MAX (CONFIG_AV1_DXVA2_HWACCEL + \
- CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
- CONFIG_AV1_NVDEC_HWACCEL + \
- CONFIG_AV1_VAAPI_HWACCEL + \
- CONFIG_AV1_VDPAU_HWACCEL + \
- CONFIG_AV1_VULKAN_HWACCEL)
- enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
if (seq->seq_profile == 2 && seq->color_config.high_bitdepth)
bit_depth = seq->color_config.twelve_bit ? 12 : 10;
@@ -509,8 +500,22 @@ static int get_pixel_format(AVCodecContext *avctx)
av_log(avctx, AV_LOG_WARNING, "Unknown AV1 pixel format.\n");
}
- av_log(avctx, AV_LOG_DEBUG, "AV1 decode get format: %s.\n",
- av_get_pix_fmt_name(pix_fmt));
+ return pix_fmt;
+}
+
+static int get_pixel_format(AVCodecContext *avctx)
+{
+ AV1DecContext *s = avctx->priv_data;
+ const AV1RawSequenceHeader *seq = s->raw_seq;
+ int ret;
+ enum AVPixelFormat pix_fmt = get_sw_pixel_format(avctx, seq);
+#define HWACCEL_MAX (CONFIG_AV1_DXVA2_HWACCEL + \
+ CONFIG_AV1_D3D11VA_HWACCEL * 2 + \
+ CONFIG_AV1_NVDEC_HWACCEL + \
+ CONFIG_AV1_VAAPI_HWACCEL + \
+ CONFIG_AV1_VDPAU_HWACCEL + \
+ CONFIG_AV1_VULKAN_HWACCEL)
+ enum AVPixelFormat pix_fmts[HWACCEL_MAX + 2], *fmtp = pix_fmts;
if (pix_fmt == AV_PIX_FMT_NONE)
return -1;
@@ -609,8 +614,6 @@ static int get_pixel_format(AVCodecContext *avctx)
*fmtp = AV_PIX_FMT_NONE;
ret = ff_thread_get_format(avctx, pix_fmts);
- if (ret < 0)
- return ret;
/**
* check if the HW accel is inited correctly. If not, return un-implemented.
@@ -620,12 +623,16 @@ static int get_pixel_format(AVCodecContext *avctx)
if (!avctx->hwaccel) {
av_log(avctx, AV_LOG_ERROR, "Your platform doesn't support"
" hardware accelerated AV1 decoding.\n");
+ avctx->pix_fmt = AV_PIX_FMT_NONE;
return AVERROR(ENOSYS);
}
s->pix_fmt = pix_fmt;
avctx->pix_fmt = ret;
+ av_log(avctx, AV_LOG_DEBUG, "AV1 decode get format: %s.\n",
+ av_get_pix_fmt_name(avctx->pix_fmt));
+
return 0;
}
@@ -865,6 +872,8 @@ static av_cold int av1_decode_init(AVCodecContext *avctx)
goto end;
}
+ avctx->pix_fmt = get_sw_pixel_format(avctx, seq);
+
end:
ff_cbs_fragment_reset(&s->current_obu);
}
@@ -1518,7 +1527,7 @@ const FFCodec ff_av1_decoder = {
.init = av1_decode_init,
.close = av1_decode_free,
FF_CODEC_RECEIVE_FRAME_CB(av1_receive_frame),
- .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_AVOID_PROBING,
+ .p.capabilities = AV_CODEC_CAP_DR1,
.caps_internal = FF_CODEC_CAP_INIT_CLEANUP,
.flush = av1_decode_flush,
.p.profiles = NULL_IF_CONFIG_SMALL(ff_av1_profiles),
diff --git a/tests/fate-run.sh b/tests/fate-run.sh
index 5a71ac001e..743d9b3620 100755
--- a/tests/fate-run.sh
+++ b/tests/fate-run.sh
@@ -275,15 +275,16 @@ transcode(){
stream_remux(){
src_fmt=$1
srcfile=$2
- enc_fmt=$3
- stream_maps=$4
- final_decode=$5
- ffprobe_opts=$6
+ src_opts=$3
+ enc_fmt=$4
+ stream_maps=$5
+ final_decode=$6
+ ffprobe_opts=$7
encfile="${outdir}/${test}.${enc_fmt}"
test $keep -ge 1 || cleanfiles="$cleanfiles $encfile"
tsrcfile=$(target_path $srcfile)
tencfile=$(target_path $encfile)
- ffmpeg -f $src_fmt -i $tsrcfile $stream_maps -codec copy $FLAGS \
+ ffmpeg -f $src_fmt $src_opts -i $tsrcfile $stream_maps -codec copy $FLAGS \
-f $enc_fmt -y $tencfile || return
ffmpeg $DEC_OPTS -i $tencfile $ENC_OPTS $FLAGS $final_decode \
-f framecrc - || return
diff --git a/tests/fate/flvenc.mak b/tests/fate/flvenc.mak
index 8dc2f7adfd..3cfe930e43 100644
--- a/tests/fate/flvenc.mak
+++ b/tests/fate/flvenc.mak
@@ -9,8 +9,8 @@ FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, FLV IVF, FLV_DEMUXER VP9_PARSER) += fa
fate-enhanced-flv-vp9: CMD = transcode ivf $(TARGET_SAMPLES)/vp9-test-vectors/vp90-2-05-resize.ivf\
flv "-c copy" "-c copy"
-FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, FLV IVF, FLV_DEMUXER AV1_PARSER) += fate-enhanced-flv-av1
-fate-enhanced-flv-av1: CMD = stream_remux ivf $(TARGET_SAMPLES)/av1/seq_hdr_op_param_info.ivf\
+FATE_ENHANCED_FLVENC_FFMPEG-$(call REMUX, FLV IVF, FLV_DEMUXER AV1_DECODER AV1_PARSER) += fate-enhanced-flv-av1
+fate-enhanced-flv-av1: CMD = stream_remux ivf $(TARGET_SAMPLES)/av1/seq_hdr_op_param_info.ivf "-c:v av1" \
flv "-c copy" "-c copy"
FATE_FFMPEG_FFPROBE += $(FATE_FLVENC_FFMPEG_FFPROBE-yes)
diff --git a/tests/fate/lavf-container.mak b/tests/fate/lavf-container.mak
index 0d4a224601..0081b45eea 100644
--- a/tests/fate/lavf-container.mak
+++ b/tests/fate/lavf-container.mak
@@ -70,9 +70,9 @@ fate-lavf-wtv: CMD = lavf_container "" "-c:a mp2 -threads 1"
FATE_AVCONV += $(FATE_LAVF_CONTAINER)
fate-lavf-container fate-lavf: $(FATE_LAVF_CONTAINER)
-FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MOV_MUXER) += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MOV_MUXER) += av1.mp4
+FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_DECODER AV1_PARSER MATROSKA_MUXER) += av1.mkv
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, EVC_DEMUXER EVC_PARSER MOV_MUXER) += evc.mp4
-FATE_LAVF_CONTAINER_FATE-$(call ALLYES, IVF_DEMUXER AV1_PARSER MATROSKA_MUXER) += av1.mkv
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, H264_DEMUXER H264_PARSER MOV_MUXER) += h264.mp4
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGG_MUXER) += vp3.ogg
FATE_LAVF_CONTAINER_FATE-$(call ALLYES, MATROSKA_DEMUXER OGV_MUXER) += vp8.ogg
@@ -86,8 +86,8 @@ FATE_LAVF_CONTAINER_FATE = $(FATE_LAVF_CONTAINER_FATE-yes:%=fate-lavf-fate-%)
$(FATE_LAVF_CONTAINER_FATE): REF = $(SRC_PATH)/tests/ref/lavf-fate/$(@:fate-lavf-fate-%=%)
$(FATE_LAVF_CONTAINER_FATE): $(AREF) $(VREF)
-fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
-fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "" "-c:v copy"
+fate-lavf-fate-av1.mp4: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
+fate-lavf-fate-av1.mkv: CMD = lavf_container_fate "av1-test-vectors/av1-1-b8-05-mv.ivf" "-c:v av1" "-c:v copy"
fate-lavf-fate-evc.mp4: CMD = lavf_container_fate "evc/akiyo_cif.evc" "" "-c:v copy"
fate-lavf-fate-h264.mp4: CMD = lavf_container_fate "h264/intra_refresh.h264" "" "-c:v copy"
fate-lavf-fate-vp3.ogg: CMD = lavf_container_fate "vp3/coeff_level64.mkv" "-idct auto"
diff --git a/tests/fate/mpegps.mak b/tests/fate/mpegps.mak
index 87a8e1480e..807da1f713 100644
--- a/tests/fate/mpegps.mak
+++ b/tests/fate/mpegps.mak
@@ -1,7 +1,7 @@
# This tests that a 16-bit pcm_dvd stream is correctly remuxed in mpegps
FATE_MPEGPS-$(call DEMMUX, MPEGPS, MPEG1SYSTEM) += fate-mpegps-remuxed-pcm-demux
fate-mpegps-remuxed-pcm-demux: $(SAMPLES)/mpegps/pcm_aud.mpg
-fate-mpegps-remuxed-pcm-demux: CMD = stream_remux "mpeg" "$(TARGET_SAMPLES)/mpegps/pcm_aud.mpg" "mpeg" "-map 0:a:0" "-codec copy"
+fate-mpegps-remuxed-pcm-demux: CMD = stream_remux "mpeg" "$(TARGET_SAMPLES)/mpegps/pcm_aud.mpg" "mpeg" "" "-map 0:a:0" "-codec copy"
FATE_SAMPLES_FFMPEG += $(FATE_MPEGPS-yes)
fate-mpegps: $(FATE_MPEGPS-yes)
diff --git a/tests/ref/fate/av1-annexb-demux b/tests/ref/fate/av1-annexb-demux
index 77e0e378ab..139a893ec1 100644
--- a/tests/ref/fate/av1-annexb-demux
+++ b/tests/ref/fate/av1-annexb-demux
@@ -3,7 +3,7 @@
#media_type 0: video
#codec_id 0: av1
#dimensions 0: 300x300
-#sar 0: 1/1
+#sar 0: 0/1
0, 0, 0, 48000, 12691, 0xf0adcc79
0, 48000, 48000, 48000, 4975, 0x1742a45f, F=0x0
0, 96000, 96000, 48000, 928, 0x7408be1a, F=0x0
diff --git a/tests/ref/lavf-fate/av1.mkv b/tests/ref/lavf-fate/av1.mkv
index 84924fe05c..e6db3a814a 100644
--- a/tests/ref/lavf-fate/av1.mkv
+++ b/tests/ref/lavf-fate/av1.mkv
@@ -1,3 +1,3 @@
-ba198efa114b4db3c9f772728f84978b *tests/data/lavf-fate/lavf.av1.mkv
-55656 tests/data/lavf-fate/lavf.av1.mkv
+d875b42964dd55c8cea2e2752379d327 *tests/data/lavf-fate/lavf.av1.mkv
+55660 tests/data/lavf-fate/lavf.av1.mkv
tests/data/lavf-fate/lavf.av1.mkv CRC=0x7c27cc15
diff --git a/tests/ref/lavf-fate/av1.mp4 b/tests/ref/lavf-fate/av1.mp4
index ef174589ba..53b0cbe637 100644
--- a/tests/ref/lavf-fate/av1.mp4
+++ b/tests/ref/lavf-fate/av1.mp4
@@ -1,3 +1,3 @@
-d6afef355cf1bcf1a71b9cfb98c32fba *tests/data/lavf-fate/lavf.av1.mp4
-55976 tests/data/lavf-fate/lavf.av1.mp4
+194cd796f3d28a890b516b2507f57180 *tests/data/lavf-fate/lavf.av1.mp4
+55960 tests/data/lavf-fate/lavf.av1.mp4
tests/data/lavf-fate/lavf.av1.mp4 CRC=0x7c27cc15
--
2.42.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] 7+ messages in thread
* Re: [FFmpeg-devel] [PATCH v3] avcodec/av1dec: export pixel format even if no hardware decoder is present
2023-09-08 0:49 ` [FFmpeg-devel] [PATCH v3] " James Almer
@ 2023-09-08 12:27 ` James Almer
0 siblings, 0 replies; 7+ messages in thread
From: James Almer @ 2023-09-08 12:27 UTC (permalink / raw)
To: ffmpeg-devel
On 9/7/2023 9:49 PM, James Almer wrote:
> And remove the AVOID_PROBING flag, given it's the last av1 decoder to be tested
> either way.
> This fixes a regression introduced in 1652f2492f88434010053289d946dab6a57e4d58,
> where even if forcing the native av1 decoder, if another decoder was present,
> like libdav1d or libaom-av1, they'd be used for probing and some fate tests
> would have different results.
>
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
> libavcodec/av1dec.c | 41 ++++++++++++++++++++-------------
> tests/fate-run.sh | 11 +++++----
> tests/fate/flvenc.mak | 4 ++--
> tests/fate/lavf-container.mak | 8 +++----
> tests/fate/mpegps.mak | 2 +-
> tests/ref/fate/av1-annexb-demux | 2 +-
> tests/ref/lavf-fate/av1.mkv | 4 ++--
> tests/ref/lavf-fate/av1.mp4 | 4 ++--
> 8 files changed, 43 insertions(+), 33 deletions(-)
Will apply.
_______________________________________________
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] 7+ messages in thread
end of thread, other threads:[~2023-09-08 12:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-07 2:06 [FFmpeg-devel] [PATCH] avcodec/av1dec: export pixel format even if no hardware decoder is present James Almer
2023-09-07 8:06 ` Andreas Rheinhardt
2023-09-07 14:30 ` James Almer
2023-09-07 17:55 ` [FFmpeg-devel] [PATCH v2] " James Almer
2023-09-07 23:41 ` Michael Niedermayer
2023-09-08 0:49 ` [FFmpeg-devel] [PATCH v3] " James Almer
2023-09-08 12:27 ` James Almer
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