[FFmpeg-devel] [PATCH v2] avcodec: Add dv marker bsf

Michael Niedermayer michael at niedermayer.cc
Sat Mar 12 20:09:05 EET 2022


On Sat, Mar 12, 2022 at 10:11:52AM -0500, Dave Rice wrote:
> 
> 
> > On Mar 10, 2022, at 4:41 AM, Tobias Rapp <t.rapp at noa-archive.com> wrote:
> > 
> > On 09/03/2022 19:18, Michael Niedermayer wrote:
> >> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> >> ---
> >>  doc/bitstream_filters.texi       |  30 ++++++++
> >>  libavcodec/Makefile              |   1 +
> >>  libavcodec/bitstream_filters.c   |   1 +
> >>  libavcodec/dv_error_marker_bsf.c | 127 +++++++++++++++++++++++++++++++
> >>  4 files changed, 159 insertions(+)
> >>  create mode 100644 libavcodec/dv_error_marker_bsf.c
> >> diff --git a/doc/bitstream_filters.texi b/doc/bitstream_filters.texi
> >> index a0092878c8..8c5d84dceb 100644
> >> --- a/doc/bitstream_filters.texi
> >> +++ b/doc/bitstream_filters.texi
> >> @@ -132,6 +132,36 @@ the header stored in extradata to the key packets:
> >>  ffmpeg -i INPUT -map 0 -flags:v +global_header -c:v libx264 -bsf:v dump_extra out.ts
> >>  @end example
> >>  + at section dv_error_marker
> >> +
> >> +Blocks in DV which are marked as damaged are replaced by blocks of the specified color.
> >> +
> >> + at table @option
> >> + at item color
> >> +The color to replace damaged blocks by
> >> + at item sta
> >> +A 16 bit mask which specifies which of the 16 possible error status values are
> >> +to be replaced by colored blocks. 0xFFFE is the default which replaces all non 0
> >> +error status values.
> >> + at table @samp
> >> + at item ok
> >> +No error, no concealment
> >> + at item err
> >> +Error, No concealment
> >> + at item res
> >> +Reserved
> >> + at item notok
> >> +Error or concealment
> >> + at item notres
> >> +Not reserved
> >> + at item Aa, Ba, Ca, Ab, Bb, Cb, A, B, C, a, b, erri, erru
> >> +The specific error status code
> >> + at end table
> >> +see page 44-46 or section 5.5 of
> >> + at url{http://web.archive.org/web/20060927044735/http://www.smpte.org/smpte_store/standards/pdf/s314m.pdf}
> >> +
> >> + at end table
> >> +
> >>  @section eac3_core
> >> [...]
> > The filter options look nice to me now. Have not actually tested the bitstream filter on DV files, though.
> 
> I tested this and this works well for me. Here's a few samples that demonstrate the filter:
> 
> ./ffmpeg -i https://samples.ffmpeg.org/archive/audio/pcm_s16le/dv+dvvideo+pcm_s16le++dropout.dv  -bsf dv_error_marker=sta=b -f rawvideo -c:v copy - | ffplay -
> ./ffmpeg -i https://archive.org/download/DvAnalyzerSampleDvVideoErrorConcealment/DV_Analyzer_Sample_Video_Error_Concealment_original.dv -bsf dv_error_marker=sta=b -f rawvideo -c:v copy - | ffplay -

I tested a bit more and it failed with dvcprohd, i have fixed it and will in a
moment post a version that seems to work with both
please retest

PS: i used some artificially damaged files from fate/dv/

thx

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

Good people do not need laws to tell them to act responsibly, while bad
people will find a way around the laws. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220312/efb1ec73/attachment.sig>


More information about the ffmpeg-devel mailing list