Merge commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5'
* commit 'dcb7c868ec7af7d3a138b3254ef2e08f074d8ec5': cosmetics: Make naming scheme of Xvid IDCT consistent with other IDCTs Conflicts: libavcodec/mpeg4videodec.c libavcodec/x86/Makefile libavcodec/x86/dct-test.c libavcodec/x86/xvididct_sse2.c libavcodec/xvididct.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
b3b05a11d3
@ -301,7 +301,7 @@ av_cold void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx)
|
|||||||
c->add_pixels_clamped = ff_add_pixels_clamped;
|
c->add_pixels_clamped = ff_add_pixels_clamped;
|
||||||
|
|
||||||
if (CONFIG_MPEG4_DECODER && avctx->idct_algo == FF_IDCT_XVID)
|
if (CONFIG_MPEG4_DECODER && avctx->idct_algo == FF_IDCT_XVID)
|
||||||
ff_xvididct_init(c, avctx);
|
ff_xvid_idct_init(c, avctx);
|
||||||
|
|
||||||
if (ARCH_ALPHA)
|
if (ARCH_ALPHA)
|
||||||
ff_idctdsp_init_alpha(c, avctx, high_bit_depth);
|
ff_idctdsp_init_alpha(c, avctx, high_bit_depth);
|
||||||
|
@ -2697,7 +2697,7 @@ static int mpeg4_update_thread_context(AVCodecContext *dst,
|
|||||||
memcpy(((uint8_t*)s) + sizeof(MpegEncContext), ((uint8_t*)s1) + sizeof(MpegEncContext), sizeof(Mpeg4DecContext) - sizeof(MpegEncContext));
|
memcpy(((uint8_t*)s) + sizeof(MpegEncContext), ((uint8_t*)s1) + sizeof(MpegEncContext), sizeof(Mpeg4DecContext) - sizeof(MpegEncContext));
|
||||||
|
|
||||||
if (CONFIG_MPEG4_DECODER && !init && s1->xvid_build >= 0)
|
if (CONFIG_MPEG4_DECODER && !init && s1->xvid_build >= 0)
|
||||||
ff_xvididct_init(&s->m.idsp, dst);
|
ff_xvid_idct_init(&s->m.idsp, dst);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -70,8 +70,8 @@ MMX-OBJS-$(CONFIG_IDCTDSP) += x86/idctdsp_mmx.o \
|
|||||||
x86/simple_idct.o
|
x86/simple_idct.o
|
||||||
|
|
||||||
# decoders/encoders
|
# decoders/encoders
|
||||||
MMX-OBJS-$(CONFIG_MPEG4_DECODER) += x86/idct_mmx_xvid.o \
|
MMX-OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct_mmx.o \
|
||||||
x86/idct_sse2_xvid.o
|
x86/xvididct_sse2.o
|
||||||
MMX-OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp.o
|
MMX-OBJS-$(CONFIG_SNOW_DECODER) += x86/snowdsp.o
|
||||||
MMX-OBJS-$(CONFIG_SNOW_ENCODER) += x86/snowdsp.o
|
MMX-OBJS-$(CONFIG_SNOW_ENCODER) += x86/snowdsp.o
|
||||||
MMX-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_mmx.o
|
MMX-OBJS-$(CONFIG_VC1_DECODER) += x86/vc1dsp_mmx.o
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#include "fdct.h"
|
#include "fdct.h"
|
||||||
#include "idct_xvid.h"
|
#include "xvididct.h"
|
||||||
#include "simple_idct.h"
|
#include "simple_idct.h"
|
||||||
|
|
||||||
#if ARCH_X86_64 && HAVE_MMX && HAVE_YASM
|
#if ARCH_X86_64 && HAVE_MMX && HAVE_YASM
|
||||||
@ -62,13 +62,13 @@ static const struct algo idct_tab_arch[] = {
|
|||||||
#endif
|
#endif
|
||||||
#if CONFIG_MPEG4_DECODER
|
#if CONFIG_MPEG4_DECODER
|
||||||
#if HAVE_MMX_INLINE
|
#if HAVE_MMX_INLINE
|
||||||
{ "XVID-MMX", ff_idct_xvid_mmx, FF_IDCT_PERM_NONE, AV_CPU_FLAG_MMX, 1 },
|
{ "XVID-MMX", ff_xvid_idct_mmx, FF_IDCT_PERM_NONE, AV_CPU_FLAG_MMX, 1 },
|
||||||
#endif
|
#endif
|
||||||
#if HAVE_MMXEXT_INLINE
|
#if HAVE_MMXEXT_INLINE
|
||||||
{ "XVID-MMXEXT", ff_idct_xvid_mmxext, FF_IDCT_PERM_NONE, AV_CPU_FLAG_MMXEXT, 1 },
|
{ "XVID-MMXEXT", ff_xvid_idct_mmxext, FF_IDCT_PERM_NONE, AV_CPU_FLAG_MMXEXT, 1 },
|
||||||
#endif
|
#endif
|
||||||
#if HAVE_SSE2_INLINE
|
#if HAVE_SSE2_INLINE
|
||||||
{ "XVID-SSE2", ff_idct_xvid_sse2, FF_IDCT_PERM_SSE2, AV_CPU_FLAG_SSE2, 1 },
|
{ "XVID-SSE2", ff_xvid_idct_sse2, FF_IDCT_PERM_SSE2, AV_CPU_FLAG_SSE2, 1 },
|
||||||
#if ARCH_X86_64 && HAVE_YASM
|
#if ARCH_X86_64 && HAVE_YASM
|
||||||
{ "PR-SSE2", ff_prores_idct_put_10_sse2_wrap, FF_IDCT_PERM_TRANSPOSE, AV_CPU_FLAG_SSE2, 1 },
|
{ "PR-SSE2", ff_prores_idct_put_10_sse2_wrap, FF_IDCT_PERM_TRANSPOSE, AV_CPU_FLAG_SSE2, 1 },
|
||||||
#endif
|
#endif
|
||||||
|
@ -23,21 +23,21 @@
|
|||||||
* header for Xvid IDCT functions
|
* header for Xvid IDCT functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef AVCODEC_X86_IDCT_XVID_H
|
#ifndef AVCODEC_X86_XVIDIDCT_H
|
||||||
#define AVCODEC_X86_IDCT_XVID_H
|
#define AVCODEC_X86_XVIDIDCT_H
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
void ff_idct_xvid_mmx(short *block);
|
void ff_xvid_idct_mmx(short *block);
|
||||||
void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, int16_t *block);
|
void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block);
|
||||||
void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, int16_t *block);
|
void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block);
|
||||||
|
|
||||||
void ff_idct_xvid_mmxext(short *block);
|
void ff_xvid_idct_mmxext(short *block);
|
||||||
void ff_idct_xvid_mmxext_put(uint8_t *dest, int line_size, int16_t *block);
|
void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block);
|
||||||
void ff_idct_xvid_mmxext_add(uint8_t *dest, int line_size, int16_t *block);
|
void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block);
|
||||||
|
|
||||||
void ff_idct_xvid_sse2(short *block);
|
void ff_xvid_idct_sse2(short *block);
|
||||||
void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block);
|
void ff_xvid_idct_sse2_put(uint8_t *dest, int line_size, short *block);
|
||||||
void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block);
|
void ff_xvid_idct_sse2_add(uint8_t *dest, int line_size, short *block);
|
||||||
|
|
||||||
#endif /* AVCODEC_X86_IDCT_XVID_H */
|
#endif /* AVCODEC_X86_XVIDIDCT_H */
|
@ -22,31 +22,32 @@
|
|||||||
#include "libavutil/x86/cpu.h"
|
#include "libavutil/x86/cpu.h"
|
||||||
#include "libavcodec/idctdsp.h"
|
#include "libavcodec/idctdsp.h"
|
||||||
#include "libavcodec/xvididct.h"
|
#include "libavcodec/xvididct.h"
|
||||||
#include "idct_xvid.h"
|
|
||||||
#include "idctdsp.h"
|
|
||||||
|
|
||||||
av_cold void ff_xvididct_init_x86(IDCTDSPContext *c)
|
#include "idctdsp.h"
|
||||||
|
#include "xvididct.h"
|
||||||
|
|
||||||
|
av_cold void ff_xvid_idct_init_x86(IDCTDSPContext *c)
|
||||||
{
|
{
|
||||||
int cpu_flags = av_get_cpu_flags();
|
int cpu_flags = av_get_cpu_flags();
|
||||||
|
|
||||||
if (INLINE_MMX(cpu_flags)) {
|
if (INLINE_MMX(cpu_flags)) {
|
||||||
c->idct_put = ff_idct_xvid_mmx_put;
|
c->idct_put = ff_xvid_idct_mmx_put;
|
||||||
c->idct_add = ff_idct_xvid_mmx_add;
|
c->idct_add = ff_xvid_idct_mmx_add;
|
||||||
c->idct = ff_idct_xvid_mmx;
|
c->idct = ff_xvid_idct_mmx;
|
||||||
c->perm_type = FF_IDCT_PERM_NONE;
|
c->perm_type = FF_IDCT_PERM_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (INLINE_MMXEXT(cpu_flags)) {
|
if (INLINE_MMXEXT(cpu_flags)) {
|
||||||
c->idct_put = ff_idct_xvid_mmxext_put;
|
c->idct_put = ff_xvid_idct_mmxext_put;
|
||||||
c->idct_add = ff_idct_xvid_mmxext_add;
|
c->idct_add = ff_xvid_idct_mmxext_add;
|
||||||
c->idct = ff_idct_xvid_mmxext;
|
c->idct = ff_xvid_idct_mmxext;
|
||||||
c->perm_type = FF_IDCT_PERM_NONE;
|
c->perm_type = FF_IDCT_PERM_NONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (INLINE_SSE2(cpu_flags)) {
|
if (INLINE_SSE2(cpu_flags)) {
|
||||||
c->idct_put = ff_idct_xvid_sse2_put;
|
c->idct_put = ff_xvid_idct_sse2_put;
|
||||||
c->idct_add = ff_idct_xvid_sse2_add;
|
c->idct_add = ff_xvid_idct_sse2_add;
|
||||||
c->idct = ff_idct_xvid_sse2;
|
c->idct = ff_xvid_idct_sse2;
|
||||||
c->perm_type = FF_IDCT_PERM_SSE2;
|
c->perm_type = FF_IDCT_PERM_SSE2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -44,8 +44,9 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "libavcodec/avcodec.h"
|
#include "libavcodec/avcodec.h"
|
||||||
#include "libavutil/mem.h"
|
#include "libavutil/mem.h"
|
||||||
#include "idct_xvid.h"
|
|
||||||
#include "idctdsp.h"
|
#include "idctdsp.h"
|
||||||
|
#include "xvididct.h"
|
||||||
|
|
||||||
#if HAVE_MMX_INLINE
|
#if HAVE_MMX_INLINE
|
||||||
|
|
||||||
@ -472,7 +473,8 @@ DECLARE_ALIGNED(8, static const int16_t, tab_i_04_xmm)[32*4] = {
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void ff_idct_xvid_mmx(short *block){
|
void ff_xvid_idct_mmx(short *block)
|
||||||
|
{
|
||||||
__asm__ volatile(
|
__asm__ volatile(
|
||||||
//# Process each row
|
//# Process each row
|
||||||
DCT_8_INV_ROW_MMX(0*16(%0), 0*16(%0), 64*0(%2), 8*0(%1))
|
DCT_8_INV_ROW_MMX(0*16(%0), 0*16(%0), 64*0(%2), 8*0(%1))
|
||||||
@ -490,15 +492,15 @@ __asm__ volatile(
|
|||||||
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_mmx), "r"(tg_1_16));
|
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_mmx), "r"(tg_1_16));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_idct_xvid_mmx_put(uint8_t *dest, int line_size, int16_t *block)
|
void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block)
|
||||||
{
|
{
|
||||||
ff_idct_xvid_mmx(block);
|
ff_xvid_idct_mmx(block);
|
||||||
ff_put_pixels_clamped_mmx(block, dest, line_size);
|
ff_put_pixels_clamped_mmx(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, int16_t *block)
|
void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block)
|
||||||
{
|
{
|
||||||
ff_idct_xvid_mmx(block);
|
ff_xvid_idct_mmx(block);
|
||||||
ff_add_pixels_clamped_mmx(block, dest, line_size);
|
ff_add_pixels_clamped_mmx(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -511,7 +513,7 @@ void ff_idct_xvid_mmx_add(uint8_t *dest, int line_size, int16_t *block)
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
void ff_idct_xvid_mmxext(short *block)
|
void ff_xvid_idct_mmxext(short *block)
|
||||||
{
|
{
|
||||||
__asm__ volatile(
|
__asm__ volatile(
|
||||||
//# Process each row
|
//# Process each row
|
||||||
@ -530,15 +532,15 @@ __asm__ volatile(
|
|||||||
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16));
|
:: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_idct_xvid_mmxext_put(uint8_t *dest, int line_size, int16_t *block)
|
void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block)
|
||||||
{
|
{
|
||||||
ff_idct_xvid_mmxext(block);
|
ff_xvid_idct_mmxext(block);
|
||||||
ff_put_pixels_clamped_mmx(block, dest, line_size);
|
ff_put_pixels_clamped_mmx(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_idct_xvid_mmxext_add(uint8_t *dest, int line_size, int16_t *block)
|
void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block)
|
||||||
{
|
{
|
||||||
ff_idct_xvid_mmxext(block);
|
ff_xvid_idct_mmxext(block);
|
||||||
ff_add_pixels_clamped_mmx(block, dest, line_size);
|
ff_add_pixels_clamped_mmx(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
@ -40,8 +40,9 @@
|
|||||||
|
|
||||||
#include "libavutil/mem.h"
|
#include "libavutil/mem.h"
|
||||||
#include "libavutil/x86/asm.h"
|
#include "libavutil/x86/asm.h"
|
||||||
#include "idct_xvid.h"
|
|
||||||
#include "idctdsp.h"
|
#include "idctdsp.h"
|
||||||
|
#include "xvididct.h"
|
||||||
|
|
||||||
#if HAVE_SSE2_INLINE
|
#if HAVE_SSE2_INLINE
|
||||||
|
|
||||||
@ -340,7 +341,7 @@ DECLARE_ASM_CONST(16, int32_t, walkenIdctRounders)[] = {
|
|||||||
"movdqa %%xmm6, 4*16("dct") \n\t" \
|
"movdqa %%xmm6, 4*16("dct") \n\t" \
|
||||||
"movdqa "SREG2", 7*16("dct") \n\t"
|
"movdqa "SREG2", 7*16("dct") \n\t"
|
||||||
|
|
||||||
av_extern_inline void ff_idct_xvid_sse2(short *block)
|
av_extern_inline void ff_xvid_idct_sse2(short *block)
|
||||||
{
|
{
|
||||||
__asm__ volatile(
|
__asm__ volatile(
|
||||||
"movq "MANGLE(m127)", %%mm0 \n\t"
|
"movq "MANGLE(m127)", %%mm0 \n\t"
|
||||||
@ -389,15 +390,15 @@ av_extern_inline void ff_idct_xvid_sse2(short *block)
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_idct_xvid_sse2_put(uint8_t *dest, int line_size, short *block)
|
void ff_xvid_idct_sse2_put(uint8_t *dest, int line_size, short *block)
|
||||||
{
|
{
|
||||||
ff_idct_xvid_sse2(block);
|
ff_xvid_idct_sse2(block);
|
||||||
ff_put_pixels_clamped_mmx(block, dest, line_size);
|
ff_put_pixels_clamped_mmx(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ff_idct_xvid_sse2_add(uint8_t *dest, int line_size, short *block)
|
void ff_xvid_idct_sse2_add(uint8_t *dest, int line_size, short *block)
|
||||||
{
|
{
|
||||||
ff_idct_xvid_sse2(block);
|
ff_xvid_idct_sse2(block);
|
||||||
ff_add_pixels_clamped_mmx(block, dest, line_size);
|
ff_add_pixels_clamped_mmx(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
@ -34,7 +34,7 @@ static void idct_xvid_add(uint8_t *dest, int line_size, int16_t *block)
|
|||||||
ff_add_pixels_clamped(block, dest, line_size);
|
ff_add_pixels_clamped(block, dest, line_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
av_cold void ff_xvididct_init(IDCTDSPContext *c, AVCodecContext *avctx)
|
av_cold void ff_xvid_idct_init(IDCTDSPContext *c, AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8;
|
const unsigned high_bit_depth = avctx->bits_per_raw_sample > 8;
|
||||||
|
|
||||||
@ -51,7 +51,7 @@ av_cold void ff_xvididct_init(IDCTDSPContext *c, AVCodecContext *avctx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (ARCH_X86)
|
if (ARCH_X86)
|
||||||
ff_xvididct_init_x86(c);
|
ff_xvid_idct_init_x86(c);
|
||||||
|
|
||||||
ff_init_scantable_permutation(c->idct_permutation, c->perm_type);
|
ff_init_scantable_permutation(c->idct_permutation, c->perm_type);
|
||||||
}
|
}
|
||||||
|
@ -22,9 +22,9 @@
|
|||||||
#include "avcodec.h"
|
#include "avcodec.h"
|
||||||
#include "idctdsp.h"
|
#include "idctdsp.h"
|
||||||
|
|
||||||
void ff_xvididct_init(IDCTDSPContext *c, AVCodecContext *avctx);
|
void ff_xvid_idct_init(IDCTDSPContext *c, AVCodecContext *avctx);
|
||||||
|
|
||||||
void ff_xvididct_init_x86(IDCTDSPContext *c);
|
void ff_xvid_idct_init_x86(IDCTDSPContext *c);
|
||||||
|
|
||||||
void ff_idct_xvid(int16_t *const In);
|
void ff_idct_xvid(int16_t *const In);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user