From: Anton Khirnov <anton@khirnov.net> To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH 03/13] lavc/h264dec.h: move find_start_code and MMCOOpcode to h264_parse.h Date: Mon, 24 Jan 2022 18:00:04 +0100 Message-ID: <20220124170014.17189-3-anton@khirnov.net> (raw) In-Reply-To: <20220124170014.17189-1-anton@khirnov.net> Both parser and decoder use these, so h264_parse is the proper place for them. --- libavcodec/h264_parse.h | 28 ++++++++++++++++++++++++++++ libavcodec/h264dec.h | 23 ----------------------- 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/libavcodec/h264_parse.h b/libavcodec/h264_parse.h index 4d01620125..9f329db77a 100644 --- a/libavcodec/h264_parse.h +++ b/libavcodec/h264_parse.h @@ -24,8 +24,26 @@ #ifndef AVCODEC_H264_PARSE_H #define AVCODEC_H264_PARSE_H +#include <stdint.h> + +#include "libavutil/common.h" + #include "get_bits.h" #include "h264_ps.h" +#include "internal.h" + +/** + * Memory management control operation opcode. + */ +typedef enum MMCOOpcode { + MMCO_END = 0, + MMCO_SHORT2UNUSED, + MMCO_LONG2UNUSED, + MMCO_SHORT2LONG, + MMCO_SET_MAX_LONG, + MMCO_RESET, + MMCO_LONG, +} MMCOOpcode; typedef struct H264PredWeightTable { int use_weight; @@ -90,4 +108,14 @@ int ff_h264_decode_extradata(const uint8_t *data, int size, H264ParamSets *ps, */ int ff_h264_get_profile(const SPS *sps); +static inline int find_start_code(const uint8_t *buf, int buf_size, + int buf_index, int next_avc) +{ + uint32_t state = -1; + + buf_index = avpriv_find_start_code(buf + buf_index, buf + next_avc + 1, &state) - buf - 1; + + return FFMIN(buf_index, buf_size); +} + #endif /* AVCODEC_H264_PARSE_H */ diff --git a/libavcodec/h264dec.h b/libavcodec/h264dec.h index ca3001ec4b..1e1f84ef33 100644 --- a/libavcodec/h264dec.h +++ b/libavcodec/h264dec.h @@ -103,19 +103,6 @@ #define IS_REF0(a) ((a) & MB_TYPE_REF0) #define IS_8x8DCT(a) ((a) & MB_TYPE_8x8DCT) -/** - * Memory management control operation opcode. - */ -typedef enum MMCOOpcode { - MMCO_END = 0, - MMCO_SHORT2UNUSED, - MMCO_LONG2UNUSED, - MMCO_SHORT2LONG, - MMCO_SET_MAX_LONG, - MMCO_RESET, - MMCO_LONG, -} MMCOOpcode; - /** * Memory management control operation. */ @@ -831,16 +818,6 @@ static av_always_inline int get_dct8x8_allowed(const H264Context *h, H264SliceCo 0x0001000100010001ULL)); } -static inline int find_start_code(const uint8_t *buf, int buf_size, - int buf_index, int next_avc) -{ - uint32_t state = -1; - - buf_index = avpriv_find_start_code(buf + buf_index, buf + next_avc + 1, &state) - buf - 1; - - return FFMIN(buf_index, buf_size); -} - int ff_h264_field_end(H264Context *h, H264SliceContext *sl, int in_setup); int ff_h264_ref_picture(H264Context *h, H264Picture *dst, H264Picture *src); -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
next prev parent reply other threads:[~2022-01-24 17:01 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-01-24 17:00 [FFmpeg-devel] [PATCH 01/13] lavc/h264: replace MAX_MMCO_COUNT with H264_MAX_MMCO_COUNT Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 02/13] lavc/h264_parser: stop accessing H264Context Anton Khirnov 2022-01-24 17:06 ` James Almer 2022-01-24 17:00 ` Anton Khirnov [this message] 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 04/13] lavc/h264: replace MAX_DELAYED_PIC_COUNT with FF_ARRAY_ELEMS where appropriate Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 05/13] lavc/h264: replace MAX_DELAYED_PIC_COUNT by H264_MAX_DPB_FRAMES Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 06/13] lavc/h264_parser: add missing headers Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 07/13] lavc/h264: move some shared code from h264dec to h264_parse Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 08/13] lavc/h264data.h: stop including h264dec.h Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 09/13] lavc/h264_parse: " Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 10/13] lavc/h264: move MB_TYPE defs from h264dec.h to h264_parse Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 11/13] lavc/vdpau: stop unnecessarily including h264dec Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 12/13] lavc/x86/h264_qpel: " Anton Khirnov 2022-01-24 17:00 ` [FFmpeg-devel] [PATCH 13/13] lavc/svq3: stop including h264dec.h Anton Khirnov 2022-01-24 17:08 ` Andreas Rheinhardt 2022-01-24 18:48 ` [FFmpeg-devel] [PATCH 14/18] avcodec/h264*: Remove unnecessary h264_mvpred.h inclusions Andreas Rheinhardt 2022-01-24 18:48 ` [FFmpeg-devel] [PATCH 15/18] avcodec/h264dec: Remove unnecessary headers Andreas Rheinhardt 2022-01-24 18:48 ` [FFmpeg-devel] [PATCH 16/18] avcodec/h264_parse: Move find_start_code() to its only user Andreas Rheinhardt 2022-01-24 18:48 ` [FFmpeg-devel] [PATCH 17/18] avcodec/h264_*: Remove unnecessary internal.h inclusions Andreas Rheinhardt 2022-01-24 18:48 ` [FFmpeg-devel] [PATCH 18/18] avcodec/h264_parse: Move ff_h264_get_profile() to h264_ps.h Andreas Rheinhardt
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220124170014.17189-3-anton@khirnov.net \ --to=anton@khirnov.net \ --cc=ffmpeg-devel@ffmpeg.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel This inbox may be cloned and mirrored by anyone: git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \ ffmpegdev@gitmailbox.com public-inbox-index ffmpegdev Example config snippet for mirrors. AGPL code for this site: git clone https://public-inbox.org/public-inbox.git