[RFC] avcodec/cavs: bugfixes and AVS1-P16 (AVS+) decoding

Rainbaby via ffmpeg-devel <[email protected]>
Newsgroups gmane.comp.video.ffmpeg.devel
Message-ID <[email protected]>
Hi,

I have a working AVS1-P16 decoder on top of the existing cavs decoder.
AVS1-P16 is profile_id 0x48, CAVS_PROFILE_GUANGDIAN in cavsvideodec.c.
Its official name in the standard is the Broadcasting profile, and the
common name is AVS+. It is the profile that Chinese DTMB terrestrial
broadcast actually uses. The new code adds the AEC macroblock layer,
annex A de-emulation and field pictures.

I wrote it from the published standards, mainly GY/T 257.1-2012, with
GB/T 20090.16-2016 and IEEE 1857-2023 to cross-check the places where
the texts disagree. A closed decoder for this format can be found in
the wild, and I used it only to check the result. I compared decoded
frames, and the output is bit exact on everything I have here. I never
looked inside it, and no code came from any existing implementation.

This is my first contribution here, so I want to ask two things before
I send anything, and I will follow what the project prefers.

I have ~24 commits and plan to open a PR on code.ffmpeg.org. Half are
JiZhun bug fixes with no API change, for example an int16_t overflow in
the qpel filter that changes 51 of 60 frames of the bunny sample; one of
them also closes trac #3885. The other half add the profile, do not
apply without the fixes, and close trac #6948. Should it be one PR or
two?

The FATE suite has no AVS1-P16 sample now. I have a ~228 KB cut of a
1080i test card recorded from Beijing DTMB broadcast (only a test card,
no program content), and a framecrc test for it. Is this sample OK for
the fate-suite, and how can it get uploaded? I sent a subscribe mail
to samples-request before but got no reply. If there is no better way,
I will try to attach the file to the PR, so the CI can run the test.

Thanks,
Rainbaby
_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.