X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fh264dsp.h;h=9c41336092b38e63d84d1d47c756c57f464e7fc1;hb=d961a79eb07a8911540a0bd356d68ae0cf93c6a1;hp=757caf81622e8f88cf0d644f939e2af52ccab57f;hpb=2ed008204d5467be03a0a3af1e293b2f7038d0a0;p=ffmpeg diff --git a/libavcodec/h264dsp.h b/libavcodec/h264dsp.h index 757caf81622..9c41336092b 100644 --- a/libavcodec/h264dsp.h +++ b/libavcodec/h264dsp.h @@ -103,12 +103,23 @@ typedef struct H264DSPContext { void (*h264_chroma_dc_dequant_idct)(int16_t *block, int qmul); /* bypass-transform */ - void (*h264_add_pixels8)(uint8_t *dst, int16_t *block, int stride); - void (*h264_add_pixels4)(uint8_t *dst, int16_t *block, int stride); + 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,