* [FFmpeg-devel] [PATCH 2/3] avcodec/libuavs3d: use output_reorder_delay as has_b_frames
[not found] <20220513094049.86179-1-quinkblack@foxmail.com>
@ 2022-05-13 9:40 ` Zhao Zhili
2022-05-14 1:04 ` mypopy
2022-05-13 9:40 ` [FFmpeg-devel] [PATCH 3/3] avcodec/libdavs2: export has_b_frames info Zhao Zhili
1 sibling, 1 reply; 4+ messages in thread
From: Zhao Zhili @ 2022-05-13 9:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
has_b_frames is more than a bool, it's the size of the frame
reordering buffer in the decoder.
---
libavcodec/libuavs3d.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libavcodec/libuavs3d.c b/libavcodec/libuavs3d.c
index 23de4c8cd5..e911963a41 100644
--- a/libavcodec/libuavs3d.c
+++ b/libavcodec/libuavs3d.c
@@ -206,7 +206,7 @@ static int libuavs3d_decode_frame(AVCodecContext *avctx, AVFrame *frm,
avctx->framerate.num = ff_avs3_frame_rate_tab[seqh->frame_rate_code].num;
avctx->framerate.den = ff_avs3_frame_rate_tab[seqh->frame_rate_code].den;
}
- avctx->has_b_frames = !seqh->low_delay;
+ avctx->has_b_frames = seqh->output_reorder_delay;
avctx->pix_fmt = seqh->bit_depth_internal == 8 ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUV420P10LE;
ret = ff_set_dimensions(avctx, seqh->horizontal_size, seqh->vertical_size);
if (ret < 0)
--
2.35.3
_______________________________________________
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] 4+ messages in thread
* [FFmpeg-devel] [PATCH 3/3] avcodec/libdavs2: export has_b_frames info
[not found] <20220513094049.86179-1-quinkblack@foxmail.com>
2022-05-13 9:40 ` [FFmpeg-devel] [PATCH 2/3] avcodec/libuavs3d: use output_reorder_delay as has_b_frames Zhao Zhili
@ 2022-05-13 9:40 ` Zhao Zhili
1 sibling, 0 replies; 4+ messages in thread
From: Zhao Zhili @ 2022-05-13 9:40 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Zhao Zhili
More precisely, we should use picture_reorder_delay, but it's
unavailable yet.
---
libavcodec/libdavs2.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c
index a47027d300..bc31745a4f 100644
--- a/libavcodec/libdavs2.c
+++ b/libavcodec/libdavs2.c
@@ -78,6 +78,12 @@ static int davs2_dump_frames(AVCodecContext *avctx, davs2_picture_t *pic, int *g
avctx->height = headerset->height;
avctx->pix_fmt = headerset->output_bit_depth == 10 ?
AV_PIX_FMT_YUV420P10 : AV_PIX_FMT_YUV420P;
+ /* It should be picture_reorder_delay, but libdavs2 doesn't export that
+ * info.
+ * Use FFMAX since has_b_frames could be set by AVS2 parser in theory,
+ * which doesn't do it yet.
+ */
+ avctx->has_b_frames = FFMAX(avctx->has_b_frames, !headerset->low_delay);
avctx->framerate = av_d2q(headerset->frame_rate,4096);
*got_frame = 0;
--
2.35.3
_______________________________________________
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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avcodec/libuavs3d: use output_reorder_delay as has_b_frames
2022-05-13 9:40 ` [FFmpeg-devel] [PATCH 2/3] avcodec/libuavs3d: use output_reorder_delay as has_b_frames Zhao Zhili
@ 2022-05-14 1:04 ` mypopy
2022-05-14 3:39 ` "zhilizhao(赵志立)"
0 siblings, 1 reply; 4+ messages in thread
From: mypopy @ 2022-05-14 1:04 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: Zhao Zhili
On Fri, May 13, 2022 at 5:41 PM Zhao Zhili <quinkblack@foxmail.com> wrote:
>
> has_b_frames is more than a bool, it's the size of the frame
> reordering buffer in the decoder.
> ---
> libavcodec/libuavs3d.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/libuavs3d.c b/libavcodec/libuavs3d.c
> index 23de4c8cd5..e911963a41 100644
> --- a/libavcodec/libuavs3d.c
> +++ b/libavcodec/libuavs3d.c
> @@ -206,7 +206,7 @@ static int libuavs3d_decode_frame(AVCodecContext *avctx, AVFrame *frm,
> avctx->framerate.num = ff_avs3_frame_rate_tab[seqh->frame_rate_code].num;
> avctx->framerate.den = ff_avs3_frame_rate_tab[seqh->frame_rate_code].den;
> }
> - avctx->has_b_frames = !seqh->low_delay;
> + avctx->has_b_frames = seqh->output_reorder_delay;
The same case, AVS3 uses output_reorder_delay but AVS2 uses low_delay,
which is a bit strange
> avctx->pix_fmt = seqh->bit_depth_internal == 8 ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUV420P10LE;
> ret = ff_set_dimensions(avctx, seqh->horizontal_size, seqh->vertical_size);
> if (ret < 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] 4+ messages in thread
* Re: [FFmpeg-devel] [PATCH 2/3] avcodec/libuavs3d: use output_reorder_delay as has_b_frames
2022-05-14 1:04 ` mypopy
@ 2022-05-14 3:39 ` "zhilizhao(赵志立)"
0 siblings, 0 replies; 4+ messages in thread
From: "zhilizhao(赵志立)" @ 2022-05-14 3:39 UTC (permalink / raw)
To: FFmpeg development discussions and patches; +Cc: mypopy
> On May 14, 2022, at 9:04 AM, mypopy@gmail.com wrote:
>
> On Fri, May 13, 2022 at 5:41 PM Zhao Zhili <quinkblack@foxmail.com> wrote:
>>
>> has_b_frames is more than a bool, it's the size of the frame
>> reordering buffer in the decoder.
>> ---
>> libavcodec/libuavs3d.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/libavcodec/libuavs3d.c b/libavcodec/libuavs3d.c
>> index 23de4c8cd5..e911963a41 100644
>> --- a/libavcodec/libuavs3d.c
>> +++ b/libavcodec/libuavs3d.c
>> @@ -206,7 +206,7 @@ static int libuavs3d_decode_frame(AVCodecContext *avctx, AVFrame *frm,
>> avctx->framerate.num = ff_avs3_frame_rate_tab[seqh->frame_rate_code].num;
>> avctx->framerate.den = ff_avs3_frame_rate_tab[seqh->frame_rate_code].den;
>> }
>> - avctx->has_b_frames = !seqh->low_delay;
>> + avctx->has_b_frames = seqh->output_reorder_delay;
> The same case, AVS3 uses output_reorder_delay but AVS2 uses low_delay,
> which is a bit strange
Patch 3/3 explains why: it should be picture_reorder_delay, but it’s
not available in libdavs2’s public API.
>> avctx->pix_fmt = seqh->bit_depth_internal == 8 ? AV_PIX_FMT_YUV420P : AV_PIX_FMT_YUV420P10LE;
>> ret = ff_set_dimensions(avctx, seqh->horizontal_size, seqh->vertical_size);
>> if (ret < 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] 4+ messages in thread
end of thread, other threads:[~2022-05-14 3:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20220513094049.86179-1-quinkblack@foxmail.com>
2022-05-13 9:40 ` [FFmpeg-devel] [PATCH 2/3] avcodec/libuavs3d: use output_reorder_delay as has_b_frames Zhao Zhili
2022-05-14 1:04 ` mypopy
2022-05-14 3:39 ` "zhilizhao(赵志立)"
2022-05-13 9:40 ` [FFmpeg-devel] [PATCH 3/3] avcodec/libdavs2: export has_b_frames info Zhao Zhili
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