mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Merge commit 'adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed'
* commit 'adf8227cf4e7b4fccb2ad88e1e09b6dc00dd00ed':
vc-1: Add platform-specific start code search routine to VC1DSPContext.
Conflicts:
configure
libavcodec/arm/vc1dsp_init_arm.c
libavcodec/vc1dsp.c
libavcodec/vc1dsp.h
See: 9d8ecdd8ca
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
bf7ed956ff
4
configure
vendored
4
configure
vendored
@ -2194,7 +2194,7 @@ twinvq_decoder_select="mdct lsp sinewin"
|
||||
utvideo_decoder_select="bswapdsp"
|
||||
utvideo_encoder_select="bswapdsp huffman huffyuvencdsp"
|
||||
vble_decoder_select="huffyuvdsp"
|
||||
vc1_decoder_select="blockdsp error_resilience h263_decoder h264chroma h264qpel intrax8 mpeg_er qpeldsp"
|
||||
vc1_decoder_select="blockdsp error_resilience h263_decoder h264chroma h264qpel intrax8 mpeg_er qpeldsp startcode"
|
||||
vc1image_decoder_select="vc1_decoder"
|
||||
vorbis_decoder_select="mdct"
|
||||
vorbis_encoder_select="mdct"
|
||||
@ -2301,7 +2301,7 @@ h264_parser_select="h264_decoder"
|
||||
hevc_parser_select="hevc_decoder"
|
||||
mpegvideo_parser_select="mpegvideo"
|
||||
mpeg4video_parser_select="error_resilience h263dsp mpeg_er mpegvideo qpeldsp"
|
||||
vc1_parser_select="mpegvideo vc1_decoder"
|
||||
vc1_parser_select="mpegvideo startcode vc1_decoder"
|
||||
|
||||
# external libraries
|
||||
libaacplus_encoder_deps="libaacplus"
|
||||
|
@ -478,7 +478,7 @@ OBJS-$(CONFIG_VB_DECODER) += vb.o
|
||||
OBJS-$(CONFIG_VBLE_DECODER) += vble.o
|
||||
OBJS-$(CONFIG_VC1_DECODER) += vc1dec.o vc1.o vc1data.o vc1dsp.o \
|
||||
msmpeg4dec.o msmpeg4.o msmpeg4data.o \
|
||||
wmv2dsp.o startcode.o
|
||||
wmv2dsp.o
|
||||
OBJS-$(CONFIG_VCR1_DECODER) += vcr1.o
|
||||
OBJS-$(CONFIG_VMDAUDIO_DECODER) += vmdaudio.o
|
||||
OBJS-$(CONFIG_VMDVIDEO_DECODER) += vmdvideo.o
|
||||
@ -806,7 +806,7 @@ OBJS-$(CONFIG_RV40_PARSER) += rv34_parser.o
|
||||
OBJS-$(CONFIG_TAK_PARSER) += tak_parser.o tak.o
|
||||
OBJS-$(CONFIG_VC1_PARSER) += vc1_parser.o vc1.o vc1data.o vc1dsp.o \
|
||||
msmpeg4.o msmpeg4data.o mpeg4video.o \
|
||||
h263.o startcode.o
|
||||
h263.o
|
||||
OBJS-$(CONFIG_VORBIS_PARSER) += vorbis_parser.o xiph.o
|
||||
OBJS-$(CONFIG_VP3_PARSER) += vp3_parser.o
|
||||
OBJS-$(CONFIG_VP8_PARSER) += vp8_parser.o
|
||||
|
@ -66,8 +66,6 @@ ARMV6-OBJS-$(CONFIG_PIXBLOCKDSP) += arm/pixblockdsp_armv6.o
|
||||
|
||||
ARMV6-OBJS-$(CONFIG_MLP_DECODER) += arm/mlpdsp_armv6.o
|
||||
ARMV6-OBJS-$(CONFIG_STARTCODE) += arm/startcode_armv6.o
|
||||
ARMV6-OBJS-$(CONFIG_VC1_DECODER) += arm/startcode_armv6.o
|
||||
ARMV6-OBJS-$(CONFIG_VC1_PARSER) += arm/startcode_armv6.o
|
||||
ARMV6-OBJS-$(CONFIG_VP7_DECODER) += arm/vp8_armv6.o \
|
||||
arm/vp8dsp_init_armv6.o \
|
||||
arm/vp8dsp_armv6.o
|
||||
|
@ -20,17 +20,16 @@
|
||||
|
||||
#include "libavutil/attributes.h"
|
||||
#include "libavutil/arm/cpu.h"
|
||||
#include "libavcodec/arm/startcode.h"
|
||||
#include "libavcodec/vc1dsp.h"
|
||||
#include "vc1dsp.h"
|
||||
|
||||
int ff_startcode_find_candidate_armv6(const uint8_t *buf, int size);
|
||||
|
||||
av_cold void ff_vc1dsp_init_arm(VC1DSPContext *dsp)
|
||||
{
|
||||
int cpu_flags = av_get_cpu_flags();
|
||||
|
||||
if (have_armv6(cpu_flags))
|
||||
dsp->vc1_find_start_code_candidate = ff_startcode_find_candidate_armv6;
|
||||
if (have_setend(cpu_flags))
|
||||
dsp->startcode_find_candidate = ff_startcode_find_candidate_armv6;
|
||||
if (have_neon(cpu_flags))
|
||||
ff_vc1dsp_init_neon(dsp);
|
||||
}
|
||||
|
@ -173,7 +173,7 @@ static int vc1_parse(AVCodecParserContext *s,
|
||||
if (unesc_index >= UNESCAPED_THRESHOLD && !start_code_found) {
|
||||
while (i < buf_size) {
|
||||
if (search_state == NO_MATCH) {
|
||||
i += vpc->v.vc1dsp.vc1_find_start_code_candidate(buf + i, buf_size - i);
|
||||
i += vpc->v.vc1dsp.startcode_find_candidate(buf + i, buf_size - i);
|
||||
if (i < buf_size) {
|
||||
search_state = ONE_ZERO;
|
||||
}
|
||||
|
@ -1025,7 +1025,7 @@ av_cold void ff_vc1dsp_init(VC1DSPContext *dsp)
|
||||
dsp->sprite_v_double_twoscale = sprite_v_double_twoscale_c;
|
||||
#endif /* CONFIG_WMV3IMAGE_DECODER || CONFIG_VC1IMAGE_DECODER */
|
||||
|
||||
dsp->vc1_find_start_code_candidate = ff_startcode_find_candidate_c;
|
||||
dsp->startcode_find_candidate = ff_startcode_find_candidate_c;
|
||||
|
||||
if (ARCH_AARCH64)
|
||||
ff_vc1dsp_init_aarch64(dsp);
|
||||
|
@ -80,7 +80,7 @@ typedef struct VC1DSPContext {
|
||||
* to filter out any zero bytes that are known to not be followed by
|
||||
* one or more further zero bytes and a one byte.
|
||||
*/
|
||||
int (*vc1_find_start_code_candidate)(const uint8_t *buf, int size);
|
||||
int (*startcode_find_candidate)(const uint8_t *buf, int size);
|
||||
} VC1DSPContext;
|
||||
|
||||
void ff_vc1dsp_init(VC1DSPContext* c);
|
||||
|
Loading…
Reference in New Issue
Block a user