diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-06-11 03:51:36 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-06-11 03:51:36 +0200 |
commit | 45fb64749584ed07ea88549a3e06ae70e1d736e9 (patch) | |
tree | f46fb2de436c34ea90b71e06e11f09fc6bc2f594 /libavcodec | |
parent | 39dbe9b6b8fdd587793583c8296fecf94b3aee58 (diff) | |
parent | 19d824e47373594739bb9a05cd4e7edbc441b173 (diff) | |
download | ffmpeg-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/Makefile | 2 | ||||
-rw-r--r-- | libavcodec/ac3enc_opts_template.c | 2 | ||||
-rw-r--r-- | libavcodec/bitstream.c | 8 | ||||
-rw-r--r-- | libavcodec/h264dsp_template.c | 7 | ||||
-rw-r--r-- | libavcodec/mpeg12.c | 16 | ||||
-rw-r--r-- | libavcodec/x86/h264_deblock_10bit.asm | 9 |
6 files changed, 25 insertions, 19 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile index e2a4518a7f..9cab9d7ae4 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 bf2eb7ee76..17f70ab799 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 0b061f0bb8..f0fa9652c6 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 6816e81ff2..eb336f7e62 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 ca2c8f452d..09bed28fef 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 299f03d5cb..699fc4a687 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 |