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]

Reply via email to