FFMPEG successfully reverse engineered RV30/RV40!

FFMPEG's GSoC project to reverse engineer RealMedia's RV30 and RV40 codecs has been successful. It looks like there is still work to do, but it's a reality now:
http://lists.mplayerhq.hu/pipermail/ffm … 35486.html
They are also finishing other needed stuff like their Monkey Audio decoder, Matroska muxer, support for RTSP, RTP, MMS, and other streams, and much more.
It looks as if the dream of Linux being able to play just about anything with native, open source code is coming to fruition. On top of that, FFMPEG has matured before MPlayer or VLC has had to start their inevitable legal battles that have been brewing for years. After all, FFMPEG was started because MPlayer's future was looking pretty grim.
This is indeed a very good thing for all of the *nix family.

Current SVN still doesn't have the changes I posted. But, this is a modified ffmpeg.patch file that will give rudimentary eac3 support to a very current (today works) SVN version of FFMPEG. The subversion repo to pull it and all the eac3 stuff down from is:
http://svn.mplayerhq.hu/soc/eac3/
So, to drop the files into the directory eac3 in the current directory:
svn checkout svn://svn.mplayerhq.hu/soc/eac3 eac3
All the C source and header files need to be dropped into libavcodec from FFMPEG:
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
The modified patch. This replaces ffmpeg.patch from the eac3 directory:
Index: libavcodec/ac3_parser.c
===================================================================
--- libavcodec/ac3_parser.c (wersja 10220)
+++ libavcodec/ac3_parser.c (kopia robocza)
@@ -84,7 +84,7 @@
return 0;
-static int ac3_sync(const uint8_t *buf, int *channels, int *sample_rate,
+static int ac3_sync(AVCodecContext *avctx, const uint8_t *buf, int *channels, int *sample_rate,
int *bit_rate, int *samples)
int err;
@@ -100,12 +100,16 @@
bsid = hdr.bsid;
if(bsid <= 10) { /* Normal AC-3 */
+ if(avctx->codec_id == CODEC_ID_EAC3)
+ avctx->codec_id = CODEC_ID_AC3;
*sample_rate = hdr.sample_rate;
*bit_rate = hdr.bit_rate;
*channels = hdr.channels;
*samples = AC3_FRAME_SIZE;
return hdr.frame_size;
} else if (bsid > 10 && bsid <= 16) { /* Enhanced AC-3 */
+ if(avctx->codec_id == CODEC_ID_AC3)
+ avctx->codec_id = CODEC_ID_EAC3;
init_get_bits(&bits, &buf[2], (AC3_HEADER_SIZE-2) * 8);
strmtyp = get_bits(&bits, 2);
substreamid = get_bits(&bits, 3);
@@ -152,6 +156,13 @@
return 0;
+AVCodecParser eac3_parser = {
+ { CODEC_ID_EAC3 },
+ sizeof(AACAC3ParseContext),
+ ac3_parse_init,
+ ff_aac_ac3_parse,
+ NULL,
+};
AVCodecParser ac3_parser = {
{ CODEC_ID_AC3 },
Index: libavcodec/Makefile
===================================================================
--- libavcodec/Makefile (wersja 10220)
+++ libavcodec/Makefile (kopia robocza)
@@ -64,6 +64,7 @@
OBJS-$(CONFIG_DVVIDEO_DECODER) += dv.o
OBJS-$(CONFIG_DVVIDEO_ENCODER) += dv.o
OBJS-$(CONFIG_DXA_DECODER) += dxa.o
+OBJS-$(CONFIG_EAC3_DECODER) += eac3dec.o ac3dec.o
OBJS-$(CONFIG_EIGHTBPS_DECODER) += 8bps.o
OBJS-$(CONFIG_FFV1_DECODER) += ffv1.o rangecoder.o golomb.o
OBJS-$(CONFIG_FFV1_ENCODER) += ffv1.o rangecoder.o
Index: libavcodec/aac_ac3_parser.c
===================================================================
--- libavcodec/aac_ac3_parser.c (wersja 10220)
+++ libavcodec/aac_ac3_parser.c (kopia robocza)
@@ -48,7 +48,7 @@
s->inbuf_ptr += len;
buf_size -= len;
if ((s->inbuf_ptr - s->inbuf) == s->header_size) {
- len = s->sync(s->inbuf, &channels, &sample_rate, &bit_rate,
+ len = s->sync(avctx, s->inbuf, &channels, &sample_rate, &bit_rate,
&samples);
if (len == 0) {
/* no sync found : move by one byte (inefficient, but simple!) */
@@ -59,7 +59,7 @@
/* update codec info */
avctx->sample_rate = sample_rate;
/* set channels,except if the user explicitly requests 1 or 2 channels, XXX/FIXME this is a bit ugly */
- if(avctx->codec_id == CODEC_ID_AC3){
+ if(avctx->codec_id == CODEC_ID_AC3 || avctx->codec_id == CODEC_ID_EAC3){
if(avctx->channels!=1 && avctx->channels!=2){
avctx->channels = channels;
Index: libavcodec/aac_ac3_parser.h
===================================================================
--- libavcodec/aac_ac3_parser.h (wersja 10220)
+++ libavcodec/aac_ac3_parser.h (kopia robocza)
@@ -30,7 +30,7 @@
uint8_t *inbuf_ptr;
int frame_size;
int header_size;
- int (*sync)(const uint8_t *buf, int *channels, int *sample_rate,
+ int (*sync)(AVCodecContext *avctx, const uint8_t *buf, int *channels, int *sample_rate,
int *bit_rate, int *samples);
uint8_t inbuf[8192]; /* input buffer */
} AACAC3ParseContext;
Index: libavcodec/aac_parser.c
===================================================================
--- libavcodec/aac_parser.c (wersja 10220)
+++ libavcodec/aac_parser.c (kopia robocza)
@@ -38,7 +38,7 @@
-static int aac_sync(const uint8_t *buf, int *channels, int *sample_rate,
+static int aac_sync(AVCodecContext *avctx, const uint8_t *buf, int *channels, int *sample_rate,
int *bit_rate, int *samples)
GetBitContext bits;
Index: libavcodec/allcodecs.c
===================================================================
--- libavcodec/allcodecs.c (wersja 10220)
+++ libavcodec/allcodecs.c (kopia robocza)
@@ -178,6 +178,7 @@
REGISTER_DECODER (COOK, cook);
REGISTER_DECODER (DCA, dca);
REGISTER_DECODER (DSICINAUDIO, dsicinaudio);
+ REGISTER_DECODER (EAC3, eac3);
REGISTER_ENCDEC (FLAC, flac);
REGISTER_DECODER (IMC, imc);
REGISTER_ENCDEC (LIBAMR_NB, libamr_nb);
@@ -272,6 +272,7 @@
REGISTER_PARSER (DCA, dca);
REGISTER_PARSER (DVBSUB, dvbsub);
REGISTER_PARSER (DVDSUB, dvdsub);
+ REGISTER_PARSER (EAC3, eac3);
REGISTER_PARSER (H261, h261);
REGISTER_PARSER (H263, h263);
REGISTER_PARSER (H264, h264);
Index: libavcodec/avcodec.h
===================================================================
--- libavcodec/avcodec.h (wersja 10220)
+++ libavcodec/avcodec.h (kopia robocza)
@@ -261,6 +261,7 @@
CODEC_ID_GSM_MS, /* as found in WAV */
CODEC_ID_ATRAC3,
CODEC_ID_VOXWARE,
CODEC_ID_APE,
+ CODEC_ID_EAC3,
/* subtitle codecs */
CODEC_ID_DVD_SUBTITLE= 0x17000,
Index: libavcodec/allcodecs.h
===================================================================
--- libavcodec/ac3enc.c (wersja 10220)
+++ libavcodec/ac3enc.c (kopia robocza)
@@ -479,7 +479,8 @@
for(ch=0;ch<s->nb_all_channels;ch++) {
ff_ac3_bit_alloc_calc_bap(mask[i][ch], psd[i][ch], 0,
s->nb_coefs[ch], snroffset,
- s->bit_alloc.floor, bap[i][ch]);
+ s->bit_alloc.floor, ff_ac3_baptab,
+ bap[i][ch]);
frame_bits += compute_mantissa_size(s, bap[i][ch],
s->nb_coefs[ch]);
Index: ffmpeg.c
===================================================================
--- ffmpeg.c (wersja 10220)
+++ ffmpeg.c (kopia robocza)
@@ -1577,6 +1577,7 @@
} else {
if (codec->channels != icodec->channels &&
(icodec->codec_id == CODEC_ID_AC3 ||
+ icodec->codec_id == CODEC_ID_EAC3 ||
icodec->codec_id == CODEC_ID_DTS)) {
/* Special case for 5:1 AC3 and DTS input */
/* and mono or stereo output */
I'm not going to post a PKGBUILD for this. It's too much work for something that doesn't really function yet. I mean, the .evo test file from MPlayer works basically, but both the video and audio are choppy. The other test file I picked up doesn't work at all.
Oh yeah, if anyone cares, this is part of the output from FFMPEG:
Input #0, mpeg, from 'MAININTRO.EVO':
Duration: 00:01:04.2, start: 0.038278, bitrate: 17089 kb/s
Stream #0.0[0xfd55]: Video: vc1, yuv420p, 1920x1080, 29.97 fps(r)
Stream #0.1[0xc0]: Audio: E-AC3, 48000 Hz, 5:1, 768 kb/s
---------------------- I did tell one lie (at least) -----------------------
I was able to play a MonkeyAudio (.ape) file with FFPlay. That's new!
Last edited by skottish (2007-09-26 04:46:39)

Similar Messages

  • UML modeling by reverse-engineering a JAVA project

    I can't seem to get over a basic hurdle to get started with UML modeling. I open an existing JAVA project. I then start a new project and choose "UML" and "-Platform model by reverse-engineering a JAVA project". Next I give the UML project a name and try to open my existing JAVA project. But the wizard does not show any project!
    Appreciate your help.
    Phil

    UML in JSE8 can reverse engineer all 4 built-in types of Java project defined in IDE. To prove that, I just downloaded apache ant source 1.6.5 from http://ant.apache.org/srcdownload.cgi and successfully reverse engineered it with JSE8.
    If you have a project with existing ant script , it's extremely easy, you absolutely don't need to hand-create a java project from scratch to specify source, library dependency etc. Just follow the wizard "create a Java project with existing ant script" to specify your Java project location, the ant script location, and * don't forget * to specify the source location. Any project without source folder specified is not considered a valid candidate for Reverse Engineer, and you won't see it listed under the project chooser in UML wizard when trying to associate the current UML project with a Java project. Please right click to bring up your source project properties to verify if you have source package folder correctly spelled out.
    It IS a supported feature, do let us know if you still have troubles to RE your project.

  • Reverse Engineering a Model

    I am using SQL Data Modeller to reverse engineer an Oracle database to produce a diagram for a data model that was made a while back now. I created the diagram successfully and was very pleased with the results and the process.
    However, since creating that initial diagram the data model has again changed and I would like the recent changes to be reflected in the relational model I created in SQL Data Modeller.
    Is there an easy way to update the model? I click File > Import > Data Dictionary (which is the original method I used) I followed the steps and was presented with a list of changes and asked to merge into the model. This seemed fine. However the new tables were not added to the diagram and when I dragged them on to the diagram from the list of tables I was not shown the relationships?
    How can I easily added these new tables to the model?
    Thanks, Mike

    Check to see if the FKs between the tables you are referring to were captured in the reverses engineering. If they were, they would appear on the diagram when you drag in the new tables. If they were not captured, make sure they actually exisit in the database.
    I beleive that in order to capture a FK in the reverse engineering you must select both tables to be captured. If you only selected the "new" table, I do not think the FKs will come in but rather only the table structure, PK, and indexes on that table.

  • Reverse Engineering of SQL server in ODI

    Hi,
    I created physical and logical architecture for MSSQL in topology manager. Connection and tested and done successfully.
    Now when I connected to Designer and trying to do selective reverse for MSSQL, its giving me below error :
    The Technology or the Driver used does not support Reverse Engineering
    java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Invalid Descriptor Index
         at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbc.SQLGetDataString(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcResultSet.getDataString(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcResultSet.getString(Unknown Source)
         at com.sunopsis.dwg.reverse.Reverse.a(Reverse.java)
         at com.sunopsis.dwg.reverse.Reverse.a(Reverse.java)
         at com.sunopsis.graphical.frame.b.ip.a(ip.java)
         at com.sunopsis.graphical.frame.b.ip.a(ip.java)
         at com.sunopsis.graphical.frame.b.hq.b(hq.java)
         at com.sunopsis.graphical.tools.utils.swingworker.v.call(v.java)
         at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:176)
         at com.sunopsis.graphical.tools.utils.swingworker.l.run(l.java)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
         at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
         at java.lang.Thread.run(Unknown Source)
    Please reply and guide me whats missing???

    I have the same problem (The Technology or the Driver used does not support Reverse Engineering).
    I am using ODBC connection because my SQL SERVER DB use only Window Authentication, and by using JDBC driver you can access Ms SQL SERVER DB only using user-id and password.

  • Sqlserver connection in odi fetches no tables in reverse engineering

    Hi,
    I have created successfully sqlserver(2005) connection using odi. however, when i reverse engineered ..i do not see any tables..any idea why?
    Thanks
    Venkat

    I figured out..i need to specify the username and password.

  • Reverse engineering SQL (not database)

    Hello,
    Is it planned to provide a tool to reverse engineer SQL statements as Sourceforge's Revj (Reverse Snowflakes Joins) do ?
    This tool generates an ER Diagramm from an SQL Statement without connecting to the database. a demo is available at http://snowflakejoins.com/
    Nb: It works fine with statements comming from SIEBEL or Oracle BI Analytics.
    Regards
    PAscal

    You can Reverse engineering any database that
    you have an ODBC driver installed for (you can set up an ODBC link to access via the ODBC administration utility under Oracle for Windows NT). From the menu choose Generate=> Capture Design of => Server Model. This brings up a tabbed dialouge box with three source settings.Choose the last radio group item - ODBC. There you will find a choice for MS Acess v7.0 (note:type will be set for you automatically).
    Much success.
    null

  • Is there any anti reverse engineering or software protection products for JAVA ?

    Hi
    Does anyone knows is there any anti reverse engineering or software protection products for JAVA ?

    By the time this post is written, there is no such tool that comes with the jdk.
    I have used proguard with success applying obfuscation and other features.  

  • Not Able to View data after reverse engineering

    Hi All,
    I have created an XML dataserver and tested it sucessfully. Created a physical and logical Schema and defined appropriate context for this.
    Now in the xml model i am also able to successfully reverse engineer the columns, but when i am viewing the data, it is giving the error:-
    Suppose i have given a physical schema- BUSINESSUNIT
    java.sql.SQLException: You already have a schema opened on this file with another name BUSIn(it is referring to another logical schema which i cant find any reference to)
    How do i resolve this error?
    Please help.
    Regards,

    Hi,
    Thanks for the input...but when i am changing the physical schema to BUSIN then this error also crops up
    java.sql.SQLException: You already have a schema opened on this file with another name BUSINESSUNIT(it is referring to another logical schema which i cant find any reference to)
    Please help

  • Issue while Reverse Engineering the HFM Application

    Hi,
    We are in the process of integrating HFM (11.1.2.2.0) with ODI (11.1.1.6) for metadata upload from ODI to HFM, and, I am getting the following error while reverse engineering to the HFM application.
    org.apache.bsf.BSFException: exception from Jython:
    Traceback (most recent call last):
    File "<string>", line 38, in <module>
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
         at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
    com.hyperion.odi.common.ODIHAppException: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2472)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:47)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)
    Caused by: Traceback (most recent call last):
    File "<string>", line 38, in <module>
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
         at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
    com.hyperion.odi.common.ODIHAppException: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
         at org.python.core.PyException.fillInStackTrace(PyException.java:70)
         at java.lang.Throwable.<init>(Throwable.java:181)
         at java.lang.Exception.<init>(Exception.java:29)
         at java.lang.RuntimeException.<init>(RuntimeException.java:32)
         at org.python.core.PyException.<init>(PyException.java:46)
         at org.python.core.PyException.<init>(PyException.java:43)
         at org.python.core.Py.JavaError(Py.java:455)
         at org.python.core.Py.JavaError(Py.java:448)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:177)
         at org.python.core.PyObject.__call__(PyObject.java:355)
         at org.python.core.PyMethod.__call__(PyMethod.java:215)
         at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:221)
         at org.python.core.PyMethod.__call__(PyMethod.java:206)
         at org.python.core.PyObject.__call__(PyObject.java:381)
         at org.python.core.PyObject.__call__(PyObject.java:385)
         at org.python.pycode._pyx0.f$0(<string>:38)
         at org.python.pycode._pyx0.call_function(<string>)
         at org.python.core.PyTableCode.call(PyTableCode.java:165)
         at org.python.core.PyCode.call(PyCode.java:18)
         at org.python.core.Py.runCode(Py.java:1204)
         at org.python.core.Py.exec(Py.java:1248)
         at org.python.util.PythonInterpreter.exec(PythonInterpreter.java:172)
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:144)
         ... 19 more
    Caused by: com.hyperion.odi.common.ODIHAppException: Error occurred while loading driver.
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:58)
         at com.hyperion.odi.hfm.ODIHFMAppReverser.connect(ODIHFMAppReverser.java:27)
         at com.hyperion.odi.common.ODIModelImporter.importModels(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:175)
         ... 33 more
    Caused by: com.hyperion.odi.hfm.wrapper.HFMException: Error occurred while loading driver.
         at com.hyperion.odi.hfm.wrapper.HFMServer.<init>(HFMServer.java:29)
         at com.hyperion.odi.hfm.ODIHFMAppConnection.<init>(ODIHFMAppConnection.java:51)
         ... 40 more
    Caused by: com.hyperion.odi.hfm.wrapper.HFMException: C:\Oracle\Middleware\Oracle_ODI1\oracledi\agent\drivers\HFMDriver.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform
         at com.hyperion.odi.hfm.wrapper.HFMDriverJNI.getDriver(HFMDriverJNI.java:23)
         at com.hyperion.odi.hfm.wrapper.HFMServer.<init>(HFMServer.java:26)
         ... 41 more
    Can anyone please suggest a suitable solution for this?
    Thanks
    Abhi

    Hi,
    Under the readme eRPI : http://docs.oracle.com/cd/E17236_01/epm.1112/readme/erpi_1112200_readme.html
    I find this :
    ODI Setup Steps to Integrate with Financial Management
    To setup the ODI to integrate with Financial Management:
    Rename odiparams.bat located at <ODI_HOME>\oracledi\agent\bin to odiparams.bat.backup.
    The default installation location is C:\app\Oracle\product\11.1.1\Oracle_ODI_1.
    Download Oracle Data Integrator Companion CD 11.1.1.6.2.
    Unzip the contents of the Companion CD to the temp directory.
    Unzip oracledi-agent-standalone.zip.
    Copy the contents to: <ODI_HOME>.
    Make a backup of the HFMDriver.DLL.
    For the 32 bit operating system, copy HFMDriver32_11.1.2.2.dll as HFMDriver.DLL.
    For the 64bit operating system, copy HFMDriver64_11.1.2.2.dll as HFMDriver.DLL.
    Rename odiparams.bat.backup from Step 1 to odiparams.
    Edit the PATH to include: <ODI_HOME>\oracledi.sdk\lib
    Restart the ODI Agent.
    I try this procedure, but now, I have a new error :
    - Unable to connect on "myhfmserver" with "admin" user
    I think that, there is another step to do, because now HFM 11.1.2.2 use directly the "EPM Registry" (into Shared Services Schema) to retreive the HFM servers ou Clusters.
    But I don't find any information, how to setup this part into ODI.
    Or may be, we need to setup "Regedit Keys" into Windows registry like previous HFM release ?
    If you have any news, please inform me

  • Unable to generate Logical Model Diagrams through Reverse Engineering

    Hi,
    I am currently using SQL Developer Data Modeler Version-3.0.04.
    I have generated Logical Model Diagrams from Relational Model Diagrams through Reverse Engineering (Done by pressing an" engineer to Logical Model button" on top panel of sql developer) .I saved the DMD file (source file) once i had done generating the logical diagrams.Now if i reopen the DMD and open the logical diagram again I found that most of the tables had lost their relationships.So i tried to regenerate the Logical Model Diagram again from the same Relational Diagram but it is not being generated unless i create a new Relational Diagram.Is there a way to generate multiple Logical Diagrams for the same Relational Diagram rather than creating a new one for each Logical Diagram to be created.
    Regards .
    Thanks in advance.

    Any comments on this issue?. Please let us know.

  • Error in Reverse Engineering an XML file

    I am tring to set up ODI to read and XML file and post it to a DB.
    I am using Oracle Data Integrator 10.1.3.5
    I have set up the Connection in the Topology Manager and when I ran the Test it returned OK.
    I went to the Model tab in the Designer and tried to Reverse engineer the file. I followed the instruction int he User's Guide but I get an error:
    The Technology or the Driver used doesn not support Reverse Engineering. The User's guide says you can do it, but Designer tells me I can't.
    Has anyone received this error before and how can i get around it.
    I am using:
    com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
    as the JDBC Driver. THat is the one used in the guide and example.
    JDBC URL:
    jdbc:snps:xml?f=c:\OraHome_1\Oracledi\MercuryGate\MGTransImpTemplatev1.0.1.xml&re=MercuryGate&ro=true&case_sens=true&s=MercGate
    Any help will be appreciated.

    Try the Oracle Data Integrator Forum
    Data Integrator
    Edited by: Johnreardon on 13-Jan-2011 05:34

  • Reverse-engineering excel files in ODI

    Hi,
    I am currently creating an ODBC Data Source to connect to MS Excel and then reverse-engineering the excel file.Do I need to create separate ODBC Data Source for each excel file or is there any other way to achieve this?
    Please suggest.
    Thanks in advance.

    hi Dev
    1. Have you defined the correct link between DSN and your Excel File the answer is yes
    2. Have you test the Connection in Topology ?yes and it's OK
    3. Also is your Excel file has an Extension of XLS ? yes
    4. When reversing have you check the required Technology - Microsoft Excel with required Logical Schema and context Yes i have Microsoft Excel with required Logical Schema and context
    and also try checking the Tables and System Tables for reversing .I' can't

  • Reverse engineering in Java Studio Enterprise 8.1

    I tried to do the reverse engineering in Java Studio Enterprise 8.1.
    The Reverse Engineering process launches which I can tell from the output log,
    but I didn't see any diagram generated. What could be the problem?
    Thanks!

    to see if the relationships are in the model, try to expand the class and interface nodes and they should have something like the following. If these are absent, there might be something in the reverse engineering process that lost the relationships.
    - package1
    - class1
    - Relationships
    - Implementation
    + interface1
    - package2
    - interface1
    - Relationships
    - Implementation
    + class1
    As for sequence diagram, not sure how you created it. If you just cdfs the classes, you should not see any message except for the lifelines that represent the classes. If you select an operation of a class to do cdfs or reverse engineer operation, the sequence diagram will be generated.

  • ANN: Reverse-engineering tool from Logic Explorers Inc.

    Logic Explorers Inc. announces the beginning of the beta program for the CodeLogic
    reverse-engineering and code analysis tool. CodeLogic is implemented as a plugin
    for JBuilder, JDeveloper, and the standalone application. Among the major features:
    - Analyses any Java source code
    - Fully automatic generation of interactive UML Class and Sequence (sic!) diagrams
    - Unique Execution Flow diagram
    - Unique Variables Backtrack diagrams
    - Graphical Code Navigator
    - Zoom and filters
    - Intelligent Diff utility
    - Knowledge Base
    To get more information, visit Logic Explorers Inc at
    http://www.logicexplorers.com

    I would go with the Forms-Builder itself. If you want to analyze the code and see what action is done at which point, its best to do this in the tool where you developed the application. (You also wouldn't analyze a .Net-application using Notepad ;) )

  • Reverse engineering sequence diagram with more than one level deep

    Hello,
    When I generate sequence diagram from a method with Java Studio Enterprise 8.1, it only shows the method called directly by this method.
    Can I also show the methods that are called by the other methods that the one I'm generating the diagram from?
    Thanks,
    Mike

    Hi Mike,
    Sorry for the delay. The whole team has been busy with JavaONE for the past week.
    We currently do not support reverse engineering of an operation to a sequence diagram more than one level deep. I opened an enhancement request for you:
    http://www.netbeans.org/issues/show_bug.cgi?id=103780
    The UML pack is now part of NetBeans. Check out these links for the latest info regarding UML:
    http://www.netbeans.org/products/uml/
    http://uml.netbeans.org/
    Thanks,
    George

Maybe you are looking for