mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-26 01:02:33 +00:00
Merge remote-tracking branch 'qatar/master'
* qatar/master: rtpdec: Remove an outdated todo comment rtpdec: Rename a static variable to normal naming conventions sh4: dsputil: remove duplicate of ff_gmc_c() Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
6321e02896
@ -434,7 +434,6 @@ void ff_dsputil_init_align(DSPContext* c, AVCodecContext *avctx)
|
||||
c->put_mspel_pixels_tab[7]= put_mspel8_mc32_sh4;
|
||||
|
||||
c->gmc1 = gmc1_c;
|
||||
c->gmc = gmc_c;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
@ -359,63 +359,6 @@ static void gmc1_c(uint8_t *dst, uint8_t *src, int stride, int h, int x16, int y
|
||||
}while(--h);
|
||||
}
|
||||
|
||||
static void gmc_c(uint8_t *dst, uint8_t *src, int stride, int h, int ox, int oy,
|
||||
int dxx, int dxy, int dyx, int dyy, int shift, int r, int width, int height)
|
||||
{
|
||||
int y, vx, vy;
|
||||
const int s= 1<<shift;
|
||||
|
||||
width--;
|
||||
height--;
|
||||
|
||||
for(y=0; y<h; y++){
|
||||
int x;
|
||||
|
||||
vx= ox;
|
||||
vy= oy;
|
||||
for(x=0; x<8; x++){ //XXX FIXME optimize
|
||||
int src_x, src_y, frac_x, frac_y, index;
|
||||
|
||||
src_x= vx>>16;
|
||||
src_y= vy>>16;
|
||||
frac_x= src_x&(s-1);
|
||||
frac_y= src_y&(s-1);
|
||||
src_x>>=shift;
|
||||
src_y>>=shift;
|
||||
|
||||
if((unsigned)src_x < width){
|
||||
if((unsigned)src_y < height){
|
||||
index= src_x + src_y*stride;
|
||||
dst[y*stride + x]= ( ( src[index ]*(s-frac_x)
|
||||
+ src[index +1]* frac_x )*(s-frac_y)
|
||||
+ ( src[index+stride ]*(s-frac_x)
|
||||
+ src[index+stride+1]* frac_x )* frac_y
|
||||
+ r)>>(shift*2);
|
||||
}else{
|
||||
index= src_x + av_clip(src_y, 0, height)*stride;
|
||||
dst[y*stride + x]= ( ( src[index ]*(s-frac_x)
|
||||
+ src[index +1]* frac_x )*s
|
||||
+ r)>>(shift*2);
|
||||
}
|
||||
}else{
|
||||
if((unsigned)src_y < height){
|
||||
index= av_clip(src_x, 0, width) + src_y*stride;
|
||||
dst[y*stride + x]= ( ( src[index ]*(s-frac_y)
|
||||
+ src[index+stride ]* frac_y )*s
|
||||
+ r)>>(shift*2);
|
||||
}else{
|
||||
index= av_clip(src_x, 0, width) + av_clip(src_y, 0, height)*stride;
|
||||
dst[y*stride + x]= src[index ];
|
||||
}
|
||||
}
|
||||
|
||||
vx+= dxx;
|
||||
vy+= dyx;
|
||||
}
|
||||
ox += dxy;
|
||||
oy += dyy;
|
||||
}
|
||||
}
|
||||
#define H264_CHROMA_MC(OPNAME, OP)\
|
||||
static void OPNAME ## h264_chroma_mc2_sh4(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int stride, int h, int x, int y){\
|
||||
const int A=(8-x)*(8-y);\
|
||||
|
@ -30,16 +30,6 @@
|
||||
#include "rtpdec.h"
|
||||
#include "rtpdec_formats.h"
|
||||
|
||||
/* TODO:
|
||||
* - add RTCP statistics reporting (should be optional).
|
||||
*
|
||||
* - add support for H.263/MPEG-4 packetized output: IDEA: send a
|
||||
* buffer to 'rtp_write_packet' contains all the packets for ONE
|
||||
* frame. Each packet should have a four byte header containing
|
||||
* the length in big-endian format (same trick as
|
||||
* 'ffio_open_dyn_packet_buf').
|
||||
*/
|
||||
|
||||
static RTPDynamicProtocolHandler realmedia_mp3_dynamic_handler = {
|
||||
.enc_name = "X-MP3-draft-00",
|
||||
.codec_type = AVMEDIA_TYPE_AUDIO,
|
||||
@ -59,12 +49,12 @@ static RTPDynamicProtocolHandler opus_dynamic_handler = {
|
||||
};
|
||||
|
||||
/* statistics functions */
|
||||
static RTPDynamicProtocolHandler *RTPFirstDynamicPayloadHandler = NULL;
|
||||
static RTPDynamicProtocolHandler *rtp_first_dynamic_payload_handler = NULL;
|
||||
|
||||
void ff_register_dynamic_payload_handler(RTPDynamicProtocolHandler *handler)
|
||||
{
|
||||
handler->next = RTPFirstDynamicPayloadHandler;
|
||||
RTPFirstDynamicPayloadHandler = handler;
|
||||
handler->next = rtp_first_dynamic_payload_handler;
|
||||
rtp_first_dynamic_payload_handler = handler;
|
||||
}
|
||||
|
||||
void av_register_rtp_dynamic_payload_handlers(void)
|
||||
@ -108,7 +98,7 @@ RTPDynamicProtocolHandler *ff_rtp_handler_find_by_name(const char *name,
|
||||
enum AVMediaType codec_type)
|
||||
{
|
||||
RTPDynamicProtocolHandler *handler;
|
||||
for (handler = RTPFirstDynamicPayloadHandler;
|
||||
for (handler = rtp_first_dynamic_payload_handler;
|
||||
handler; handler = handler->next)
|
||||
if (!av_strcasecmp(name, handler->enc_name) &&
|
||||
codec_type == handler->codec_type)
|
||||
@ -120,7 +110,7 @@ RTPDynamicProtocolHandler *ff_rtp_handler_find_by_id(int id,
|
||||
enum AVMediaType codec_type)
|
||||
{
|
||||
RTPDynamicProtocolHandler *handler;
|
||||
for (handler = RTPFirstDynamicPayloadHandler;
|
||||
for (handler = rtp_first_dynamic_payload_handler;
|
||||
handler; handler = handler->next)
|
||||
if (handler->static_payload_id && handler->static_payload_id == id &&
|
||||
codec_type == handler->codec_type)
|
||||
|
Loading…
Reference in New Issue
Block a user