On 13/12/11 18:50, Alex Converse wrote:
On Tue, Dec 13, 2011 at 3:12 AM, Luca Barbato<[email protected]>  wrote:
On 13/12/11 08:11, Alex Converse wrote:

The 'fiel' atoms can be found in H.264 tracks clobbering the extradata.
MJPEG supports non field based extradata, and this data should be
preserved when copying.
---
  avconv.c              |    1 +
  libavcodec/avcodec.h  |   10 ++++++++++
  libavcodec/mjpegdec.c |   10 ++++++----
  libavformat/mov.c     |   24 +++++++++++++++++++++++-
  libavformat/movenc.c  |   12 +++++++++++-
  5 files changed, 51 insertions(+), 6 deletions(-)

diff --git a/avconv.c b/avconv.c
index 90ed00d..3870451 100644
--- a/avconv.c
+++ b/avconv.c
@@ -2068,6 +2068,7 @@ static int transcode_init(OutputFile *output_files,
              codec->bit_rate       = icodec->bit_rate;
              codec->rc_max_rate    = icodec->rc_max_rate;
              codec->rc_buffer_size = icodec->rc_buffer_size;
+            codec->field_order    = icodec->field_order;
              codec->extradata      = av_mallocz(extra_size);
              if (!codec->extradata) {
                  return AVERROR(ENOMEM);
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index fe65a6e..23531e1 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -3081,6 +3081,16 @@ typedef struct AVCodecContext {
       * libavcodec functions.
       */
      struct AVCodecInternal *internal;
+
+    /** Field order
+     * 0x0000 - unset
+     * 0x0100 - progressive scan
+     * 0x0201 - top displayed first, top coded first
+     * 0x0206 - bottom displayed first, bottom coded first
+     * 0x0209 - top coded first, bottom displayed first
+     * 0x020E - bottom coded first, top displayed first
+     */
+    unsigned field_order;


Could be made an enum?


It could but that would mean behavioral changes in the MJPEG decoder
who only looks at the second byte. Flags are possible but then we lose
unknown values.

I'd like to not have container/codec-specific fields in avcodeccontex.

lu

--

Luca Barbato
Gentoo/linux
http://dev.gentoo.org/~lu_zero

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to