summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libavcodec/avcodec.h3
-rw-r--r--libavcodec/raw.c4
-rw-r--r--libavformat/utils.c4
3 files changed, 7 insertions, 4 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index ae4c6f1..bb62790 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -17,7 +17,7 @@ extern "C" {
#define FFMPEG_VERSION_INT 0x000409
#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 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);
void avcodec_set_dimensions(AVCodecContext *s, int width, int height);
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_DEPTH 0x0002 /* loss due to color depth change */
diff --git a/libavcodec/raw.c b/libavcodec/raw.c
index 91aba46..9128b1d 100644
--- a/libavcodec/raw.c
+++ b/libavcodec/raw.c
@@ -64,7 +64,7 @@ static int findPixelFormat(unsigned int fourcc)
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;
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->key_frame = 1;
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;
}
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 76a80eb..1699734 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -1748,10 +1748,12 @@ int av_find_stream_info(AVFormatContext *ic)
count++;
}
- /* set real frame rate info */
for(i=0;i<ic->nb_streams;i++) {
st = ic->streams[i];
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 */
if ((st->codec.codec_id == CODEC_ID_MPEG1VIDEO ||
st->codec.codec_id == CODEC_ID_MPEG2VIDEO) &&
OpenPOWER on IntegriCloud