summaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2011-06-11 03:51:36 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-06-11 03:51:36 +0200
commit45fb64749584ed07ea88549a3e06ae70e1d736e9 (patch)
treef46fb2de436c34ea90b71e06e11f09fc6bc2f594 /libavcodec
parent39dbe9b6b8fdd587793583c8296fecf94b3aee58 (diff)
parent19d824e47373594739bb9a05cd4e7edbc441b173 (diff)
downloadffmpeg-streaming-45fb64749584ed07ea88549a3e06ae70e1d736e9.zip
ffmpeg-streaming-45fb64749584ed07ea88549a3e06ae70e1d736e9.tar.gz
Merge remote-tracking branch 'qatar/master'
* qatar/master: bitstream: Properly promote av_reverse values before shifting. libavutil/swscale: YUV444P10/YUV444P9 support. H.264: Fix high bit depth explicit biweight h264: Fix 10-bit H.264 x86 chroma v loopfilter asm. Replace DEBUG_SEEK/DEBUG_SI + av_log combinations by av_dlog. Update copyright year for ac3enc_opts_template.c. adts: Adjust frame size mask to follow the specification. movenc: Add RTP muxer/hinter options movenc: Pass the RTP AVFormatContext to the SDP generation rtspenc: Add RTP muxer options rtspenc: Add an AVClass for setting muxer specific options rtpenc_chain: Pass the rtpflags options through to the chained muxer rtpenc: Declare the rtp flags private AVOptions in rtpenc.h sdp: Reindent after the previous commit rtpenc: MP4A-LATM payload support avoptions: Add an av_opt_flag_is_set function for inspecting flag fields sdp: Allow passing an AVFormatContext to the SDP generation mov: Fix wrong timestamp generation for fragmented movies that have time offset caused by the first edit list entry. mpeg12: more advanced ffmpeg mpeg2 aspect guessing code. swscale: split YUYV output out of yuv2packed[12X]_c(). Conflicts: doc/APIchanges libavcodec/Makefile libavcodec/h264dsp_template.c libavcodec/mpeg12.c libavformat/aacdec.c libavformat/avidec.c libavformat/internal.h libavformat/movenc.c libavformat/rtpenc.c libavformat/rtpenc_latm.c libavformat/sdp.c libavformat/version.h libavutil/avutil.h libavutil/pixfmt.h libswscale/swscale.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/Makefile2
-rw-r--r--libavcodec/ac3enc_opts_template.c2
-rw-r--r--libavcodec/bitstream.c8
-rw-r--r--libavcodec/h264dsp_template.c7
-rw-r--r--libavcodec/mpeg12.c16
-rw-r--r--libavcodec/x86/h264_deblock_10bit.asm9
6 files changed, 25 insertions, 19 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index e2a4518..9cab9d7 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -558,7 +558,7 @@ OBJS-$(CONFIG_OGG_DEMUXER) += flacdec.o flacdata.o flac.o \
dirac.o mpeg12data.o vorbis_data.o
OBJS-$(CONFIG_OGG_MUXER) += xiph.o flacdec.o flacdata.o flac.o \
vorbis_data.o
-OBJS-$(CONFIG_RTP_MUXER) += mpegvideo.o xiph.o
+OBJS-$(CONFIG_RTP_MUXER) += mpeg4audio.o mpegvideo.o xiph.o
OBJS-$(CONFIG_SPDIF_DEMUXER) += aacadtsdec.o mpeg4audio.o
OBJS-$(CONFIG_WEBM_MUXER) += xiph.o mpeg4audio.o \
flacdec.o flacdata.o flac.o \
diff --git a/libavcodec/ac3enc_opts_template.c b/libavcodec/ac3enc_opts_template.c
index bf2eb7e..17f70ab 100644
--- a/libavcodec/ac3enc_opts_template.c
+++ b/libavcodec/ac3enc_opts_template.c
@@ -1,6 +1,6 @@
/*
* AC-3 encoder options
- * Copyright (c) 2010 Justin Ruggles <justin.ruggles@gmail.com>
+ * Copyright (c) 2011 Justin Ruggles <justin.ruggles@gmail.com>
*
* This file is part of FFmpeg.
*
diff --git a/libavcodec/bitstream.c b/libavcodec/bitstream.c
index 0b061f0..f0fa965 100644
--- a/libavcodec/bitstream.c
+++ b/libavcodec/bitstream.c
@@ -118,10 +118,10 @@ static int alloc_table(VLC *vlc, int size, int use_static)
}
static av_always_inline uint32_t bitswap_32(uint32_t x) {
- return av_reverse[x&0xFF]<<24
- | av_reverse[(x>>8)&0xFF]<<16
- | av_reverse[(x>>16)&0xFF]<<8
- | av_reverse[x>>24];
+ return (uint32_t)av_reverse[x&0xFF]<<24
+ | (uint32_t)av_reverse[(x>>8)&0xFF]<<16
+ | (uint32_t)av_reverse[(x>>16)&0xFF]<<8
+ | (uint32_t)av_reverse[x>>24];
}
typedef struct {
diff --git a/libavcodec/h264dsp_template.c b/libavcodec/h264dsp_template.c
index 6816e81..eb336f7 100644
--- a/libavcodec/h264dsp_template.c
+++ b/libavcodec/h264dsp_template.c
@@ -58,11 +58,12 @@ static void FUNCC(weight_h264_pixels ## W ## x ## H)(uint8_t *p_block, int strid
op_scale1(15); \
} \
} \
-static void FUNCC(biweight_h264_pixels ## W ## x ## H)(uint8_t *p_dst, uint8_t *p_src, int stride, int log2_denom, int weightd, int weights, int offset){ \
+static void FUNCC(biweight_h264_pixels ## W ## x ## H)(uint8_t *_dst, uint8_t *_src, int stride, int log2_denom, int weightd, int weights, int offset){ \
int y; \
- pixel *dst = (pixel*)p_dst; \
- pixel *src = (pixel*)p_src; \
+ pixel *dst = (pixel*)_dst; \
+ pixel *src = (pixel*)_src; \
stride >>= sizeof(pixel)-1; \
+ offset <<= (BIT_DEPTH-8); \
offset = ((offset + 1) | 1) << log2_denom; \
for(y=0; y<H; y++, dst += stride, src += stride){ \
op_scale2(0); \
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c
index ca2c8f4..09bed28 100644
--- a/libavcodec/mpeg12.c
+++ b/libavcodec/mpeg12.c
@@ -1331,19 +1331,17 @@ static int mpeg_decode_postinit(AVCodecContext *avctx){
avctx->ticks_per_frame=2;
//MPEG-2 aspect
if(s->aspect_ratio_info > 1){
- AVRational dar=
+ AVRational dar =
av_mul_q(
- av_div_q(
- ff_mpeg2_aspect[s->aspect_ratio_info],
- (AVRational){s1->pan_scan.width, s1->pan_scan.height}
- ),
+ av_div_q(ff_mpeg2_aspect[s->aspect_ratio_info],
+ (AVRational){s1->pan_scan.width, s1->pan_scan.height}),
(AVRational){s->width, s->height});
- //we ignore the spec here and guess a bit as reality does not match the spec, see for example
+ // we ignore the spec here and guess a bit as reality does not match the spec, see for example
// res_change_ffmpeg_aspect.ts and sequence-display-aspect.mpg
- //issue1613, 621, 562
- if( (s1->pan_scan.width == 0 )||(s1->pan_scan.height == 0)
- || (av_cmp_q(dar,(AVRational){4,3})&&av_cmp_q(dar,(AVRational){16,9}))){
+ // issue1613, 621, 562
+ if((s1->pan_scan.width == 0 ) || (s1->pan_scan.height == 0) ||
+ (av_cmp_q(dar,(AVRational){4,3}) && av_cmp_q(dar,(AVRational){16,9}))) {
s->avctx->sample_aspect_ratio=
av_div_q(
ff_mpeg2_aspect[s->aspect_ratio_info],
diff --git a/libavcodec/x86/h264_deblock_10bit.asm b/libavcodec/x86/h264_deblock_10bit.asm
index 299f03d..699fc4a 100644
--- a/libavcodec/x86/h264_deblock_10bit.asm
+++ b/libavcodec/x86/h264_deblock_10bit.asm
@@ -836,6 +836,13 @@ DEBLOCK_LUMA_INTRA avx
mova [r0+2*r1], m2
%endmacro
+%macro CHROMA_V_LOAD_TC 2
+ movd %1, [%2]
+ punpcklbw %1, %1
+ punpcklwd %1, %1
+ psraw %1, 6
+%endmacro
+
%macro DEBLOCK_CHROMA 1
;-----------------------------------------------------------------------------
; void deblock_v_chroma( uint16_t *pix, int stride, int alpha, int beta, int8_t *tc0 )
@@ -854,7 +861,7 @@ cglobal deblock_v_chroma_10_%1, 5,7-(mmsize/16),8*(mmsize/16)
LOAD_AB m4, m5, r2d, r3d
LOAD_MASK m0, m1, m2, m3, m4, m5, m7, m6, m4
pxor m4, m4
- LOAD_TC m6, r4
+ CHROMA_V_LOAD_TC m6, r4
psubw m6, [pw_3]
pmaxsw m6, m4
pand m7, m6
OpenPOWER on IntegriCloud