[FFmpeg-devel] [PATCHv2 1/4] lavc/h263dsp: add DCT dequantisation function

Rémi Denis-Courmont remi at remlab.net
Sun Jun 9 18:47:24 EEST 2024


Le sunnuntaina 9. kesäkuuta 2024, 12.27.06 EEST Rémi Denis-Courmont a écrit :
> To preserve the alignment promise of the block base address, we pass
> the start offset separately (it is either 0 or 1).
> 
> Note that optimised implementations of this function will be taken into
> actual use if MpegEncContext.dct_unquantize_h263_{inter,intra} are *not*
> overloaded by existing optimisations.
> ---
>  libavcodec/h263dsp.c | 17 +++++++++++++++++
>  libavcodec/h263dsp.h |  2 ++
>  2 files changed, 19 insertions(+)
> 
> diff --git a/libavcodec/h263dsp.c b/libavcodec/h263dsp.c
> index 6a13353499..eb990f27bd 100644
> --- a/libavcodec/h263dsp.c
> +++ b/libavcodec/h263dsp.c
> @@ -23,6 +23,22 @@
>  #include "config.h"
>  #include "h263dsp.h"
> 
> +static void h263_dct_unquantize_c(int16_t *block, size_t start, size_t end,
> +                                  int qmul, int qadd)
> +{
> +    for (size_t i = start; i <= end; i++) {

C and R-V V don't care, but for the sake of more constrained SIMD extensions, 
it should be easier to keep intra and inter DCT functions separate.

-- 
Rémi Denis-Courmont
http://www.remlab.net/





More information about the ffmpeg-devel mailing list