From 582f231142c62a0bd6391efbd5a2ac119d73bb40 Mon Sep 17 00:00:00 2001
From: Dustin Brody <libav@parsoma.net>
Date: Thu, 13 Oct 2011 03:26:53 -0400
Subject: [PATCH] lavc: add a flag-based error_recognition field to
 AVCodecContext and deprecate non-flag-based ER field

Signed-off-by: Anton Khirnov <anton@khirnov.net>
---
 libavcodec/avcodec.h | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 56d48a44b1..750a208f43 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -1465,21 +1465,19 @@ typedef struct AVCodecContext {
      */
     float b_quant_offset;
 
+#if FF_API_ER
     /**
      * Error recognition; higher values will detect more errors but may
      * misdetect some more or less valid parts as errors.
      * - encoding: unused
      * - decoding: Set by user.
      */
-    int error_recognition;
+    attribute_deprecated int error_recognition;
 #define FF_ER_CAREFUL         1
 #define FF_ER_COMPLIANT       2
 #define FF_ER_AGGRESSIVE      3
-#if FF_API_ER
 #define FF_ER_VERY_AGGRESSIVE 4
 #define FF_ER_EXPLODE         5
-#else
-#define FF_ER_EXPLODE         4
 #endif /* FF_API_ER */
 
     /**
@@ -2905,6 +2903,21 @@ typedef struct AVCodecContext {
      * - decoding: Set by user.
      */
     enum AVSampleFormat request_sample_fmt;
+
+    /**
+     * Error recognition; may misdetect some more or less valid parts as errors.
+     * - encoding: unused
+     * - decoding: Set by user.
+     */
+#if FF_API_ER
+    int error_recognition2;
+#else
+    int error_recognition;
+#endif /* FF_API_ER */
+#define AV_ER_CRCCHECK   (1<<0)
+#define AV_ER_BITSTREAM  (1<<1)
+#define AV_ER_AGGRESSIVE (1<<2)
+#define AV_ER_EXPLODE    (1<<3)
 } AVCodecContext;
 
 /**