diff mbox series

[FFmpeg-devel,1/2] lavc/dvdec: export bitrate

Message ID 20230704172604.15781-1-anton@khirnov.net
State Accepted
Commit 9b625ab6792f07fb60b3ce9f2cf5933b2fb0fa1c
Headers show
Series [FFmpeg-devel,1/2] lavc/dvdec: export bitrate | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Anton Khirnov July 4, 2023, 5:26 p.m. UTC
Changes the result of fate-mxf-probe-dv25, where the bitrate is now
exported.

Also changes the result of fate-bsf-dv-error-marker, where the exported
bitrate is now different. Note that the codec layer bitrate does not
match the container bitrate, because container timing is 25fps, while
the DV profile is 50.
---
 libavcodec/dvdec.c            | 3 +++
 tests/fate/dvvideo.mak        | 2 +-
 tests/ref/fate/mxf-probe-dv25 | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

Comments

Paul B Mahol July 6, 2023, 8:32 p.m. UTC | #1
LGTM
diff mbox series

Patch

diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
index 750e25a4af..c57578a208 100644
--- a/libavcodec/dvdec.c
+++ b/libavcodec/dvdec.c
@@ -650,6 +650,9 @@  static int dvvideo_decode_frame(AVCodecContext *avctx, AVFrame *frame,
     frame->pict_type    = AV_PICTURE_TYPE_I;
     avctx->pix_fmt      = s->sys->pix_fmt;
     avctx->framerate    = av_inv_q(s->sys->time_base);
+    avctx->bit_rate     = av_rescale_q(s->sys->frame_size,
+                                       (AVRational) { 8, 1 },
+                                       s->sys->time_base);
 
     ret = ff_set_dimensions(avctx, s->sys->width, s->sys->height);
     if (ret < 0)
diff --git a/tests/fate/dvvideo.mak b/tests/fate/dvvideo.mak
index 24e50ca357..33686d7762 100644
--- a/tests/fate/dvvideo.mak
+++ b/tests/fate/dvvideo.mak
@@ -1,7 +1,7 @@ 
 
 fate-bsf-dv-error-marker: CMD = md5 -i $(TARGET_SAMPLES)/dv/dvcprohd_720p50.mov -flags +bitexact -fflags +bitexact -c:v copy -bsf noise=100,dv_error_marker=color=blue -f avi
 fate-bsf-dv-error-marker: CMP = oneline
-fate-bsf-dv-error-marker: REF = 4e884d3e8045299d0d45ec920fa58a44
+fate-bsf-dv-error-marker: REF = 3190a334b1ceef2d9fd050a1590da7c6
 FATE_DVVIDEO-$(call ALLYES, MOV_DEMUXER DV_ERROR_MARKER_BSF NOISE_BSF AVI_MUXER) += fate-bsf-dv-error-marker
 
 FATE_SAMPLES_FFMPEG += $(FATE_DVVIDEO-yes)
diff --git a/tests/ref/fate/mxf-probe-dv25 b/tests/ref/fate/mxf-probe-dv25
index 8b12a17838..f89357e191 100644
--- a/tests/ref/fate/mxf-probe-dv25
+++ b/tests/ref/fate/mxf-probe-dv25
@@ -31,7 +31,7 @@  start_pts=0
 start_time=0.000000
 duration_ts=25
 duration=1.000000
-bit_rate=N/A
+bit_rate=28800000
 max_bit_rate=N/A
 bits_per_raw_sample=N/A
 nb_frames=N/A