fix image stream copy
Originally committed as revision 3662 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
359fa0febc
commit
d07730ddd1
@ -17,7 +17,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define FFMPEG_VERSION_INT 0x000409
|
#define FFMPEG_VERSION_INT 0x000409
|
||||||
#define FFMPEG_VERSION "0.4.9-pre1"
|
#define FFMPEG_VERSION "0.4.9-pre1"
|
||||||
#define LIBAVCODEC_BUILD 4728
|
#define LIBAVCODEC_BUILD 4729
|
||||||
|
|
||||||
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
|
#define LIBAVCODEC_VERSION_INT FFMPEG_VERSION_INT
|
||||||
#define LIBAVCODEC_VERSION FFMPEG_VERSION
|
#define LIBAVCODEC_VERSION FFMPEG_VERSION
|
||||||
@ -1996,6 +1996,7 @@ void avcodec_get_chroma_sub_sample(int pix_fmt, int *h_shift, int *v_shift);
|
|||||||
const char *avcodec_get_pix_fmt_name(int pix_fmt);
|
const char *avcodec_get_pix_fmt_name(int pix_fmt);
|
||||||
void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
|
void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
|
||||||
enum PixelFormat avcodec_get_pix_fmt(const char* name);
|
enum PixelFormat avcodec_get_pix_fmt(const char* name);
|
||||||
|
unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat p);
|
||||||
|
|
||||||
#define FF_LOSS_RESOLUTION 0x0001 /* loss due to resolution change */
|
#define FF_LOSS_RESOLUTION 0x0001 /* loss due to resolution change */
|
||||||
#define FF_LOSS_DEPTH 0x0002 /* loss due to color depth change */
|
#define FF_LOSS_DEPTH 0x0002 /* loss due to color depth change */
|
||||||
|
@ -64,7 +64,7 @@ static int findPixelFormat(unsigned int fourcc)
|
|||||||
return PIX_FMT_YUV420P;
|
return PIX_FMT_YUV420P;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned int findFourCC(int fmt)
|
unsigned int avcodec_pix_fmt_to_codec_tag(enum PixelFormat fmt)
|
||||||
{
|
{
|
||||||
const PixelFormatTag * tags = pixelFormatTags;
|
const PixelFormatTag * tags = pixelFormatTags;
|
||||||
while (tags->pix_fmt >= 0) {
|
while (tags->pix_fmt >= 0) {
|
||||||
@ -152,7 +152,7 @@ static int raw_init_encoder(AVCodecContext *avctx)
|
|||||||
avctx->coded_frame->pict_type = FF_I_TYPE;
|
avctx->coded_frame->pict_type = FF_I_TYPE;
|
||||||
avctx->coded_frame->key_frame = 1;
|
avctx->coded_frame->key_frame = 1;
|
||||||
if(!avctx->codec_tag)
|
if(!avctx->codec_tag)
|
||||||
avctx->codec_tag = findFourCC(avctx->pix_fmt);
|
avctx->codec_tag = avcodec_pix_fmt_to_codec_tag(avctx->pix_fmt);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1748,10 +1748,12 @@ int av_find_stream_info(AVFormatContext *ic)
|
|||||||
count++;
|
count++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set real frame rate info */
|
|
||||||
for(i=0;i<ic->nb_streams;i++) {
|
for(i=0;i<ic->nb_streams;i++) {
|
||||||
st = ic->streams[i];
|
st = ic->streams[i];
|
||||||
if (st->codec.codec_type == CODEC_TYPE_VIDEO) {
|
if (st->codec.codec_type == CODEC_TYPE_VIDEO) {
|
||||||
|
if(st->codec.codec_id == CODEC_ID_RAWVIDEO && !st->codec.codec_tag)
|
||||||
|
st->codec.codec_tag= avcodec_pix_fmt_to_codec_tag(st->codec.pix_fmt);
|
||||||
|
/* set real frame rate info */
|
||||||
/* compute the real frame rate for telecine */
|
/* compute the real frame rate for telecine */
|
||||||
if ((st->codec.codec_id == CODEC_ID_MPEG1VIDEO ||
|
if ((st->codec.codec_id == CODEC_ID_MPEG1VIDEO ||
|
||||||
st->codec.codec_id == CODEC_ID_MPEG2VIDEO) &&
|
st->codec.codec_id == CODEC_ID_MPEG2VIDEO) &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user