X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fh264dsp.h;h=9c41336092b38e63d84d1d47c756c57f464e7fc1;hb=53abe32409f13687c864b3cda077a1aa906a2459;hp=c6bcd9e2143e6cbb5558859db7b4d0e10d59b67a;hpb=88bd7fdc821aaa0cbcf44cf075c62aaa42121e3f;p=ffmpeg diff --git a/libavcodec/h264dsp.h b/libavcodec/h264dsp.h index c6bcd9e2143..9c41336092b 100644 --- a/libavcodec/h264dsp.h +++ b/libavcodec/h264dsp.h @@ -101,10 +101,25 @@ typedef struct H264DSPContext { void (*h264_luma_dc_dequant_idct)(int16_t *output, int16_t *input /*align 16*/, int qmul); void (*h264_chroma_dc_dequant_idct)(int16_t *block, int qmul); + + /* bypass-transform */ + void (*h264_add_pixels8_clear)(uint8_t *dst, int16_t *block, int stride); + void (*h264_add_pixels4_clear)(uint8_t *dst, int16_t *block, int stride); + + /** + * Search buf from the start for up to size bytes. Return the index + * of a zero byte, or >= size if not found. Ideally, use lookahead + * to filter out any zero bytes that are known to not be followed by + * one or more further zero bytes and a one byte. Better still, filter + * out any bytes that form the trailing_zero_8bits syntax element too. + */ + int (*h264_find_start_code_candidate)(const uint8_t *buf, int size); } H264DSPContext; void ff_h264dsp_init(H264DSPContext *c, const int bit_depth, const int chroma_format_idc); +void ff_h264dsp_init_aarch64(H264DSPContext *c, const int bit_depth, + const int chroma_format_idc); void ff_h264dsp_init_arm(H264DSPContext *c, const int bit_depth, const int chroma_format_idc); void ff_h264dsp_init_ppc(H264DSPContext *c, const int bit_depth,